Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Akari on 2011-03-14 11:08:35
-
For those who interested i finish first approach to FFIX scripts.
All opcodes in scene 0 (very first scene after intro movie) are parsed correctly.
ENTITY: entity_id = 0x00
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x015a [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0x7f ); // 05 c5 9f 7d 00 00 2c 7f
0x0162 [ script + 0x0011 ] = b( 0x000000ff ); // 05 d5 11 7d ff 00 2c 7f
0x016a [ 0x8007aef0 + 0x0017 ] = b( b[ 0x8007aef0 + 0x0017 ] & 0x7f ); // 05 c4 bf 7d 00 00 2c 7f
0x0172 JumpIf( ( (bu[ 0x8007aef0 + 0x0017 ] >> 0x00) & 1 == 0x00000001 ) == false )To( 0x0185 ); // 05 c4 b8 7d 01 00 20 7f 02 08 00
0x017d [ 0x8007aef0 + 0x0002 ] = h( 0x00002710 ); // 05 d8 02 7d 10 27 2c 7f
0x0185 [ 0x8007aef0 + 0x0017 ] = b( b[ 0x8007aef0 + 0x0017 ] & 0xfe ); // 05 c4 b8 7d 00 00 2c 7f
0x018d [ 0x8007aef0 + 0x0009 ] = h( 0x00000283 ); // 05 d8 09 7d 83 02 2c 7f
0x0195 JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x01a3 ); // 05 d4 0d 7d 09 00 20 7f 02 03 00
0x01a0 JumpTo( 0x01de ); // 01 3b 00
0x01a3 JumpIf( ( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000002 ) && ( h[ 0x8007aef0 + 0x0009 ] < 0x00000000 ) ) == false )To( 0x01c0 ); // 05 d4 0d 7d 02 00 20 d8 09 7d 00 00 18 27 7f 02 0b 00
0x01b5 [ 0x8007aef0 + 0x000d ] = b( 0x00000009 ); // 05 d4 0d 7d 09 00 2c 7f
0x01bd JumpTo( 0x01de ); // 01 1e 00
0x01c0 JumpIf( ( h[ 0x8007aef0 + 0x0009 ] < 0x00000000 ) == false )To( 0x01d6 ); // 05 d8 09 7d 00 00 18 7f 02 0b 00
0x01cb [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f
0x01d3 JumpTo( 0x01de ); // 01 08 00
0x01d6 [ 0x8007aef0 + 0x000d ] = b( 0x00000001 ); // 05 d4 0d 7d 01 00 2c 7f
0x01de [ 0x8007aef0 + 0x000b ] = h( 0x0000ffff ); // 05 d8 0b 7d ff ff 2c 7f
0x01e6 JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x01f4 ); // 05 d4 0e 7d 09 00 20 7f 02 03 00
0x01f1 JumpTo( 0x022f ); // 01 3b 00
0x01f4 JumpIf( ( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000002 ) && ( h[ 0x8007aef0 + 0x000b ] < 0x00000000 ) ) == false )To( 0x0211 ); // 05 d4 0e 7d 02 00 20 d8 0b 7d 00 00 18 27 7f 02 0b 00
0x0206 [ 0x8007aef0 + 0x000e ] = b( 0x00000009 ); // 05 d4 0e 7d 09 00 2c 7f
0x020e JumpTo( 0x022f ); // 01 1e 00
0x0211 JumpIf( ( h[ 0x8007aef0 + 0x000b ] < 0x00000000 ) == false )To( 0x0227 ); // 05 d8 0b 7d 00 00 18 7f 02 0b 00
0x021c [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f
0x0224 JumpTo( 0x022f ); // 01 08 00
0x0227 [ 0x8007aef0 + 0x000e ] = b( 0x00000001 ); // 05 d4 0e 7d 01 00 2c 7f
0x022f Set16e8and16ea( 0x00, 0x00 ); // 67 00 00 00
0x0233 InitScriptEntity( entity_id = 0x02, shared_id = 0x00 ); // 07 02 00
0x0236 InitScriptEntity( entity_id = 0x03, shared_id = 0x00 ); // 07 03 00
0x0239 Set8007bbd8( 0x00 ); // e3 00 00
0x023c InitModelEntity( entity_id = 0x11, shared_id = 0x00 ); // 09 11 00
0x023f InitModelEntity( entity_id = 0x16, shared_id = 0x00 ); // 09 16 00
0x0242 InitModelEntity( entity_id = 0x18, shared_id = 0x00 ); // 09 18 00
0x0245 InitModelEntity( entity_id = 0x17, shared_id = 0x00 ); // 09 17 00
0x0248 InitModelEntity( entity_id = 0x0d, shared_id = 0x00 ); // 09 0d 00
0x024b InitModelEntity( entity_id = 0x0f, shared_id = 0x00 ); // 09 0f 00
0x024e InitType3Entity( entity_id = 0x04, shared_id = 0x00 ); // 08 04 00
0x0251 InitType3Entity( entity_id = 0x05, shared_id = 0x00 ); // 08 05 00
0x0254 InitType3Entity( entity_id = 0x06, shared_id = 0x00 ); // 08 06 00
0x0257 InitType3Entity( entity_id = 0x07, shared_id = 0x00 ); // 08 07 00
0x025a InitScriptEntity( entity_id = 0x0b, shared_id = 0x00 ); // 07 0b 00
0x025d InitScriptEntity( entity_id = 0x08, shared_id = 0x00 ); // 07 08 00
0x0260 InitScriptEntity( entity_id = 0x09, shared_id = 0x00 ); // 07 09 00
0x0263 InitScriptEntity( entity_id = 0x0a, shared_id = 0x00 ); // 07 0a 00
0x0266 InitScriptEntity( entity_id = 0x0c, shared_id = 0x00 ); // 07 0c 00
0x0269 Set8007bbe0_8007bbe8( 0x00 ); // ef 00 00
0x026c Set16f8to1(); // 6a
0x026d [ script + 0x0018 ] = b( 0x00000000 ); // 05 d5 18 7d 00 00 2c 7f
0x0275 JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000000 ) == false )To( 0x0286 ); // 05 c5 9e 7d 00 00 20 7f 02 06 00
0x0280 Set800c9df1( 0x7f ); // 27 00 7f
0x0283 JumpTo( 0x0289 ); // 01 03 00
0x0286 Set800c9df1( 0xff ); // 27 00 ff
0x0289 Wait( 0x02 ); // 22 00 02
0x028c Wait( 0x02 ); // 22 00 02
0x028f JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x02b1 ); // 05 d4 0d 7d 09 00 20 7f 02 17 00
0x029a Set8007bba8( 0x02, 0x0000 ); // 66 00 02 00 00
0x029f 0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 00
0x02a5 0x8e(); // 8e
0x02a6 0x54( 0x06 ); // 54 00 06
0x02a9 [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f
0x02b1 JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x02d3 ); // 05 d4 0e 7d 09 00 20 7f 02 17 00
0x02bc Set8007bba8( 0x02, 0x0001 ); // 66 00 02 01 00
0x02c1 0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 00
0x02c7 0x8e(); // 8e
0x02c8 0x54( 0x06 ); // 54 00 06
0x02cb [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f
0x02d3 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x80 ); // 05 c5 9f 7d 01 00 2c 7f
0x02db JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000001 ) == false )To( 0x0314 ); // 05 c5 9e 7d 01 00 20 7f 02 2e 00
0x02e6 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x02ee JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0314 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x02f9 JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0314 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x0304 0x2e(); // 2e
0x0305 Set800c9df1( 0xff ); // 27 00 ff
0x0308 JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0314 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x0313 [80073998] = w(w[80073998] & fffbffff); // aa
0x0314 JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x032e ); // 05 d5 11 7d ff 00 20 7f 02 0f 00
0x031f GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f
0x032e Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa
0x0331 0xec( 0x07, 0x10, bu[ script + 0x0011 ], 0x00, 0x00, 0x00 ); // ec 04 07 10 d5 11 7f 00 00 00
0x033b JumpIf( ( bu[ 0x8007aef0 + 0x000d ] < 0x00000009 ) == false )To( 0x034e ); // 05 d4 0d 7d 09 00 18 7f 02 08 00
0x0346 [ 0x8007aef0 + 0x000d ] = b( 0x00000002 ); // 05 d4 0d 7d 02 00 2c 7f
0x034e CallDynamic8006794c_1c_83c( 0xd080, 0x0283, 0x000000, 0x80, 0x00 ); // c8 00 80 d0 83 02 00 00 00 80 00
0x0359 CallDynamic8006794c_1c_83c( 0xd381, 0x0283, 0x000000, 0x80, 0x00 ); // c8 00 81 d3 83 02 00 00 00 80 00
0x0364 CallDynamic8006794c_1c_83c( 0xd381, 0x0283, 0x000000, 0x96, 0x7d ); // c8 00 81 d3 83 02 00 00 00 96 7d
0x036f Return(); // 04
SCRIPT: script_id = 0x0a
script = w[8007aecc];
0x0370 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0x7f ); // 05 c5 9f 7d 00 00 2c 7f
0x0378 RunScriptAsync( priority = 0x00, entity_id = 0xfa, script_id = 0x0b ); // 10 00 00 fa 0b
0x037d JumpIf( ( (bu[ script + 0x0013 ] >> 0x03) & 1 == 0x00000001 ) == false )To( 0x038b ); // 05 c5 9b 7d 01 00 20 7f 02 03 00
0x0388 Set8007bc14to0x2cIfValueEqual8007bc10( 0x01 ); // d7 00 01
0x038b CallFuncc0df4( 0x00ff, 0x00b3, 0x01, 0x08 ); // 6f 00 ff 00 b3 00 01 08
0x0393 CallFuncafac0( 0x01, 0x82, 0x002a, 0x0000, 0x0000 ); // b3 00 01 82 2a 00 00 00 00 00
0x039d CallFuncafac0( 0x01, 0x87, 0xfff4, 0xfe43, 0x00b4 ); // b3 00 01 87 f4 ff 43 fe b4 00
0x03a7 CallFuncafac0( 0x01, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 01 8c 00 00 00 00 00 00
0x03b1 CallFuncafac0( 0x01, 0x91, 0x03a8, 0x0000, 0x0000 ); // b3 00 01 91 a8 03 00 00 00 00
0x03bb CallFuncafac0( 0x01, 0x9b, 0x0080, 0x0000, 0x0000 ); // b3 00 01 9b 80 00 00 00 00 00
0x03c5 CallFuncafac0( 0x01, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 01 a0 10 00 00 00 00 00
0x03cf CallFuncafac0( 0x01, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 01 aa 00 00 00 00 00 00
0x03d9 CallFuncafac0( 0x01, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 01 9c 01 00 00 00 00 00
0x03e3 CallFuncc142c( 0x11, 0x00 ); // 5b 00 11 00
0x03e7 JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000000 ) == false )To( 0x03f8 ); // 05 c5 9e 7d 00 00 20 7f 02 06 00
0x03f2 Set800c9df1( 0x7f ); // 27 00 7f
0x03f5 JumpTo( 0x03fb ); // 01 03 00
0x03f8 Set800c9df1( 0xff ); // 27 00 ff
0x03fb Wait( 0x02 ); // 22 00 02
0x03fe Wait( 0x02 ); // 22 00 02
0x0401 JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x0423 ); // 05 d4 0d 7d 09 00 20 7f 02 17 00
0x040c Set8007bba8( 0x02, 0x0000 ); // 66 00 02 00 00
0x0411 0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 00
0x0417 0x8e(); // 8e
0x0418 0x54( 0x06 ); // 54 00 06
0x041b [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f
0x0423 JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x0445 ); // 05 d4 0e 7d 09 00 20 7f 02 17 00
0x042e Set8007bba8( 0x02, 0x0001 ); // 66 00 02 01 00
0x0433 0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 00
0x0439 0x8e(); // 8e
0x043a 0x54( 0x06 ); // 54 00 06
0x043d [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f
0x0445 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x80 ); // 05 c5 9f 7d 01 00 2c 7f
0x044d JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000001 ) == false )To( 0x0486 ); // 05 c5 9e 7d 01 00 20 7f 02 2e 00
0x0458 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x0460 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0486 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x046b JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0486 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x0476 0x2e(); // 2e
0x0477 Set800c9df1( 0xff ); // 27 00 ff
0x047a JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0486 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x0485 [80073998] = w(w[80073998] & fffbffff); // aa
0x0486 Return(); // 04
ENTITY: entity_id = 0x01
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0492 CallFuncafac0( 0x00, 0x82, 0x002b, 0x0000, 0x0000 ); // b3 00 00 82 2b 00 00 00 00 00
0x049c CallFuncafac0( 0x00, 0x96, 0x11, 0x000c, 0x0000 ); // da 00 00 96 11 0c 00 00 00
0x04a5 CallFuncafac0( 0x00, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 00 8c 00 00 00 00 00 00
0x04af CallFuncafac0( 0x00, 0x91, 0x05d7, 0x0000, 0x0000 ); // b3 00 00 91 d7 05 00 00 00 00
0x04b9 CallFuncafac0( 0x00, 0x9b, 0x00ff, 0x0000, 0x0000 ); // b3 00 00 9b ff 00 00 00 00 00
0x04c3 CallFuncafac0( 0x00, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 00 a0 10 00 00 00 00 00
0x04cd CallFuncafac0( 0x00, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 00 aa 00 00 00 00 00 00
0x04d7 CallFuncafac0( 0x00, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 00 9c 01 00 00 00 00 00
0x04e1 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x04e2 JumpSwitch( ( GetYRotationFromEntity( 0xfa ) >> 0x00000005 ) )( case 0x0000: jump_to:0x0501)( case 0x0001: jump_to:0x050e)( case 0x0002: jump_to:0x051b)( case 0x0003: jump_to:0x0528)( case 0x0004: jump_to:0x0535)( case 0x0005: jump_to:0x0542)( case 0x0006: jump_to:0x054f)( case 0x0007: jump_to:0x055c)( default: jump_to:0x0569); // 05 78 fa 03 7d 05 00 17 7f 0b 08 00 00 7d 00 15 00 22 00 2f 00 3c 00 49 00 56 00 63 00 70 00
0x0501 CallFuncafac0( 0x00, 0xa5, 0x001e, 0xffe2, 0x0000 ); // b3 00 00 a5 1e 00 e2 ff 00 00
0x050b JumpTo( 0x0569 ); // 01 5b 00
0x050e CallFuncafac0( 0x00, 0xa5, 0x0019, 0xffe2, 0xffd3 ); // b3 00 00 a5 19 00 e2 ff d3 ff
0x0518 JumpTo( 0x0569 ); // 01 4e 00
0x051b CallFuncafac0( 0x00, 0xa5, 0xffec, 0xffe2, 0xffe2 ); // b3 00 00 a5 ec ff e2 ff e2 ff
0x0525 JumpTo( 0x0569 ); // 01 41 00
0x0528 CallFuncafac0( 0x00, 0xa5, 0xffe2, 0xffe2, 0x0000 ); // b3 00 00 a5 e2 ff e2 ff 00 00
0x0532 JumpTo( 0x0569 ); // 01 34 00
0x0535 CallFuncafac0( 0x00, 0xa5, 0xffe2, 0xffe2, 0x0000 ); // b3 00 00 a5 e2 ff e2 ff 00 00
0x053f JumpTo( 0x0569 ); // 01 27 00
0x0542 CallFuncafac0( 0x00, 0xa5, 0x0000, 0xffe2, 0x0023 ); // b3 00 00 a5 00 00 e2 ff 23 00
0x054c JumpTo( 0x0569 ); // 01 1a 00
0x054f CallFuncafac0( 0x00, 0xa5, 0x0014, 0xffe2, 0x001e ); // b3 00 00 a5 14 00 e2 ff 1e 00
0x0559 JumpTo( 0x0569 ); // 01 0d 00
0x055c CallFuncafac0( 0x00, 0xa5, 0x0019, 0xffe2, 0x0014 ); // b3 00 00 a5 19 00 e2 ff 14 00
0x0566 JumpTo( 0x0569 ); // 01 00 00
0x0569 Wait( 0x01 ); // 22 00 01
0x056c JumpTo( 0x04e2 ); // 01 73 ff
ENTITY: entity_id = 0x02
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x057a Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x057b JumpIf( bu[ script + 0x001e ] == false )To( 0x063b ); // 05 d5 1e 7f 02 b9 00
0x0582 CallFuncc1368( 0x10, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 10 d6 00 7f d6 00 7f d6 00 7f
0x058e CallFuncc1368( 0x1a, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 1a d6 00 7f d6 00 7f d6 00 7f
0x059a Wait( 0x01 ); // 22 00 01
0x059d CallFuncc1368( 0x10, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 10 d6 00 7f d6 00 7f d6 00 7f
0x05a9 CallFuncc1368( 0x1a, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 1a d6 00 7f d6 00 7f d6 00 7f
0x05b5 CallFuncc142c( 0x10, 0x01 ); // 5b 00 10 01
0x05b9 CallFuncc142c( 0x1a, 0x01 ); // 5b 00 1a 01
0x05bd [ w[ 0x8007bcf8 ] + 0x0000 ] = b( 0x00000000 ); // 05 d6 00 7d 00 00 2c 7f
0x05c5 JumpTo( 0x05eb ); // 01 23 00
0x05c8 CallFuncc1368( 0x10, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 10 d6 00 7f d6 00 7f d6 00 7f
0x05d4 CallFuncc1368( 0x1a, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 1a d6 00 7f d6 00 7f d6 00 7f
0x05e0 Wait( 0x01 ); // 22 00 01
0x05e3 ( bu[ w[ 0x8007bcf8 ] + 0x0000 ] += 0x00000002 ); // 05 d6 00 7d 02 00 32 7f
0x05eb JumpIf( ( bu[ w[ 0x8007bcf8 ] + 0x0000 ] < 0x000000a4 ) == true )To( 0x05c8 ); // 05 d6 00 7d a4 00 18 7f 03 d2 ff
0x05f6 JumpTo( 0x0633 ); // 01 3a 00
0x05f9 [ w[ 0x8007bcf8 ] + 0x0001 ] = b( ( 0x00000001 + bu[ w[ 0x8007bcf8 ] + 0x0001 ] ) ); // 05 d6 01 d6 01 7d 01 00 14 2c 7f
0x0604 [ w[ 0x8007bcf8 ] + 0x0000 ] = b( ( 0x000000a4 + ( 0x00000168 / GetSinByRotation( ( bu[ w[ 0x8007bcf8 ] + 0x0001 ] << 0x00000002 ) ) ) ) ); // 05 d6 00 d6 01 7d 02 00 16 62 7d 68 01 12 7d a4 00 14 2c 7f
0x0618 CallFuncc1368( 0x10, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 10 d6 00 7f d6 00 7f d6 00 7f
0x0624 CallFuncc1368( 0x1a, bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ], bu[ w[ 0x8007bcf8 ] + 0x0000 ] ); // 59 0e 1a d6 00 7f d6 00 7f d6 00 7f
0x0630 Wait( 0x01 ); // 22 00 01
0x0633 JumpIf( 0x00000001 == true )To( 0x05f9 ); // 05 7d 01 00 7f 03 be ff
0x063b Wait( 0x01 ); // 22 00 01
0x063e JumpTo( 0x057b ); // 01 3a ff
ENTITY: entity_id = 0x03
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x064e Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x064f [ script + 0x001c ] = b( b[ script + 0x001c ] & 0xbf ); // 05 c5 e6 7d 00 00 2c 7f
0x0657 JumpSwitch( bu[ script + 0x0018 ] )( case 0x0000: jump_to:0x0681)( case 0x0001: jump_to:0x069f)( case 0x0002: jump_to:0x06bd)( case 0x0003: jump_to:0x06db)( case 0x0004: jump_to:0x06f9)( case 0x0005: jump_to:0x0717)( case 0x0006: jump_to:0x0735)( case 0x0007: jump_to:0x0753)( case 0x0008: jump_to:0x0771)( case 0x0009: jump_to:0x078f)( case 0x000a: jump_to:0x07ad)( case 0x000b: jump_to:0x07cb)( case 0x000c: jump_to:0x07e9)( case 0x000d: jump_to:0x0807)( case 0x000e: jump_to:0x0825)( case 0x000f: jump_to:0x0843)( default: jump_to:0x0861); // 05 d5 18 7f 0b 10 00 00 05 02 25 00 43 00 61 00 7f 00 9d 00 bb 00 d9 00 f7 00 15 01 33 01 51 01 6f 01 8d 01 ab 01 c9 01 e7 01
0x0681 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x069c ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x068c [ script + 0x0018 ] = b( 0x00000001 ); // 05 d5 18 7d 01 00 2c 7f
0x0694 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x069c JumpTo( 0x0861 ); // 01 c2 01
0x069f JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06ba ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x06aa [ script + 0x0018 ] = b( 0x00000002 ); // 05 d5 18 7d 02 00 2c 7f
0x06b2 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x06ba JumpTo( 0x0861 ); // 01 a4 01
0x06bd JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06d8 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x06c8 [ script + 0x0018 ] = b( 0x00000003 ); // 05 d5 18 7d 03 00 2c 7f
0x06d0 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x06d8 JumpTo( 0x0861 ); // 01 86 01
0x06db JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06f6 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x06e6 [ script + 0x0018 ] = b( 0x00000004 ); // 05 d5 18 7d 04 00 2c 7f
0x06ee [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x06f6 JumpTo( 0x0861 ); // 01 68 01
0x06f9 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0714 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x0704 [ script + 0x0018 ] = b( 0x00000005 ); // 05 d5 18 7d 05 00 2c 7f
0x070c [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0714 JumpTo( 0x0861 ); // 01 4a 01
0x0717 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0732 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x0722 [ script + 0x0018 ] = b( 0x00000006 ); // 05 d5 18 7d 06 00 2c 7f
0x072a [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0732 JumpTo( 0x0861 ); // 01 2c 01
0x0735 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0750 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x0740 [ script + 0x0018 ] = b( 0x00000007 ); // 05 d5 18 7d 07 00 2c 7f
0x0748 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0750 JumpTo( 0x0861 ); // 01 0e 01
0x0753 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x076e ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x075e [ script + 0x0018 ] = b( 0x00000008 ); // 05 d5 18 7d 08 00 2c 7f
0x0766 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x076e JumpTo( 0x0861 ); // 01 f0 00
0x0771 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x078c ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x077c [ script + 0x0018 ] = b( 0x00000009 ); // 05 d5 18 7d 09 00 2c 7f
0x0784 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x078c JumpTo( 0x0861 ); // 01 d2 00
0x078f JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07aa ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x079a [ script + 0x0018 ] = b( 0x0000000a ); // 05 d5 18 7d 0a 00 2c 7f
0x07a2 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x07aa JumpTo( 0x0861 ); // 01 b4 00
0x07ad JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07c8 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x07b8 [ script + 0x0018 ] = b( 0x0000000b ); // 05 d5 18 7d 0b 00 2c 7f
0x07c0 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x07c8 JumpTo( 0x0861 ); // 01 96 00
0x07cb JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07e6 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x07d6 [ script + 0x0018 ] = b( 0x0000000c ); // 05 d5 18 7d 0c 00 2c 7f
0x07de [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x07e6 JumpTo( 0x0861 ); // 01 78 00
0x07e9 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0804 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x07f4 [ script + 0x0018 ] = b( 0x0000000d ); // 05 d5 18 7d 0d 00 2c 7f
0x07fc [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0804 JumpTo( 0x0861 ); // 01 5a 00
0x0807 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0822 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x0812 [ script + 0x0018 ] = b( 0x0000000e ); // 05 d5 18 7d 0e 00 2c 7f
0x081a [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0822 JumpTo( 0x0861 ); // 01 3c 00
0x0825 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0840 ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x0830 [ script + 0x0018 ] = b( 0x0000000f ); // 05 d5 18 7d 0f 00 2c 7f
0x0838 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x0840 JumpTo( 0x0861 ); // 01 1e 00
0x0843 JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x085e ); // 05 c5 e7 7d 01 00 20 7f 02 10 00
0x084e [ script + 0x0018 ] = b( 0x00000010 ); // 05 d5 18 7d 10 00 2c 7f
0x0856 [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f
0x085e JumpTo( 0x0861 ); // 01 00 00
0x0861 Wait( 0x01 ); // 22 00 01
0x0864 JumpTo( 0x064f ); // 01 e8 fd
ENTITY: entity_id = 0x04
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0872 SetDataForType3Entity( number = 04, 0x0000, 0x015e, 0x00d2, 0x0078, 0x012c, 0x015e, 0x00d2, 0x028a ); // 29 00 04 00 00 5e 01 d2 00 78 00 2c 01 5e 01 d2 00 8a 02
0x0885 Return(); // 04
SCRIPT: script_id = 0x02
script = w[8007aecc];
0x0886 JumpIf( bu[script + 16ec] == true )To( 0x088e ); // 05 7a 02 7f 03 01 00
0x088d Return(); // 04
0x088e [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f
0x0896 JumpIf( ( ( bu[ script + 0x002a ] == 0x00000001 ) && ( bu[script + 16ec] == 0x00000001 ) ) == false )To( 0x08b6 ); // 05 d5 2a 7d 01 00 20 7a 02 7d 01 00 20 27 7f 02 0e 00
0x08a8 [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f
0x08b0 0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 00
0x08b6 JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x08c4 ); // 05 d5 18 7d 02 00 18 7f 02 03 00
0x08c1 Set8007bbf4( 0x00 ); // 68 00 00
0x08c4 Return(); // 04
ENTITY: entity_id = 0x05
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x08d2 SetDataForType3Entity( number = 04, 0x0000, 0x015e, 0xff2e, 0x0078, 0xfed4, 0x015e, 0xff2e, 0x028a ); // 29 00 04 00 00 5e 01 2e ff 78 00 d4 fe 5e 01 2e ff 8a 02
0x08e5 Return(); // 04
SCRIPT: script_id = 0x02
script = w[8007aecc];
0x08e6 JumpIf( bu[script + 16ec] == true )To( 0x08ee ); // 05 7a 02 7f 03 01 00
0x08ed Return(); // 04
0x08ee [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f
0x08f6 JumpIf( ( ( bu[ script + 0x002a ] == 0x00000001 ) && ( bu[script + 16ec] == 0x00000001 ) ) == false )To( 0x0916 ); // 05 d5 2a 7d 01 00 20 7a 02 7d 01 00 20 27 7f 02 0e 00
0x0908 [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f
0x0910 0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 00
0x0916 JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x0924 ); // 05 d5 18 7d 02 00 18 7f 02 03 00
0x0921 Set8007bbf4( 0x00 ); // 68 00 00
0x0924 Return(); // 04
ENTITY: entity_id = 0x06
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0932 SetDataForType3Entity( number = 03, 0x0000, 0x015e, 0x00d2, 0x028a, 0xff2e, 0x028a ); // 29 00 03 00 00 5e 01 d2 00 8a 02 2e ff 8a 02
0x0941 Return(); // 04
SCRIPT: script_id = 0x02
script = w[8007aecc];
0x0942 JumpIf( bu[script + 16ec] == true )To( 0x094a ); // 05 7a 02 7f 03 01 00
0x0949 Return(); // 04
0x094a [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f
0x0952 JumpIf( ( ( bu[ script + 0x002a ] == 0x00000001 ) && ( bu[script + 16ec] == 0x00000001 ) ) == false )To( 0x0972 ); // 05 d5 2a 7d 01 00 20 7a 02 7d 01 00 20 27 7f 02 0e 00
0x0964 [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f
0x096c 0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 00
0x0972 JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x0980 ); // 05 d5 18 7d 02 00 18 7f 02 03 00
0x097d Set8007bbf4( 0x00 ); // 68 00 00
0x0980 Return(); // 04
ENTITY: entity_id = 0x07
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x098e SetDataForType3Entity( number = 03, 0x0000, 0x015e, 0xff2e, 0x0078, 0x00d2, 0x0078 ); // 29 00 03 00 00 5e 01 2e ff 78 00 d2 00 78 00
0x099d Return(); // 04
SCRIPT: script_id = 0x02
script = w[8007aecc];
0x099e JumpIf( bu[script + 16ec] == true )To( 0x09a6 ); // 05 7a 02 7f 03 01 00
0x09a5 Return(); // 04
0x09a6 [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f
0x09ae JumpIf( ( ( bu[ script + 0x002a ] == 0x00000001 ) && ( bu[script + 16ec] == 0x00000001 ) ) == false )To( 0x09ce ); // 05 d5 2a 7d 01 00 20 7a 02 7d 01 00 20 27 7f 02 0e 00
0x09c0 [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f
0x09c8 0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 00
0x09ce JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x09dc ); // 05 d5 18 7d 02 00 18 7f 02 03 00
0x09d9 Set8007bbf4( 0x00 ); // 68 00 00
0x09dc Return(); // 04
ENTITY: entity_id = 0x08
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x09ea Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x09eb JumpIf( ( ( ( bu[script + 16ec] == 0x00000001 ) && ( (bu[ 0x8007aef0 + 0x0000 ] >> 0x07) & 1 == 0x00000000 ) ) && ( (bu[ script + 0x0012 ] >> 0x01) & 1 == 0x00000000 ) ) == false )To( 0x0af7 ); // 05 7a 02 7d 01 00 20 e4 07 1c 7d 00 00 20 27 c5 91 7d 00 00 20 27 7f 02 f2 00
0x0a05 [ w[ 0x8007bcf8 ] + 0x0000 ] = b3( ( 0x00000010 / ( ( ( 0x00000008 / ( 0x000006a4 - GetZPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x000006a4 - GetZPositionFromEntity( 0xfa ) ) ) ) + ( ( 0x00000008 / ( 0x00000258 - GetXPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x00000258 - GetXPositionFromEntity( 0xfa ) ) ) ) ) ) ); // 05 ca 00 78 fa 00 7d 58 02 15 7d 08 00 12 78 fa 00 7d 58 02 15 7d 08 00 12 11 78 fa 02 7d a4 06 15 7d 08 00 12 78 fa 02 7d a4 06 15 7d 08 00 12 11 14 7d 10 00 12 2c 7f
0x0a3d JumpIf( ( ( b3[ w[ 0x8007bcf8 ] + 0x0000 ] < 0x00000037 ) && ( ( GetYPositionFromEntity( 0xfa ) > 0x0000feca ) && ( GetYPositionFromEntity( 0xfa ) < 0x00000122 ) ) ) == false )To( 0x0af7 ); // 05 ca 00 7d 37 00 18 78 fa 01 7d ca fe 19 78 fa 01 7d 22 01 18 27 27 7f 02 9f 00
0x0a58 Set8007bbf4( 0x01 ); // 68 00 01
0x0a5b JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0af7 ); // 05 7e 00 00 0a 00 4f 7f 02 91 00
0x0a66 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f
0x0a6e JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0a8c ); // 05 c5 9f 7d 01 00 20 7f 02 13 00
0x0a79 0x2d(); // 2d
0x0a7a JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0a89 ); // 05 c5 90 7d 00 00 20 7f 02 04 00
0x0a85 [80073998] = w(w[80073998] | 00040000); // ab
0x0a86 JumpTo( 0x0a8c ); // 01 03 00
0x0a89 Wait( 0x01 ); // 22 00 01
0x0a8c Set800c9df1( 0x7f ); // 27 00 7f
0x0a8f [ 0x8007aef0 + 0x00dc ] = h( 0x00000258 ); // 05 d8 dc 7d 58 02 2c 7f
0x0a97 [ 0x8007aef0 + 0x00de ] = h( 0x000006a4 ); // 05 d8 de 7d a4 06 2c 7f
0x0a9f [ 0x8007aef0 + 0x00e2 ] = b( (bu[ 0x8007aef0 + 0x0000 ] >> 0x07) & 1 ); // 05 d4 e2 e4 07 1c 2c 7f
0x0aa7 [ 0x8007aef0 + 0x00e0 ] = h( 0x000000ec ); // 05 d8 e0 7d ec 00 2c 7f
0x0aaf Set8007bba8( 0x00, 0x00ec ); // 66 00 00 ec 00
0x0ab4 RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0c ); // 14 00 02 fa 0c
0x0ab9 JumpIf( 0x00000001 == false )To( 0x0ac9 ); // 05 7d 01 00 7f 02 08 00
0x0ac1 [ 0x8007aef0 + 0x0000 ] = b( b[ 0x8007aef0 + 0x0000 ] | 0x80 ); // 05 e4 07 1c d4 e2 2c 7f
0x0ac9 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x0ad1 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0af7 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x0adc JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0af7 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x0ae7 0x2e(); // 2e
0x0ae8 Set800c9df1( 0xff ); // 27 00 ff
0x0aeb JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0af7 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x0af6 [80073998] = w(w[80073998] & fffbffff); // aa
0x0af7 Wait( 0x01 ); // 22 00 01
0x0afa JumpTo( 0x09eb ); // 01 ee fe
ENTITY: entity_id = 0x09
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0b0a Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x0b0b JumpIf( ( ( ( bu[script + 16ec] == 0x00000001 ) && ( (bu[ 0x8007aef0 + 0x0000 ] >> 0x06) & 1 == 0x00000000 ) ) && ( (bu[ script + 0x0012 ] >> 0x01) & 1 == 0x00000000 ) ) == false )To( 0x0c17 ); // 05 7a 02 7d 01 00 20 e4 06 1c 7d 00 00 20 27 c5 91 7d 00 00 20 27 7f 02 f2 00
0x0b25 [ w[ 0x8007bcf8 ] + 0x0000 ] = b3( ( 0x00000010 / ( ( ( 0x00000008 / ( 0x00000640 - GetZPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x00000640 - GetZPositionFromEntity( 0xfa ) ) ) ) + ( ( 0x00000008 / ( 0x0000fd44 - GetXPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x0000fd44 - GetXPositionFromEntity( 0xfa ) ) ) ) ) ) ); // 05 ca 00 78 fa 00 7d 44 fd 15 7d 08 00 12 78 fa 00 7d 44 fd 15 7d 08 00 12 11 78 fa 02 7d 40 06 15 7d 08 00 12 78 fa 02 7d 40 06 15 7d 08 00 12 11 14 7d 10 00 12 2c 7f
0x0b5d JumpIf( ( ( b3[ w[ 0x8007bcf8 ] + 0x0000 ] < 0x00000037 ) && ( ( GetYPositionFromEntity( 0xfa ) > 0x0000feca ) && ( GetYPositionFromEntity( 0xfa ) < 0x00000122 ) ) ) == false )To( 0x0c17 ); // 05 ca 00 7d 37 00 18 78 fa 01 7d ca fe 19 78 fa 01 7d 22 01 18 27 27 7f 02 9f 00
0x0b78 Set8007bbf4( 0x01 ); // 68 00 01
0x0b7b JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0c17 ); // 05 7e 00 00 0a 00 4f 7f 02 91 00
0x0b86 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f
0x0b8e JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0bac ); // 05 c5 9f 7d 01 00 20 7f 02 13 00
0x0b99 0x2d(); // 2d
0x0b9a JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0ba9 ); // 05 c5 90 7d 00 00 20 7f 02 04 00
0x0ba5 [80073998] = w(w[80073998] | 00040000); // ab
0x0ba6 JumpTo( 0x0bac ); // 01 03 00
0x0ba9 Wait( 0x01 ); // 22 00 01
0x0bac Set800c9df1( 0x7f ); // 27 00 7f
0x0baf [ 0x8007aef0 + 0x00dc ] = h( 0x0000fd44 ); // 05 d8 dc 7d 44 fd 2c 7f
0x0bb7 [ 0x8007aef0 + 0x00de ] = h( 0x00000640 ); // 05 d8 de 7d 40 06 2c 7f
0x0bbf [ 0x8007aef0 + 0x00e2 ] = b( (bu[ 0x8007aef0 + 0x0000 ] >> 0x06) & 1 ); // 05 d4 e2 e4 06 1c 2c 7f
0x0bc7 [ 0x8007aef0 + 0x00e0 ] = h( 0x00000417 ); // 05 d8 e0 7d 17 04 2c 7f
0x0bcf Set8007bba8( 0x00, 0x0417 ); // 66 00 00 17 04
0x0bd4 RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0c ); // 14 00 02 fa 0c
0x0bd9 JumpIf( 0x00000001 == false )To( 0x0be9 ); // 05 7d 01 00 7f 02 08 00
0x0be1 [ 0x8007aef0 + 0x0000 ] = b( b[ 0x8007aef0 + 0x0000 ] | 0x40 ); // 05 e4 06 1c d4 e2 2c 7f
0x0be9 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x0bf1 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0c17 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x0bfc JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0c17 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x0c07 0x2e(); // 2e
0x0c08 Set800c9df1( 0xff ); // 27 00 ff
0x0c0b JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0c17 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x0c16 [80073998] = w(w[80073998] & fffbffff); // aa
0x0c17 Wait( 0x01 ); // 22 00 01
0x0c1a JumpTo( 0x0b0b ); // 01 ee fe
ENTITY: entity_id = 0x0a
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0c2a Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x0c2b JumpIf( ( ( ( bu[script + 16ec] == 0x00000001 ) && ( bu[ w[ 0x8007bcf8 ] + 0x0003 ] == 0x00000000 ) ) && ( (bu[ script + 0x0012 ] >> 0x01) & 1 == 0x00000000 ) ) == false )To( 0x0d34 ); // 05 7a 02 7d 01 00 20 d6 03 7d 00 00 20 27 c5 91 7d 00 00 20 27 7f 02 f0 00
0x0c44 [ w[ 0x8007bcf8 ] + 0x0000 ] = b3( ( 0x00000010 / ( ( ( 0x00000008 / ( 0x00000427 - GetZPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x00000427 - GetZPositionFromEntity( 0xfa ) ) ) ) + ( ( 0x00000008 / ( 0x000002b8 - GetXPositionFromEntity( 0xfa ) ) ) * ( 0x00000008 / ( 0x000002b8 - GetXPositionFromEntity( 0xfa ) ) ) ) ) ) ); // 05 ca 00 78 fa 00 7d b8 02 15 7d 08 00 12 78 fa 00 7d b8 02 15 7d 08 00 12 11 78 fa 02 7d 27 04 15 7d 08 00 12 78 fa 02 7d 27 04 15 7d 08 00 12 11 14 7d 10 00 12 2c 7f
0x0c7c JumpIf( ( ( b3[ w[ 0x8007bcf8 ] + 0x0000 ] < 0x00000028 ) && ( ( GetYPositionFromEntity( 0xfa ) > 0x0000feb6 ) && ( GetYPositionFromEntity( 0xfa ) < 0x0000010e ) ) ) == false )To( 0x0d34 ); // 05 ca 00 7d 28 00 18 78 fa 01 7d b6 fe 19 78 fa 01 7d 0e 01 18 27 27 7f 02 9d 00
0x0c97 Set8007bbf4( 0x01 ); // 68 00 01
0x0c9a JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0d34 ); // 05 7e 00 00 0a 00 4f 7f 02 8f 00
0x0ca5 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f
0x0cad JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0ccb ); // 05 c5 9f 7d 01 00 20 7f 02 13 00
0x0cb8 0x2d(); // 2d
0x0cb9 JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0cc8 ); // 05 c5 90 7d 00 00 20 7f 02 04 00
0x0cc4 [80073998] = w(w[80073998] | 00040000); // ab
0x0cc5 JumpTo( 0x0ccb ); // 01 03 00
0x0cc8 Wait( 0x01 ); // 22 00 01
0x0ccb Set800c9df1( 0x7f ); // 27 00 7f
0x0cce [ 0x8007aef0 + 0x00dc ] = h( 0x000002b8 ); // 05 d8 dc 7d b8 02 2c 7f
0x0cd6 [ 0x8007aef0 + 0x00de ] = h( 0x00000427 ); // 05 d8 de 7d 27 04 2c 7f
0x0cde [ 0x8007aef0 + 0x00e2 ] = b( bu[ w[ 0x8007bcf8 ] + 0x0003 ] ); // 05 d4 e2 d6 03 2c 7f
0x0ce5 [ 0x8007aef0 + 0x00e0 ] = h( 0x0000752f ); // 05 d8 e0 7d 2f 75 2c 7f
0x0ced Set8007bba8( 0x00, 0x752f ); // 66 00 00 2f 75
0x0cf2 RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0d ); // 14 00 02 fa 0d
0x0cf7 JumpIf( 0x00000000 == false )To( 0x0d06 ); // 05 7d 00 00 7f 02 07 00
0x0cff [ w[ 0x8007bcf8 ] + 0x0003 ] = b( bu[ 0x8007aef0 + 0x00e2 ] ); // 05 d6 03 d4 e2 2c 7f
0x0d06 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x0d0e JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0d34 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x0d19 JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0d34 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x0d24 0x2e(); // 2e
0x0d25 Set800c9df1( 0xff ); // 27 00 ff
0x0d28 JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0d34 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x0d33 [80073998] = w(w[80073998] & fffbffff); // aa
0x0d34 Wait( 0x01 ); // 22 00 01
0x0d37 JumpTo( 0x0c2b ); // 01 f1 fe
ENTITY: entity_id = 0x0b
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0d46 [ script + 0x0022 ] = h( 0x00000020 ); // 05 dd 22 7d 20 00 2c 7f
0x0d4e [ script + 0x0024 ] = h( 0x00000040 ); // 05 dd 24 7d 40 00 2c 7f
0x0d56 CallFuncc142c( 0x10, 0x00 ); // 5b 00 10 00
0x0d5a CallFuncc142c( 0x1a, 0x00 ); // 5b 00 1a 00
0x0d5e Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x0d5f CallFuncc1368( 0x05, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 05 dd 22 7f dd 22 7f dd 22 7f
0x0d6b CallFuncc1368( 0x0a, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0a dd 22 7f dd 22 7f dd 22 7f
0x0d77 CallFuncc1368( 0x0b, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0b dd 22 7f dd 22 7f dd 22 7f
0x0d83 CallFuncc1368( 0x0c, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0c dd 22 7f dd 22 7f dd 22 7f
0x0d8f CallFuncc1368( 0x0d, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0d dd 22 7f dd 22 7f dd 22 7f
0x0d9b CallFuncc1368( 0x0e, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0e dd 22 7f dd 22 7f dd 22 7f
0x0da7 CallFuncc1368( 0x0f, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0f dd 22 7f dd 22 7f dd 22 7f
0x0db3 CallFuncc1368( 0x12, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 12 dd 22 7f dd 22 7f dd 22 7f
0x0dbf JumpIf( ( hu[ script + 0x0024 ] > 0x00000080 ) == false )To( 0x0dd2 ); // 05 dd 24 7d 80 00 19 7f 02 08 00
0x0dca [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000000 ); // 05 de 00 7d 00 00 2c 7f
0x0dd2 CallFuncc1368( 0x11, ( hu[ w[ 0x8007bcf8 ] + 0x0000 ] + hu[ script + 0x0024 ] ), ( hu[ w[ 0x8007bcf8 ] + 0x0000 ] + hu[ script + 0x0024 ] ), ( hu[ w[ 0x8007bcf8 ] + 0x0000 ] + hu[ script + 0x0024 ] ) ); // 59 0e 11 dd 24 de 00 14 7f dd 24 de 00 14 7f dd 24 de 00 14 7f
0x0de7 JumpIf( ( hu[ script + 0x0024 ] == 0x00000080 ) == false )To( 0x0e54 ); // 05 dd 24 7d 80 00 20 7f 02 62 00
0x0df2 JumpSwitch( hu[ w[ 0x8007bcf8 ] + 0x0000 ] )( case 0000: jump_to:0x0e12)( case 0006: jump_to:0x0e1d)( case 000c: jump_to:0x0e28)( case 000f: jump_to:0x0e33)( case 000b: jump_to:0x0e3e)( case 0005: jump_to:0x0e49)( default: jump_to:0x0e54); // 05 de 00 7f 06 06 5a 00 00 00 18 00 06 00 23 00 0c 00 2e 00 0f 00 39 00 0b 00 44 00 05 00 4f 00
0x0e12 [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000006 ); // 05 de 00 7d 06 00 2c 7f
0x0e1a JumpTo( 0x0e54 ); // 01 37 00
0x0e1d [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000c ); // 05 de 00 7d 0c 00 2c 7f
0x0e25 JumpTo( 0x0e54 ); // 01 2c 00
0x0e28 [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000f ); // 05 de 00 7d 0f 00 2c 7f
0x0e30 JumpTo( 0x0e54 ); // 01 21 00
0x0e33 [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000b ); // 05 de 00 7d 0b 00 2c 7f
0x0e3b JumpTo( 0x0e54 ); // 01 16 00
0x0e3e [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000005 ); // 05 de 00 7d 05 00 2c 7f
0x0e46 JumpTo( 0x0e54 ); // 01 0b 00
0x0e49 [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000000 ); // 05 de 00 7d 00 00 2c 7f
0x0e51 JumpTo( 0x0e54 ); // 01 00 00
0x0e54 Wait( 0x01 ); // 22 00 01
0x0e57 JumpTo( 0x0d5f ); // 01 05 ff
ENTITY: entity_id = 0x0c
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0e66 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x0e67 JumpIf( ( ( bu[ script + 0x0026 ] == 0x00000000 ) && ( bu[ script + 0x002a ] == 0x00000002 ) ) == false )To( 0x0e84 ); // 05 d5 26 7d 00 00 20 d5 2a 7d 02 00 20 27 7f 02 0b 00
0x0e79 [ script + 0x002a ] = b( 0x00000000 ); // 05 d5 2a 7d 00 00 2c 7f
0x0e81 0x21( 0x01 ); // 21 00 01
0x0e84 JumpIf( ( bu[ script + 0x0018 ] == 0x00000001 ) == false )To( 0x0ec6 ); // 05 d5 18 7d 01 00 20 7f 02 37 00
0x0e8f JumpIf( ( h[ script + 0x0028 ] < 0x0000012c ) == false )To( 0x0e9f ); // 05 d9 28 7d 2c 01 18 7f 02 05 00
0x0e9a ( h[ script + 0x0028 ]++ ); // 05 d9 28 04 7f
0x0e9f JumpIf( ( ( ( h[ script + 0x0028 ] == 0x0000012c ) && ( bu[ script + 0x002a ] == 0x00000000 ) ) && ( bu[script + 16ec] == 0x00000001 ) ) == false )To( 0x0ec6 ); // 05 d9 28 7d 2c 01 20 d5 2a 7d 00 00 20 27 7a 02 7d 01 00 20 27 7f 02 0e 00
0x0eb8 [ script + 0x002a ] = b( 0x00000001 ); // 05 d5 2a 7d 01 00 2c 7f
0x0ec0 0x20Async( 0x01, 0x10, 0x0025 ); // 20 00 01 10 25 00
0x0ec6 Wait( 0x01 ); // 22 00 01
0x0ec9 JumpTo( 0x0e67 ); // 01 9b ff
Description is as follows
+00 [][] X
+02 [][] Y
+04 [][] Z
+06 [][] direction
+11 [] init with 0xff. Set 0xc0 in entity 0xf script 0x1. Related with 80077c82.
+18 [] scene progress.
0x00 - initial value.
0x01
0x02
0x03
0x04
0x05 - blank, cina and marcus run into room.
0x06
0x07
0x08
0x09
0x0a - baku dragon enter the room.
0x0b
0x0c
0x0d
0x0e
+1a [] some timer. Do various things when it greater than 0.
+1c [] some flag progress.
0x40 - remove this flag every progress cycle. This flag used to wait all entities until progress updates.
0x80 - if this flag is set we advance +18 from 00 to 01 and remove this flag.
entity_id = 0x00 - script - init entity.
script_id = 0x00
init script. Start all others entity and set up initial variable values.
???
script_id = 0x0a
???
entity_id = 0x01 - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x02 - script - ???
script_id = 0x00
do nothing.
script_id = 0x01
???
entity_id = 0x03 - script - progress update entity.
script_id = 0x00
do nothing.
script_id = 0x01
update progress variable +18 if flag 0x80 in +1c is set. Remove flag 0x40 from +1c every cycle.
entity_id = 0x04 - type3 - ???
script_id = 0x00
???
script_id = 0x02
???
entity_id = 0x05 - type3 - ???
script_id = 0x00
???
script_id = 0x02
???
entity_id = 0x06 - type3 - ???
script_id = 0x00
???
script_id = 0x02
???
entity_id = 0x07 - type3 - ???
script_id = 0x00
???
script_id = 0x02
???
entity_id = 0x08 - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x09 - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x0a - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x0b - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x0c - script - ???
script_id = 0x00
???
script_id = 0x01
???
entity_id = 0x0d - model - baku dragon
script_id = 0x00
init model state and position.
script_id = 0x01
do things depenging on scene progress +18. Wait otherwise.
0xa -
0xb -
0xc -
entity_id = 0x0e - script - baku dragon jump
script_id = 0x00
perform jump.
entity_id = 0x0f - model - baku
script_id = 0x00
init model state and position.
script_id = 0x01
???
entity_id = 0x10 - script - ???
script_id = 0x00
???
entity_id = 0x11 - model - zidane
script_id = 0x00
init model state and position depending on 0x8007aef0 + 0x0002 (maybe stored progress???).
script_id = 0x01
???
script_id = 0x0b
???
script_id = 0x0c
???
script_id = 0x0d
???
entity_id = 0x16 - model - ???
script_id = 0x00
init model state and position.
script_id = 0x01
???
entity_id = 0x17 - model - ???
script_id = 0x00
init model state and position.
script_id = 0x01
???
entity_id = 0x18 - model - ???
script_id = 0x00
init model state and position.
script_id = 0x01
???
-
Rest of script.
ENTITY: entity_id = 0x0d
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x0ed6 [ script + 0x0000 ] = h( 0x0000f9be ); // 05 d9 00 7d be f9 2c 7f
0x0ede [ script + 0x0004 ] = h( 0x00000051 ); // 05 d9 04 7d 51 00 2c 7f
0x0ee6 [ script + 0x0006 ] = h( 0x000000c0 ); // 05 d9 06 7d c0 00 2c 7f
0x0eee [ script + 0x0002 ] = h( 0x0000fd0f ); // 05 d9 02 7d 0f fd 2c 7f
0x0ef6 Set32and34inEntityStruct( 0x00ba, 0x70 ); // 2f 00 ba 00 70
0x0efb SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x0f03 SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x0f08 SetEntityData54( animation_id = 0x0863 ); // 33 00 63 08
0x0f0c SetEntityData56( animation_id = 0x0869 ); // 34 00 69 08
0x0f10 SetEntityData58( animation_id = 0x0869 ); // 35 00 69 08
0x0f14 SetEntityData4c( animation_id = 0x0869 ); // 7a 00 69 08
0x0f18 SetEntityData4e( animation_id = 0x0869 ); // 7b 00 69 08
0x0f1c SetEntityCollision( 0x1a, solid_radius = 0x1a, talk_radius = 0x25 ); // 4b 00 1a 1a 25
0x0f21 SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x0f27 SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d
0x0f2b SetEntityPositionByXYZ( x = h[ script + 0x0000 ], y = h[ script + 0x0002 ], z = h[ script + 0x0004 ] ); // a1 07 d9 00 7f d9 02 7f d9 04 7f
0x0f36 SetEntityData76_90_91( 0x0862, 0x0e, 0x1b ); // 94 00 62 08 0e 1b
0x0f3c 0x80(); // 80
0x0f3d 0x9f( entity_id = 0xff, 0x2e, 0x2e, 0x2e ); // 9f 00 ff 2e 2e 2e
0x0f43 SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x0f48 SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x0f4b SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x0f4e 0x3a( entity_id = 0xff, 0x00 ); // 3a 00 ff 00
0x0f52 SetEntityData7c_7d_7e_7f( 0x10, 0x10, 0x10, 0x10 ); // 86 00 10 10 10 10
0x0f58 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x0f59 JumpSwitch( bu[ script + 0x0018 ] )( case 0x000a: jump_to:0x0f69)( case 0x000b: jump_to:0x0fbc)( case 0x000c: jump_to:0x14fe)( default: jump_to:0x153c); // 05 d5 18 7f 0b 03 0a 00 de 05 0b 00 5e 00 a0 05
0x0f69 Wait( 0x0c ); // 22 00 0c
0x0f6c SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x0f6f 0x9f( entity_id = 0xff, 0x2e, 0x2e, 0x2e ); // 9f 00 ff 2e 2e 2e
0x0f75 SetEntityData5c( 0x07 ); // 26 00 07
0x0f78 ResetEntityData30_50_63_78(); // 25
0x0f79 MoveToPosition( x = 0xfaea, y = 0x0051 ); // 23 00 ea fa 51 00
0x0f7f Wait( 0x05 ); // 22 00 05
0x0f82 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x0f87 JumpTo( 0x0f95 ); // 01 0b 00
0x0f8a [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x0f92 Wait( 0x01 ); // 22 00 01
0x0f95 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x0f8a ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x0fa0 JumpTo( 0x0fa6 ); // 01 03 00
0x0fa3 Wait( 0x01 ); // 22 00 01
0x0fa6 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x0fa3 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x0fb1 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x0fb9 JumpTo( 0x153c ); // 01 80 05
0x0fbc CallFuncafac0( 0x01, 0x82, 0xffff, 0x0000, 0x0000 ); // b3 00 01 82 ff ff 00 00 00 00
0x0fc6 CallFuncc0df4( 0x00a0, 0x0070, 0x01, 0x08 ); // 6f 00 a0 00 70 00 01 08
0x0fce CallFuncc196c( 0x02, 0x00 ); // ca 00 02 00
0x0fd2 0x9f( entity_id = 0xff, 0x38, 0x38, 0x38 ); // 9f 00 ff 38 38 38
0x0fd8 SetEntityPositionByXZ( x = 0xfaa6, z = 0x0000 ); // 1d 00 a6 fa 00 00
0x0fde SetEntityRotation( rotation = 0xbe ); // 36 00 be
0x0fe1 CallFuncc0bcc( 0x01 ); // 7e 00 01
0x0fe4 Wait( 0x01 ); // 22 00 01
0x0fe7 SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x0fea SetEntityData5c( 0x07 ); // 26 00 07
0x0fed CallDynamic8006794c_1c_83c( 0xd000, 0x0274, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 74 02 00 00 00 80 7d
0x0ff8 InitAdditionalScriptEntityForCurrentEntity( entity_id = 0x0e ); // 43 00 0e
0x0ffb Wait( 0x2f ); // 22 00 2f
0x0ffe CallDynamic8006794c_1c_83c( 0x6201, 0xffff, 0x000064, 0x00, 0x00 ); // c6 00 01 62 ff ff 64 00 00
0x1007 CallDynamic8006794c_1c_83c( 0xa000, 0x0008, 0x000080, 0x00, 0x00 ); // c7 00 00 a0 08 00 80 00 00 00
0x1011 CallFunc54e88( 0x00, 0x00, 0x01 ); // f8 00 00 00 01
0x1016 CallFunc54e88( 0x00, 0x01, 0x00 ); // f8 00 00 01 00
0x101b CallFunc54fe0( 0x01 ); // f7 00 01
0x101e CallFuncc0df4( 0x00a0, 0x007f, 0x0a, 0x08 ); // 6f 00 a0 00 7f 00 0a 08
0x1026 Wait( 0x0a ); // 22 00 0a
0x1029 CallFuncc0df4( 0x00a0, 0x0070, 0x0a, 0x08 ); // 6f 00 a0 00 70 00 0a 08
0x1031 Wait( 0x0a ); // 22 00 0a
0x1034 Wait( 0x32 ); // 22 00 32
0x1037 Wait( 0x21 ); // 22 00 21
0x103a [ 0x8007aef0 + 0x0015 ] = h( 0x00000e01 ); // 05 dc 15 7d 01 0e 2c 7f
0x1042 0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f
0x1047 [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000000 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 00 00 2c 2c 2c 2c 7f
0x1058 [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x1060 JumpTo( 0x107b ); // 01 18 00
0x1063 JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x1076 ); // 05 d9 08 6b 7f 02 0b 00
0x106b ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f
0x1076 ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x107b JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1063 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x1086 JumpIf( 0x00000001 == false )To( 0x1096 ); // 05 7d 01 00 7f 02 08 00
0x108e ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f
0x1096 JumpIf( 0x00000001 == false )To( 0x10a6 ); // 05 7d 01 00 7f 02 08 00
0x109e ( h[ script + 0x000c ] |= 0x00000200 ); // 05 d9 0c 7d 00 02 3f 7f
0x10a6 JumpIf( 0x00000001 == false )To( 0x10b6 ); // 05 7d 01 00 7f 02 08 00
0x10ae ( h[ script + 0x000c ] |= 0x00000400 ); // 05 d9 0c 7d 00 04 3f 7f
0x10b6 JumpIf( 0x00000001 == false )To( 0x10c6 ); // 05 7d 01 00 7f 02 08 00
0x10be ( h[ script + 0x000c ] |= 0x00000800 ); // 05 d9 0c 7d 00 08 3f 7f
0x10c6 [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f
0x10d0 [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x10d8 JumpTo( 0x10f3 ); // 01 18 00
0x10db JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x10ee ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 00
0x10e9 PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f
0x10ee ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x10f3 JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x10db ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x10fe JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x1114 ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 00
0x110b [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f
0x1114 JumpIf( ( CallFunc4b85c( 0x00000009 ) == 0x00000000 ) == false )To( 0x112a ); // 05 7d 09 00 6b 7d 00 00 20 7f 02 09 00
0x1121 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 09 00 6d 2c 7f
0x112a JumpIf( ( CallFunc4b85c( 0x0000000a ) == 0x00000000 ) == false )To( 0x1140 ); // 05 7d 0a 00 6b 7d 00 00 20 7f 02 09 00
0x1137 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 0a 00 6d 2c 7f
0x1140 JumpIf( ( CallFunc4b85c( 0x0000000b ) == 0x00000000 ) == false )To( 0x1156 ); // 05 7d 0b 00 6b 7d 00 00 20 7f 02 09 00
0x114d [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 0b 00 6d 2c 7f
0x1156 [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f
0x115f [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000063 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 63 00 2c 2c 2c 2c 7f
0x1170 JumpIf( 0x00000001 == false )To( 0x1186 ); // 05 7d 01 00 7f 02 0e 00
0x1178 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x117e [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x1186 JumpIf( 0x00000001 == false )To( 0x119c ); // 05 7d 01 00 7f 02 0e 00
0x118e ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x1194 [ script + 0x000a ] = h( 0x00000009 ); // 05 d9 0a 7d 09 00 2c 7f
0x119c JumpIf( 0x00000001 == false )To( 0x11b2 ); // 05 7d 01 00 7f 02 0e 00
0x11a4 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x11aa [ script + 0x000c ] = h( 0x0000000a ); // 05 d9 0c 7d 0a 00 2c 7f
0x11b2 JumpIf( 0x00000001 == false )To( 0x11c8 ); // 05 7d 01 00 7f 02 0e 00
0x11ba ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x11c0 [ script + 0x000e ] = h( 0x0000000b ); // 05 d9 0e 7d 0b 00 2c 7f
0x11c8 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f
0x11d9 JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x11f8 ); // 05 d9 08 7d 63 00 21 7f 02 14 00
0x11e4 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x11f8 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 00
0x11f0 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f
0x11f8 JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x1217 ); // 05 d9 0a 7d 63 00 21 7f 02 14 00
0x1203 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x1217 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 00
0x120f [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f
0x1217 JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x1236 ); // 05 d9 0c 7d 63 00 21 7f 02 14 00
0x1222 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x1236 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 00
0x122e [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f
0x1236 JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x1255 ); // 05 d9 0e 7d 63 00 21 7f 02 14 00
0x1241 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x1255 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 00
0x124d [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f
0x1255 JumpIf( ( ( (bu[ script + 0x0012 ] >> 0x07) & 1 + ( (bu[ script + 0x0012 ] >> 0x06) & 1 + ( (bu[ script + 0x0012 ] >> 0x05) & 1 + (bu[ script + 0x0012 ] >> 0x04) & 1 ) ) ) == bu[ 0x8007aef0 + 0x002f ] ) == false )To( 0x12cd ); // 05 c5 94 c5 95 14 c5 96 14 c5 97 14 f4 2f 01 20 7f 02 64 00
0x1269 JumpIf( ( ( h[ script + 0x0008 ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x04) & 1 == 0x00000001 ) ) == false )To( 0x1282 ); // 05 d9 08 7d 63 00 21 c5 94 7d 01 00 20 27 7f 02 07 00
0x127b CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 00
0x1282 JumpIf( ( ( h[ script + 0x000a ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x05) & 1 == 0x00000001 ) ) == false )To( 0x129b ); // 05 d9 0a 7d 63 00 21 c5 95 7d 01 00 20 27 7f 02 07 00
0x1294 CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 00
0x129b JumpIf( ( ( h[ script + 0x000c ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x06) & 1 == 0x00000001 ) ) == false )To( 0x12b4 ); // 05 d9 0c 7d 63 00 21 c5 96 7d 01 00 20 27 7f 02 07 00
0x12ad CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 00
0x12b4 JumpIf( ( ( h[ script + 0x000e ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x07) & 1 == 0x00000001 ) ) == false )To( 0x12cd ); // 05 d9 0e 7d 63 00 21 c5 97 7d 01 00 20 27 7f 02 07 00
0x12c6 CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 00
0x12cd CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x12d1 CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f
0x12d5 CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f
0x12d9 CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f
0x12dd CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f
0x12e1 CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f
0x12e5 CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f
0x12e9 CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f
0x12ed CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f
0x12f1 JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x1305 ); // 05 7d 05 00 6b 7f 02 0b 00
0x12fa [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f
0x1302 JumpTo( 0x130d ); // 01 08 00
0x1305 [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f
0x130d JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000000 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x132f ); // 05 dc 13 7d 00 00 17 7d 01 00 24 7d 00 00 20 7f 02 0f 00
0x1320 CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 01 ff 09 00
0x1327 ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f
0x132f JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000008 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x1355 ); // 05 dc 13 7d 08 00 17 7d 01 00 24 7d 00 00 20 7f 02 13 00
0x1342 CharacterInit( character_id = 0x09, type = 0x01, preset_id = 0x08, 0x15, 0x08 ); // fe 00 09 01 08 15 08
0x1349 ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000100 ); // 05 dc 13 7d 00 01 3f 7f
0x1351 CharacterSet34Flag00000200( character_id = 0x09, 0x01 ); // 62 00 09 01
0x1355 JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000009 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x137b ); // 05 dc 13 7d 09 00 17 7d 01 00 24 7d 00 00 20 7f 02 13 00
0x1368 CharacterInit( character_id = 0x0a, type = 0x01, preset_id = 0x09, 0x15, 0x0a ); // fe 00 0a 01 09 15 0a
0x136f ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000200 ); // 05 dc 13 7d 00 02 3f 7f
0x1377 CharacterSet34Flag00000200( character_id = 0x0a, 0x01 ); // 62 00 0a 01
0x137b JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x0000000a ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x13a1 ); // 05 dc 13 7d 0a 00 17 7d 01 00 24 7d 00 00 20 7f 02 13 00
0x138e CharacterInit( character_id = 0x0b, type = 0x01, preset_id = 0x0a, 0x15, 0x0c ); // fe 00 0b 01 0a 15 0c
0x1395 ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000400 ); // 05 dc 13 7d 00 04 3f 7f
0x139d CharacterSet34Flag00000200( character_id = 0x0b, 0x01 ); // 62 00 0b 01
0x13a1 CharacterSetHP( character_id = 0x09, hp = 0x270f ); // f1 00 09 0f 27
0x13a6 CharacterSetMP( character_id = 0x09, mp = 0x03e7 ); // f2 00 09 e7 03
0x13ab CharacterRemoveStatuses( character_id = 0x09, status_mask = 0x7f ); // d9 00 09 7f
0x13af CharacterSetHP( character_id = 0x0a, hp = 0x270f ); // f1 00 0a 0f 27
0x13b4 CharacterSetMP( character_id = 0x0a, mp = 0x03e7 ); // f2 00 0a e7 03
0x13b9 CharacterRemoveStatuses( character_id = 0x0a, status_mask = 0x7f ); // d9 00 0a 7f
0x13bd CharacterSetHP( character_id = 0x0b, hp = 0x270f ); // f1 00 0b 0f 27
0x13c2 CharacterSetMP( character_id = 0x0b, mp = 0x03e7 ); // f2 00 0b e7 03
0x13c7 CharacterRemoveStatuses( character_id = 0x0b, status_mask = 0x7f ); // d9 00 0b 7f
0x13cb CharacterSetName( character_id = 0x09, string_id = 0x001c ); // de 00 09 1c 00
0x13d0 CharacterSetName( character_id = 0x0b, string_id = 0x001e ); // de 00 0b 1e 00
0x13d5 CharacterSetName( character_id = 0x0a, string_id = 0x001d ); // de 00 0a 1d 00
0x13da [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f
0x13e2 [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f
0x13ea [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f
0x13f2 CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 27
0x13f7 CharacterSetHP( character_id = 0x01, hp = 0x270f ); // f1 00 01 0f 27
0x13fc CharacterSetHP( character_id = 0x03, hp = 0x270f ); // f1 00 03 0f 27
0x1401 CharacterSetHP( character_id = 0x02, hp = 0x270f ); // f1 00 02 0f 27
0x1406 CharacterSetHP( character_id = 0x04, hp = 0x270f ); // f1 00 04 0f 27
0x140b CharacterSetHP( character_id = 0x05, hp = 0x270f ); // f1 00 05 0f 27
0x1410 CharacterSetHP( character_id = 0x07, hp = 0x270f ); // f1 00 07 0f 27
0x1415 CharacterSetHP( character_id = 0x06, hp = 0x270f ); // f1 00 06 0f 27
0x141a CharacterSetHP( character_id = 0x08, hp = 0x270f ); // f1 00 08 0f 27
0x141f CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 03
0x1424 CharacterSetMP( character_id = 0x01, mp = 0x03e7 ); // f2 00 01 e7 03
0x1429 CharacterSetMP( character_id = 0x03, mp = 0x03e7 ); // f2 00 03 e7 03
0x142e CharacterSetMP( character_id = 0x02, mp = 0x03e7 ); // f2 00 02 e7 03
0x1433 CharacterSetMP( character_id = 0x04, mp = 0x03e7 ); // f2 00 04 e7 03
0x1438 CharacterSetMP( character_id = 0x05, mp = 0x03e7 ); // f2 00 05 e7 03
0x143d CharacterSetMP( character_id = 0x07, mp = 0x03e7 ); // f2 00 07 e7 03
0x1442 CharacterSetMP( character_id = 0x06, mp = 0x03e7 ); // f2 00 06 e7 03
0x1447 CharacterSetMP( character_id = 0x08, mp = 0x03e7 ); // f2 00 08 e7 03
0x144c CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x1450 CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f
0x1454 CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f
0x1458 CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f
0x145c CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f
0x1460 CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f
0x1464 CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f
0x1468 CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f
0x146c CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f
0x1470 0x2a( 0x00, 0x0150 ); // 2a 00 00 50 01
0x1475 CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 27
0x147a CharacterSetHP( character_id = 0x01, hp = 0x270f ); // f1 00 01 0f 27
0x147f CharacterSetHP( character_id = 0x03, hp = 0x270f ); // f1 00 03 0f 27
0x1484 CharacterSetHP( character_id = 0x02, hp = 0x270f ); // f1 00 02 0f 27
0x1489 CharacterSetHP( character_id = 0x04, hp = 0x270f ); // f1 00 04 0f 27
0x148e CharacterSetHP( character_id = 0x05, hp = 0x270f ); // f1 00 05 0f 27
0x1493 CharacterSetHP( character_id = 0x07, hp = 0x270f ); // f1 00 07 0f 27
0x1498 CharacterSetHP( character_id = 0x06, hp = 0x270f ); // f1 00 06 0f 27
0x149d CharacterSetHP( character_id = 0x08, hp = 0x270f ); // f1 00 08 0f 27
0x14a2 CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 03
0x14a7 CharacterSetMP( character_id = 0x01, mp = 0x03e7 ); // f2 00 01 e7 03
0x14ac CharacterSetMP( character_id = 0x03, mp = 0x03e7 ); // f2 00 03 e7 03
0x14b1 CharacterSetMP( character_id = 0x02, mp = 0x03e7 ); // f2 00 02 e7 03
0x14b6 CharacterSetMP( character_id = 0x04, mp = 0x03e7 ); // f2 00 04 e7 03
0x14bb CharacterSetMP( character_id = 0x05, mp = 0x03e7 ); // f2 00 05 e7 03
0x14c0 CharacterSetMP( character_id = 0x07, mp = 0x03e7 ); // f2 00 07 e7 03
0x14c5 CharacterSetMP( character_id = 0x06, mp = 0x03e7 ); // f2 00 06 e7 03
0x14ca CharacterSetMP( character_id = 0x08, mp = 0x03e7 ); // f2 00 08 e7 03
0x14cf CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x14d3 CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f
0x14d7 CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f
0x14db CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f
0x14df CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f
0x14e3 CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f
0x14e7 CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f
0x14eb CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f
0x14ef CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f
0x14f3 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x14fb JumpTo( 0x153c ); // 01 3e 00
0x14fe SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x1501 CallDynamic8006794c_1c_83c( 0x0700, 0x000c, 0x00, 0x00, 0x00 ); // c5 00 00 07 0c 00
0x1507 JumpTo( 0x150d ); // 01 03 00
0x150a Wait( 0x01 ); // 22 00 01
0x150d JumpIf( ( funcb0124( 0xc00, 0xffffffff, 0, 0, 0 ) != 0x00000000 ) == true )To( 0x150a ); // 05 7a 03 7d 00 00 21 7f 03 f2 ff
0x1518 [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f
0x1520 [ script + 0x002c ] = b( 0x00000001 ); // 05 d5 2c 7d 01 00 2c 7f
0x1528 SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x152b SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x152e JumpTo( 0x1534 ); // 01 03 00
0x1531 Wait( 0x01 ); // 22 00 01
0x1534 JumpIf( 0x00000001 == true )To( 0x1531 ); // 05 7d 01 00 7f 03 f5 ff
0x153c Wait( 0x01 ); // 22 00 01
0x153f JumpTo( 0x0f59 ); // 01 17 fa
ENTITY: entity_id = 0x0e
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x154a 0xa8( 0x00 ); // a8 00 00
0x154d Play76Animation(); // 9c
0x154e WaitUntilAnimationComplete(); // 41
0x154f Jump( x = 0xfff6, y = 0x0000, z = 0x0000, steps = 0x1e ); // e2 00 f6 ff 00 00 00 00 1e
0x1558 PerformJump(); // dc
0x1559 PlaySomeAnimation(); // 9d
0x155a WaitUntilAnimationComplete(); // 41
0x155b SetEntityData60and61( 0x00, 0xff ); // 3d 00 00 ff
0x155f CallDynamic8006794c_1c_83c( 0xd000, 0x026d, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6d 02 00 00 00 80 7d
0x156a PlayEntityAnimation( animation_id = 0x0867 ); // 40 00 67 08
0x156e WaitUntilAnimationComplete(); // 41
0x156f SetEntityData54( animation_id = 0x0865 ); // 33 00 65 08
0x1573 MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff
0x1576 Return(); // 04
ENTITY: entity_id = 0x0f
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x1582 [ script + 0x0000 ] = h( 0x0000ff28 ); // 05 d9 00 7d 28 ff 2c 7f
0x158a [ script + 0x0004 ] = h( 0x00000021 ); // 05 d9 04 7d 21 00 2c 7f
0x1592 [ script + 0x0006 ] = h( 0x000000c0 ); // 05 d9 06 7d c0 00 2c 7f
0x159a Set32and34inEntityStruct( 0x1558, 0x70 ); // 2f 00 58 15 70
0x159f SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x15a7 SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x15ac SetEntityData54( animation_id = 0x030c ); // 33 00 0c 03
0x15b0 SetEntityData56( animation_id = 0x030b ); // 34 00 0b 03
0x15b4 SetEntityData58( animation_id = 0x0306 ); // 35 00 06 03
0x15b8 SetEntityData4c( animation_id = 0x0308 ); // 7a 00 08 03
0x15bc SetEntityData4e( animation_id = 0x0307 ); // 7b 00 07 03
0x15c0 SetEntityCollision( 0x1a, solid_radius = 0x1a, talk_radius = 0x25 ); // 4b 00 1a 1a 25
0x15c5 SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x15cb SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d
0x15cf SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x15d2 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x15d5 SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x15da Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x15db JumpSwitch( bu[ script + 0x0018 ] )( case 0x000c: jump_to:0x15eb)( case 0x000d: jump_to:0x165b)( case 0x000e: jump_to:0x16f1)( default: jump_to:0x17ff); // 05 d5 18 7f 0b 03 0c 00 1f 02 0b 00 7b 00 11 01
0x15eb SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x15ee SetEntityPositionByXZ( x = 0xff28, z = 0x0021 ); // 1d 00 28 ff 21 00
0x15f4 SetEntityRotation( rotation = 0xc0 ); // 36 00 c0
0x15f7 Wait( 0x03 ); // 22 00 03
0x15fa JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x1614 ); // 05 d5 11 7d ff 00 20 7f 02 0f 00
0x1605 GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f
0x1614 Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa
0x1617 0xec( 0x07, 0x10, bu[ script + 0x0011 ], 0x00, 0x00, 0x00 ); // ec 04 07 10 d5 11 7f 00 00 00
0x1621 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x1626 JumpTo( 0x1634 ); // 01 0b 00
0x1629 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x1631 Wait( 0x01 ); // 22 00 01
0x1634 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x1629 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x163f JumpTo( 0x1645 ); // 01 03 00
0x1642 Wait( 0x01 ); // 22 00 01
0x1645 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x1642 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x1650 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x1658 JumpTo( 0x17ff ); // 01 a4 01
0x165b Wait( 0x32 ); // 22 00 32
0x165e 0x1fSync( 0x04, 0x80, 0x002f ); // 1f 00 04 80 2f 00
0x1664 ResetEntityData30_50_63_78(); // 25
0x1665 MoveToPosition( x = 0x0050, y = 0xff83 ); // 23 00 50 00 83 ff
0x166b SetEntityRotateToRotation( rotation = 0x99, steps = 0x10 ); // 56 00 99 10
0x166f WaitUntilRotationComplete(); // 50
0x1670 PlayEntityAnimation( animation_id = 0x03f9 ); // 40 00 f9 03
0x1674 Wait( 0x0a ); // 22 00 0a
0x1677 0x1fSync( 0x04, 0x80, 0x0030 ); // 1f 00 04 80 30 00
0x167d Wait( 0x01 ); // 22 00 01
0x1680 WaitUntilAnimationComplete(); // 41
0x1681 SetEntityRotateToRotation( rotation = 0x00, steps = 0x10 ); // 56 00 00 10
0x1685 WaitUntilRotationComplete(); // 50
0x1686 PlayEntityAnimation( animation_id = 0x3137 ); // 40 00 37 31
0x168a 0x1fSync( 0x04, 0x80, 0x0031 ); // 1f 00 04 80 31 00
0x1690 WaitUntilAnimationComplete(); // 41
0x1691 InitAdditionalScriptEntityForCurrentEntity( entity_id = 0x10 ); // 43 00 10
0x1694 ResetEntityData30_50_63_78(); // 25
0x1695 MoveToPosition( x = 0x03e8, y = 0x00ab ); // 23 00 e8 03 ab 00
0x169b SetEntityRotateToRotation( rotation = 0x40, steps = 0x20 ); // 56 00 40 20
0x169f WaitUntilRotationComplete(); // 50
0x16a0 PlayEntityAnimation( animation_id = 0x03f4 ); // 40 00 f4 03
0x16a4 0x1fSync( 0x04, 0x80, 0x0032 ); // 1f 00 04 80 32 00
0x16aa WaitUntilAnimationComplete(); // 41
0x16ab SetEntityRotateToRotation( rotation = 0xc0, steps = 0x20 ); // 56 00 c0 20
0x16af WaitUntilRotationComplete(); // 50
0x16b0 PlayEntityAnimation( animation_id = 0x03f7 ); // 40 00 f7 03
0x16b4 Wait( 0x07 ); // 22 00 07
0x16b7 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x16bc JumpTo( 0x16ca ); // 01 0b 00
0x16bf [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x16c7 Wait( 0x01 ); // 22 00 01
0x16ca JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x16bf ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x16d5 JumpTo( 0x16db ); // 01 03 00
0x16d8 Wait( 0x01 ); // 22 00 01
0x16db JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x16d8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x16e6 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x16ee JumpTo( 0x17ff ); // 01 0e 01
0x16f1 SetEntityCollision( 0x0a, solid_radius = 0x0a, talk_radius = 0x0a ); // 4b 00 0a 0a 0a
0x16f6 CallFuncc47e4( 0x01, 0x01 ); // cb 00 01 01
0x16fa CallDynamic8006794c_1c_83c( 0x6201, 0xffff, 0x000050, 0x00, 0x00 ); // c6 00 01 62 ff ff 50 00 00
0x1703 CallDynamic8006794c_1c_83c( 0xa000, 0x0004, 0x0000b7, 0x00, 0x00 ); // c7 00 00 a0 04 00 b7 00 00 00
0x170d CallFuncc18d4( 0x01, 0x00, 0x04 ); // 65 00 01 00 04
0x1712 CallFuncc17f0( 0x01, 0x0100 ); // 61 00 01 00 01
0x1717 Wait( 0x03 ); // 22 00 03
0x171a WaitUntilAnimationComplete(); // 41
0x171b ResetEntityData30_50_63_78(); // 25
0x171c MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 01
0x1722 Wait( 0x1e ); // 22 00 1e
0x1725 CallFuncc0df4( 0x013e, 0x00a1, 0x3c, 0x08 ); // 6f 00 3e 01 a1 00 3c 08
0x172d Wait( 0x2d ); // 22 00 2d
0x1730 [ script + 0x0011 ] = b( 0x000000c0 ); // 05 d5 11 7d c0 00 2c 7f
0x1738 [ script + 0x0014 ] = b( b[ script + 0x0014 ] | 0x04 ); // 05 c5 a2 7d 01 00 2c 7f
0x1740 [ script + 0x0014 ] = b( b[ script + 0x0014 ] | 0x08 ); // 05 c5 a3 7d 01 00 2c 7f
0x1748 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f
0x1750 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x176e ); // 05 c5 9f 7d 01 00 20 7f 02 13 00
0x175b 0x2d(); // 2d
0x175c JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x176b ); // 05 c5 90 7d 00 00 20 7f 02 04 00
0x1767 [80073998] = w(w[80073998] | 00040000); // ab
0x1768 JumpTo( 0x176e ); // 01 03 00
0x176b Wait( 0x01 ); // 22 00 01
0x176e Set800c9df1( 0x7f ); // 27 00 7f
0x1771 CallDynamic8006794c_1c_8bc( 0x05, 0x0034 ); // fd 00 05 34 00
0x1776 [ script + 0x0015 ] = h( 0x00000034 ); // 05 d9 15 7d 34 00 2c 7f
0x177e JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x1798 ); // 05 d5 11 7d ff 00 20 7f 02 0f 00
0x1789 GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f
0x1798 Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa
0x179b 0xec( 0x06, 0x18, bu[ script + 0x0011 ], 0xff, 0xff, 0xff ); // ec 04 06 18 d5 11 7f ff ff ff
0x17a5 Wait( 0x19 ); // 22 00 19
0x17a8 JumpIf( ( (bu[ script + 0x0014 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x17c1 ); // 05 c5 a7 7d 01 00 20 7f 02 0e 00
0x17b3 CallDynamic8006794c_1c_83c( 0x0109, 0xffff, 0x00, 0x00, 0x00 ); // c5 00 09 01 ff ff
0x17b9 [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f
0x17c1 JumpIf( ( (bu[ script + 0x0014 ] >> 0x02) & 1 == 0x00000000 ) == false )To( 0x17e8 ); // 05 c5 a2 7d 00 00 20 7f 02 1c 00
0x17cc JumpIf( ( bu[ 0x8007aef0 + 0x000d ] < 0x00000009 ) == false )To( 0x17df ); // 05 d4 0d 7d 09 00 18 7f 02 08 00
0x17d7 [ 0x8007aef0 + 0x000d ] = b( 0x00000003 ); // 05 d4 0d 7d 03 00 2c 7f
0x17df CallDynamic8006794c_1c_83c( 0x5180, 0x0283, 0x000000, 0x00, 0x00 ); // c6 00 80 51 83 02 00 00 00
0x17e8 JumpIf( ( (bu[ script + 0x0014 ] >> 0x03) & 1 == 0x00000000 ) == false )To( 0x17f3 ); // 05 c5 a3 7d 00 00 20 7f 02 00 00
0x17f3 [ 0x8007aef0 + 0x0002 ] = h( 0x00000064 ); // 05 d8 02 7d 64 00 2c 7f
0x17fb 0x2b( 0x0034 ); // 2b 00 34 00
0x17ff Wait( 0x01 ); // 22 00 01
0x1802 JumpTo( 0x15db ); // 01 d6 fd
ENTITY: entity_id = 0x10
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x180e Wait( 0x0f ); // 22 00 0f
0x1811 JumpTo( 0x1817 ); // 01 03 00
0x1814 Wait( 0x01 ); // 22 00 01
0x1817 JumpIf( ( bu[ script + 0x002c ] == 0x00000000 ) == true )To( 0x1814 ); // 05 d5 2c 7d 00 00 20 7f 03 f2 ff
0x1822 CallDynamic8006794c_1c_83c( 0x0000, 0x000c, 0x00, 0x00, 0x00 ); // c5 00 00 00 0c 00
0x1828 JumpTo( 0x182e ); // 01 03 00
0x182b Wait( 0x01 ); // 22 00 01
0x182e JumpIf( ( funcb0124( 0xc00, 0xffffffff, 0, 0, 0 ) != 0x00000000 ) == true )To( 0x182b ); // 05 7a 03 7d 00 00 21 7f 03 f2 ff
0x1839 [ 0x8007aef0 + 0x0008 ] = b( 0x0000007d ); // 05 d4 08 7d 7d 00 2c 7f
0x1841 CallDynamic8006794c_1c_83c( 0x4201, 0x000c, bu[ 0x8007aef0 + 0x0008 ], 0x00, 0x00 ); // c6 04 01 42 0c 00 d4 08 7f
0x184a [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f
0x1852 MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff
0x1855 Return(); // 04
-
3rd part of script =)
ENTITY: entity_id = 0x11
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x186e JumpSwitch( h[ 0x8007aef0 + 0x0002 ] )( case 0x0066: jump_to:0x187c)( case 0x0067: jump_to:0x1897)( default: jump_to:0x18b2); // 05 d8 02 7f 0b 02 66 00 3f 00 09 00 24 00
0x187c [ script + 0x0000 ] = h( 0x000002d9 ); // 05 d9 00 7d d9 02 2c 7f
0x1884 [ script + 0x0004 ] = h( 0x000000e2 ); // 05 d9 04 7d e2 00 2c 7f
0x188c [ script + 0x0006 ] = h( 0x00000000 ); // 05 d9 06 7d 00 00 2c 7f
0x1894 JumpTo( 0x18cd ); // 01 36 00
0x1897 [ script + 0x0000 ] = h( 0x0000fd3b ); // 05 d9 00 7d 3b fd 2c 7f
0x189f [ script + 0x0004 ] = h( 0x0000001b ); // 05 d9 04 7d 1b 00 2c 7f
0x18a7 [ script + 0x0006 ] = h( 0x00000000 ); // 05 d9 06 7d 00 00 2c 7f
0x18af JumpTo( 0x18cd ); // 01 1b 00
0x18b2 [ script + 0x0000 ] = h( 0x00000019 ); // 05 d9 00 7d 19 00 2c 7f
0x18ba [ script + 0x0004 ] = h( 0x0000fbb4 ); // 05 d9 04 7d b4 fb 2c 7f
0x18c2 [ script + 0x0006 ] = h( 0x00000080 ); // 05 d9 06 7d 80 00 2c 7f
0x18ca JumpTo( 0x18cd ); // 01 00 00
0x18cd Set32and34inEntityStruct( 0x0062, 0x5d ); // 2f 00 62 00 5d
0x18d2 SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x18da SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x18df SetEntityData54( animation_id = 0x00c8 ); // 33 00 c8 00
0x18e3 SetEntityData56( animation_id = 0x0019 ); // 34 00 19 00
0x18e7 SetEntityData58( animation_id = 0x0026 ); // 35 00 26 00
0x18eb SetEntityData4c( animation_id = 0x0028 ); // 7a 00 28 00
0x18ef SetEntityData4e( animation_id = 0x0029 ); // 7b 00 29 00
0x18f3 SetEntityData74( 0x0036 ); // 52 00 36 00
0x18f7 SetEntityCollision( 0x14, solid_radius = 0x18, talk_radius = 0x28 ); // 4b 00 14 18 28
0x18fc SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x1902 SetEntityData6a_6b( 0x61, 0x3d ); // 8b 00 61 3d
0x1906 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x190c CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1912 CallFuncaba98( 0x10, 0x0019, 0x0004, 0x0392 ); // 88 00 10 19 00 04 00 92 03
0x191b CallFuncaba98( 0x11, 0x0019, 0x0004, 0x039b ); // 88 00 11 19 00 04 00 9b 03
0x1924 CallFuncaba98( 0x12, 0x0019, 0x0004, 0x0001 ); // 88 00 12 19 00 04 00 01 00
0x192d CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1933 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1939 CallFuncaba98( 0x10, 0x0019, 0x000d, 0x0392 ); // 88 00 10 19 00 0d 00 92 03
0x1942 CallFuncaba98( 0x11, 0x0019, 0x000d, 0x039b ); // 88 00 11 19 00 0d 00 9b 03
0x194b CallFuncaba98( 0x12, 0x0019, 0x000d, 0x0001 ); // 88 00 12 19 00 0d 00 01 00
0x1954 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x195a CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1960 CallFuncaba98( 0x10, 0x0026, 0x0000, 0x0392 ); // 88 00 10 26 00 00 00 92 03
0x1969 CallFuncaba98( 0x11, 0x0026, 0x0000, 0x039b ); // 88 00 11 26 00 00 00 9b 03
0x1972 CallFuncaba98( 0x12, 0x0026, 0x0000, 0x0001 ); // 88 00 12 26 00 00 00 01 00
0x197b CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1981 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1987 CallFuncaba98( 0x10, 0x0026, 0x0008, 0x0392 ); // 88 00 10 26 00 08 00 92 03
0x1990 CallFuncaba98( 0x11, 0x0026, 0x0008, 0x039b ); // 88 00 11 26 00 08 00 9b 03
0x1999 CallFuncaba98( 0x12, 0x0026, 0x0008, 0x0001 ); // 88 00 12 26 00 08 00 01 00
0x19a2 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x19a5 CallFuncc02d0( 0x11, 0x00f0, 0x88, 0x04, 0x00, 0x00, 0x00 ); // 92 00 11 f0 00 88 04 00 00 00
0x19af [ script + 0x1700 ] = h( -1 ); // 90
0x19b0 [ script + 0x16ed ] = h( GetCurrentEntityId() ); // 2c
0x19b1 [ script + 0x001f ] = b( 0x00000038 ); // 05 d5 1f 7d 38 00 2c 7f
0x19b9 [ script + 0x0020 ] = b( 0x00000030 ); // 05 d5 20 7d 30 00 2c 7f
0x19c1 [ script + 0x0021 ] = b( 0x00000030 ); // 05 d5 21 7d 30 00 2c 7f
0x19c9 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x19d5 Wait( 0x01 ); // 22 00 01
0x19d8 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x19e4 0x80(); // 80
0x19e5 Return(); // 04
SCRIPT: script_id = 0x0b
script = w[8007aecc];
0x19e6 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x19ec CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x19f2 CallFuncaba98( 0x10, 0x0019, 0x0004, 0x0392 ); // 88 00 10 19 00 04 00 92 03
0x19fb CallFuncaba98( 0x11, 0x0019, 0x0004, 0x039b ); // 88 00 11 19 00 04 00 9b 03
0x1a04 CallFuncaba98( 0x12, 0x0019, 0x0004, 0x0001 ); // 88 00 12 19 00 04 00 01 00
0x1a0d CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1a13 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1a19 CallFuncaba98( 0x10, 0x0019, 0x000d, 0x0392 ); // 88 00 10 19 00 0d 00 92 03
0x1a22 CallFuncaba98( 0x11, 0x0019, 0x000d, 0x039b ); // 88 00 11 19 00 0d 00 9b 03
0x1a2b CallFuncaba98( 0x12, 0x0019, 0x000d, 0x0001 ); // 88 00 12 19 00 0d 00 01 00
0x1a34 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1a3a CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1a40 CallFuncaba98( 0x10, 0x0026, 0x0000, 0x0392 ); // 88 00 10 26 00 00 00 92 03
0x1a49 CallFuncaba98( 0x11, 0x0026, 0x0000, 0x039b ); // 88 00 11 26 00 00 00 9b 03
0x1a52 CallFuncaba98( 0x12, 0x0026, 0x0000, 0x0001 ); // 88 00 12 26 00 00 00 01 00
0x1a5b CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1a61 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1a67 CallFuncaba98( 0x10, 0x0026, 0x0008, 0x0392 ); // 88 00 10 26 00 08 00 92 03
0x1a70 CallFuncaba98( 0x11, 0x0026, 0x0008, 0x039b ); // 88 00 11 26 00 08 00 9b 03
0x1a79 CallFuncaba98( 0x12, 0x0026, 0x0008, 0x0001 ); // 88 00 12 26 00 08 00 01 00
0x1a82 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x1a83 JumpSwitch( bu[ script + 0x0018 ] )( case 0x0000: jump_to:0x1aab)( case 0x0001: jump_to:0x1faa)( case 0x0002: jump_to:0x2072)( case 0x0003: jump_to:0x21c9)( case 0x0004: jump_to:0x2542)( case 0x0005: jump_to:0x27c1)( case 0x0006: jump_to:0x255b)( case 0x0007: jump_to:0x25a8)( case 0x0008: jump_to:0x25f0)( case 0x0009: jump_to:0x27c1)( case 0x000a: jump_to:0x2601)( case 0x000b: jump_to:0x267d)( case 0x000c: jump_to:0x2683)( case 0x000d: jump_to:0x272c)( case 0x000e: jump_to:0x277a)( default: jump_to:0x27c1); // 05 d5 18 7f 0b 0f 00 00 39 0d 23 00 22 05 ea 05 41 07 ba 0a 39 0d d3 0a 20 0b 68 0b 39 0d 79 0b f5 0b fb 0b a4 0c f2 0c
0x1aab SetEntityData5c( 0x0f ); // 26 00 0f
0x1aae Wait( 0x19 ); // 22 00 19
0x1ab1 0x1fSync( 0x02, 0x80, 0x0022 ); // 1f 00 02 80 22 00
0x1ab7 ResetEntityData30_50_63_78(); // 25
0x1ab8 MoveToPosition( x = 0x0019, y = 0xfd68 ); // 23 00 19 00 68 fd
0x1abe Wait( 0x05 ); // 22 00 05
0x1ac1 PlayEntityAnimation( animation_id = 0x0a9f ); // 40 00 9f 0a
0x1ac5 Wait( 0x0a ); // 22 00 0a
0x1ac8 0x1fSync( 0x02, 0x80, 0x0023 ); // 1f 00 02 80 23 00
0x1ace WaitUntilAnimationComplete(); // 41
0x1acf Wait( 0x0a ); // 22 00 0a
0x1ad2 PlayEntityAnimation( animation_id = 0x0a9d ); // 40 00 9d 0a
0x1ad6 Wait( 0x3d ); // 22 00 3d
0x1ad9 CallDynamic8006794c_1c_83c( 0xd000, 0x015d, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 5d 01 00 00 00 80 7d
0x1ae4 WaitUntilAnimationComplete(); // 41
0x1ae5 SetEntityData54( animation_id = 0x0a9b ); // 33 00 9b 0a
0x1ae9 SetEntityData56( animation_id = 0x0a99 ); // 34 00 99 0a
0x1aed SetEntityData4c( animation_id = 0x0aa3 ); // 7a 00 a3 0a
0x1af1 SetEntityData4e( animation_id = 0x0aa5 ); // 7b 00 a5 0a
0x1af5 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1afb CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1b01 CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 03
0x1b0a CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 03
0x1b13 CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 00
0x1b1c CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x1b22 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x1b28 CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 03
0x1b31 CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 03
0x1b3a CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 00
0x1b43 InitScriptEntity( entity_id = 0x01, shared_id = 0x00 ); // 07 01 00
0x1b46 0x7f(); // 7f
0x1b47 Wait( 0x01 ); // 22 00 01
0x1b4a 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x1b56 ( hu[ script + 0x0022 ] += 0x00000004 ); // 05 dd 22 7d 04 00 32 7f
0x1b5e JumpIf( ( bu[ script + 0x001f ] < 0x00000060 ) == false )To( 0x1b81 ); // 05 d5 1f 7d 60 00 18 7f 02 18 00
0x1b69 ( bu[ script + 0x001f ] += 0x00000002 ); // 05 d5 1f 7d 02 00 32 7f
0x1b71 ( bu[ script + 0x0020 ] += 0x00000002 ); // 05 d5 20 7d 02 00 32 7f
0x1b79 ( bu[ script + 0x0021 ] += 0x00000002 ); // 05 d5 21 7d 02 00 32 7f
0x1b81 JumpIf( ( hu[ script + 0x0024 ] < 0x00000080 ) == false )To( 0x1b94 ); // 05 dd 24 7d 80 00 18 7f 02 08 00
0x1b8c ( hu[ script + 0x0024 ] += 0x00000004 ); // 05 dd 24 7d 04 00 32 7f
0x1b94 JumpIf( ( hu[ script + 0x0022 ] < 0x00000080 ) == true )To( 0x1b47 ); // 05 dd 22 7d 80 00 18 7f 03 a8 ff
0x1b9f [ script + 0x0022 ] = h( 0x00000080 ); // 05 dd 22 7d 80 00 2c 7f
0x1ba7 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x1bb3 Wait( 0x01 ); // 22 00 01
0x1bb6 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x1bc2 [ 0x8007aef0 + 0x0015 ] = h( 0x00000001 ); // 05 dc 15 7d 01 00 2c 7f
0x1bca 0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f
0x1bcf [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000000 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 00 00 2c 2c 2c 2c 7f
0x1be0 [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x1be8 JumpTo( 0x1c03 ); // 01 18 00
0x1beb JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x1bfe ); // 05 d9 08 6b 7f 02 0b 00
0x1bf3 ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f
0x1bfe ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x1c03 JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1beb ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x1c0e JumpIf( 0x00000001 == false )To( 0x1c1e ); // 05 7d 01 00 7f 02 08 00
0x1c16 ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f
0x1c1e JumpIf( 0x00000000 == false )To( 0x1c30 ); // 05 7d 00 00 7f 02 0a 00
0x1c26 ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x1c30 JumpIf( 0x00000000 == false )To( 0x1c42 ); // 05 7d 00 00 7f 02 0a 00
0x1c38 ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x1c42 JumpIf( 0x00000000 == false )To( 0x1c54 ); // 05 7d 00 00 7f 02 0a 00
0x1c4a ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x1c54 [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f
0x1c5e [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x1c66 JumpTo( 0x1c81 ); // 01 18 00
0x1c69 JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x1c7c ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 00
0x1c77 PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f
0x1c7c ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x1c81 JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1c69 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x1c8c JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x1ca2 ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 00
0x1c99 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f
0x1ca2 JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1cb8 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x1caf [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x1cb8 JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1cce ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x1cc5 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x1cce JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1ce4 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x1cdb [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x1ce4 [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f
0x1ced [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000063 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 63 00 2c 2c 2c 2c 7f
0x1cfe JumpIf( 0x00000001 == false )To( 0x1d14 ); // 05 7d 01 00 7f 02 0e 00
0x1d06 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x1d0c [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x1d14 JumpIf( 0x00000000 == false )To( 0x1d2a ); // 05 7d 00 00 7f 02 0e 00
0x1d1c ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x1d22 [ script + 0x000a ] = h( 0x0000ffff ); // 05 d9 0a 7d ff ff 2c 7f
0x1d2a JumpIf( 0x00000000 == false )To( 0x1d40 ); // 05 7d 00 00 7f 02 0e 00
0x1d32 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x1d38 [ script + 0x000c ] = h( 0x0000ffff ); // 05 d9 0c 7d ff ff 2c 7f
0x1d40 JumpIf( 0x00000000 == false )To( 0x1d56 ); // 05 7d 00 00 7f 02 0e 00
0x1d48 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x1d4e [ script + 0x000e ] = h( 0x0000ffff ); // 05 d9 0e 7d ff ff 2c 7f
0x1d56 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f
0x1d67 JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x1d86 ); // 05 d9 08 7d 63 00 21 7f 02 14 00
0x1d72 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x1d86 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 00
0x1d7e [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f
0x1d86 JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x1da5 ); // 05 d9 0a 7d 63 00 21 7f 02 14 00
0x1d91 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x1da5 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 00
0x1d9d [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f
0x1da5 JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x1dc4 ); // 05 d9 0c 7d 63 00 21 7f 02 14 00
0x1db0 JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x1dc4 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 00
0x1dbc [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f
0x1dc4 JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x1de3 ); // 05 d9 0e 7d 63 00 21 7f 02 14 00
0x1dcf JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x1de3 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 00
0x1ddb [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f
0x1de3 JumpIf( ( ( (bu[ script + 0x0012 ] >> 0x07) & 1 + ( (bu[ script + 0x0012 ] >> 0x06) & 1 + ( (bu[ script + 0x0012 ] >> 0x05) & 1 + (bu[ script + 0x0012 ] >> 0x04) & 1 ) ) ) == bu[ 0x8007aef0 + 0x002f ] ) == false )To( 0x1e5b ); // 05 c5 94 c5 95 14 c5 96 14 c5 97 14 f4 2f 01 20 7f 02 64 00
0x1df7 JumpIf( ( ( h[ script + 0x0008 ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x04) & 1 == 0x00000001 ) ) == false )To( 0x1e10 ); // 05 d9 08 7d 63 00 21 c5 94 7d 01 00 20 27 7f 02 07 00
0x1e09 CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 00
0x1e10 JumpIf( ( ( h[ script + 0x000a ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x05) & 1 == 0x00000001 ) ) == false )To( 0x1e29 ); // 05 d9 0a 7d 63 00 21 c5 95 7d 01 00 20 27 7f 02 07 00
0x1e22 CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 00
0x1e29 JumpIf( ( ( h[ script + 0x000c ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x06) & 1 == 0x00000001 ) ) == false )To( 0x1e42 ); // 05 d9 0c 7d 63 00 21 c5 96 7d 01 00 20 27 7f 02 07 00
0x1e3b CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 00
0x1e42 JumpIf( ( ( h[ script + 0x000e ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x07) & 1 == 0x00000001 ) ) == false )To( 0x1e5b ); // 05 d9 0e 7d 63 00 21 c5 97 7d 01 00 20 27 7f 02 07 00
0x1e54 CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 00
0x1e5b CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x1e5f CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f
0x1e63 CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f
0x1e67 CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f
0x1e6b CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f
0x1e6f CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f
0x1e73 CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f
0x1e77 CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f
0x1e7b CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f
0x1e7f JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x1e93 ); // 05 7d 05 00 6b 7f 02 0b 00
0x1e88 [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f
0x1e90 JumpTo( 0x1e9b ); // 01 08 00
0x1e93 [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f
0x1e9b JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000000 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x1ec1 ); // 05 dc 13 7d 00 00 17 7d 01 00 24 7d 00 00 20 7f 02 13 00
0x1eae CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0x00, 0x09, 0x00 ); // fe 00 00 01 00 09 00
0x1eb5 ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f
0x1ebd CharacterSet34Flag00000200( character_id = 0x00, 0x01 ); // 62 00 00 01
0x1ec1 JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000002 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x1ee7 ); // 05 dc 13 7d 02 00 17 7d 01 00 24 7d 00 00 20 7f 02 13 00
0x1ed4 CharacterInit( character_id = 0x02, type = 0x01, preset_id = 0x02, 0x06, 0x02 ); // fe 00 02 01 02 06 02
0x1edb ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000004 ); // 05 dc 13 7d 04 00 3f 7f
0x1ee3 CharacterSet34Flag00000200( character_id = 0x02, 0x00 ); // 62 00 02 00
0x1ee7 CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 27
0x1eec CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 03
0x1ef1 CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x1ef5 CharacterSetName( character_id = 0x00, string_id = 0x0013 ); // de 00 00 13 00
0x1efa [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f
0x1f02 [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f
0x1f0a [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f
0x1f12 JumpIf( ( hu[ 0x8007aef0 + 0x0000 ] > 0x000003e8 ) == false )To( 0x1f64 ); // 05 dc 00 7d e8 03 19 7f 02 47 00
0x1f1d Wait( 0x0a ); // 22 00 0a
0x1f20 Set8007bba8( 0x00, hu[ 0x8007aef0 + 0x0000 ] ); // 66 02 00 dc 00 7f
0x1f26 Set8007bba8( 0x01, 0x03e8 ); // 66 00 01 e8 03
0x1f2b Set8007bba8( 0x02, b[ 0x8007aef0 + 0x001c ] ); // 66 02 02 d0 1c 7f
0x1f31 0x20Async( 0x06, 0x00, 0x0002 ); // 20 00 06 00 02 00
0x1f37 0x8e(); // 8e
0x1f38 JumpTo( 0x1f3e ); // 01 03 00
0x1f3b Wait( 0x01 ); // 22 00 01
0x1f3e JumpIf( ( ( IsButtonPressed( 0x00000001 ) || IsButtonPressed( 0x00000008 ) ) == false ) == true )To( 0x1f3b ); // 05 7d 01 00 4f 7d 08 00 4f 28 0e 7f 03 ee ff
0x1f4d JumpIf( IsButtonPressed( 0x00000008 ) == false )To( 0x1f5e ); // 05 7d 08 00 4f 7f 02 08 00
0x1f56 [ 0x8007aef0 + 0x0000 ] = h( 0x000003e8 ); // 05 dc 00 7d e8 03 2c 7f
0x1f5e 0x21( 0x06 ); // 21 00 06
0x1f61 JumpTo( 0x1f6c ); // 01 08 00
0x1f64 [ 0x8007aef0 + 0x0000 ] = h( 0x000003e8 ); // 05 dc 00 7d e8 03 2c 7f
0x1f6c CallFuncc778c( 0x0029, 0x00 ); // 9a 00 29 00 00
0x1f71 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x1f79 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x1f9f ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x1f84 JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x1f9f ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x1f8f 0x2e(); // 2e
0x1f90 Set800c9df1( 0xff ); // 27 00 ff
0x1f93 JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x1f9f ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x1f9e [80073998] = w(w[80073998] & fffbffff); // aa
0x1f9f [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x1fa7 JumpTo( 0x27c1 ); // 01 17 08
0x1faa CallFuncc47e4( 0x01, 0x00 ); // cb 00 01 00
0x1fae JumpIf( ( ( IsButtonPressed( 0x00020000 ) || IsButtonPressed( 0x00080000 ) ) && ( bu[ script + 0x0026 ] == 0x00000001 ) ) == false )To( 0x2067 ); // 05 7e 00 00 02 00 4f 7e 00 00 08 00 4f 28 d5 26 7d 01 00 20 27 7f 02 a0 00
0x1fc7 [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f
0x1fcf JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x1fed ); // 05 c5 9f 7d 01 00 20 7f 02 13 00
0x1fda 0x2d(); // 2d
0x1fdb JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x1fea ); // 05 c5 90 7d 00 00 20 7f 02 04 00
0x1fe6 [80073998] = w(w[80073998] | 00040000); // ab
0x1fe7 JumpTo( 0x1fed ); // 01 03 00
0x1fea Wait( 0x01 ); // 22 00 01
0x1fed Set800c9df1( 0x7f ); // 27 00 7f
0x1ff0 [ script + 0x002a ] = b( 0x00000003 ); // 05 d5 2a 7d 03 00 2c 7f
0x1ff8 0x21( 0x01 ); // 21 00 01
0x1ffb SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000000, 0x0000015e ), steps = 0x10 ); // 56 01 7d 00 00 7d 5e 01 5d 7f 10
0x2006 WaitUntilRotationComplete(); // 50
0x2007 0x1fSync( 0x02, 0x80, 0x0024 ); // 1f 00 02 80 24 00
0x200d JumpIf( ( Func4ecc4() == 0x00000001 ) == false )To( 0x205c ); // 05 7a 09 7d 01 00 20 7f 02 44 00
0x2018 [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f
0x2020 JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x2046 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 00
0x202b JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x2046 ); // 05 c5 9c 7d 00 00 20 7f 02 10 00
0x2036 0x2e(); // 2e
0x2037 Set800c9df1( 0xff ); // 27 00 ff
0x203a JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x2046 ); // 05 c5 90 7d 00 00 20 7f 02 01 00
0x2045 [80073998] = w(w[80073998] & fffbffff); // aa
0x2046 [ script + 0x0028 ] = h( ( 0x00000002 / h[ script + 0x0028 ] ) ); // 05 d9 28 d9 28 7d 02 00 12 2c 7f
0x2051 [ script + 0x002a ] = b( 0x00000000 ); // 05 d5 2a 7d 00 00 2c 7f
0x2059 JumpTo( 0x27c1 ); // 01 65 07
0x205c [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2064 JumpTo( 0x27c1 ); // 01 5a 07
0x2067 [ script + 0x0026 ] = b( 0x00000000 ); // 05 d5 26 7d 00 00 2c 7f
0x206f JumpTo( 0x27c1 ); // 01 4f 07
0x2072 CallFuncc47e4( 0x01, 0x01 ); // cb 00 01 01
0x2076 PlayEntityAnimation( animation_id = 0x0aa1 ); // 40 00 a1 0a
0x207a SetEntityData54( animation_id = 0x0144 ); // 33 00 44 01
0x207e SetEntityData56( animation_id = 0x0019 ); // 34 00 19 00
0x2082 SetEntityData4c( animation_id = 0x0028 ); // 7a 00 28 00
0x2086 SetEntityData4e( animation_id = 0x0029 ); // 7b 00 29 00
0x208a CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x2090 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x2096 CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 03
0x209f CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 03
0x20a8 CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 00
0x20b1 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x20b7 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x20bd CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 03
0x20c6 CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 03
0x20cf CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 00
0x20d8 Wait( 0x19 ); // 22 00 19
0x20db [ script + 0x001e ] = b( 0x00000001 ); // 05 d5 1e 7d 01 00 2c 7f
0x20e3 CallFuncafac0( 0x01, 0x82, 0x002a, 0x0000, 0x0000 ); // b3 00 01 82 2a 00 00 00 00 00
0x20ed CallFuncafac0( 0x01, 0x87, 0xfff4, 0xfe43, 0x00b4 ); // b3 00 01 87 f4 ff 43 fe b4 00
0x20f7 CallFuncafac0( 0x01, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 01 8c 00 00 00 00 00 00
0x2101 CallFuncafac0( 0x01, 0x91, 0x03a8, 0x0000, 0x0000 ); // b3 00 01 91 a8 03 00 00 00 00
0x210b CallFuncafac0( 0x01, 0x9b, 0x0080, 0x0000, 0x0000 ); // b3 00 01 9b 80 00 00 00 00 00
0x2115 CallFuncafac0( 0x01, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 01 a0 10 00 00 00 00 00
0x211f CallFuncafac0( 0x01, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 01 aa 00 00 00 00 00 00
0x2129 CallFuncafac0( 0x01, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 01 9c 01 00 00 00 00 00
0x2133 Wait( 0x05 ); // 22 00 05
0x2136 CallFuncafac0( 0x00, 0x82, 0xffff, 0x0000, 0x0000 ); // b3 00 00 82 ff ff 00 00 00 00
0x2140 MoveScriptToEnd( entity_id = 0x01 ); // 1c 00 01
0x2143 WaitUntilAnimationComplete(); // 41
0x2144 Wait( 0x01 ); // 22 00 01
0x2147 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x2153 JumpIf( ( bu[ script + 0x001f ] < 0x00000068 ) == false )To( 0x2176 ); // 05 d5 1f 7d 68 00 18 7f 02 18 00
0x215e ( bu[ script + 0x001f ] += 0x00000004 ); // 05 d5 1f 7d 04 00 32 7f
0x2166 ( bu[ script + 0x0020 ] += 0x00000004 ); // 05 d5 20 7d 04 00 32 7f
0x216e ( bu[ script + 0x0021 ] += 0x00000004 ); // 05 d5 21 7d 04 00 32 7f
0x2176 ( hu[ script + 0x0024 ] -= 0x00000008 ); // 05 dd 24 7d 08 00 33 7f
0x217e JumpIf( ( hu[ script + 0x0024 ] > 0x00000000 ) == true )To( 0x2144 ); // 05 dd 24 7d 00 00 19 7f 03 bb ff
0x2189 [ script + 0x0024 ] = h( 0x00000000 ); // 05 dd 24 7d 00 00 2c 7f
0x2191 CallFuncc142c( 0x11, 0x00 ); // 5b 00 11 00
0x2195 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x21a1 Wait( 0x01 ); // 22 00 01
0x21a4 0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f
0x21b0 Wait( 0x0a ); // 22 00 0a
0x21b3 CallFuncc0df4( 0x012c, 0x0096, 0x08, 0x08 ); // 6f 00 2c 01 96 00 08 08
0x21bb Wait( 0x08 ); // 22 00 08
0x21be [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x21c6 JumpTo( 0x27c1 ); // 01 f8 05
0x21c9 [ script + 0x001a ] = b( 0x00000002 ); // 05 d5 1a 7d 02 00 2c 7f
0x21d1 Wait( 0x01 ); // 22 00 01
0x21d4 Wait( 0x05 ); // 22 00 05
0x21d7 SetEntityRotateToEntity( entity_id = 0x16, steps = 0x10 ); // 51 00 16 10
0x21db WaitUntilRotationComplete(); // 50
0x21dc Wait( 0x01 ); // 22 00 01
0x21df [ 0x8007aef0 + 0x0015 ] = h( 0x00000001 ); // 05 dc 15 7d 01 00 2c 7f
0x21e7 0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f
0x21ec [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000000 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 00 00 2c 2c 2c 2c 7f
0x21fd [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x2205 JumpTo( 0x2220 ); // 01 18 00
0x2208 JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x221b ); // 05 d9 08 6b 7f 02 0b 00
0x2210 ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f
0x221b ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x2220 JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x2208 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x222b JumpIf( 0x00000001 == false )To( 0x223b ); // 05 7d 01 00 7f 02 08 00
0x2233 ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f
0x223b JumpIf( 0x00000000 == false )To( 0x224d ); // 05 7d 00 00 7f 02 0a 00
0x2243 ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x224d JumpIf( 0x00000000 == false )To( 0x225f ); // 05 7d 00 00 7f 02 0a 00
0x2255 ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x225f JumpIf( 0x00000000 == false )To( 0x2271 ); // 05 7d 00 00 7f 02 0a 00
0x2267 ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f
0x2271 [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f
0x227b [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x2283 JumpTo( 0x229e ); // 01 18 00
0x2286 JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x2299 ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 00
0x2294 PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f
0x2299 ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f
0x229e JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x2286 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff
0x22a9 JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x22bf ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 00
0x22b6 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f
0x22bf JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x22d5 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x22cc [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x22d5 JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x22eb ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x22e2 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x22eb JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x2301 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 00
0x22f8 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f
0x2301 [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f
0x230a [ script + 0x0008 ] = h( [ script + 0x000a ] = h( [ script + 0x000c ] = h( [ script + 0x000e ] = h( 0x00000063 ) ) ) ); // 05 d9 08 d9 0a d9 0c d9 0e 7d 63 00 2c 2c 2c 2c 7f
0x231b JumpIf( 0x00000001 == false )To( 0x2331 ); // 05 7d 01 00 7f 02 0e 00
0x2323 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x2329 [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f
0x2331 JumpIf( 0x00000000 == false )To( 0x2347 ); // 05 7d 00 00 7f 02 0e 00
0x2339 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x233f [ script + 0x000a ] = h( 0x0000ffff ); // 05 d9 0a 7d ff ff 2c 7f
0x2347 JumpIf( 0x00000000 == false )To( 0x235d ); // 05 7d 00 00 7f 02 0e 00
0x234f ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x2355 [ script + 0x000c ] = h( 0x0000ffff ); // 05 d9 0c 7d ff ff 2c 7f
0x235d JumpIf( 0x00000000 == false )To( 0x2373 ); // 05 7d 00 00 7f 02 0e 00
0x2365 ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f
0x236b [ script + 0x000e ] = h( 0x0000ffff ); // 05 d9 0e 7d ff ff 2c 7f
0x2373 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f
0x2384 JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x23a3 ); // 05 d9 08 7d 63 00 21 7f 02 14 00
0x238f JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x23a3 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 00
0x239b [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f
0x23a3 JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x23c2 ); // 05 d9 0a 7d 63 00 21 7f 02 14 00
0x23ae JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x23c2 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 00
0x23ba [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f
0x23c2 JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x23e1 ); // 05 d9 0c 7d 63 00 21 7f 02 14 00
0x23cd JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x23e1 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 00
0x23d9 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f
0x23e1 JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x2400 ); // 05 d9 0e 7d 63 00 21 7f 02 14 00
0x23ec JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x2400 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 00
0x23f8 [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f
0x2400 JumpIf( ( ( (bu[ script + 0x0012 ] >> 0x07) & 1 + ( (bu[ script + 0x0012 ] >> 0x06) & 1 + ( (bu[ script + 0x0012 ] >> 0x05) & 1 + (bu[ script + 0x0012 ] >> 0x04) & 1 ) ) ) == bu[ 0x8007aef0 + 0x002f ] ) == false )To( 0x2478 ); // 05 c5 94 c5 95 14 c5 96 14 c5 97 14 f4 2f 01 20 7f 02 64 00
0x2414 JumpIf( ( ( h[ script + 0x0008 ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x04) & 1 == 0x00000001 ) ) == false )To( 0x242d ); // 05 d9 08 7d 63 00 21 c5 94 7d 01 00 20 27 7f 02 07 00
0x2426 CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 00
0x242d JumpIf( ( ( h[ script + 0x000a ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x05) & 1 == 0x00000001 ) ) == false )To( 0x2446 ); // 05 d9 0a 7d 63 00 21 c5 95 7d 01 00 20 27 7f 02 07 00
0x243f CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 00
0x2446 JumpIf( ( ( h[ script + 0x000c ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x06) & 1 == 0x00000001 ) ) == false )To( 0x245f ); // 05 d9 0c 7d 63 00 21 c5 96 7d 01 00 20 27 7f 02 07 00
0x2458 CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 00
0x245f JumpIf( ( ( h[ script + 0x000e ] != 0x00000063 ) && ( (bu[ script + 0x0012 ] >> 0x07) & 1 == 0x00000001 ) ) == false )To( 0x2478 ); // 05 d9 0e 7d 63 00 21 c5 97 7d 01 00 20 27 7f 02 07 00
0x2471 CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 00
0x2478 CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f
0x247c CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f
0x2480 CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f
0x2484 CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f
0x2488 CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f
0x248c CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f
0x2490 CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f
0x2494 CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f
0x2498 CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f
0x249c JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x24b0 ); // 05 7d 05 00 6b 7f 02 0b 00
0x24a5 [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f
0x24ad JumpTo( 0x24b8 ); // 01 08 00
0x24b0 [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f
0x24b8 JumpIf( ( ( ( hu[ 0x8007aef0 + 0x0013 ] >> 0x00000000 ) & 0x00000001 ) == 0x00000000 ) == false )To( 0x24da ); // 05 dc 13 7d 00 00 17 7d 01 00 24 7d 00 00 20 7f 02 0f 00
0x24cb CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 01 ff 09 00
0x24d2 ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f
0x24da [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f
0x24e2 [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f
0x24ea CharacterSetName( character_id = 0x00, string_id = 0x0012 ); // de 00 00 12 00
0x24ef CharacterInit( character_id = 0x00, type = 0x00, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 00 ff 09 00
0x24f6 Wait( 0x05 ); // 22 00 05
0x24f9 0x75( 0x01, 0x00 ); // 75 00 01 00
0x24fd Wait( 0x0a ); // 22 00 0a
0x2500 ( bu[ 0x8007aef0 + 0x0006 ] |= 0x00000001 ); // 05 d4 06 7d 01 00 3f 7f
0x2508 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x250d JumpTo( 0x251b ); // 01 0b 00
0x2510 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2518 Wait( 0x01 ); // 22 00 01
0x251b JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2510 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2526 JumpTo( 0x252c ); // 01 03 00
0x2529 Wait( 0x01 ); // 22 00 01
0x252c JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2529 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2537 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x253f JumpTo( 0x27c1 ); // 01 7f 02
0x2542 Wait( 0x07 ); // 22 00 07
0x2545 PlayEntityAnimation( animation_id = 0x0a11 ); // 40 00 11 0a
0x2549 0x1fSync( 0x02, 0x80, 0x0029 ); // 1f 00 02 80 29 00
0x254f WaitUntilAnimationComplete(); // 41
0x2550 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2558 JumpTo( 0x27c1 ); // 01 66 02
0x255b [ script + 0x001a ] = b( 0x00000004 ); // 05 d5 1a 7d 04 00 2c 7f
0x2563 Wait( 0x01 ); // 22 00 01
0x2566 PlayEntityAnimation( animation_id = 0x0aa6 ); // 40 00 a6 0a
0x256a WaitUntilAnimationComplete(); // 41
0x256b SetEntityCollisionFlags( flags = 0x07 ); // 47 00 07
0x256e ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2573 JumpTo( 0x2581 ); // 01 0b 00
0x2576 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x257e Wait( 0x01 ); // 22 00 01
0x2581 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2576 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x258c JumpTo( 0x2592 ); // 01 03 00
0x258f Wait( 0x01 ); // 22 00 01
0x2592 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x258f ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x259d [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x25a5 JumpTo( 0x27c1 ); // 01 19 02
0x25a8 [ script + 0x001a ] = b( 0x00000002 ); // 05 d5 1a 7d 02 00 2c 7f
0x25b0 Wait( 0x01 ); // 22 00 01
0x25b3 Wait( 0x03 ); // 22 00 03
0x25b6 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x25bb JumpTo( 0x25c9 ); // 01 0b 00
0x25be [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x25c6 Wait( 0x01 ); // 22 00 01
0x25c9 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x25be ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x25d4 JumpTo( 0x25da ); // 01 03 00
0x25d7 Wait( 0x01 ); // 22 00 01
0x25da JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x25d7 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x25e5 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x25ed JumpTo( 0x27c1 ); // 01 d1 01
0x25f0 0x1fSync( 0x02, 0x80, 0x002b ); // 1f 00 02 80 2b 00
0x25f6 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x25fe JumpTo( 0x27c1 ); // 01 c0 01
0x2601 [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f
0x2609 Wait( 0x01 ); // 22 00 01
0x260c Wait( 0x0a ); // 22 00 0a
0x260f [ script + 0x002b ] = b( 0x00000001 ); // 05 d5 2b 7d 01 00 2c 7f
0x2617 CallFuncc0df4( 0x00b2, 0x0096, 0x10, 0x08 ); // 6f 00 b2 00 96 00 10 08
0x261f CallDynamic8006794c_1c_83c( 0xd000, 0x0125, 0x000000, 0x48, 0x7d ); // c8 00 00 d0 25 01 00 00 00 48 7d
0x262a CallFuncc18d4( 0x00, 0x00, 0x04 ); // 65 00 00 00 04
0x262f CallFuncc17f0( 0x00, 0x0100 ); // 61 00 00 00 01
0x2634 Wait( 0x05 ); // 22 00 05
0x2637 SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 20
0x2642 WaitUntilRotationComplete(); // 50
0x2643 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2648 JumpTo( 0x2656 ); // 01 0b 00
0x264b [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2653 Wait( 0x01 ); // 22 00 01
0x2656 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x264b ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2661 JumpTo( 0x2667 ); // 01 03 00
0x2664 Wait( 0x01 ); // 22 00 01
0x2667 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2664 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2672 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x267a JumpTo( 0x27c1 ); // 01 44 01
0x267d SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x2680 JumpTo( 0x27c1 ); // 01 3e 01
0x2683 [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f
0x268b Wait( 0x01 ); // 22 00 01
0x268e SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2691 SetEntityPositionByXZ( x = 0x012c, z = 0x005a ); // 1d 00 2c 01 5a 00
0x2697 SetEntityRotation( rotation = 0x40 ); // 36 00 40
0x269a SetEntityData54( animation_id = 0x0a17 ); // 33 00 17 0a
0x269e CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x26a4 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x26aa CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 03
0x26b3 CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 03
0x26bc CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 00
0x26c5 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x26cb CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x26d1 CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 03
0x26da CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 03
0x26e3 CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 00
0x26ec SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x26ef Wait( 0x03 ); // 22 00 03
0x26f2 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x26f7 JumpTo( 0x2705 ); // 01 0b 00
0x26fa [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2702 Wait( 0x01 ); // 22 00 01
0x2705 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x26fa ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2710 JumpTo( 0x2716 ); // 01 03 00
0x2713 Wait( 0x01 ); // 22 00 01
0x2716 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2713 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2721 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2729 JumpTo( 0x27c1 ); // 01 95 00
0x272c [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f
0x2734 Wait( 0x01 ); // 22 00 01
0x2737 Wait( 0x16 ); // 22 00 16
0x273a 0x1fSync( 0x02, 0x80, 0x002e ); // 1f 00 02 80 2e 00
0x2740 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2745 JumpTo( 0x2753 ); // 01 0b 00
0x2748 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2750 Wait( 0x01 ); // 22 00 01
0x2753 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2748 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x275e JumpTo( 0x2764 ); // 01 03 00
0x2761 Wait( 0x01 ); // 22 00 01
0x2764 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2761 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x276f [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2777 JumpTo( 0x27c1 ); // 01 47 00
0x277a [ script + 0x001a ] = b( 0x00000004 ); // 05 d5 1a 7d 04 00 2c 7f
0x2782 Wait( 0x01 ); // 22 00 01
0x2785 Wait( 0x0a ); // 22 00 0a
0x2788 PlayEntityAnimation( animation_id = 0x0a38 ); // 40 00 38 0a
0x278c WaitUntilAnimationComplete(); // 41
0x278d SetEntityData54( animation_id = 0x00c8 ); // 33 00 c8 00
0x2791 SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 20
0x279c WaitUntilRotationComplete(); // 50
0x279d SetEntityCollision( 0x0a, solid_radius = 0x0a, talk_radius = 0x0a ); // 4b 00 0a 0a 0a
0x27a2 SetEntityData5c( 0x3c ); // 26 00 3c
0x27a5 ResetEntityData30_50_63_78(); // 25
0x27a6 MoveToPosition( x = 0x0384, y = 0x0078 ); // 23 00 84 03 78 00
0x27ac ResetEntityData30_50_63_78(); // 25
0x27ad MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 01
0x27b3 JumpTo( 0x27b9 ); // 01 03 00
0x27b6 Wait( 0x01 ); // 22 00 01
0x27b9 JumpIf( 0x00000001 == true )To( 0x27b6 ); // 05 7d 01 00 7f 03 f5 ff
0x27c1 Wait( 0x01 ); // 22 00 01
0x27c4 JumpTo( 0x1a83 ); // 01 bc f2
SCRIPT: script_id = 0x0c
script = w[8007aecc];
0x27c7 SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( h[ 0x8007aef0 + 0x00dc ], h[ 0x8007aef0 + 0x00de ] ), steps = 0x10 ); // 56 01 d8 dc d8 de 5d 7f 10
0x27d0 WaitUntilRotationComplete(); // 50
0x27d1 JumpIf( ( bu[ 0x8007aef0 + 0x00e2 ] == 0x00000000 ) == false )To( 0x28df ); // 05 d4 e2 7d 00 00 20 7f 02 03 01
0x27dc JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] == 0x0000752f ) == false )To( 0x27f0 ); // 05 d8 e0 7d 2f 75 20 7f 02 09 00
0x27e7 0x1fSync( 0x07, 0x00, 0x0006 ); // 1f 00 07 00 06 00
0x27ed JumpTo( 0x28df ); // 01 ef 00
0x27f0 JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] >= 0x000003e8 ) == false )To( 0x284a ); // 05 d8 e0 7d e8 03 1b 7f 02 4f 00
0x27fb CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d
0x2806 [ 0x8007aef0 + 0x00e4 ] = h( ( 0x000003e8 - h[ 0x8007aef0 + 0x00e0 ] ) ); // 05 d8 e4 d8 e0 7d e8 03 15 2c 7f
0x2811 JumpIf( ( ( w[w[w[8006794c] + 1c] + 560] + h[ 0x8007aef0 + 0x00e4 ] ) > 0x0098967f ) == false )To( 0x282e ); // 05 d8 e4 7a 06 14 7e 7f 96 98 00 19 7f 02 0d 00
0x2821 [ 0x8007aef0 + 0x00e4 ] = h( ( w[w[w[8006794c] + 1c] + 560] - 0x0098967f ) ); // 05 d8 e4 7e 7f 96 98 00 7a 06 15 2c 7f
0x282e 0xce( h[ 0x8007aef0 + 0x00e4 ] ); // ce 01 d8 e4 7f
0x2833 Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e4 ] ); // 66 02 00 d8 e4 7f
0x2839 0x1fSync( 0x07, 0x00, 0x0006 ); // 1f 00 07 00 06 00
0x283f [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f
0x2847 JumpTo( 0x28df ); // 01 95 00
0x284a JumpIf( ( ( 0x64stack( h[ 0x8007aef0 + 0x00e0 ] ) < 0x00000063 ) && ( h[ 0x8007aef0 + 0x00e0 ] < 0x00000200 ) ) == false )To( 0x2885 ); // 05 d8 e0 64 7d 63 00 18 d8 e0 7d 00 02 18 27 7f 02 28 00
0x285d CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d
0x2868 [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f
0x2870 Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f
0x2876 0x48( h[ 0x8007aef0 + 0x00e0 ], 0x01 ); // 48 01 d8 e0 7f 01
0x287c 0x1fSync( 0x07, 0x00, 0x0004 ); // 1f 00 07 00 04 00
0x2882 JumpTo( 0x28df ); // 01 5a 00
0x2885 JumpIf( ( ( h[ 0x8007aef0 + 0x00e0 ] >= 0x00000200 ) && ( Count80083248() < 0x00000064 ) ) == false )To( 0x28bf ); // 05 d8 e0 7d 00 02 1b 7a 13 7d 64 00 18 27 7f 02 28 00
0x2897 CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d
0x28a2 [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f
0x28aa Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f
0x28b0 0x48( h[ 0x8007aef0 + 0x00e0 ], 0x01 ); // 48 01 d8 e0 7f 01
0x28b6 0x1fSync( 0x07, 0x00, 0x0005 ); // 1f 00 07 00 05 00
0x28bc JumpTo( 0x28df ); // 01 20 00
0x28bf Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f
0x28c5 JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] < 0x00000200 ) == false )To( 0x28d9 ); // 05 d8 e0 7d 00 02 18 7f 02 09 00
0x28d0 0x1fSync( 0x07, 0x00, 0x0008 ); // 1f 00 07 00 08 00
0x28d6 JumpTo( 0x28df ); // 01 06 00
0x28d9 0x1fSync( 0x07, 0x00, 0x0009 ); // 1f 00 07 00 09 00
0x28df Return(); // 04
SCRIPT: script_id = 0x0d
script = w[8007aecc];
0x28e0 SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( h[ 0x8007aef0 + 0x00dc ], h[ 0x8007aef0 + 0x00de ] ), steps = 0x10 ); // 56 01 d8 dc d8 de 5d 7f 10
0x28e9 WaitUntilRotationComplete(); // 50
0x28ea 0x1fSync( 0x00, 0x00, 0x0028 ); // 1f 00 00 00 28 00
0x28f0 Return(); // 04
-
Final part. )
Stupid limitations to 65535 characters )
ENTITY: entity_id = 0x16
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x28fe [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f
0x2906 [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f
0x290e [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f
0x2916 [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f
0x291e Set32and34inEntityStruct( 0x006b, 0x57 ); // 2f 00 6b 00 57
0x2923 SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x292b SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x2930 SetEntityData54( animation_id = 0x01d6 ); // 33 00 d6 01
0x2934 SetEntityData56( animation_id = 0x02f9 ); // 34 00 f9 02
0x2938 SetEntityData58( animation_id = 0x0069 ); // 35 00 69 00
0x293c SetEntityData4c( animation_id = 0x0068 ); // 7a 00 68 00
0x2940 SetEntityData4e( animation_id = 0x006b ); // 7b 00 6b 00
0x2944 SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e
0x2949 SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x294f SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d
0x2953 SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x2958 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x295b SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x295e Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x295f JumpSwitch( bu[ script + 0x0018 ] )( case 0x0003: jump_to:0x2981)( case 0x0004: jump_to:0x2ba7)( case 0x0005: jump_to:0x29c1)( case 0x0006: jump_to:0x2a36)( case 0x0007: jump_to:0x2ba7)( case 0x0008: jump_to:0x2ba7)( case 0x0009: jump_to:0x2a6d)( case 0x000a: jump_to:0x2a8a)( case 0x000b: jump_to:0x2ada)( case 0x000c: jump_to:0x2ae0)( case 0x000d: jump_to:0x2b30)( case 0x000e: jump_to:0x2b73)( default: jump_to:0x2ba7); // 05 d5 18 7f 0b 0c 03 00 43 02 1d 00 43 02 5d 00 d2 00 43 02 43 02 09 01 26 01 76 01 7c 01 cc 01 0f 02
0x2981 0x1fSync( 0x03, 0x80, 0x0027 ); // 1f 00 03 80 27 00
0x2987 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x298c JumpTo( 0x299a ); // 01 0b 00
0x298f [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2997 Wait( 0x01 ); // 22 00 01
0x299a JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x298f ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x29a5 JumpTo( 0x29ab ); // 01 03 00
0x29a8 Wait( 0x01 ); // 22 00 01
0x29ab JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x29a8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x29b6 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x29be JumpTo( 0x2ba7 ); // 01 e6 01
0x29c1 [ script + 0x001a ] = b( 0x00000003 ); // 05 d5 1a 7d 03 00 2c 7f
0x29c9 Wait( 0x01 ); // 22 00 01
0x29cc CallDynamic8006794c_1c_83c( 0xd000, 0x0125, 0x000000, 0xb7, 0x7d ); // c8 00 00 d0 25 01 00 00 00 b7 7d
0x29d7 CallFuncc18d4( 0x01, 0x00, 0x04 ); // 65 00 01 00 04
0x29dc CallFuncc17f0( 0x01, 0x0100 ); // 61 00 01 00 01
0x29e1 Wait( 0x08 ); // 22 00 08
0x29e4 Wait( 0x11 ); // 22 00 11
0x29e7 SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x29ea SetEntityData5c( 0x20 ); // 26 00 20
0x29ed Wait( 0x0a ); // 22 00 0a
0x29f0 ResetEntityData30_50_63_78(); // 25
0x29f1 MoveToPosition( x = 0x02de, y = 0x007d ); // 23 00 de 02 7d 00
0x29f7 SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 20
0x29fb WaitUntilRotationComplete(); // 50
0x29fc ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2a01 JumpTo( 0x2a0f ); // 01 0b 00
0x2a04 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2a0c Wait( 0x01 ); // 22 00 01
0x2a0f JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2a04 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2a1a JumpTo( 0x2a20 ); // 01 03 00
0x2a1d Wait( 0x01 ); // 22 00 01
0x2a20 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2a1d ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2a2b [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2a33 JumpTo( 0x2ba7 ); // 01 71 01
0x2a36 PlayEntityAnimation( animation_id = 0x07b0 ); // 40 00 b0 07
0x2a3a WaitUntilAnimationComplete(); // 41
0x2a3b ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2a40 JumpTo( 0x2a4e ); // 01 0b 00
0x2a43 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2a4b Wait( 0x01 ); // 22 00 01
0x2a4e JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2a43 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2a59 JumpTo( 0x2a5f ); // 01 03 00
0x2a5c Wait( 0x01 ); // 22 00 01
0x2a5f JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2a5c ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2a6a JumpTo( 0x2ba7 ); // 01 3a 01
0x2a6d 0x20Async( 0x03, 0x80, 0x002c ); // 20 00 03 80 2c 00
0x2a73 PlayEntityAnimation( animation_id = 0x0082 ); // 40 00 82 00
0x2a77 WaitUntilAnimationComplete(); // 41
0x2a78 PlayEntityAnimation( animation_id = 0x00c6 ); // 40 00 c6 00
0x2a7c 0x54( 0x03 ); // 54 00 03
0x2a7f [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2a87 JumpTo( 0x2ba7 ); // 01 1d 01
0x2a8a WaitUntilAnimationComplete(); // 41
0x2a8b JumpTo( 0x2a91 ); // 01 03 00
0x2a8e Wait( 0x01 ); // 22 00 01
0x2a91 JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2a8e ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff
0x2a9c SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 20
0x2aa7 WaitUntilRotationComplete(); // 50
0x2aa8 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2aad JumpTo( 0x2abb ); // 01 0b 00
0x2ab0 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2ab8 Wait( 0x01 ); // 22 00 01
0x2abb JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ab0 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2ac6 JumpTo( 0x2acc ); // 01 03 00
0x2ac9 Wait( 0x01 ); // 22 00 01
0x2acc JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2ac9 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2ad7 JumpTo( 0x2ba7 ); // 01 cd 00
0x2ada SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x2add JumpTo( 0x2ba7 ); // 01 c7 00
0x2ae0 SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2ae3 SetEntityPositionByXZ( x = 0x0075, z = 0xfdd5 ); // 1d 00 75 00 d5 fd
0x2ae9 SetEntityRotation( rotation = 0x80 ); // 36 00 80
0x2aec SetEntityData54( animation_id = 0x0426 ); // 33 00 26 04
0x2af0 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x2af3 Wait( 0x03 ); // 22 00 03
0x2af6 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2afb JumpTo( 0x2b09 ); // 01 0b 00
0x2afe [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2b06 Wait( 0x01 ); // 22 00 01
0x2b09 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2afe ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2b14 JumpTo( 0x2b1a ); // 01 03 00
0x2b17 Wait( 0x01 ); // 22 00 01
0x2b1a JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2b17 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2b25 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2b2d JumpTo( 0x2ba7 ); // 01 77 00
0x2b30 Wait( 0x16 ); // 22 00 16
0x2b33 0x1fSync( 0x03, 0x80, 0x002e ); // 1f 00 03 80 2e 00
0x2b39 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2b3e JumpTo( 0x2b4c ); // 01 0b 00
0x2b41 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2b49 Wait( 0x01 ); // 22 00 01
0x2b4c JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2b41 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2b57 JumpTo( 0x2b5d ); // 01 03 00
0x2b5a Wait( 0x01 ); // 22 00 01
0x2b5d JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2b5a ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2b68 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2b70 JumpTo( 0x2ba7 ); // 01 34 00
0x2b73 Wait( 0x0f ); // 22 00 0f
0x2b76 PlayEntityAnimation( animation_id = 0x0425 ); // 40 00 25 04
0x2b7a WaitUntilAnimationComplete(); // 41
0x2b7b SetEntityData54( animation_id = 0x01d6 ); // 33 00 d6 01
0x2b7f SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 20
0x2b8a WaitUntilRotationComplete(); // 50
0x2b8b Wait( 0x0a ); // 22 00 0a
0x2b8e SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x2b93 SetEntityData5c( 0x3c ); // 26 00 3c
0x2b96 ResetEntityData30_50_63_78(); // 25
0x2b97 MoveToPosition( x = 0x0384, y = 0x0078 ); // 23 00 84 03 78 00
0x2b9d ResetEntityData30_50_63_78(); // 25
0x2b9e MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 01
0x2ba4 MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff
0x2ba7 Wait( 0x01 ); // 22 00 01
0x2baa JumpTo( 0x295f ); // 01 b2 fd
ENTITY: entity_id = 0x17
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x2bba [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f
0x2bc2 [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f
0x2bca [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f
0x2bd2 [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f
0x2bda Set32and34inEntityStruct( 0x006d, 0x64 ); // 2f 00 6d 00 64
0x2bdf SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x2be7 SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x2bec SetEntityData54( animation_id = 0x01da ); // 33 00 da 01
0x2bf0 SetEntityData56( animation_id = 0x016f ); // 34 00 6f 01
0x2bf4 SetEntityData58( animation_id = 0x016d ); // 35 00 6d 01
0x2bf8 SetEntityData4c( animation_id = 0x0170 ); // 7a 00 70 01
0x2bfc SetEntityData4e( animation_id = 0x016c ); // 7b 00 6c 01
0x2c00 SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e
0x2c05 SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x2c0b SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d
0x2c0f SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2c12 SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x2c17 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x2c18 JumpSwitch( bu[ script + 0x0018 ] )( case 0x0005: jump_to:0x2c36)( case 0x0006: jump_to:0x2c8e)( case 0x0007: jump_to:0x2de7)( case 0x0008: jump_to:0x2de7)( case 0x0009: jump_to:0x2de7)( case 0x000a: jump_to:0x2cc8)( case 0x000b: jump_to:0x2d17)( case 0x000c: jump_to:0x2d1d)( case 0x000d: jump_to:0x2d70)( case 0x000e: jump_to:0x2db3)( default: jump_to:0x2de7); // 05 d5 18 7f 0b 0a 05 00 ca 01 19 00 71 00 ca 01 ca 01 ca 01 ab 00 fa 00 00 01 53 01 96 01
0x2c36 SetEntityData5c( 0x2d ); // 26 00 2d
0x2c39 Wait( 0x08 ); // 22 00 08
0x2c3c Wait( 0x0f ); // 22 00 0f
0x2c3f SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2c42 ResetEntityData30_50_63_78(); // 25
0x2c43 MoveToPosition( x = 0x04aa, y = 0x00c0 ); // 23 00 aa 04 c0 00
0x2c49 ResetEntityData30_50_63_78(); // 25
0x2c4a MoveToPosition( x = 0x027d, y = 0xfedf ); // 23 00 7d 02 df fe
0x2c50 ResetEntityData30_50_63_78(); // 25
0x2c51 MoveToPosition( x = 0x018d, y = 0xfea3 ); // 23 00 8d 01 a3 fe
0x2c57 SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 20
0x2c5b WaitUntilRotationComplete(); // 50
0x2c5c ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2c61 JumpTo( 0x2c6f ); // 01 0b 00
0x2c64 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2c6c Wait( 0x01 ); // 22 00 01
0x2c6f JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2c64 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2c7a JumpTo( 0x2c80 ); // 01 03 00
0x2c7d Wait( 0x01 ); // 22 00 01
0x2c80 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2c7d ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2c8b JumpTo( 0x2de7 ); // 01 59 01
0x2c8e PlayEntityAnimation( animation_id = 0x0441 ); // 40 00 41 04
0x2c92 WaitUntilAnimationComplete(); // 41
0x2c93 SetEntityCollisionFlags( flags = 0x07 ); // 47 00 07
0x2c96 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2c9b JumpTo( 0x2ca9 ); // 01 0b 00
0x2c9e [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2ca6 Wait( 0x01 ); // 22 00 01
0x2ca9 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2c9e ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2cb4 JumpTo( 0x2cba ); // 01 03 00
0x2cb7 Wait( 0x01 ); // 22 00 01
0x2cba JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2cb7 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2cc5 JumpTo( 0x2de7 ); // 01 1f 01
0x2cc8 JumpTo( 0x2cce ); // 01 03 00
0x2ccb Wait( 0x01 ); // 22 00 01
0x2cce JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2ccb ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff
0x2cd9 SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 20
0x2ce4 WaitUntilRotationComplete(); // 50
0x2ce5 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2cea JumpTo( 0x2cf8 ); // 01 0b 00
0x2ced [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2cf5 Wait( 0x01 ); // 22 00 01
0x2cf8 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ced ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2d03 JumpTo( 0x2d09 ); // 01 03 00
0x2d06 Wait( 0x01 ); // 22 00 01
0x2d09 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d06 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2d14 JumpTo( 0x2de7 ); // 01 d0 00
0x2d17 SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x2d1a JumpTo( 0x2de7 ); // 01 ca 00
0x2d1d SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2d20 SetEntityPositionByXZ( x = 0x0301, z = 0xfef1 ); // 1d 00 01 03 f1 fe
0x2d26 SetEntityRotation( rotation = 0x48 ); // 36 00 48
0x2d29 SetEntityData5f( 0x00 ); // 55 00 00
0x2d2c SetEntityData54( animation_id = 0x0444 ); // 33 00 44 04
0x2d30 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x2d33 Wait( 0x03 ); // 22 00 03
0x2d36 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2d3b JumpTo( 0x2d49 ); // 01 0b 00
0x2d3e [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2d46 Wait( 0x01 ); // 22 00 01
0x2d49 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2d3e ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2d54 JumpTo( 0x2d5a ); // 01 03 00
0x2d57 Wait( 0x01 ); // 22 00 01
0x2d5a JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d57 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2d65 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2d6d JumpTo( 0x2de7 ); // 01 77 00
0x2d70 Wait( 0x0b ); // 22 00 0b
0x2d73 0x1fSync( 0x05, 0x80, 0x002e ); // 1f 00 05 80 2e 00
0x2d79 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2d7e JumpTo( 0x2d8c ); // 01 0b 00
0x2d81 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2d89 Wait( 0x01 ); // 22 00 01
0x2d8c JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2d81 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2d97 JumpTo( 0x2d9d ); // 01 03 00
0x2d9a Wait( 0x01 ); // 22 00 01
0x2d9d JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d9a ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2da8 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x2db0 JumpTo( 0x2de7 ); // 01 34 00
0x2db3 Wait( 0x0a ); // 22 00 0a
0x2db6 PlayEntityAnimation( animation_id = 0x0445 ); // 40 00 45 04
0x2dba WaitUntilAnimationComplete(); // 41
0x2dbb SetEntityData54( animation_id = 0x01da ); // 33 00 da 01
0x2dbf SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x000000a0 ), steps = 0x20 ); // 56 01 7d 84 03 7d a0 00 5d 7f 20
0x2dca WaitUntilRotationComplete(); // 50
0x2dcb Wait( 0x1e ); // 22 00 1e
0x2dce SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x2dd3 SetEntityData5c( 0x3c ); // 26 00 3c
0x2dd6 ResetEntityData30_50_63_78(); // 25
0x2dd7 MoveToPosition( x = 0x0384, y = 0x00a0 ); // 23 00 84 03 a0 00
0x2ddd ResetEntityData30_50_63_78(); // 25
0x2dde MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 01
0x2de4 MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff
0x2de7 Wait( 0x01 ); // 22 00 01
0x2dea JumpTo( 0x2c18 ); // 01 2b fe
ENTITY: entity_id = 0x18
SCRIPT: script_id = 0x00
script = w[8007aecc];
0x2dfa [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f
0x2e02 [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f
0x2e0a [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f
0x2e12 [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f
0x2e1a Set32and34inEntityStruct( 0x155b, 0x57 ); // 2f 00 5b 15 57
0x2e1f SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f
0x2e27 SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f
0x2e2c SetEntityData54( animation_id = 0x01ce ); // 33 00 ce 01
0x2e30 SetEntityData56( animation_id = 0x1469 ); // 34 00 69 14
0x2e34 SetEntityData58( animation_id = 0x1466 ); // 35 00 66 14
0x2e38 SetEntityData4c( animation_id = 0x1467 ); // 7a 00 67 14
0x2e3c SetEntityData4e( animation_id = 0x1468 ); // 7b 00 68 14
0x2e40 SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e
0x2e45 SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 14
0x2e4b SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d
0x2e4f SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2e52 SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x2e57 Return(); // 04
SCRIPT: script_id = 0x01
script = w[8007aecc];
0x2e58 JumpSwitch( bu[ script + 0x0018 ] )( case 0x0005: jump_to:0x2e76)( case 0x0006: jump_to:0x2f12)( case 0x0007: jump_to:0x2ece)( case 0x0008: jump_to:0x3105)( case 0x0009: jump_to:0x3105)( case 0x000a: jump_to:0x2f4d)( case 0x000b: jump_to:0x2f9c)( case 0x000c: jump_to:0x2fa2)( case 0x000d: jump_to:0x308e)( case 0x000e: jump_to:0x30d1)( default: jump_to:0x3105); // 05 d5 18 7f 0b 0a 05 00 a8 02 19 00 b5 00 71 00 a8 02 a8 02 f0 00 3f 01 45 01 31 02 74 02
0x2e76 SetEntityData5c( 0x2d ); // 26 00 2d
0x2e79 Wait( 0x08 ); // 22 00 08
0x2e7c Wait( 0x06 ); // 22 00 06
0x2e7f SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2e82 ResetEntityData30_50_63_78(); // 25
0x2e83 MoveToPosition( x = 0x04aa, y = 0x00c0 ); // 23 00 aa 04 c0 00
0x2e89 ResetEntityData30_50_63_78(); // 25
0x2e8a MoveToPosition( x = 0x0318, y = 0x013e ); // 23 00 18 03 3e 01
0x2e90 ResetEntityData30_50_63_78(); // 25
0x2e91 MoveToPosition( x = 0x01a4, y = 0x0258 ); // 23 00 a4 01 58 02
0x2e97 SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 20
0x2e9b WaitUntilRotationComplete(); // 50
0x2e9c ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2ea1 JumpTo( 0x2eaf ); // 01 0b 00
0x2ea4 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2eac Wait( 0x01 ); // 22 00 01
0x2eaf JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ea4 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2eba JumpTo( 0x2ec0 ); // 01 03 00
0x2ebd Wait( 0x01 ); // 22 00 01
0x2ec0 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2ebd ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2ecb JumpTo( 0x3105 ); // 01 37 02
0x2ece 0x20Async( 0x05, 0x80, 0x002a ); // 20 00 05 80 2a 00
0x2ed4 PlayEntityAnimation( animation_id = 0x2ed0 ); // 40 00 d0 2e
0x2ed8 WaitUntilAnimationComplete(); // 41
0x2ed9 PlayEntityAnimation( animation_id = 0x2ecc ); // 40 00 cc 2e
0x2edd 0x54( 0x05 ); // 54 00 05
0x2ee0 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2ee5 JumpTo( 0x2ef3 ); // 01 0b 00
0x2ee8 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2ef0 Wait( 0x01 ); // 22 00 01
0x2ef3 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ee8 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2efe JumpTo( 0x2f04 ); // 01 03 00
0x2f01 Wait( 0x01 ); // 22 00 01
0x2f04 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f01 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2f0f JumpTo( 0x3105 ); // 01 f3 01
0x2f12 WaitUntilAnimationComplete(); // 41
0x2f13 PlayEntityAnimation( animation_id = 0x0448 ); // 40 00 48 04
0x2f17 WaitUntilAnimationComplete(); // 41
0x2f18 SetEntityCollisionFlags( flags = 0x07 ); // 47 00 07
0x2f1b ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2f20 JumpTo( 0x2f2e ); // 01 0b 00
0x2f23 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2f2b Wait( 0x01 ); // 22 00 01
0x2f2e JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2f23 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2f39 JumpTo( 0x2f3f ); // 01 03 00
0x2f3c Wait( 0x01 ); // 22 00 01
0x2f3f JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f3c ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2f4a JumpTo( 0x3105 ); // 01 b8 01
0x2f4d JumpTo( 0x2f53 ); // 01 03 00
0x2f50 Wait( 0x01 ); // 22 00 01
0x2f53 JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2f50 ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff
0x2f5e SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 20
0x2f69 WaitUntilRotationComplete(); // 50
0x2f6a ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x2f6f JumpTo( 0x2f7d ); // 01 0b 00
0x2f72 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x2f7a Wait( 0x01 ); // 22 00 01
0x2f7d JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2f72 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x2f88 JumpTo( 0x2f8e ); // 01 03 00
0x2f8b Wait( 0x01 ); // 22 00 01
0x2f8e JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f8b ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x2f99 JumpTo( 0x3105 ); // 01 69 01
0x2f9c SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e
0x2f9f JumpTo( 0x3105 ); // 01 63 01
0x2fa2 SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 07
0x2fa5 SetEntityPositionByXZ( x = 0x0245, z = 0x0295 ); // 1d 00 45 02 95 02
0x2fab SetEntityRotation( rotation = 0x40 ); // 36 00 40
0x2fae SetEntityData54( animation_id = 0x052c ); // 33 00 2c 05
0x2fb2 SetEntityCollisionFlags( flags = 0x00 ); // 47 00 00
0x2fb5 Wait( 0x03 ); // 22 00 03
0x2fb8 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x2fbe CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x2fc4 CallFuncaba98( 0x10, 0x1469, 0x0007, 0x0392 ); // 88 00 10 69 14 07 00 92 03
0x2fcd CallFuncaba98( 0x11, 0x1469, 0x0007, 0x039b ); // 88 00 11 69 14 07 00 9b 03
0x2fd6 CallFuncaba98( 0x12, 0x1469, 0x0007, 0x0001 ); // 88 00 12 69 14 07 00 01 00
0x2fdf CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x2fe5 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x2feb CallFuncaba98( 0x10, 0x1469, 0x0012, 0x0392 ); // 88 00 10 69 14 12 00 92 03
0x2ff4 CallFuncaba98( 0x11, 0x1469, 0x0012, 0x039b ); // 88 00 11 69 14 12 00 9b 03
0x2ffd CallFuncaba98( 0x12, 0x1469, 0x0012, 0x0001 ); // 88 00 12 69 14 12 00 01 00
0x3006 CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x300c CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x3012 CallFuncaba98( 0x10, 0x1466, 0x0006, 0x0392 ); // 88 00 10 66 14 06 00 92 03
0x301b CallFuncaba98( 0x11, 0x1466, 0x0006, 0x039b ); // 88 00 11 66 14 06 00 9b 03
0x3024 CallFuncaba98( 0x12, 0x1466, 0x0006, 0x0001 ); // 88 00 12 66 14 06 00 01 00
0x302d CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 03
0x3033 CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 03
0x3039 CallFuncaba98( 0x10, 0x1466, 0x0010, 0x0392 ); // 88 00 10 66 14 10 00 92 03
0x3042 CallFuncaba98( 0x11, 0x1466, 0x0010, 0x039b ); // 88 00 11 66 14 10 00 9b 03
0x304b CallFuncaba98( 0x12, 0x1466, 0x0010, 0x0001 ); // 88 00 12 66 14 10 00 01 00
0x3054 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x3059 JumpTo( 0x3067 ); // 01 0b 00
0x305c [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x3064 Wait( 0x01 ); // 22 00 01
0x3067 JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x305c ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x3072 JumpTo( 0x3078 ); // 01 03 00
0x3075 Wait( 0x01 ); // 22 00 01
0x3078 JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x3075 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x3083 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x308b JumpTo( 0x3105 ); // 01 77 00
0x308e Wait( 0x21 ); // 22 00 21
0x3091 0x1fSync( 0x04, 0x80, 0x002e ); // 1f 00 04 80 2e 00
0x3097 ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f
0x309c JumpTo( 0x30aa ); // 01 0b 00
0x309f [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f
0x30a7 Wait( 0x01 ); // 22 00 01
0x30aa JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x309f ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff
0x30b5 JumpTo( 0x30bb ); // 01 03 00
0x30b8 Wait( 0x01 ); // 22 00 01
0x30bb JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x30b8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff
0x30c6 [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f
0x30ce JumpTo( 0x3105 ); // 01 34 00
0x30d1 Wait( 0x05 ); // 22 00 05
0x30d4 PlayEntityAnimation( animation_id = 0x052f ); // 40 00 2f 05
0x30d8 WaitUntilAnimationComplete(); // 41
0x30d9 SetEntityData54( animation_id = 0x01ce ); // 33 00 ce 01
0x30dd SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 20
0x30e8 WaitUntilRotationComplete(); // 50
0x30e9 Wait( 0x28 ); // 22 00 28
0x30ec SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 01
0x30f1 SetEntityData5c( 0x3c ); // 26 00 3c
0x30f4 ResetEntityData30_50_63_78(); // 25
0x30f5 MoveToPosition( x = 0x0384, y = 0x012c ); // 23 00 84 03 2c 01
0x30fb ResetEntityData30_50_63_78(); // 25
0x30fc MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 01
0x3102 MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff
0x3105 Wait( 0x01 ); // 22 00 01
0x3108 JumpTo( 0x2e58 ); // 01 4d fd
-
Slightly tangential, but where is the dialog data stored, and in what format?
-
Slightly tangential, but where is the dialog data stored, and in what format?
Texts in dir 3
+04 [][][][] number of texts
next block of texts offsets and something 0x4 bytes each.
+00 [][] offset to text starting from start of this block.
+02 [] width?
+03 [] height?
next block - textes itself in FFIX format.
Texts not directly inserted in fields. Its separate language pack.
As I understand texts shown in field with opcode 0x1fSync and 0x20Async.
-
If I correctly remember, than main dialog format is something like this
0 4B number of dialogs
4 8B first dialog structure
12 8B next dialog structure
...
dialog structure
0 2B pointer to sizes script
2 2B size of dialog text window (something like 12 bites X-size, 4bites Y size * 16)
4 2B pointer to dialog text
6 2B number of lines in dialog text
Sizes script is some structure saying that there are opcodes in text,
and width of text values from those opcodes will be added to 'size of dialog text window'.
(Opcodes represent Items, names. Window size is without items, names opcodes. Real width of items, names will be added to precomputed dialog size.)
Well, something like that.
To add more fun, there are opcodes with 'length' parametes, used to center texts.
Nice work decoding script, quite big list!