Final Fantasy IX scripts.

  • Thread starter Thread starter Akari
  • Start date Start date
Status
Not open for further replies.
A

Akari

Guest
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.

Code: [Select]
Code:
ENTITY: entity_id = 0x00SCRIPT: script_id = 0x00script = w[8007aecc];0x015a    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0x7f ); // 05 c5 9f 7d 00 00 2c 7f0x0162    [ script + 0x0011 ] = b( 0x000000ff ); // 05 d5 11 7d ff 00 2c 7f0x016a    [ 0x8007aef0 + 0x0017 ] = b( b[ 0x8007aef0 + 0x0017 ] & 0x7f ); // 05 c4 bf 7d 00 00 2c 7f0x0172    JumpIf( ( (bu[ 0x8007aef0 + 0x0017 ] >> 0x00) & 1 == 0x00000001 ) == false )To( 0x0185 ); // 05 c4 b8 7d 01 00 20 7f 02 08 000x017d    [ 0x8007aef0 + 0x0002 ] = h( 0x00002710 ); // 05 d8 02 7d 10 27 2c 7f0x0185    [ 0x8007aef0 + 0x0017 ] = b( b[ 0x8007aef0 + 0x0017 ] & 0xfe ); // 05 c4 b8 7d 00 00 2c 7f0x018d    [ 0x8007aef0 + 0x0009 ] = h( 0x00000283 ); // 05 d8 09 7d 83 02 2c 7f0x0195    JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x01a3 ); // 05 d4 0d 7d 09 00 20 7f 02 03 000x01a0    JumpTo( 0x01de ); // 01 3b 000x01a3    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 000x01b5    [ 0x8007aef0 + 0x000d ] = b( 0x00000009 ); // 05 d4 0d 7d 09 00 2c 7f0x01bd    JumpTo( 0x01de ); // 01 1e 000x01c0    JumpIf( ( h[ 0x8007aef0 + 0x0009 ] < 0x00000000 ) == false )To( 0x01d6 ); // 05 d8 09 7d 00 00 18 7f 02 0b 000x01cb    [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f0x01d3    JumpTo( 0x01de ); // 01 08 000x01d6    [ 0x8007aef0 + 0x000d ] = b( 0x00000001 ); // 05 d4 0d 7d 01 00 2c 7f0x01de    [ 0x8007aef0 + 0x000b ] = h( 0x0000ffff ); // 05 d8 0b 7d ff ff 2c 7f0x01e6    JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x01f4 ); // 05 d4 0e 7d 09 00 20 7f 02 03 000x01f1    JumpTo( 0x022f ); // 01 3b 000x01f4    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 000x0206    [ 0x8007aef0 + 0x000e ] = b( 0x00000009 ); // 05 d4 0e 7d 09 00 2c 7f0x020e    JumpTo( 0x022f ); // 01 1e 000x0211    JumpIf( ( h[ 0x8007aef0 + 0x000b ] < 0x00000000 ) == false )To( 0x0227 ); // 05 d8 0b 7d 00 00 18 7f 02 0b 000x021c    [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f0x0224    JumpTo( 0x022f ); // 01 08 000x0227    [ 0x8007aef0 + 0x000e ] = b( 0x00000001 ); // 05 d4 0e 7d 01 00 2c 7f0x022f    Set16e8and16ea( 0x00, 0x00 ); // 67 00 00 000x0233    InitScriptEntity( entity_id = 0x02, shared_id = 0x00 ); // 07 02 000x0236    InitScriptEntity( entity_id = 0x03, shared_id = 0x00 ); // 07 03 000x0239    Set8007bbd8( 0x00 ); // e3 00 000x023c    InitModelEntity( entity_id = 0x11, shared_id = 0x00 ); // 09 11 000x023f    InitModelEntity( entity_id = 0x16, shared_id = 0x00 ); // 09 16 000x0242    InitModelEntity( entity_id = 0x18, shared_id = 0x00 ); // 09 18 000x0245    InitModelEntity( entity_id = 0x17, shared_id = 0x00 ); // 09 17 000x0248    InitModelEntity( entity_id = 0x0d, shared_id = 0x00 ); // 09 0d 000x024b    InitModelEntity( entity_id = 0x0f, shared_id = 0x00 ); // 09 0f 000x024e    InitType3Entity( entity_id = 0x04, shared_id = 0x00 ); // 08 04 000x0251    InitType3Entity( entity_id = 0x05, shared_id = 0x00 ); // 08 05 000x0254    InitType3Entity( entity_id = 0x06, shared_id = 0x00 ); // 08 06 000x0257    InitType3Entity( entity_id = 0x07, shared_id = 0x00 ); // 08 07 000x025a    InitScriptEntity( entity_id = 0x0b, shared_id = 0x00 ); // 07 0b 000x025d    InitScriptEntity( entity_id = 0x08, shared_id = 0x00 ); // 07 08 000x0260    InitScriptEntity( entity_id = 0x09, shared_id = 0x00 ); // 07 09 000x0263    InitScriptEntity( entity_id = 0x0a, shared_id = 0x00 ); // 07 0a 000x0266    InitScriptEntity( entity_id = 0x0c, shared_id = 0x00 ); // 07 0c 000x0269    Set8007bbe0_8007bbe8( 0x00 ); // ef 00 000x026c    Set16f8to1(); // 6a0x026d    [ script + 0x0018 ] = b( 0x00000000 ); // 05 d5 18 7d 00 00 2c 7f0x0275    JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000000 ) == false )To( 0x0286 ); // 05 c5 9e 7d 00 00 20 7f 02 06 000x0280    Set800c9df1( 0x7f ); // 27 00 7f0x0283    JumpTo( 0x0289 ); // 01 03 000x0286    Set800c9df1( 0xff ); // 27 00 ff0x0289    Wait( 0x02 ); // 22 00 020x028c    Wait( 0x02 ); // 22 00 020x028f    JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x02b1 ); // 05 d4 0d 7d 09 00 20 7f 02 17 000x029a    Set8007bba8( 0x02, 0x0000 ); // 66 00 02 00 000x029f    0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 000x02a5    0x8e(); // 8e0x02a6    0x54( 0x06 ); // 54 00 060x02a9    [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f0x02b1    JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x02d3 ); // 05 d4 0e 7d 09 00 20 7f 02 17 000x02bc    Set8007bba8( 0x02, 0x0001 ); // 66 00 02 01 000x02c1    0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 000x02c7    0x8e(); // 8e0x02c8    0x54( 0x06 ); // 54 00 060x02cb    [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f0x02d3    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x80 ); // 05 c5 9f 7d 01 00 2c 7f0x02db    JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000001 ) == false )To( 0x0314 ); // 05 c5 9e 7d 01 00 20 7f 02 2e 000x02e6    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x02ee    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0314 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x02f9    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0314 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x0304    0x2e(); // 2e0x0305    Set800c9df1( 0xff ); // 27 00 ff0x0308    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0314 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x0313    [80073998] = w(w[80073998] & fffbffff); // aa0x0314    JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x032e ); // 05 d5 11 7d ff 00 20 7f 02 0f 000x031f    GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f0x032e    Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa0x0331    0xec( 0x07, 0x10, bu[ script + 0x0011 ], 0x00, 0x00, 0x00 ); // ec 04 07 10 d5 11 7f 00 00 000x033b    JumpIf( ( bu[ 0x8007aef0 + 0x000d ] < 0x00000009 ) == false )To( 0x034e ); // 05 d4 0d 7d 09 00 18 7f 02 08 000x0346    [ 0x8007aef0 + 0x000d ] = b( 0x00000002 ); // 05 d4 0d 7d 02 00 2c 7f0x034e    CallDynamic8006794c_1c_83c( 0xd080, 0x0283, 0x000000, 0x80, 0x00 ); // c8 00 80 d0 83 02 00 00 00 80 000x0359    CallDynamic8006794c_1c_83c( 0xd381, 0x0283, 0x000000, 0x80, 0x00 ); // c8 00 81 d3 83 02 00 00 00 80 000x0364    CallDynamic8006794c_1c_83c( 0xd381, 0x0283, 0x000000, 0x96, 0x7d ); // c8 00 81 d3 83 02 00 00 00 96 7d0x036f    Return(); // 04SCRIPT: script_id = 0x0ascript = w[8007aecc];0x0370    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0x7f ); // 05 c5 9f 7d 00 00 2c 7f0x0378    RunScriptAsync( priority = 0x00, entity_id = 0xfa, script_id = 0x0b ); // 10 00 00 fa 0b0x037d    JumpIf( ( (bu[ script + 0x0013 ] >> 0x03) & 1 == 0x00000001 ) == false )To( 0x038b ); // 05 c5 9b 7d 01 00 20 7f 02 03 000x0388    Set8007bc14to0x2cIfValueEqual8007bc10( 0x01 ); // d7 00 010x038b    CallFuncc0df4( 0x00ff, 0x00b3, 0x01, 0x08 ); // 6f 00 ff 00 b3 00 01 080x0393    CallFuncafac0( 0x01, 0x82, 0x002a, 0x0000, 0x0000 ); // b3 00 01 82 2a 00 00 00 00 000x039d    CallFuncafac0( 0x01, 0x87, 0xfff4, 0xfe43, 0x00b4 ); // b3 00 01 87 f4 ff 43 fe b4 000x03a7    CallFuncafac0( 0x01, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 01 8c 00 00 00 00 00 000x03b1    CallFuncafac0( 0x01, 0x91, 0x03a8, 0x0000, 0x0000 ); // b3 00 01 91 a8 03 00 00 00 000x03bb    CallFuncafac0( 0x01, 0x9b, 0x0080, 0x0000, 0x0000 ); // b3 00 01 9b 80 00 00 00 00 000x03c5    CallFuncafac0( 0x01, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 01 a0 10 00 00 00 00 000x03cf    CallFuncafac0( 0x01, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 01 aa 00 00 00 00 00 000x03d9    CallFuncafac0( 0x01, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 01 9c 01 00 00 00 00 000x03e3    CallFuncc142c( 0x11, 0x00 ); // 5b 00 11 000x03e7    JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000000 ) == false )To( 0x03f8 ); // 05 c5 9e 7d 00 00 20 7f 02 06 000x03f2    Set800c9df1( 0x7f ); // 27 00 7f0x03f5    JumpTo( 0x03fb ); // 01 03 000x03f8    Set800c9df1( 0xff ); // 27 00 ff0x03fb    Wait( 0x02 ); // 22 00 020x03fe    Wait( 0x02 ); // 22 00 020x0401    JumpIf( ( bu[ 0x8007aef0 + 0x000d ] == 0x00000009 ) == false )To( 0x0423 ); // 05 d4 0d 7d 09 00 20 7f 02 17 000x040c    Set8007bba8( 0x02, 0x0000 ); // 66 00 02 00 000x0411    0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 000x0417    0x8e(); // 8e0x0418    0x54( 0x06 ); // 54 00 060x041b    [ 0x8007aef0 + 0x000d ] = b( 0x00000000 ); // 05 d4 0d 7d 00 00 2c 7f0x0423    JumpIf( ( bu[ 0x8007aef0 + 0x000e ] == 0x00000009 ) == false )To( 0x0445 ); // 05 d4 0e 7d 09 00 20 7f 02 17 000x042e    Set8007bba8( 0x02, 0x0001 ); // 66 00 02 01 000x0433    0x20Async( 0x06, 0x00, 0x0003 ); // 20 00 06 00 03 000x0439    0x8e(); // 8e0x043a    0x54( 0x06 ); // 54 00 060x043d    [ 0x8007aef0 + 0x000e ] = b( 0x00000000 ); // 05 d4 0e 7d 00 00 2c 7f0x0445    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x80 ); // 05 c5 9f 7d 01 00 2c 7f0x044d    JumpIf( ( (bu[ script + 0x0013 ] >> 0x06) & 1 == 0x00000001 ) == false )To( 0x0486 ); // 05 c5 9e 7d 01 00 20 7f 02 2e 000x0458    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x0460    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0486 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x046b    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0486 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x0476    0x2e(); // 2e0x0477    Set800c9df1( 0xff ); // 27 00 ff0x047a    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0486 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x0485    [80073998] = w(w[80073998] & fffbffff); // aa0x0486    Return(); // 04ENTITY: entity_id = 0x01SCRIPT: script_id = 0x00script = w[8007aecc];0x0492    CallFuncafac0( 0x00, 0x82, 0x002b, 0x0000, 0x0000 ); // b3 00 00 82 2b 00 00 00 00 000x049c    CallFuncafac0( 0x00, 0x96, 0x11, 0x000c, 0x0000 ); // da 00 00 96 11 0c 00 00 000x04a5    CallFuncafac0( 0x00, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 00 8c 00 00 00 00 00 000x04af    CallFuncafac0( 0x00, 0x91, 0x05d7, 0x0000, 0x0000 ); // b3 00 00 91 d7 05 00 00 00 000x04b9    CallFuncafac0( 0x00, 0x9b, 0x00ff, 0x0000, 0x0000 ); // b3 00 00 9b ff 00 00 00 00 000x04c3    CallFuncafac0( 0x00, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 00 a0 10 00 00 00 00 000x04cd    CallFuncafac0( 0x00, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 00 aa 00 00 00 00 00 000x04d7    CallFuncafac0( 0x00, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 00 9c 01 00 00 00 00 000x04e1    Return(); // 04SCRIPT: script_id = 0x01script = 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 000x0501    CallFuncafac0( 0x00, 0xa5, 0x001e, 0xffe2, 0x0000 ); // b3 00 00 a5 1e 00 e2 ff 00 000x050b    JumpTo( 0x0569 ); // 01 5b 000x050e    CallFuncafac0( 0x00, 0xa5, 0x0019, 0xffe2, 0xffd3 ); // b3 00 00 a5 19 00 e2 ff d3 ff0x0518    JumpTo( 0x0569 ); // 01 4e 000x051b    CallFuncafac0( 0x00, 0xa5, 0xffec, 0xffe2, 0xffe2 ); // b3 00 00 a5 ec ff e2 ff e2 ff0x0525    JumpTo( 0x0569 ); // 01 41 000x0528    CallFuncafac0( 0x00, 0xa5, 0xffe2, 0xffe2, 0x0000 ); // b3 00 00 a5 e2 ff e2 ff 00 000x0532    JumpTo( 0x0569 ); // 01 34 000x0535    CallFuncafac0( 0x00, 0xa5, 0xffe2, 0xffe2, 0x0000 ); // b3 00 00 a5 e2 ff e2 ff 00 000x053f    JumpTo( 0x0569 ); // 01 27 000x0542    CallFuncafac0( 0x00, 0xa5, 0x0000, 0xffe2, 0x0023 ); // b3 00 00 a5 00 00 e2 ff 23 000x054c    JumpTo( 0x0569 ); // 01 1a 000x054f    CallFuncafac0( 0x00, 0xa5, 0x0014, 0xffe2, 0x001e ); // b3 00 00 a5 14 00 e2 ff 1e 000x0559    JumpTo( 0x0569 ); // 01 0d 000x055c    CallFuncafac0( 0x00, 0xa5, 0x0019, 0xffe2, 0x0014 ); // b3 00 00 a5 19 00 e2 ff 14 000x0566    JumpTo( 0x0569 ); // 01 00 000x0569    Wait( 0x01 ); // 22 00 010x056c    JumpTo( 0x04e2 ); // 01 73 ffENTITY: entity_id = 0x02SCRIPT: script_id = 0x00script = w[8007aecc];0x057a    Return(); // 04SCRIPT: script_id = 0x01script = w[8007aecc];0x057b    JumpIf( bu[ script + 0x001e ] == false )To( 0x063b ); // 05 d5 1e 7f 02 b9 000x0582    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 7f0x058e    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 7f0x059a    Wait( 0x01 ); // 22 00 010x059d    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 7f0x05a9    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 7f0x05b5    CallFuncc142c( 0x10, 0x01 ); // 5b 00 10 010x05b9    CallFuncc142c( 0x1a, 0x01 ); // 5b 00 1a 010x05bd    [ w[ 0x8007bcf8 ] + 0x0000 ] = b( 0x00000000 ); // 05 d6 00 7d 00 00 2c 7f0x05c5    JumpTo( 0x05eb ); // 01 23 000x05c8    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 7f0x05d4    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 7f0x05e0    Wait( 0x01 ); // 22 00 010x05e3    ( bu[ w[ 0x8007bcf8 ] + 0x0000 ] += 0x00000002 ); // 05 d6 00 7d 02 00 32 7f0x05eb    JumpIf( ( bu[ w[ 0x8007bcf8 ] + 0x0000 ] < 0x000000a4 ) == true )To( 0x05c8 ); // 05 d6 00 7d a4 00 18 7f 03 d2 ff0x05f6    JumpTo( 0x0633 ); // 01 3a 000x05f9    [ w[ 0x8007bcf8 ] + 0x0001 ] = b( ( 0x00000001 + bu[ w[ 0x8007bcf8 ] + 0x0001 ] ) ); // 05 d6 01 d6 01 7d 01 00 14 2c 7f0x0604    [ 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 7f0x0618    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 7f0x0624    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 7f0x0630    Wait( 0x01 ); // 22 00 010x0633    JumpIf( 0x00000001 == true )To( 0x05f9 ); // 05 7d 01 00 7f 03 be ff0x063b    Wait( 0x01 ); // 22 00 010x063e    JumpTo( 0x057b ); // 01 3a ffENTITY: entity_id = 0x03SCRIPT: script_id = 0x00script = w[8007aecc];0x064e    Return(); // 04SCRIPT: script_id = 0x01script = w[8007aecc];0x064f    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0xbf ); // 05 c5 e6 7d 00 00 2c 7f0x0657    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 010x0681    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x069c ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x068c    [ script + 0x0018 ] = b( 0x00000001 ); // 05 d5 18 7d 01 00 2c 7f0x0694    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x069c    JumpTo( 0x0861 ); // 01 c2 010x069f    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06ba ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x06aa    [ script + 0x0018 ] = b( 0x00000002 ); // 05 d5 18 7d 02 00 2c 7f0x06b2    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x06ba    JumpTo( 0x0861 ); // 01 a4 010x06bd    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06d8 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x06c8    [ script + 0x0018 ] = b( 0x00000003 ); // 05 d5 18 7d 03 00 2c 7f0x06d0    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x06d8    JumpTo( 0x0861 ); // 01 86 010x06db    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x06f6 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x06e6    [ script + 0x0018 ] = b( 0x00000004 ); // 05 d5 18 7d 04 00 2c 7f0x06ee    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x06f6    JumpTo( 0x0861 ); // 01 68 010x06f9    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0714 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x0704    [ script + 0x0018 ] = b( 0x00000005 ); // 05 d5 18 7d 05 00 2c 7f0x070c    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0714    JumpTo( 0x0861 ); // 01 4a 010x0717    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0732 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x0722    [ script + 0x0018 ] = b( 0x00000006 ); // 05 d5 18 7d 06 00 2c 7f0x072a    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0732    JumpTo( 0x0861 ); // 01 2c 010x0735    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0750 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x0740    [ script + 0x0018 ] = b( 0x00000007 ); // 05 d5 18 7d 07 00 2c 7f0x0748    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0750    JumpTo( 0x0861 ); // 01 0e 010x0753    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x076e ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x075e    [ script + 0x0018 ] = b( 0x00000008 ); // 05 d5 18 7d 08 00 2c 7f0x0766    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x076e    JumpTo( 0x0861 ); // 01 f0 000x0771    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x078c ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x077c    [ script + 0x0018 ] = b( 0x00000009 ); // 05 d5 18 7d 09 00 2c 7f0x0784    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x078c    JumpTo( 0x0861 ); // 01 d2 000x078f    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07aa ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x079a    [ script + 0x0018 ] = b( 0x0000000a ); // 05 d5 18 7d 0a 00 2c 7f0x07a2    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x07aa    JumpTo( 0x0861 ); // 01 b4 000x07ad    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07c8 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x07b8    [ script + 0x0018 ] = b( 0x0000000b ); // 05 d5 18 7d 0b 00 2c 7f0x07c0    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x07c8    JumpTo( 0x0861 ); // 01 96 000x07cb    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x07e6 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x07d6    [ script + 0x0018 ] = b( 0x0000000c ); // 05 d5 18 7d 0c 00 2c 7f0x07de    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x07e6    JumpTo( 0x0861 ); // 01 78 000x07e9    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0804 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x07f4    [ script + 0x0018 ] = b( 0x0000000d ); // 05 d5 18 7d 0d 00 2c 7f0x07fc    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0804    JumpTo( 0x0861 ); // 01 5a 000x0807    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0822 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x0812    [ script + 0x0018 ] = b( 0x0000000e ); // 05 d5 18 7d 0e 00 2c 7f0x081a    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0822    JumpTo( 0x0861 ); // 01 3c 000x0825    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0840 ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x0830    [ script + 0x0018 ] = b( 0x0000000f ); // 05 d5 18 7d 0f 00 2c 7f0x0838    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x0840    JumpTo( 0x0861 ); // 01 1e 000x0843    JumpIf( ( (bu[ script + 0x001c ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x085e ); // 05 c5 e7 7d 01 00 20 7f 02 10 000x084e    [ script + 0x0018 ] = b( 0x00000010 ); // 05 d5 18 7d 10 00 2c 7f0x0856    [ script + 0x001c ] = b( b[ script + 0x001c ] & 0x7f ); // 05 c5 e7 7d 00 00 2c 7f0x085e    JumpTo( 0x0861 ); // 01 00 000x0861    Wait( 0x01 ); // 22 00 010x0864    JumpTo( 0x064f ); // 01 e8 fdENTITY: entity_id = 0x04SCRIPT: script_id = 0x00script = 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 020x0885    Return(); // 04SCRIPT: script_id = 0x02script = w[8007aecc];0x0886    JumpIf( bu[script + 16ec] == true )To( 0x088e ); // 05 7a 02 7f 03 01 000x088d    Return(); // 040x088e    [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f0x0896    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 000x08a8    [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f0x08b0    0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 000x08b6    JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x08c4 ); // 05 d5 18 7d 02 00 18 7f 02 03 000x08c1    Set8007bbf4( 0x00 ); // 68 00 000x08c4    Return(); // 04ENTITY: entity_id = 0x05SCRIPT: script_id = 0x00script = 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 020x08e5    Return(); // 04SCRIPT: script_id = 0x02script = w[8007aecc];0x08e6    JumpIf( bu[script + 16ec] == true )To( 0x08ee ); // 05 7a 02 7f 03 01 000x08ed    Return(); // 040x08ee    [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f0x08f6    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 000x0908    [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f0x0910    0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 000x0916    JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x0924 ); // 05 d5 18 7d 02 00 18 7f 02 03 000x0921    Set8007bbf4( 0x00 ); // 68 00 000x0924    Return(); // 04ENTITY: entity_id = 0x06SCRIPT: script_id = 0x00script = 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 020x0941    Return(); // 04SCRIPT: script_id = 0x02script = w[8007aecc];0x0942    JumpIf( bu[script + 16ec] == true )To( 0x094a ); // 05 7a 02 7f 03 01 000x0949    Return(); // 040x094a    [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f0x0952    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 000x0964    [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f0x096c    0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 000x0972    JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x0980 ); // 05 d5 18 7d 02 00 18 7f 02 03 000x097d    Set8007bbf4( 0x00 ); // 68 00 000x0980    Return(); // 04ENTITY: entity_id = 0x07SCRIPT: script_id = 0x00script = 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 000x099d    Return(); // 04SCRIPT: script_id = 0x02script = w[8007aecc];0x099e    JumpIf( bu[script + 16ec] == true )To( 0x09a6 ); // 05 7a 02 7f 03 01 000x09a5    Return(); // 040x09a6    [ script + 0x0026 ] = b( 0x00000001 ); // 05 d5 26 7d 01 00 2c 7f0x09ae    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 000x09c0    [ script + 0x002a ] = b( 0x00000002 ); // 05 d5 2a 7d 02 00 2c 7f0x09c8    0x20Async( 0x01, 0x10, 0x0026 ); // 20 00 01 10 26 000x09ce    JumpIf( ( bu[ script + 0x0018 ] < 0x00000002 ) == false )To( 0x09dc ); // 05 d5 18 7d 02 00 18 7f 02 03 000x09d9    Set8007bbf4( 0x00 ); // 68 00 000x09dc    Return(); // 04ENTITY: entity_id = 0x08SCRIPT: script_id = 0x00script = w[8007aecc];0x09ea    Return(); // 04SCRIPT: script_id = 0x01script = 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 000x0a05    [ 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 7f0x0a3d    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 000x0a58    Set8007bbf4( 0x01 ); // 68 00 010x0a5b    JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0af7 ); // 05 7e 00 00 0a 00 4f 7f 02 91 000x0a66    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f0x0a6e    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0a8c ); // 05 c5 9f 7d 01 00 20 7f 02 13 000x0a79    0x2d(); // 2d0x0a7a    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0a89 ); // 05 c5 90 7d 00 00 20 7f 02 04 000x0a85    [80073998] = w(w[80073998] | 00040000); // ab0x0a86    JumpTo( 0x0a8c ); // 01 03 000x0a89    Wait( 0x01 ); // 22 00 010x0a8c    Set800c9df1( 0x7f ); // 27 00 7f0x0a8f    [ 0x8007aef0 + 0x00dc ] = h( 0x00000258 ); // 05 d8 dc 7d 58 02 2c 7f0x0a97    [ 0x8007aef0 + 0x00de ] = h( 0x000006a4 ); // 05 d8 de 7d a4 06 2c 7f0x0a9f    [ 0x8007aef0 + 0x00e2 ] = b( (bu[ 0x8007aef0 + 0x0000 ] >> 0x07) & 1 ); // 05 d4 e2 e4 07 1c 2c 7f0x0aa7    [ 0x8007aef0 + 0x00e0 ] = h( 0x000000ec ); // 05 d8 e0 7d ec 00 2c 7f0x0aaf    Set8007bba8( 0x00, 0x00ec ); // 66 00 00 ec 000x0ab4    RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0c ); // 14 00 02 fa 0c0x0ab9    JumpIf( 0x00000001 == false )To( 0x0ac9 ); // 05 7d 01 00 7f 02 08 000x0ac1    [ 0x8007aef0 + 0x0000 ] = b( b[ 0x8007aef0 + 0x0000 ] | 0x80 ); // 05 e4 07 1c d4 e2 2c 7f0x0ac9    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x0ad1    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0af7 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x0adc    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0af7 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x0ae7    0x2e(); // 2e0x0ae8    Set800c9df1( 0xff ); // 27 00 ff0x0aeb    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0af7 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x0af6    [80073998] = w(w[80073998] & fffbffff); // aa0x0af7    Wait( 0x01 ); // 22 00 010x0afa    JumpTo( 0x09eb ); // 01 ee feENTITY: entity_id = 0x09SCRIPT: script_id = 0x00script = w[8007aecc];0x0b0a    Return(); // 04SCRIPT: script_id = 0x01script = 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 000x0b25    [ 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 7f0x0b5d    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 000x0b78    Set8007bbf4( 0x01 ); // 68 00 010x0b7b    JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0c17 ); // 05 7e 00 00 0a 00 4f 7f 02 91 000x0b86    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f0x0b8e    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0bac ); // 05 c5 9f 7d 01 00 20 7f 02 13 000x0b99    0x2d(); // 2d0x0b9a    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0ba9 ); // 05 c5 90 7d 00 00 20 7f 02 04 000x0ba5    [80073998] = w(w[80073998] | 00040000); // ab0x0ba6    JumpTo( 0x0bac ); // 01 03 000x0ba9    Wait( 0x01 ); // 22 00 010x0bac    Set800c9df1( 0x7f ); // 27 00 7f0x0baf    [ 0x8007aef0 + 0x00dc ] = h( 0x0000fd44 ); // 05 d8 dc 7d 44 fd 2c 7f0x0bb7    [ 0x8007aef0 + 0x00de ] = h( 0x00000640 ); // 05 d8 de 7d 40 06 2c 7f0x0bbf    [ 0x8007aef0 + 0x00e2 ] = b( (bu[ 0x8007aef0 + 0x0000 ] >> 0x06) & 1 ); // 05 d4 e2 e4 06 1c 2c 7f0x0bc7    [ 0x8007aef0 + 0x00e0 ] = h( 0x00000417 ); // 05 d8 e0 7d 17 04 2c 7f0x0bcf    Set8007bba8( 0x00, 0x0417 ); // 66 00 00 17 040x0bd4    RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0c ); // 14 00 02 fa 0c0x0bd9    JumpIf( 0x00000001 == false )To( 0x0be9 ); // 05 7d 01 00 7f 02 08 000x0be1    [ 0x8007aef0 + 0x0000 ] = b( b[ 0x8007aef0 + 0x0000 ] | 0x40 ); // 05 e4 06 1c d4 e2 2c 7f0x0be9    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x0bf1    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0c17 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x0bfc    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0c17 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x0c07    0x2e(); // 2e0x0c08    Set800c9df1( 0xff ); // 27 00 ff0x0c0b    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0c17 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x0c16    [80073998] = w(w[80073998] & fffbffff); // aa0x0c17    Wait( 0x01 ); // 22 00 010x0c1a    JumpTo( 0x0b0b ); // 01 ee feENTITY: entity_id = 0x0aSCRIPT: script_id = 0x00script = w[8007aecc];0x0c2a    Return(); // 04SCRIPT: script_id = 0x01script = 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 000x0c44    [ 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 7f0x0c7c    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 000x0c97    Set8007bbf4( 0x01 ); // 68 00 010x0c9a    JumpIf( IsButtonPressed( 0x000a0000 ) == false )To( 0x0d34 ); // 05 7e 00 00 0a 00 4f 7f 02 8f 000x0ca5    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f0x0cad    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0ccb ); // 05 c5 9f 7d 01 00 20 7f 02 13 000x0cb8    0x2d(); // 2d0x0cb9    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0cc8 ); // 05 c5 90 7d 00 00 20 7f 02 04 000x0cc4    [80073998] = w(w[80073998] | 00040000); // ab0x0cc5    JumpTo( 0x0ccb ); // 01 03 000x0cc8    Wait( 0x01 ); // 22 00 010x0ccb    Set800c9df1( 0x7f ); // 27 00 7f0x0cce    [ 0x8007aef0 + 0x00dc ] = h( 0x000002b8 ); // 05 d8 dc 7d b8 02 2c 7f0x0cd6    [ 0x8007aef0 + 0x00de ] = h( 0x00000427 ); // 05 d8 de 7d 27 04 2c 7f0x0cde    [ 0x8007aef0 + 0x00e2 ] = b( bu[ w[ 0x8007bcf8 ] + 0x0003 ] ); // 05 d4 e2 d6 03 2c 7f0x0ce5    [ 0x8007aef0 + 0x00e0 ] = h( 0x0000752f ); // 05 d8 e0 7d 2f 75 2c 7f0x0ced    Set8007bba8( 0x00, 0x752f ); // 66 00 00 2f 750x0cf2    RunScriptStartSync( priority = 0x02, entity_id = 0xfa, script_id = 0x0d ); // 14 00 02 fa 0d0x0cf7    JumpIf( 0x00000000 == false )To( 0x0d06 ); // 05 7d 00 00 7f 02 07 000x0cff    [ w[ 0x8007bcf8 ] + 0x0003 ] = b( bu[ 0x8007aef0 + 0x00e2 ] ); // 05 d6 03 d4 e2 2c 7f0x0d06    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x0d0e    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x0d34 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x0d19    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x0d34 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x0d24    0x2e(); // 2e0x0d25    Set800c9df1( 0xff ); // 27 00 ff0x0d28    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x0d34 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x0d33    [80073998] = w(w[80073998] & fffbffff); // aa0x0d34    Wait( 0x01 ); // 22 00 010x0d37    JumpTo( 0x0c2b ); // 01 f1 feENTITY: entity_id = 0x0bSCRIPT: script_id = 0x00script = w[8007aecc];0x0d46    [ script + 0x0022 ] = h( 0x00000020 ); // 05 dd 22 7d 20 00 2c 7f0x0d4e    [ script + 0x0024 ] = h( 0x00000040 ); // 05 dd 24 7d 40 00 2c 7f0x0d56    CallFuncc142c( 0x10, 0x00 ); // 5b 00 10 000x0d5a    CallFuncc142c( 0x1a, 0x00 ); // 5b 00 1a 000x0d5e    Return(); // 04SCRIPT: script_id = 0x01script = 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 7f0x0d6b    CallFuncc1368( 0x0a, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0a dd 22 7f dd 22 7f dd 22 7f0x0d77    CallFuncc1368( 0x0b, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0b dd 22 7f dd 22 7f dd 22 7f0x0d83    CallFuncc1368( 0x0c, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0c dd 22 7f dd 22 7f dd 22 7f0x0d8f    CallFuncc1368( 0x0d, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0d dd 22 7f dd 22 7f dd 22 7f0x0d9b    CallFuncc1368( 0x0e, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0e dd 22 7f dd 22 7f dd 22 7f0x0da7    CallFuncc1368( 0x0f, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 0f dd 22 7f dd 22 7f dd 22 7f0x0db3    CallFuncc1368( 0x12, hu[ script + 0x0022 ], hu[ script + 0x0022 ], hu[ script + 0x0022 ] ); // 59 0e 12 dd 22 7f dd 22 7f dd 22 7f0x0dbf    JumpIf( ( hu[ script + 0x0024 ] > 0x00000080 ) == false )To( 0x0dd2 ); // 05 dd 24 7d 80 00 19 7f 02 08 000x0dca    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000000 ); // 05 de 00 7d 00 00 2c 7f0x0dd2    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 7f0x0de7    JumpIf( ( hu[ script + 0x0024 ] == 0x00000080 ) == false )To( 0x0e54 ); // 05 dd 24 7d 80 00 20 7f 02 62 000x0df2    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 000x0e12    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000006 ); // 05 de 00 7d 06 00 2c 7f0x0e1a    JumpTo( 0x0e54 ); // 01 37 000x0e1d    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000c ); // 05 de 00 7d 0c 00 2c 7f0x0e25    JumpTo( 0x0e54 ); // 01 2c 000x0e28    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000f ); // 05 de 00 7d 0f 00 2c 7f0x0e30    JumpTo( 0x0e54 ); // 01 21 000x0e33    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x0000000b ); // 05 de 00 7d 0b 00 2c 7f0x0e3b    JumpTo( 0x0e54 ); // 01 16 000x0e3e    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000005 ); // 05 de 00 7d 05 00 2c 7f0x0e46    JumpTo( 0x0e54 ); // 01 0b 000x0e49    [ w[ 0x8007bcf8 ] + 0x0000 ] = h( 0x00000000 ); // 05 de 00 7d 00 00 2c 7f0x0e51    JumpTo( 0x0e54 ); // 01 00 000x0e54    Wait( 0x01 ); // 22 00 010x0e57    JumpTo( 0x0d5f ); // 01 05 ffENTITY: entity_id = 0x0cSCRIPT: script_id = 0x00script = w[8007aecc];0x0e66    Return(); // 04SCRIPT: script_id = 0x01script = 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 000x0e79    [ script + 0x002a ] = b( 0x00000000 ); // 05 d5 2a 7d 00 00 2c 7f0x0e81    0x21( 0x01 ); // 21 00 010x0e84    JumpIf( ( bu[ script + 0x0018 ] == 0x00000001 ) == false )To( 0x0ec6 ); // 05 d5 18 7d 01 00 20 7f 02 37 000x0e8f    JumpIf( ( h[ script + 0x0028 ] < 0x0000012c ) == false )To( 0x0e9f ); // 05 d9 28 7d 2c 01 18 7f 02 05 000x0e9a    ( h[ script + 0x0028 ]++ ); // 05 d9 28 04 7f0x0e9f    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 000x0eb8    [ script + 0x002a ] = b( 0x00000001 ); // 05 d5 2a 7d 01 00 2c 7f0x0ec0    0x20Async( 0x01, 0x10, 0x0025 ); // 20 00 01 10 25 000x0ec6    Wait( 0x01 ); // 22 00 010x0ec9    JumpTo( 0x0e67 ); // 01 9b ff
Description is as follows
Code: [Select]
Code:
+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.
Code: [Select]
Code:
ENTITY: entity_id = 0x0dSCRIPT: script_id = 0x00script = w[8007aecc];0x0ed6    [ script + 0x0000 ] = h( 0x0000f9be ); // 05 d9 00 7d be f9 2c 7f0x0ede    [ script + 0x0004 ] = h( 0x00000051 ); // 05 d9 04 7d 51 00 2c 7f0x0ee6    [ script + 0x0006 ] = h( 0x000000c0 ); // 05 d9 06 7d c0 00 2c 7f0x0eee    [ script + 0x0002 ] = h( 0x0000fd0f ); // 05 d9 02 7d 0f fd 2c 7f0x0ef6    Set32and34inEntityStruct( 0x00ba, 0x70 ); // 2f 00 ba 00 700x0efb    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x0f03    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x0f08    SetEntityData54( animation_id = 0x0863 ); // 33 00 63 080x0f0c    SetEntityData56( animation_id = 0x0869 ); // 34 00 69 080x0f10    SetEntityData58( animation_id = 0x0869 ); // 35 00 69 080x0f14    SetEntityData4c( animation_id = 0x0869 ); // 7a 00 69 080x0f18    SetEntityData4e( animation_id = 0x0869 ); // 7b 00 69 080x0f1c    SetEntityCollision( 0x1a, solid_radius = 0x1a, talk_radius = 0x25 ); // 4b 00 1a 1a 250x0f21    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x0f27    SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d0x0f2b    SetEntityPositionByXYZ( x = h[ script + 0x0000 ], y = h[ script + 0x0002 ], z = h[ script + 0x0004 ] ); // a1 07 d9 00 7f d9 02 7f d9 04 7f0x0f36    SetEntityData76_90_91( 0x0862, 0x0e, 0x1b ); // 94 00 62 08 0e 1b0x0f3c    0x80(); // 800x0f3d    0x9f( entity_id = 0xff, 0x2e, 0x2e, 0x2e ); // 9f 00 ff 2e 2e 2e0x0f43    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x0f48    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x0f4b    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x0f4e    0x3a( entity_id = 0xff, 0x00 ); // 3a 00 ff 000x0f52    SetEntityData7c_7d_7e_7f( 0x10, 0x10, 0x10, 0x10 ); // 86 00 10 10 10 100x0f58    Return(); // 04SCRIPT: script_id = 0x01script = 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 050x0f69    Wait( 0x0c ); // 22 00 0c0x0f6c    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x0f6f    0x9f( entity_id = 0xff, 0x2e, 0x2e, 0x2e ); // 9f 00 ff 2e 2e 2e0x0f75    SetEntityData5c( 0x07 ); // 26 00 070x0f78    ResetEntityData30_50_63_78(); // 250x0f79    MoveToPosition( x = 0xfaea, y = 0x0051 ); // 23 00 ea fa 51 000x0f7f    Wait( 0x05 ); // 22 00 050x0f82    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x0f87    JumpTo( 0x0f95 ); // 01 0b 000x0f8a    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x0f92    Wait( 0x01 ); // 22 00 010x0f95    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x0f8a ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x0fa0    JumpTo( 0x0fa6 ); // 01 03 000x0fa3    Wait( 0x01 ); // 22 00 010x0fa6    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x0fa3 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x0fb1    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x0fb9    JumpTo( 0x153c ); // 01 80 050x0fbc    CallFuncafac0( 0x01, 0x82, 0xffff, 0x0000, 0x0000 ); // b3 00 01 82 ff ff 00 00 00 000x0fc6    CallFuncc0df4( 0x00a0, 0x0070, 0x01, 0x08 ); // 6f 00 a0 00 70 00 01 080x0fce    CallFuncc196c( 0x02, 0x00 ); // ca 00 02 000x0fd2    0x9f( entity_id = 0xff, 0x38, 0x38, 0x38 ); // 9f 00 ff 38 38 380x0fd8    SetEntityPositionByXZ( x = 0xfaa6, z = 0x0000 ); // 1d 00 a6 fa 00 000x0fde    SetEntityRotation( rotation = 0xbe ); // 36 00 be0x0fe1    CallFuncc0bcc( 0x01 ); // 7e 00 010x0fe4    Wait( 0x01 ); // 22 00 010x0fe7    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x0fea    SetEntityData5c( 0x07 ); // 26 00 070x0fed    CallDynamic8006794c_1c_83c( 0xd000, 0x0274, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 74 02 00 00 00 80 7d0x0ff8    InitAdditionalScriptEntityForCurrentEntity( entity_id = 0x0e ); // 43 00 0e0x0ffb    Wait( 0x2f ); // 22 00 2f0x0ffe    CallDynamic8006794c_1c_83c( 0x6201, 0xffff, 0x000064, 0x00, 0x00 ); // c6 00 01 62 ff ff 64 00 000x1007    CallDynamic8006794c_1c_83c( 0xa000, 0x0008, 0x000080, 0x00, 0x00 ); // c7 00 00 a0 08 00 80 00 00 000x1011    CallFunc54e88( 0x00, 0x00, 0x01 ); // f8 00 00 00 010x1016    CallFunc54e88( 0x00, 0x01, 0x00 ); // f8 00 00 01 000x101b    CallFunc54fe0( 0x01 ); // f7 00 010x101e    CallFuncc0df4( 0x00a0, 0x007f, 0x0a, 0x08 ); // 6f 00 a0 00 7f 00 0a 080x1026    Wait( 0x0a ); // 22 00 0a0x1029    CallFuncc0df4( 0x00a0, 0x0070, 0x0a, 0x08 ); // 6f 00 a0 00 70 00 0a 080x1031    Wait( 0x0a ); // 22 00 0a0x1034    Wait( 0x32 ); // 22 00 320x1037    Wait( 0x21 ); // 22 00 210x103a    [ 0x8007aef0 + 0x0015 ] = h( 0x00000e01 ); // 05 dc 15 7d 01 0e 2c 7f0x1042    0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f0x1047    [ 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 7f0x1058    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x1060    JumpTo( 0x107b ); // 01 18 000x1063    JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x1076 ); // 05 d9 08 6b 7f 02 0b 000x106b    ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f0x1076    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x107b    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1063 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x1086    JumpIf( 0x00000001 == false )To( 0x1096 ); // 05 7d 01 00 7f 02 08 000x108e    ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f0x1096    JumpIf( 0x00000001 == false )To( 0x10a6 ); // 05 7d 01 00 7f 02 08 000x109e    ( h[ script + 0x000c ] |= 0x00000200 ); // 05 d9 0c 7d 00 02 3f 7f0x10a6    JumpIf( 0x00000001 == false )To( 0x10b6 ); // 05 7d 01 00 7f 02 08 000x10ae    ( h[ script + 0x000c ] |= 0x00000400 ); // 05 d9 0c 7d 00 04 3f 7f0x10b6    JumpIf( 0x00000001 == false )To( 0x10c6 ); // 05 7d 01 00 7f 02 08 000x10be    ( h[ script + 0x000c ] |= 0x00000800 ); // 05 d9 0c 7d 00 08 3f 7f0x10c6    [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f0x10d0    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x10d8    JumpTo( 0x10f3 ); // 01 18 000x10db    JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x10ee ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 000x10e9    PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f0x10ee    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x10f3    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x10db ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x10fe    JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x1114 ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 000x110b    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f0x1114    JumpIf( ( CallFunc4b85c( 0x00000009 ) == 0x00000000 ) == false )To( 0x112a ); // 05 7d 09 00 6b 7d 00 00 20 7f 02 09 000x1121    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 09 00 6d 2c 7f0x112a    JumpIf( ( CallFunc4b85c( 0x0000000a ) == 0x00000000 ) == false )To( 0x1140 ); // 05 7d 0a 00 6b 7d 00 00 20 7f 02 09 000x1137    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 0a 00 6d 2c 7f0x1140    JumpIf( ( CallFunc4b85c( 0x0000000b ) == 0x00000000 ) == false )To( 0x1156 ); // 05 7d 0b 00 6b 7d 00 00 20 7f 02 09 000x114d    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 0b 00 6d 2c 7f0x1156    [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f0x115f    [ 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 7f0x1170    JumpIf( 0x00000001 == false )To( 0x1186 ); // 05 7d 01 00 7f 02 0e 000x1178    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x117e    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x1186    JumpIf( 0x00000001 == false )To( 0x119c ); // 05 7d 01 00 7f 02 0e 000x118e    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x1194    [ script + 0x000a ] = h( 0x00000009 ); // 05 d9 0a 7d 09 00 2c 7f0x119c    JumpIf( 0x00000001 == false )To( 0x11b2 ); // 05 7d 01 00 7f 02 0e 000x11a4    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x11aa    [ script + 0x000c ] = h( 0x0000000a ); // 05 d9 0c 7d 0a 00 2c 7f0x11b2    JumpIf( 0x00000001 == false )To( 0x11c8 ); // 05 7d 01 00 7f 02 0e 000x11ba    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x11c0    [ script + 0x000e ] = h( 0x0000000b ); // 05 d9 0e 7d 0b 00 2c 7f0x11c8    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f0x11d9    JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x11f8 ); // 05 d9 08 7d 63 00 21 7f 02 14 000x11e4    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x11f8 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 000x11f0    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f0x11f8    JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x1217 ); // 05 d9 0a 7d 63 00 21 7f 02 14 000x1203    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x1217 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 000x120f    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f0x1217    JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x1236 ); // 05 d9 0c 7d 63 00 21 7f 02 14 000x1222    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x1236 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 000x122e    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f0x1236    JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x1255 ); // 05 d9 0e 7d 63 00 21 7f 02 14 000x1241    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x1255 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 000x124d    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f0x1255    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 000x1269    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 000x127b    CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 000x1282    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 000x1294    CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 000x129b    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 000x12ad    CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 000x12b4    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 000x12c6    CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 000x12cd    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x12d1    CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f0x12d5    CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f0x12d9    CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f0x12dd    CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f0x12e1    CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f0x12e5    CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f0x12e9    CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f0x12ed    CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f0x12f1    JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x1305 ); // 05 7d 05 00 6b 7f 02 0b 000x12fa    [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f0x1302    JumpTo( 0x130d ); // 01 08 000x1305    [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f0x130d    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 000x1320    CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 01 ff 09 000x1327    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f0x132f    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 000x1342    CharacterInit( character_id = 0x09, type = 0x01, preset_id = 0x08, 0x15, 0x08 ); // fe 00 09 01 08 15 080x1349    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000100 ); // 05 dc 13 7d 00 01 3f 7f0x1351    CharacterSet34Flag00000200( character_id = 0x09, 0x01 ); // 62 00 09 010x1355    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 000x1368    CharacterInit( character_id = 0x0a, type = 0x01, preset_id = 0x09, 0x15, 0x0a ); // fe 00 0a 01 09 15 0a0x136f    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000200 ); // 05 dc 13 7d 00 02 3f 7f0x1377    CharacterSet34Flag00000200( character_id = 0x0a, 0x01 ); // 62 00 0a 010x137b    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 000x138e    CharacterInit( character_id = 0x0b, type = 0x01, preset_id = 0x0a, 0x15, 0x0c ); // fe 00 0b 01 0a 15 0c0x1395    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000400 ); // 05 dc 13 7d 00 04 3f 7f0x139d    CharacterSet34Flag00000200( character_id = 0x0b, 0x01 ); // 62 00 0b 010x13a1    CharacterSetHP( character_id = 0x09, hp = 0x270f ); // f1 00 09 0f 270x13a6    CharacterSetMP( character_id = 0x09, mp = 0x03e7 ); // f2 00 09 e7 030x13ab    CharacterRemoveStatuses( character_id = 0x09, status_mask = 0x7f ); // d9 00 09 7f0x13af    CharacterSetHP( character_id = 0x0a, hp = 0x270f ); // f1 00 0a 0f 270x13b4    CharacterSetMP( character_id = 0x0a, mp = 0x03e7 ); // f2 00 0a e7 030x13b9    CharacterRemoveStatuses( character_id = 0x0a, status_mask = 0x7f ); // d9 00 0a 7f0x13bd    CharacterSetHP( character_id = 0x0b, hp = 0x270f ); // f1 00 0b 0f 270x13c2    CharacterSetMP( character_id = 0x0b, mp = 0x03e7 ); // f2 00 0b e7 030x13c7    CharacterRemoveStatuses( character_id = 0x0b, status_mask = 0x7f ); // d9 00 0b 7f0x13cb    CharacterSetName( character_id = 0x09, string_id = 0x001c ); // de 00 09 1c 000x13d0    CharacterSetName( character_id = 0x0b, string_id = 0x001e ); // de 00 0b 1e 000x13d5    CharacterSetName( character_id = 0x0a, string_id = 0x001d ); // de 00 0a 1d 000x13da    [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f0x13e2    [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f0x13ea    [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f0x13f2    CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 270x13f7    CharacterSetHP( character_id = 0x01, hp = 0x270f ); // f1 00 01 0f 270x13fc    CharacterSetHP( character_id = 0x03, hp = 0x270f ); // f1 00 03 0f 270x1401    CharacterSetHP( character_id = 0x02, hp = 0x270f ); // f1 00 02 0f 270x1406    CharacterSetHP( character_id = 0x04, hp = 0x270f ); // f1 00 04 0f 270x140b    CharacterSetHP( character_id = 0x05, hp = 0x270f ); // f1 00 05 0f 270x1410    CharacterSetHP( character_id = 0x07, hp = 0x270f ); // f1 00 07 0f 270x1415    CharacterSetHP( character_id = 0x06, hp = 0x270f ); // f1 00 06 0f 270x141a    CharacterSetHP( character_id = 0x08, hp = 0x270f ); // f1 00 08 0f 270x141f    CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 030x1424    CharacterSetMP( character_id = 0x01, mp = 0x03e7 ); // f2 00 01 e7 030x1429    CharacterSetMP( character_id = 0x03, mp = 0x03e7 ); // f2 00 03 e7 030x142e    CharacterSetMP( character_id = 0x02, mp = 0x03e7 ); // f2 00 02 e7 030x1433    CharacterSetMP( character_id = 0x04, mp = 0x03e7 ); // f2 00 04 e7 030x1438    CharacterSetMP( character_id = 0x05, mp = 0x03e7 ); // f2 00 05 e7 030x143d    CharacterSetMP( character_id = 0x07, mp = 0x03e7 ); // f2 00 07 e7 030x1442    CharacterSetMP( character_id = 0x06, mp = 0x03e7 ); // f2 00 06 e7 030x1447    CharacterSetMP( character_id = 0x08, mp = 0x03e7 ); // f2 00 08 e7 030x144c    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x1450    CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f0x1454    CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f0x1458    CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f0x145c    CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f0x1460    CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f0x1464    CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f0x1468    CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f0x146c    CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f0x1470    0x2a( 0x00, 0x0150 ); // 2a 00 00 50 010x1475    CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 270x147a    CharacterSetHP( character_id = 0x01, hp = 0x270f ); // f1 00 01 0f 270x147f    CharacterSetHP( character_id = 0x03, hp = 0x270f ); // f1 00 03 0f 270x1484    CharacterSetHP( character_id = 0x02, hp = 0x270f ); // f1 00 02 0f 270x1489    CharacterSetHP( character_id = 0x04, hp = 0x270f ); // f1 00 04 0f 270x148e    CharacterSetHP( character_id = 0x05, hp = 0x270f ); // f1 00 05 0f 270x1493    CharacterSetHP( character_id = 0x07, hp = 0x270f ); // f1 00 07 0f 270x1498    CharacterSetHP( character_id = 0x06, hp = 0x270f ); // f1 00 06 0f 270x149d    CharacterSetHP( character_id = 0x08, hp = 0x270f ); // f1 00 08 0f 270x14a2    CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 030x14a7    CharacterSetMP( character_id = 0x01, mp = 0x03e7 ); // f2 00 01 e7 030x14ac    CharacterSetMP( character_id = 0x03, mp = 0x03e7 ); // f2 00 03 e7 030x14b1    CharacterSetMP( character_id = 0x02, mp = 0x03e7 ); // f2 00 02 e7 030x14b6    CharacterSetMP( character_id = 0x04, mp = 0x03e7 ); // f2 00 04 e7 030x14bb    CharacterSetMP( character_id = 0x05, mp = 0x03e7 ); // f2 00 05 e7 030x14c0    CharacterSetMP( character_id = 0x07, mp = 0x03e7 ); // f2 00 07 e7 030x14c5    CharacterSetMP( character_id = 0x06, mp = 0x03e7 ); // f2 00 06 e7 030x14ca    CharacterSetMP( character_id = 0x08, mp = 0x03e7 ); // f2 00 08 e7 030x14cf    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x14d3    CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f0x14d7    CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f0x14db    CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f0x14df    CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f0x14e3    CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f0x14e7    CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f0x14eb    CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f0x14ef    CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f0x14f3    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x14fb    JumpTo( 0x153c ); // 01 3e 000x14fe    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x1501    CallDynamic8006794c_1c_83c( 0x0700, 0x000c, 0x00, 0x00, 0x00 ); // c5 00 00 07 0c 000x1507    JumpTo( 0x150d ); // 01 03 000x150a    Wait( 0x01 ); // 22 00 010x150d    JumpIf( ( funcb0124( 0xc00, 0xffffffff, 0, 0, 0 ) != 0x00000000 ) == true )To( 0x150a ); // 05 7a 03 7d 00 00 21 7f 03 f2 ff0x1518    [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f0x1520    [ script + 0x002c ] = b( 0x00000001 ); // 05 d5 2c 7d 01 00 2c 7f0x1528    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x152b    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x152e    JumpTo( 0x1534 ); // 01 03 000x1531    Wait( 0x01 ); // 22 00 010x1534    JumpIf( 0x00000001 == true )To( 0x1531 ); // 05 7d 01 00 7f 03 f5 ff0x153c    Wait( 0x01 ); // 22 00 010x153f    JumpTo( 0x0f59 ); // 01 17 faENTITY: entity_id = 0x0eSCRIPT: script_id = 0x00script = w[8007aecc];0x154a    0xa8( 0x00 ); // a8 00 000x154d    Play76Animation(); // 9c0x154e    WaitUntilAnimationComplete(); // 410x154f    Jump( x = 0xfff6, y = 0x0000, z = 0x0000, steps = 0x1e ); // e2 00 f6 ff 00 00 00 00 1e0x1558    PerformJump(); // dc0x1559    PlaySomeAnimation(); // 9d0x155a    WaitUntilAnimationComplete(); // 410x155b    SetEntityData60and61( 0x00, 0xff ); // 3d 00 00 ff0x155f    CallDynamic8006794c_1c_83c( 0xd000, 0x026d, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6d 02 00 00 00 80 7d0x156a    PlayEntityAnimation( animation_id = 0x0867 ); // 40 00 67 080x156e    WaitUntilAnimationComplete(); // 410x156f    SetEntityData54( animation_id = 0x0865 ); // 33 00 65 080x1573    MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff0x1576    Return(); // 04ENTITY: entity_id = 0x0fSCRIPT: script_id = 0x00script = w[8007aecc];0x1582    [ script + 0x0000 ] = h( 0x0000ff28 ); // 05 d9 00 7d 28 ff 2c 7f0x158a    [ script + 0x0004 ] = h( 0x00000021 ); // 05 d9 04 7d 21 00 2c 7f0x1592    [ script + 0x0006 ] = h( 0x000000c0 ); // 05 d9 06 7d c0 00 2c 7f0x159a    Set32and34inEntityStruct( 0x1558, 0x70 ); // 2f 00 58 15 700x159f    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x15a7    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x15ac    SetEntityData54( animation_id = 0x030c ); // 33 00 0c 030x15b0    SetEntityData56( animation_id = 0x030b ); // 34 00 0b 030x15b4    SetEntityData58( animation_id = 0x0306 ); // 35 00 06 030x15b8    SetEntityData4c( animation_id = 0x0308 ); // 7a 00 08 030x15bc    SetEntityData4e( animation_id = 0x0307 ); // 7b 00 07 030x15c0    SetEntityCollision( 0x1a, solid_radius = 0x1a, talk_radius = 0x25 ); // 4b 00 1a 1a 250x15c5    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x15cb    SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d0x15cf    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x15d2    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x15d5    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x15da    Return(); // 04SCRIPT: script_id = 0x01script = 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 010x15eb    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x15ee    SetEntityPositionByXZ( x = 0xff28, z = 0x0021 ); // 1d 00 28 ff 21 000x15f4    SetEntityRotation( rotation = 0xc0 ); // 36 00 c00x15f7    Wait( 0x03 ); // 22 00 030x15fa    JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x1614 ); // 05 d5 11 7d ff 00 20 7f 02 0f 000x1605    GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f0x1614    Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa0x1617    0xec( 0x07, 0x10, bu[ script + 0x0011 ], 0x00, 0x00, 0x00 ); // ec 04 07 10 d5 11 7f 00 00 000x1621    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x1626    JumpTo( 0x1634 ); // 01 0b 000x1629    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x1631    Wait( 0x01 ); // 22 00 010x1634    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x1629 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x163f    JumpTo( 0x1645 ); // 01 03 000x1642    Wait( 0x01 ); // 22 00 010x1645    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x1642 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x1650    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x1658    JumpTo( 0x17ff ); // 01 a4 010x165b    Wait( 0x32 ); // 22 00 320x165e    0x1fSync( 0x04, 0x80, 0x002f ); // 1f 00 04 80 2f 000x1664    ResetEntityData30_50_63_78(); // 250x1665    MoveToPosition( x = 0x0050, y = 0xff83 ); // 23 00 50 00 83 ff0x166b    SetEntityRotateToRotation( rotation = 0x99, steps = 0x10 ); // 56 00 99 100x166f    WaitUntilRotationComplete(); // 500x1670    PlayEntityAnimation( animation_id = 0x03f9 ); // 40 00 f9 030x1674    Wait( 0x0a ); // 22 00 0a0x1677    0x1fSync( 0x04, 0x80, 0x0030 ); // 1f 00 04 80 30 000x167d    Wait( 0x01 ); // 22 00 010x1680    WaitUntilAnimationComplete(); // 410x1681    SetEntityRotateToRotation( rotation = 0x00, steps = 0x10 ); // 56 00 00 100x1685    WaitUntilRotationComplete(); // 500x1686    PlayEntityAnimation( animation_id = 0x3137 ); // 40 00 37 310x168a    0x1fSync( 0x04, 0x80, 0x0031 ); // 1f 00 04 80 31 000x1690    WaitUntilAnimationComplete(); // 410x1691    InitAdditionalScriptEntityForCurrentEntity( entity_id = 0x10 ); // 43 00 100x1694    ResetEntityData30_50_63_78(); // 250x1695    MoveToPosition( x = 0x03e8, y = 0x00ab ); // 23 00 e8 03 ab 000x169b    SetEntityRotateToRotation( rotation = 0x40, steps = 0x20 ); // 56 00 40 200x169f    WaitUntilRotationComplete(); // 500x16a0    PlayEntityAnimation( animation_id = 0x03f4 ); // 40 00 f4 030x16a4    0x1fSync( 0x04, 0x80, 0x0032 ); // 1f 00 04 80 32 000x16aa    WaitUntilAnimationComplete(); // 410x16ab    SetEntityRotateToRotation( rotation = 0xc0, steps = 0x20 ); // 56 00 c0 200x16af    WaitUntilRotationComplete(); // 500x16b0    PlayEntityAnimation( animation_id = 0x03f7 ); // 40 00 f7 030x16b4    Wait( 0x07 ); // 22 00 070x16b7    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x16bc    JumpTo( 0x16ca ); // 01 0b 000x16bf    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x16c7    Wait( 0x01 ); // 22 00 010x16ca    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x16bf ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x16d5    JumpTo( 0x16db ); // 01 03 000x16d8    Wait( 0x01 ); // 22 00 010x16db    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x16d8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x16e6    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x16ee    JumpTo( 0x17ff ); // 01 0e 010x16f1    SetEntityCollision( 0x0a, solid_radius = 0x0a, talk_radius = 0x0a ); // 4b 00 0a 0a 0a0x16f6    CallFuncc47e4( 0x01, 0x01 ); // cb 00 01 010x16fa    CallDynamic8006794c_1c_83c( 0x6201, 0xffff, 0x000050, 0x00, 0x00 ); // c6 00 01 62 ff ff 50 00 000x1703    CallDynamic8006794c_1c_83c( 0xa000, 0x0004, 0x0000b7, 0x00, 0x00 ); // c7 00 00 a0 04 00 b7 00 00 000x170d    CallFuncc18d4( 0x01, 0x00, 0x04 ); // 65 00 01 00 040x1712    CallFuncc17f0( 0x01, 0x0100 ); // 61 00 01 00 010x1717    Wait( 0x03 ); // 22 00 030x171a    WaitUntilAnimationComplete(); // 410x171b    ResetEntityData30_50_63_78(); // 250x171c    MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 010x1722    Wait( 0x1e ); // 22 00 1e0x1725    CallFuncc0df4( 0x013e, 0x00a1, 0x3c, 0x08 ); // 6f 00 3e 01 a1 00 3c 080x172d    Wait( 0x2d ); // 22 00 2d0x1730    [ script + 0x0011 ] = b( 0x000000c0 ); // 05 d5 11 7d c0 00 2c 7f0x1738    [ script + 0x0014 ] = b( b[ script + 0x0014 ] | 0x04 ); // 05 c5 a2 7d 01 00 2c 7f0x1740    [ script + 0x0014 ] = b( b[ script + 0x0014 ] | 0x08 ); // 05 c5 a3 7d 01 00 2c 7f0x1748    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f0x1750    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x176e ); // 05 c5 9f 7d 01 00 20 7f 02 13 000x175b    0x2d(); // 2d0x175c    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x176b ); // 05 c5 90 7d 00 00 20 7f 02 04 000x1767    [80073998] = w(w[80073998] | 00040000); // ab0x1768    JumpTo( 0x176e ); // 01 03 000x176b    Wait( 0x01 ); // 22 00 010x176e    Set800c9df1( 0x7f ); // 27 00 7f0x1771    CallDynamic8006794c_1c_8bc( 0x05, 0x0034 ); // fd 00 05 34 000x1776    [ script + 0x0015 ] = h( 0x00000034 ); // 05 d9 15 7d 34 00 2c 7f0x177e    JumpIf( ( bu[ script + 0x0011 ] == 0x000000ff ) == false )To( 0x1798 ); // 05 d5 11 7d ff 00 20 7f 02 0f 000x1789    GetRotationBy( ( 0x000000a0 - w[8007ae2c] ), ( 0x00000070 - w[8007ae30] ) ); // 05 7a 0c 7d a0 00 15 7a 0d 7d 70 00 15 66 7f0x1798    Set8007ae2cAnd8007ae30WithScreenXYForEntity( 0xfa ); // a9 00 fa0x179b    0xec( 0x06, 0x18, bu[ script + 0x0011 ], 0xff, 0xff, 0xff ); // ec 04 06 18 d5 11 7f ff ff ff0x17a5    Wait( 0x19 ); // 22 00 190x17a8    JumpIf( ( (bu[ script + 0x0014 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x17c1 ); // 05 c5 a7 7d 01 00 20 7f 02 0e 000x17b3    CallDynamic8006794c_1c_83c( 0x0109, 0xffff, 0x00, 0x00, 0x00 ); // c5 00 09 01 ff ff0x17b9    [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f0x17c1    JumpIf( ( (bu[ script + 0x0014 ] >> 0x02) & 1 == 0x00000000 ) == false )To( 0x17e8 ); // 05 c5 a2 7d 00 00 20 7f 02 1c 000x17cc    JumpIf( ( bu[ 0x8007aef0 + 0x000d ] < 0x00000009 ) == false )To( 0x17df ); // 05 d4 0d 7d 09 00 18 7f 02 08 000x17d7    [ 0x8007aef0 + 0x000d ] = b( 0x00000003 ); // 05 d4 0d 7d 03 00 2c 7f0x17df    CallDynamic8006794c_1c_83c( 0x5180, 0x0283, 0x000000, 0x00, 0x00 ); // c6 00 80 51 83 02 00 00 000x17e8    JumpIf( ( (bu[ script + 0x0014 ] >> 0x03) & 1 == 0x00000000 ) == false )To( 0x17f3 ); // 05 c5 a3 7d 00 00 20 7f 02 00 000x17f3    [ 0x8007aef0 + 0x0002 ] = h( 0x00000064 ); // 05 d8 02 7d 64 00 2c 7f0x17fb    0x2b( 0x0034 ); // 2b 00 34 000x17ff    Wait( 0x01 ); // 22 00 010x1802    JumpTo( 0x15db ); // 01 d6 fdENTITY: entity_id = 0x10SCRIPT: script_id = 0x00script = w[8007aecc];0x180e    Wait( 0x0f ); // 22 00 0f0x1811    JumpTo( 0x1817 ); // 01 03 000x1814    Wait( 0x01 ); // 22 00 010x1817    JumpIf( ( bu[ script + 0x002c ] == 0x00000000 ) == true )To( 0x1814 ); // 05 d5 2c 7d 00 00 20 7f 03 f2 ff0x1822    CallDynamic8006794c_1c_83c( 0x0000, 0x000c, 0x00, 0x00, 0x00 ); // c5 00 00 00 0c 000x1828    JumpTo( 0x182e ); // 01 03 000x182b    Wait( 0x01 ); // 22 00 010x182e    JumpIf( ( funcb0124( 0xc00, 0xffffffff, 0, 0, 0 ) != 0x00000000 ) == true )To( 0x182b ); // 05 7a 03 7d 00 00 21 7f 03 f2 ff0x1839    [ 0x8007aef0 + 0x0008 ] = b( 0x0000007d ); // 05 d4 08 7d 7d 00 2c 7f0x1841    CallDynamic8006794c_1c_83c( 0x4201, 0x000c, bu[ 0x8007aef0 + 0x0008 ], 0x00, 0x00 ); // c6 04 01 42 0c 00 d4 08 7f0x184a    [ script + 0x0014 ] = b( b[ script + 0x0014 ] & 0x7f ); // 05 c5 a7 7d 00 00 2c 7f0x1852    MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff0x1855    Return(); // 04
 
3rd part of script =)
Code: [Select]
Code:
ENTITY: entity_id = 0x11SCRIPT: script_id = 0x00script = 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 000x187c    [ script + 0x0000 ] = h( 0x000002d9 ); // 05 d9 00 7d d9 02 2c 7f0x1884    [ script + 0x0004 ] = h( 0x000000e2 ); // 05 d9 04 7d e2 00 2c 7f0x188c    [ script + 0x0006 ] = h( 0x00000000 ); // 05 d9 06 7d 00 00 2c 7f0x1894    JumpTo( 0x18cd ); // 01 36 000x1897    [ script + 0x0000 ] = h( 0x0000fd3b ); // 05 d9 00 7d 3b fd 2c 7f0x189f    [ script + 0x0004 ] = h( 0x0000001b ); // 05 d9 04 7d 1b 00 2c 7f0x18a7    [ script + 0x0006 ] = h( 0x00000000 ); // 05 d9 06 7d 00 00 2c 7f0x18af    JumpTo( 0x18cd ); // 01 1b 000x18b2    [ script + 0x0000 ] = h( 0x00000019 ); // 05 d9 00 7d 19 00 2c 7f0x18ba    [ script + 0x0004 ] = h( 0x0000fbb4 ); // 05 d9 04 7d b4 fb 2c 7f0x18c2    [ script + 0x0006 ] = h( 0x00000080 ); // 05 d9 06 7d 80 00 2c 7f0x18ca    JumpTo( 0x18cd ); // 01 00 000x18cd    Set32and34inEntityStruct( 0x0062, 0x5d ); // 2f 00 62 00 5d0x18d2    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x18da    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x18df    SetEntityData54( animation_id = 0x00c8 ); // 33 00 c8 000x18e3    SetEntityData56( animation_id = 0x0019 ); // 34 00 19 000x18e7    SetEntityData58( animation_id = 0x0026 ); // 35 00 26 000x18eb    SetEntityData4c( animation_id = 0x0028 ); // 7a 00 28 000x18ef    SetEntityData4e( animation_id = 0x0029 ); // 7b 00 29 000x18f3    SetEntityData74( 0x0036 ); // 52 00 36 000x18f7    SetEntityCollision( 0x14, solid_radius = 0x18, talk_radius = 0x28 ); // 4b 00 14 18 280x18fc    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x1902    SetEntityData6a_6b( 0x61, 0x3d ); // 8b 00 61 3d0x1906    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x190c    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1912    CallFuncaba98( 0x10, 0x0019, 0x0004, 0x0392 ); // 88 00 10 19 00 04 00 92 030x191b    CallFuncaba98( 0x11, 0x0019, 0x0004, 0x039b ); // 88 00 11 19 00 04 00 9b 030x1924    CallFuncaba98( 0x12, 0x0019, 0x0004, 0x0001 ); // 88 00 12 19 00 04 00 01 000x192d    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1933    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1939    CallFuncaba98( 0x10, 0x0019, 0x000d, 0x0392 ); // 88 00 10 19 00 0d 00 92 030x1942    CallFuncaba98( 0x11, 0x0019, 0x000d, 0x039b ); // 88 00 11 19 00 0d 00 9b 030x194b    CallFuncaba98( 0x12, 0x0019, 0x000d, 0x0001 ); // 88 00 12 19 00 0d 00 01 000x1954    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x195a    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1960    CallFuncaba98( 0x10, 0x0026, 0x0000, 0x0392 ); // 88 00 10 26 00 00 00 92 030x1969    CallFuncaba98( 0x11, 0x0026, 0x0000, 0x039b ); // 88 00 11 26 00 00 00 9b 030x1972    CallFuncaba98( 0x12, 0x0026, 0x0000, 0x0001 ); // 88 00 12 26 00 00 00 01 000x197b    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1981    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1987    CallFuncaba98( 0x10, 0x0026, 0x0008, 0x0392 ); // 88 00 10 26 00 08 00 92 030x1990    CallFuncaba98( 0x11, 0x0026, 0x0008, 0x039b ); // 88 00 11 26 00 08 00 9b 030x1999    CallFuncaba98( 0x12, 0x0026, 0x0008, 0x0001 ); // 88 00 12 26 00 08 00 01 000x19a2    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x19a5    CallFuncc02d0( 0x11, 0x00f0, 0x88, 0x04, 0x00, 0x00, 0x00 ); // 92 00 11 f0 00 88 04 00 00 000x19af    [ script + 0x1700 ] = h( -1 ); // 900x19b0    [ script + 0x16ed ] = h( GetCurrentEntityId() ); // 2c0x19b1    [ script + 0x001f ] = b( 0x00000038 ); // 05 d5 1f 7d 38 00 2c 7f0x19b9    [ script + 0x0020 ] = b( 0x00000030 ); // 05 d5 20 7d 30 00 2c 7f0x19c1    [ script + 0x0021 ] = b( 0x00000030 ); // 05 d5 21 7d 30 00 2c 7f0x19c9    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x19d5    Wait( 0x01 ); // 22 00 010x19d8    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x19e4    0x80(); // 800x19e5    Return(); // 04SCRIPT: script_id = 0x0bscript = w[8007aecc];0x19e6    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x19ec    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x19f2    CallFuncaba98( 0x10, 0x0019, 0x0004, 0x0392 ); // 88 00 10 19 00 04 00 92 030x19fb    CallFuncaba98( 0x11, 0x0019, 0x0004, 0x039b ); // 88 00 11 19 00 04 00 9b 030x1a04    CallFuncaba98( 0x12, 0x0019, 0x0004, 0x0001 ); // 88 00 12 19 00 04 00 01 000x1a0d    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1a13    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1a19    CallFuncaba98( 0x10, 0x0019, 0x000d, 0x0392 ); // 88 00 10 19 00 0d 00 92 030x1a22    CallFuncaba98( 0x11, 0x0019, 0x000d, 0x039b ); // 88 00 11 19 00 0d 00 9b 030x1a2b    CallFuncaba98( 0x12, 0x0019, 0x000d, 0x0001 ); // 88 00 12 19 00 0d 00 01 000x1a34    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1a3a    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1a40    CallFuncaba98( 0x10, 0x0026, 0x0000, 0x0392 ); // 88 00 10 26 00 00 00 92 030x1a49    CallFuncaba98( 0x11, 0x0026, 0x0000, 0x039b ); // 88 00 11 26 00 00 00 9b 030x1a52    CallFuncaba98( 0x12, 0x0026, 0x0000, 0x0001 ); // 88 00 12 26 00 00 00 01 000x1a5b    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1a61    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1a67    CallFuncaba98( 0x10, 0x0026, 0x0008, 0x0392 ); // 88 00 10 26 00 08 00 92 030x1a70    CallFuncaba98( 0x11, 0x0026, 0x0008, 0x039b ); // 88 00 11 26 00 08 00 9b 030x1a79    CallFuncaba98( 0x12, 0x0026, 0x0008, 0x0001 ); // 88 00 12 26 00 08 00 01 000x1a82    Return(); // 04SCRIPT: script_id = 0x01script = 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 0c0x1aab    SetEntityData5c( 0x0f ); // 26 00 0f0x1aae    Wait( 0x19 ); // 22 00 190x1ab1    0x1fSync( 0x02, 0x80, 0x0022 ); // 1f 00 02 80 22 000x1ab7    ResetEntityData30_50_63_78(); // 250x1ab8    MoveToPosition( x = 0x0019, y = 0xfd68 ); // 23 00 19 00 68 fd0x1abe    Wait( 0x05 ); // 22 00 050x1ac1    PlayEntityAnimation( animation_id = 0x0a9f ); // 40 00 9f 0a0x1ac5    Wait( 0x0a ); // 22 00 0a0x1ac8    0x1fSync( 0x02, 0x80, 0x0023 ); // 1f 00 02 80 23 000x1ace    WaitUntilAnimationComplete(); // 410x1acf    Wait( 0x0a ); // 22 00 0a0x1ad2    PlayEntityAnimation( animation_id = 0x0a9d ); // 40 00 9d 0a0x1ad6    Wait( 0x3d ); // 22 00 3d0x1ad9    CallDynamic8006794c_1c_83c( 0xd000, 0x015d, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 5d 01 00 00 00 80 7d0x1ae4    WaitUntilAnimationComplete(); // 410x1ae5    SetEntityData54( animation_id = 0x0a9b ); // 33 00 9b 0a0x1ae9    SetEntityData56( animation_id = 0x0a99 ); // 34 00 99 0a0x1aed    SetEntityData4c( animation_id = 0x0aa3 ); // 7a 00 a3 0a0x1af1    SetEntityData4e( animation_id = 0x0aa5 ); // 7b 00 a5 0a0x1af5    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1afb    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1b01    CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 030x1b0a    CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 030x1b13    CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 000x1b1c    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x1b22    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x1b28    CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 030x1b31    CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 030x1b3a    CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 000x1b43    InitScriptEntity( entity_id = 0x01, shared_id = 0x00 ); // 07 01 000x1b46    0x7f(); // 7f0x1b47    Wait( 0x01 ); // 22 00 010x1b4a    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x1b56    ( hu[ script + 0x0022 ] += 0x00000004 ); // 05 dd 22 7d 04 00 32 7f0x1b5e    JumpIf( ( bu[ script + 0x001f ] < 0x00000060 ) == false )To( 0x1b81 ); // 05 d5 1f 7d 60 00 18 7f 02 18 000x1b69    ( bu[ script + 0x001f ] += 0x00000002 ); // 05 d5 1f 7d 02 00 32 7f0x1b71    ( bu[ script + 0x0020 ] += 0x00000002 ); // 05 d5 20 7d 02 00 32 7f0x1b79    ( bu[ script + 0x0021 ] += 0x00000002 ); // 05 d5 21 7d 02 00 32 7f0x1b81    JumpIf( ( hu[ script + 0x0024 ] < 0x00000080 ) == false )To( 0x1b94 ); // 05 dd 24 7d 80 00 18 7f 02 08 000x1b8c    ( hu[ script + 0x0024 ] += 0x00000004 ); // 05 dd 24 7d 04 00 32 7f0x1b94    JumpIf( ( hu[ script + 0x0022 ] < 0x00000080 ) == true )To( 0x1b47 ); // 05 dd 22 7d 80 00 18 7f 03 a8 ff0x1b9f    [ script + 0x0022 ] = h( 0x00000080 ); // 05 dd 22 7d 80 00 2c 7f0x1ba7    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x1bb3    Wait( 0x01 ); // 22 00 010x1bb6    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x1bc2    [ 0x8007aef0 + 0x0015 ] = h( 0x00000001 ); // 05 dc 15 7d 01 00 2c 7f0x1bca    0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f0x1bcf    [ 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 7f0x1be0    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x1be8    JumpTo( 0x1c03 ); // 01 18 000x1beb    JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x1bfe ); // 05 d9 08 6b 7f 02 0b 000x1bf3    ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f0x1bfe    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x1c03    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1beb ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x1c0e    JumpIf( 0x00000001 == false )To( 0x1c1e ); // 05 7d 01 00 7f 02 08 000x1c16    ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f0x1c1e    JumpIf( 0x00000000 == false )To( 0x1c30 ); // 05 7d 00 00 7f 02 0a 000x1c26    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x1c30    JumpIf( 0x00000000 == false )To( 0x1c42 ); // 05 7d 00 00 7f 02 0a 000x1c38    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x1c42    JumpIf( 0x00000000 == false )To( 0x1c54 ); // 05 7d 00 00 7f 02 0a 000x1c4a    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x1c54    [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f0x1c5e    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x1c66    JumpTo( 0x1c81 ); // 01 18 000x1c69    JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x1c7c ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 000x1c77    PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f0x1c7c    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x1c81    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x1c69 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x1c8c    JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x1ca2 ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 000x1c99    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f0x1ca2    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1cb8 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x1caf    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x1cb8    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1cce ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x1cc5    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x1cce    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x1ce4 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x1cdb    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x1ce4    [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f0x1ced    [ 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 7f0x1cfe    JumpIf( 0x00000001 == false )To( 0x1d14 ); // 05 7d 01 00 7f 02 0e 000x1d06    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x1d0c    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x1d14    JumpIf( 0x00000000 == false )To( 0x1d2a ); // 05 7d 00 00 7f 02 0e 000x1d1c    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x1d22    [ script + 0x000a ] = h( 0x0000ffff ); // 05 d9 0a 7d ff ff 2c 7f0x1d2a    JumpIf( 0x00000000 == false )To( 0x1d40 ); // 05 7d 00 00 7f 02 0e 000x1d32    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x1d38    [ script + 0x000c ] = h( 0x0000ffff ); // 05 d9 0c 7d ff ff 2c 7f0x1d40    JumpIf( 0x00000000 == false )To( 0x1d56 ); // 05 7d 00 00 7f 02 0e 000x1d48    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x1d4e    [ script + 0x000e ] = h( 0x0000ffff ); // 05 d9 0e 7d ff ff 2c 7f0x1d56    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f0x1d67    JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x1d86 ); // 05 d9 08 7d 63 00 21 7f 02 14 000x1d72    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x1d86 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 000x1d7e    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f0x1d86    JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x1da5 ); // 05 d9 0a 7d 63 00 21 7f 02 14 000x1d91    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x1da5 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 000x1d9d    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f0x1da5    JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x1dc4 ); // 05 d9 0c 7d 63 00 21 7f 02 14 000x1db0    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x1dc4 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 000x1dbc    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f0x1dc4    JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x1de3 ); // 05 d9 0e 7d 63 00 21 7f 02 14 000x1dcf    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x1de3 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 000x1ddb    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f0x1de3    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 000x1df7    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 000x1e09    CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 000x1e10    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 000x1e22    CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 000x1e29    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 000x1e3b    CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 000x1e42    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 000x1e54    CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 000x1e5b    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x1e5f    CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f0x1e63    CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f0x1e67    CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f0x1e6b    CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f0x1e6f    CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f0x1e73    CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f0x1e77    CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f0x1e7b    CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f0x1e7f    JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x1e93 ); // 05 7d 05 00 6b 7f 02 0b 000x1e88    [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f0x1e90    JumpTo( 0x1e9b ); // 01 08 000x1e93    [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f0x1e9b    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 000x1eae    CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0x00, 0x09, 0x00 ); // fe 00 00 01 00 09 000x1eb5    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f0x1ebd    CharacterSet34Flag00000200( character_id = 0x00, 0x01 ); // 62 00 00 010x1ec1    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 000x1ed4    CharacterInit( character_id = 0x02, type = 0x01, preset_id = 0x02, 0x06, 0x02 ); // fe 00 02 01 02 06 020x1edb    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000004 ); // 05 dc 13 7d 04 00 3f 7f0x1ee3    CharacterSet34Flag00000200( character_id = 0x02, 0x00 ); // 62 00 02 000x1ee7    CharacterSetHP( character_id = 0x00, hp = 0x270f ); // f1 00 00 0f 270x1eec    CharacterSetMP( character_id = 0x00, mp = 0x03e7 ); // f2 00 00 e7 030x1ef1    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x1ef5    CharacterSetName( character_id = 0x00, string_id = 0x0013 ); // de 00 00 13 000x1efa    [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f0x1f02    [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f0x1f0a    [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f0x1f12    JumpIf( ( hu[ 0x8007aef0 + 0x0000 ] > 0x000003e8 ) == false )To( 0x1f64 ); // 05 dc 00 7d e8 03 19 7f 02 47 000x1f1d    Wait( 0x0a ); // 22 00 0a0x1f20    Set8007bba8( 0x00, hu[ 0x8007aef0 + 0x0000 ] ); // 66 02 00 dc 00 7f0x1f26    Set8007bba8( 0x01, 0x03e8 ); // 66 00 01 e8 030x1f2b    Set8007bba8( 0x02, b[ 0x8007aef0 + 0x001c ] ); // 66 02 02 d0 1c 7f0x1f31    0x20Async( 0x06, 0x00, 0x0002 ); // 20 00 06 00 02 000x1f37    0x8e(); // 8e0x1f38    JumpTo( 0x1f3e ); // 01 03 000x1f3b    Wait( 0x01 ); // 22 00 010x1f3e    JumpIf( ( ( IsButtonPressed( 0x00000001 ) || IsButtonPressed( 0x00000008 ) ) == false ) == true )To( 0x1f3b ); // 05 7d 01 00 4f 7d 08 00 4f 28 0e 7f 03 ee ff0x1f4d    JumpIf( IsButtonPressed( 0x00000008 ) == false )To( 0x1f5e ); // 05 7d 08 00 4f 7f 02 08 000x1f56    [ 0x8007aef0 + 0x0000 ] = h( 0x000003e8 ); // 05 dc 00 7d e8 03 2c 7f0x1f5e    0x21( 0x06 ); // 21 00 060x1f61    JumpTo( 0x1f6c ); // 01 08 000x1f64    [ 0x8007aef0 + 0x0000 ] = h( 0x000003e8 ); // 05 dc 00 7d e8 03 2c 7f0x1f6c    CallFuncc778c( 0x0029, 0x00 ); // 9a 00 29 00 000x1f71    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x1f79    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x1f9f ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x1f84    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x1f9f ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x1f8f    0x2e(); // 2e0x1f90    Set800c9df1( 0xff ); // 27 00 ff0x1f93    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x1f9f ); // 05 c5 90 7d 00 00 20 7f 02 01 000x1f9e    [80073998] = w(w[80073998] & fffbffff); // aa0x1f9f    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x1fa7    JumpTo( 0x27c1 ); // 01 17 080x1faa    CallFuncc47e4( 0x01, 0x00 ); // cb 00 01 000x1fae    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 000x1fc7    [ script + 0x0013 ] = b( b[ script + 0x0013 ] & 0xbf ); // 05 c5 9e 7d 00 00 2c 7f0x1fcf    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x1fed ); // 05 c5 9f 7d 01 00 20 7f 02 13 000x1fda    0x2d(); // 2d0x1fdb    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x1fea ); // 05 c5 90 7d 00 00 20 7f 02 04 000x1fe6    [80073998] = w(w[80073998] | 00040000); // ab0x1fe7    JumpTo( 0x1fed ); // 01 03 000x1fea    Wait( 0x01 ); // 22 00 010x1fed    Set800c9df1( 0x7f ); // 27 00 7f0x1ff0    [ script + 0x002a ] = b( 0x00000003 ); // 05 d5 2a 7d 03 00 2c 7f0x1ff8    0x21( 0x01 ); // 21 00 010x1ffb    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000000, 0x0000015e ), steps = 0x10 ); // 56 01 7d 00 00 7d 5e 01 5d 7f 100x2006    WaitUntilRotationComplete(); // 500x2007    0x1fSync( 0x02, 0x80, 0x0024 ); // 1f 00 02 80 24 000x200d    JumpIf( ( Func4ecc4() == 0x00000001 ) == false )To( 0x205c ); // 05 7a 09 7d 01 00 20 7f 02 44 000x2018    [ script + 0x0013 ] = b( b[ script + 0x0013 ] | 0x40 ); // 05 c5 9e 7d 01 00 2c 7f0x2020    JumpIf( ( (bu[ script + 0x0013 ] >> 0x07) & 1 == 0x00000001 ) == false )To( 0x2046 ); // 05 c5 9f 7d 01 00 20 7f 02 1b 000x202b    JumpIf( ( (bu[ script + 0x0013 ] >> 0x04) & 1 == 0x00000000 ) == false )To( 0x2046 ); // 05 c5 9c 7d 00 00 20 7f 02 10 000x2036    0x2e(); // 2e0x2037    Set800c9df1( 0xff ); // 27 00 ff0x203a    JumpIf( ( (bu[ script + 0x0012 ] >> 0x00) & 1 == 0x00000000 ) == false )To( 0x2046 ); // 05 c5 90 7d 00 00 20 7f 02 01 000x2045    [80073998] = w(w[80073998] & fffbffff); // aa0x2046    [ script + 0x0028 ] = h( ( 0x00000002 / h[ script + 0x0028 ] ) ); // 05 d9 28 d9 28 7d 02 00 12 2c 7f0x2051    [ script + 0x002a ] = b( 0x00000000 ); // 05 d5 2a 7d 00 00 2c 7f0x2059    JumpTo( 0x27c1 ); // 01 65 070x205c    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2064    JumpTo( 0x27c1 ); // 01 5a 070x2067    [ script + 0x0026 ] = b( 0x00000000 ); // 05 d5 26 7d 00 00 2c 7f0x206f    JumpTo( 0x27c1 ); // 01 4f 070x2072    CallFuncc47e4( 0x01, 0x01 ); // cb 00 01 010x2076    PlayEntityAnimation( animation_id = 0x0aa1 ); // 40 00 a1 0a0x207a    SetEntityData54( animation_id = 0x0144 ); // 33 00 44 010x207e    SetEntityData56( animation_id = 0x0019 ); // 34 00 19 000x2082    SetEntityData4c( animation_id = 0x0028 ); // 7a 00 28 000x2086    SetEntityData4e( animation_id = 0x0029 ); // 7b 00 29 000x208a    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x2090    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x2096    CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 030x209f    CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 030x20a8    CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 000x20b1    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x20b7    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x20bd    CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 030x20c6    CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 030x20cf    CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 000x20d8    Wait( 0x19 ); // 22 00 190x20db    [ script + 0x001e ] = b( 0x00000001 ); // 05 d5 1e 7d 01 00 2c 7f0x20e3    CallFuncafac0( 0x01, 0x82, 0x002a, 0x0000, 0x0000 ); // b3 00 01 82 2a 00 00 00 00 000x20ed    CallFuncafac0( 0x01, 0x87, 0xfff4, 0xfe43, 0x00b4 ); // b3 00 01 87 f4 ff 43 fe b4 000x20f7    CallFuncafac0( 0x01, 0x8c, 0x0000, 0x0000, 0x0000 ); // b3 00 01 8c 00 00 00 00 00 000x2101    CallFuncafac0( 0x01, 0x91, 0x03a8, 0x0000, 0x0000 ); // b3 00 01 91 a8 03 00 00 00 000x210b    CallFuncafac0( 0x01, 0x9b, 0x0080, 0x0000, 0x0000 ); // b3 00 01 9b 80 00 00 00 00 000x2115    CallFuncafac0( 0x01, 0xa0, 0x0010, 0x0000, 0x0000 ); // b3 00 01 a0 10 00 00 00 00 000x211f    CallFuncafac0( 0x01, 0xaa, 0x0000, 0x0000, 0x0000 ); // b3 00 01 aa 00 00 00 00 00 000x2129    CallFuncafac0( 0x01, 0x9c, 0x0001, 0x0000, 0x0000 ); // b3 00 01 9c 01 00 00 00 00 000x2133    Wait( 0x05 ); // 22 00 050x2136    CallFuncafac0( 0x00, 0x82, 0xffff, 0x0000, 0x0000 ); // b3 00 00 82 ff ff 00 00 00 000x2140    MoveScriptToEnd( entity_id = 0x01 ); // 1c 00 010x2143    WaitUntilAnimationComplete(); // 410x2144    Wait( 0x01 ); // 22 00 010x2147    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x2153    JumpIf( ( bu[ script + 0x001f ] < 0x00000068 ) == false )To( 0x2176 ); // 05 d5 1f 7d 68 00 18 7f 02 18 000x215e    ( bu[ script + 0x001f ] += 0x00000004 ); // 05 d5 1f 7d 04 00 32 7f0x2166    ( bu[ script + 0x0020 ] += 0x00000004 ); // 05 d5 20 7d 04 00 32 7f0x216e    ( bu[ script + 0x0021 ] += 0x00000004 ); // 05 d5 21 7d 04 00 32 7f0x2176    ( hu[ script + 0x0024 ] -= 0x00000008 ); // 05 dd 24 7d 08 00 33 7f0x217e    JumpIf( ( hu[ script + 0x0024 ] > 0x00000000 ) == true )To( 0x2144 ); // 05 dd 24 7d 00 00 19 7f 03 bb ff0x2189    [ script + 0x0024 ] = h( 0x00000000 ); // 05 dd 24 7d 00 00 2c 7f0x2191    CallFuncc142c( 0x11, 0x00 ); // 5b 00 11 000x2195    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x21a1    Wait( 0x01 ); // 22 00 010x21a4    0x8f( entity_id = 0xff, bu[ script + 0x001f ], bu[ script + 0x0020 ], bu[ script + 0x0021 ] ); // 8f 0e ff d5 1f 7f d5 20 7f d5 21 7f0x21b0    Wait( 0x0a ); // 22 00 0a0x21b3    CallFuncc0df4( 0x012c, 0x0096, 0x08, 0x08 ); // 6f 00 2c 01 96 00 08 080x21bb    Wait( 0x08 ); // 22 00 080x21be    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x21c6    JumpTo( 0x27c1 ); // 01 f8 050x21c9    [ script + 0x001a ] = b( 0x00000002 ); // 05 d5 1a 7d 02 00 2c 7f0x21d1    Wait( 0x01 ); // 22 00 010x21d4    Wait( 0x05 ); // 22 00 050x21d7    SetEntityRotateToEntity( entity_id = 0x16, steps = 0x10 ); // 51 00 16 100x21db    WaitUntilRotationComplete(); // 500x21dc    Wait( 0x01 ); // 22 00 010x21df    [ 0x8007aef0 + 0x0015 ] = h( 0x00000001 ); // 05 dc 15 7d 01 00 2c 7f0x21e7    0xb4( hu[ 0x8007aef0 + 0x0015 ] ); // b4 01 dc 15 7f0x21ec    [ 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 7f0x21fd    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x2205    JumpTo( 0x2220 ); // 01 18 000x2208    JumpIf( CallFunc4b85c( h[ script + 0x0008 ] ) == false )To( 0x221b ); // 05 d9 08 6b 7f 02 0b 000x2210    ( h[ script + 0x000a ] |= ( 0x00000001 << h[ script + 0x0008 ] ) ); // 05 d9 0a 7d 01 00 d9 08 16 3f 7f0x221b    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x2220    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x2208 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x222b    JumpIf( 0x00000001 == false )To( 0x223b ); // 05 7d 01 00 7f 02 08 000x2233    ( h[ script + 0x000c ] |= 0x00000001 ); // 05 d9 0c 7d 01 00 3f 7f0x223b    JumpIf( 0x00000000 == false )To( 0x224d ); // 05 7d 00 00 7f 02 0a 000x2243    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x224d    JumpIf( 0x00000000 == false )To( 0x225f ); // 05 7d 00 00 7f 02 0a 000x2255    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x225f    JumpIf( 0x00000000 == false )To( 0x2271 ); // 05 7d 00 00 7f 02 0a 000x2267    ( h[ script + 0x000c ] |= 0x00000000 ); // 05 d9 0c 7e 00 00 00 80 3f 7f0x2271    [ script + 0x000e ] = h( ( h[ script + 0x000a ] XOR h[ script + 0x000c ] ) ); // 05 d9 0e d9 0a d9 0c 25 2c 7f0x227b    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x2283    JumpTo( 0x229e ); // 01 18 000x2286    JumpIf( ( ( h[ script + 0x000e ] >> h[ script + 0x0008 ] ) & 0x00000001 ) == false )To( 0x2299 ); // 05 d9 0e d9 08 17 7d 01 00 24 7f 02 05 000x2294    PartyRemove( character_id = h[ script + 0x0008 ] ); // dd 01 d9 08 7f0x2299    ( h[ script + 0x0008 ]++ ); // 05 d9 08 04 7f0x229e    JumpIf( ( h[ script + 0x0008 ] <= 0x0000000b ) == true )To( 0x2286 ); // 05 d9 08 7d 0b 00 1a 7f 03 dd ff0x22a9    JumpIf( ( CallFunc4b85c( 0x00000000 ) == 0x00000000 ) == false )To( 0x22bf ); // 05 7d 00 00 6b 7d 00 00 20 7f 02 09 000x22b6    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d 00 00 6d 2c 7f0x22bf    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x22d5 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x22cc    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x22d5    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x22eb ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x22e2    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x22eb    JumpIf( ( CallFunc4b85c( 0x0000ffff ) == 0x00000000 ) == false )To( 0x2301 ); // 05 7d ff ff 6b 7d 00 00 20 7f 02 09 000x22f8    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x08 ); // 05 c5 93 7d ff ff 6d 2c 7f0x2301    [ 0x8007aef0 + 0x002f ] = b( 0x00000000 ); // 05 f4 2f 01 7d 00 00 2c 7f0x230a    [ 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 7f0x231b    JumpIf( 0x00000001 == false )To( 0x2331 ); // 05 7d 01 00 7f 02 0e 000x2323    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x2329    [ script + 0x0008 ] = h( 0x00000000 ); // 05 d9 08 7d 00 00 2c 7f0x2331    JumpIf( 0x00000000 == false )To( 0x2347 ); // 05 7d 00 00 7f 02 0e 000x2339    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x233f    [ script + 0x000a ] = h( 0x0000ffff ); // 05 d9 0a 7d ff ff 2c 7f0x2347    JumpIf( 0x00000000 == false )To( 0x235d ); // 05 7d 00 00 7f 02 0e 000x234f    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x2355    [ script + 0x000c ] = h( 0x0000ffff ); // 05 d9 0c 7d ff ff 2c 7f0x235d    JumpIf( 0x00000000 == false )To( 0x2373 ); // 05 7d 00 00 7f 02 0e 000x2365    ( bu[ 0x8007aef0 + 0x002f ]++ ); // 05 f4 2f 01 04 7f0x236b    [ script + 0x000e ] = h( 0x0000ffff ); // 05 d9 0e 7d ff ff 2c 7f0x2373    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 c5 95 c5 96 c5 97 7d 00 00 2c 2c 2c 2c 7f0x2384    JumpIf( ( h[ script + 0x0008 ] != 0x00000063 ) == false )To( 0x23a3 ); // 05 d9 08 7d 63 00 21 7f 02 14 000x238f    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x0008 ] ) == 0x00000000 ) == false )To( 0x23a3 ); // 05 d9 08 52 7d 00 00 20 7f 02 08 000x239b    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x10 ); // 05 c5 94 7d 01 00 2c 7f0x23a3    JumpIf( ( h[ script + 0x000a ] != 0x00000063 ) == false )To( 0x23c2 ); // 05 d9 0a 7d 63 00 21 7f 02 14 000x23ae    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000a ] ) == 0x00000000 ) == false )To( 0x23c2 ); // 05 d9 0a 52 7d 00 00 20 7f 02 08 000x23ba    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x20 ); // 05 c5 95 7d 01 00 2c 7f0x23c2    JumpIf( ( h[ script + 0x000c ] != 0x00000063 ) == false )To( 0x23e1 ); // 05 d9 0c 7d 63 00 21 7f 02 14 000x23cd    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000c ] ) == 0x00000000 ) == false )To( 0x23e1 ); // 05 d9 0c 52 7d 00 00 20 7f 02 08 000x23d9    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x40 ); // 05 c5 96 7d 01 00 2c 7f0x23e1    JumpIf( ( h[ script + 0x000e ] != 0x00000063 ) == false )To( 0x2400 ); // 05 d9 0e 7d 63 00 21 7f 02 14 000x23ec    JumpIf( ( GetCurrentHpForCharacter( h[ script + 0x000e ] ) == 0x00000000 ) == false )To( 0x2400 ); // 05 d9 0e 52 7d 00 00 20 7f 02 08 000x23f8    [ script + 0x0012 ] = b( b[ script + 0x0012 ] | 0x80 ); // 05 c5 97 7d 01 00 2c 7f0x2400    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 000x2414    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 000x2426    CharacterSetHP( character_id = h[ script + 0x0008 ], hp = 0x0001 ); // f1 01 d9 08 7f 01 000x242d    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 000x243f    CharacterSetHP( character_id = h[ script + 0x000a ], hp = 0x0001 ); // f1 01 d9 0a 7f 01 000x2446    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 000x2458    CharacterSetHP( character_id = h[ script + 0x000c ], hp = 0x0001 ); // f1 01 d9 0c 7f 01 000x245f    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 000x2471    CharacterSetHP( character_id = h[ script + 0x000e ], hp = 0x0001 ); // f1 01 d9 0e 7f 01 000x2478    CharacterRemoveStatuses( character_id = 0x00, status_mask = 0x7f ); // d9 00 00 7f0x247c    CharacterRemoveStatuses( character_id = 0x01, status_mask = 0x7f ); // d9 00 01 7f0x2480    CharacterRemoveStatuses( character_id = 0x03, status_mask = 0x7f ); // d9 00 03 7f0x2484    CharacterRemoveStatuses( character_id = 0x02, status_mask = 0x7f ); // d9 00 02 7f0x2488    CharacterRemoveStatuses( character_id = 0x04, status_mask = 0x7f ); // d9 00 04 7f0x248c    CharacterRemoveStatuses( character_id = 0x05, status_mask = 0x7f ); // d9 00 05 7f0x2490    CharacterRemoveStatuses( character_id = 0x07, status_mask = 0x7f ); // d9 00 07 7f0x2494    CharacterRemoveStatuses( character_id = 0x06, status_mask = 0x7f ); // d9 00 06 7f0x2498    CharacterRemoveStatuses( character_id = 0x08, status_mask = 0x7f ); // d9 00 08 7f0x249c    JumpIf( CallFunc4b85c( 0x00000005 ) == false )To( 0x24b0 ); // 05 7d 05 00 6b 7f 02 0b 000x24a5    [ 0x8007aef0 + 0x0004 ] = b( 0x00000001 ); // 05 d4 04 7d 01 00 2c 7f0x24ad    JumpTo( 0x24b8 ); // 01 08 000x24b0    [ 0x8007aef0 + 0x0004 ] = b( 0x00000000 ); // 05 d4 04 7d 00 00 2c 7f0x24b8    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 000x24cb    CharacterInit( character_id = 0x00, type = 0x01, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 01 ff 09 000x24d2    ( hu[ 0x8007aef0 + 0x0013 ] |= 0x00000001 ); // 05 dc 13 7d 01 00 3f 7f0x24da    [ 0x8007aef0 + 0x0011 ] = b( 0x00000000 ); // 05 d4 11 7d 00 00 2c 7f0x24e2    [ 0x8007aef0 + 0x0012 ] = b( 0x00000001 ); // 05 d4 12 7d 01 00 2c 7f0x24ea    CharacterSetName( character_id = 0x00, string_id = 0x0012 ); // de 00 00 12 000x24ef    CharacterInit( character_id = 0x00, type = 0x00, preset_id = 0xff, 0x09, 0x00 ); // fe 00 00 00 ff 09 000x24f6    Wait( 0x05 ); // 22 00 050x24f9    0x75( 0x01, 0x00 ); // 75 00 01 000x24fd    Wait( 0x0a ); // 22 00 0a0x2500    ( bu[ 0x8007aef0 + 0x0006 ] |= 0x00000001 ); // 05 d4 06 7d 01 00 3f 7f0x2508    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x250d    JumpTo( 0x251b ); // 01 0b 000x2510    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2518    Wait( 0x01 ); // 22 00 010x251b    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2510 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2526    JumpTo( 0x252c ); // 01 03 000x2529    Wait( 0x01 ); // 22 00 010x252c    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2529 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2537    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x253f    JumpTo( 0x27c1 ); // 01 7f 020x2542    Wait( 0x07 ); // 22 00 070x2545    PlayEntityAnimation( animation_id = 0x0a11 ); // 40 00 11 0a0x2549    0x1fSync( 0x02, 0x80, 0x0029 ); // 1f 00 02 80 29 000x254f    WaitUntilAnimationComplete(); // 410x2550    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2558    JumpTo( 0x27c1 ); // 01 66 020x255b    [ script + 0x001a ] = b( 0x00000004 ); // 05 d5 1a 7d 04 00 2c 7f0x2563    Wait( 0x01 ); // 22 00 010x2566    PlayEntityAnimation( animation_id = 0x0aa6 ); // 40 00 a6 0a0x256a    WaitUntilAnimationComplete(); // 410x256b    SetEntityCollisionFlags( flags = 0x07 ); // 47 00 070x256e    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2573    JumpTo( 0x2581 ); // 01 0b 000x2576    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x257e    Wait( 0x01 ); // 22 00 010x2581    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2576 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x258c    JumpTo( 0x2592 ); // 01 03 000x258f    Wait( 0x01 ); // 22 00 010x2592    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x258f ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x259d    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x25a5    JumpTo( 0x27c1 ); // 01 19 020x25a8    [ script + 0x001a ] = b( 0x00000002 ); // 05 d5 1a 7d 02 00 2c 7f0x25b0    Wait( 0x01 ); // 22 00 010x25b3    Wait( 0x03 ); // 22 00 030x25b6    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x25bb    JumpTo( 0x25c9 ); // 01 0b 000x25be    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x25c6    Wait( 0x01 ); // 22 00 010x25c9    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x25be ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x25d4    JumpTo( 0x25da ); // 01 03 000x25d7    Wait( 0x01 ); // 22 00 010x25da    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x25d7 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x25e5    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x25ed    JumpTo( 0x27c1 ); // 01 d1 010x25f0    0x1fSync( 0x02, 0x80, 0x002b ); // 1f 00 02 80 2b 000x25f6    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x25fe    JumpTo( 0x27c1 ); // 01 c0 010x2601    [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f0x2609    Wait( 0x01 ); // 22 00 010x260c    Wait( 0x0a ); // 22 00 0a0x260f    [ script + 0x002b ] = b( 0x00000001 ); // 05 d5 2b 7d 01 00 2c 7f0x2617    CallFuncc0df4( 0x00b2, 0x0096, 0x10, 0x08 ); // 6f 00 b2 00 96 00 10 080x261f    CallDynamic8006794c_1c_83c( 0xd000, 0x0125, 0x000000, 0x48, 0x7d ); // c8 00 00 d0 25 01 00 00 00 48 7d0x262a    CallFuncc18d4( 0x00, 0x00, 0x04 ); // 65 00 00 00 040x262f    CallFuncc17f0( 0x00, 0x0100 ); // 61 00 00 00 010x2634    Wait( 0x05 ); // 22 00 050x2637    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 200x2642    WaitUntilRotationComplete(); // 500x2643    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2648    JumpTo( 0x2656 ); // 01 0b 000x264b    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2653    Wait( 0x01 ); // 22 00 010x2656    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x264b ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2661    JumpTo( 0x2667 ); // 01 03 000x2664    Wait( 0x01 ); // 22 00 010x2667    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2664 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2672    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x267a    JumpTo( 0x27c1 ); // 01 44 010x267d    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x2680    JumpTo( 0x27c1 ); // 01 3e 010x2683    [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f0x268b    Wait( 0x01 ); // 22 00 010x268e    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2691    SetEntityPositionByXZ( x = 0x012c, z = 0x005a ); // 1d 00 2c 01 5a 000x2697    SetEntityRotation( rotation = 0x40 ); // 36 00 400x269a    SetEntityData54( animation_id = 0x0a17 ); // 33 00 17 0a0x269e    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x26a4    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x26aa    CallFuncaba98( 0x10, 0x0a99, 0x0004, 0x0392 ); // 88 00 10 99 0a 04 00 92 030x26b3    CallFuncaba98( 0x11, 0x0a99, 0x0004, 0x039b ); // 88 00 11 99 0a 04 00 9b 030x26bc    CallFuncaba98( 0x12, 0x0a99, 0x0004, 0x0001 ); // 88 00 12 99 0a 04 00 01 000x26c5    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x26cb    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x26d1    CallFuncaba98( 0x10, 0x0a99, 0x000d, 0x0392 ); // 88 00 10 99 0a 0d 00 92 030x26da    CallFuncaba98( 0x11, 0x0a99, 0x000d, 0x039b ); // 88 00 11 99 0a 0d 00 9b 030x26e3    CallFuncaba98( 0x12, 0x0a99, 0x000d, 0x0001 ); // 88 00 12 99 0a 0d 00 01 000x26ec    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x26ef    Wait( 0x03 ); // 22 00 030x26f2    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x26f7    JumpTo( 0x2705 ); // 01 0b 000x26fa    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2702    Wait( 0x01 ); // 22 00 010x2705    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x26fa ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2710    JumpTo( 0x2716 ); // 01 03 000x2713    Wait( 0x01 ); // 22 00 010x2716    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2713 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2721    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2729    JumpTo( 0x27c1 ); // 01 95 000x272c    [ script + 0x001a ] = b( 0x00000005 ); // 05 d5 1a 7d 05 00 2c 7f0x2734    Wait( 0x01 ); // 22 00 010x2737    Wait( 0x16 ); // 22 00 160x273a    0x1fSync( 0x02, 0x80, 0x002e ); // 1f 00 02 80 2e 000x2740    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2745    JumpTo( 0x2753 ); // 01 0b 000x2748    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2750    Wait( 0x01 ); // 22 00 010x2753    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2748 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x275e    JumpTo( 0x2764 ); // 01 03 000x2761    Wait( 0x01 ); // 22 00 010x2764    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2761 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x276f    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2777    JumpTo( 0x27c1 ); // 01 47 000x277a    [ script + 0x001a ] = b( 0x00000004 ); // 05 d5 1a 7d 04 00 2c 7f0x2782    Wait( 0x01 ); // 22 00 010x2785    Wait( 0x0a ); // 22 00 0a0x2788    PlayEntityAnimation( animation_id = 0x0a38 ); // 40 00 38 0a0x278c    WaitUntilAnimationComplete(); // 410x278d    SetEntityData54( animation_id = 0x00c8 ); // 33 00 c8 000x2791    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 200x279c    WaitUntilRotationComplete(); // 500x279d    SetEntityCollision( 0x0a, solid_radius = 0x0a, talk_radius = 0x0a ); // 4b 00 0a 0a 0a0x27a2    SetEntityData5c( 0x3c ); // 26 00 3c0x27a5    ResetEntityData30_50_63_78(); // 250x27a6    MoveToPosition( x = 0x0384, y = 0x0078 ); // 23 00 84 03 78 000x27ac    ResetEntityData30_50_63_78(); // 250x27ad    MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 010x27b3    JumpTo( 0x27b9 ); // 01 03 000x27b6    Wait( 0x01 ); // 22 00 010x27b9    JumpIf( 0x00000001 == true )To( 0x27b6 ); // 05 7d 01 00 7f 03 f5 ff0x27c1    Wait( 0x01 ); // 22 00 010x27c4    JumpTo( 0x1a83 ); // 01 bc f2SCRIPT: script_id = 0x0cscript = w[8007aecc];0x27c7    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( h[ 0x8007aef0 + 0x00dc ], h[ 0x8007aef0 + 0x00de ] ), steps = 0x10 ); // 56 01 d8 dc d8 de 5d 7f 100x27d0    WaitUntilRotationComplete(); // 500x27d1    JumpIf( ( bu[ 0x8007aef0 + 0x00e2 ] == 0x00000000 ) == false )To( 0x28df ); // 05 d4 e2 7d 00 00 20 7f 02 03 010x27dc    JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] == 0x0000752f ) == false )To( 0x27f0 ); // 05 d8 e0 7d 2f 75 20 7f 02 09 000x27e7    0x1fSync( 0x07, 0x00, 0x0006 ); // 1f 00 07 00 06 000x27ed    JumpTo( 0x28df ); // 01 ef 000x27f0    JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] >= 0x000003e8 ) == false )To( 0x284a ); // 05 d8 e0 7d e8 03 1b 7f 02 4f 000x27fb    CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d0x2806    [ 0x8007aef0 + 0x00e4 ] = h( ( 0x000003e8 - h[ 0x8007aef0 + 0x00e0 ] ) ); // 05 d8 e4 d8 e0 7d e8 03 15 2c 7f0x2811    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 000x2821    [ 0x8007aef0 + 0x00e4 ] = h( ( w[w[w[8006794c] + 1c] + 560] - 0x0098967f ) ); // 05 d8 e4 7e 7f 96 98 00 7a 06 15 2c 7f0x282e    0xce( h[ 0x8007aef0 + 0x00e4 ] ); // ce 01 d8 e4 7f0x2833    Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e4 ] ); // 66 02 00 d8 e4 7f0x2839    0x1fSync( 0x07, 0x00, 0x0006 ); // 1f 00 07 00 06 000x283f    [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f0x2847    JumpTo( 0x28df ); // 01 95 000x284a    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 000x285d    CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d0x2868    [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f0x2870    Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f0x2876    0x48( h[ 0x8007aef0 + 0x00e0 ], 0x01 ); // 48 01 d8 e0 7f 010x287c    0x1fSync( 0x07, 0x00, 0x0004 ); // 1f 00 07 00 04 000x2882    JumpTo( 0x28df ); // 01 5a 000x2885    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 000x2897    CallDynamic8006794c_1c_83c( 0xd000, 0x006c, 0x000000, 0x80, 0x7d ); // c8 00 00 d0 6c 00 00 00 00 80 7d0x28a2    [ 0x8007aef0 + 0x00e2 ] = b( 0x00000001 ); // 05 d4 e2 7d 01 00 2c 7f0x28aa    Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f0x28b0    0x48( h[ 0x8007aef0 + 0x00e0 ], 0x01 ); // 48 01 d8 e0 7f 010x28b6    0x1fSync( 0x07, 0x00, 0x0005 ); // 1f 00 07 00 05 000x28bc    JumpTo( 0x28df ); // 01 20 000x28bf    Set8007bba8( 0x00, h[ 0x8007aef0 + 0x00e0 ] ); // 66 02 00 d8 e0 7f0x28c5    JumpIf( ( h[ 0x8007aef0 + 0x00e0 ] < 0x00000200 ) == false )To( 0x28d9 ); // 05 d8 e0 7d 00 02 18 7f 02 09 000x28d0    0x1fSync( 0x07, 0x00, 0x0008 ); // 1f 00 07 00 08 000x28d6    JumpTo( 0x28df ); // 01 06 000x28d9    0x1fSync( 0x07, 0x00, 0x0009 ); // 1f 00 07 00 09 000x28df    Return(); // 04SCRIPT: script_id = 0x0dscript = w[8007aecc];0x28e0    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( h[ 0x8007aef0 + 0x00dc ], h[ 0x8007aef0 + 0x00de ] ), steps = 0x10 ); // 56 01 d8 dc d8 de 5d 7f 100x28e9    WaitUntilRotationComplete(); // 500x28ea    0x1fSync( 0x00, 0x00, 0x0028 ); // 1f 00 00 00 28 000x28f0    Return(); // 04
 
Final part. )
Stupid limitations to 65535 characters )

Code: [Select]
Code:
ENTITY: entity_id = 0x16SCRIPT: script_id = 0x00script = w[8007aecc];0x28fe    [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f0x2906    [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f0x290e    [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f0x2916    [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f0x291e    Set32and34inEntityStruct( 0x006b, 0x57 ); // 2f 00 6b 00 570x2923    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x292b    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x2930    SetEntityData54( animation_id = 0x01d6 ); // 33 00 d6 010x2934    SetEntityData56( animation_id = 0x02f9 ); // 34 00 f9 020x2938    SetEntityData58( animation_id = 0x0069 ); // 35 00 69 000x293c    SetEntityData4c( animation_id = 0x0068 ); // 7a 00 68 000x2940    SetEntityData4e( animation_id = 0x006b ); // 7b 00 6b 000x2944    SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e0x2949    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x294f    SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d0x2953    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x2958    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x295b    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x295e    Return(); // 04SCRIPT: script_id = 0x01script = 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 020x2981    0x1fSync( 0x03, 0x80, 0x0027 ); // 1f 00 03 80 27 000x2987    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x298c    JumpTo( 0x299a ); // 01 0b 000x298f    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2997    Wait( 0x01 ); // 22 00 010x299a    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x298f ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x29a5    JumpTo( 0x29ab ); // 01 03 000x29a8    Wait( 0x01 ); // 22 00 010x29ab    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x29a8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x29b6    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x29be    JumpTo( 0x2ba7 ); // 01 e6 010x29c1    [ script + 0x001a ] = b( 0x00000003 ); // 05 d5 1a 7d 03 00 2c 7f0x29c9    Wait( 0x01 ); // 22 00 010x29cc    CallDynamic8006794c_1c_83c( 0xd000, 0x0125, 0x000000, 0xb7, 0x7d ); // c8 00 00 d0 25 01 00 00 00 b7 7d0x29d7    CallFuncc18d4( 0x01, 0x00, 0x04 ); // 65 00 01 00 040x29dc    CallFuncc17f0( 0x01, 0x0100 ); // 61 00 01 00 010x29e1    Wait( 0x08 ); // 22 00 080x29e4    Wait( 0x11 ); // 22 00 110x29e7    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x29ea    SetEntityData5c( 0x20 ); // 26 00 200x29ed    Wait( 0x0a ); // 22 00 0a0x29f0    ResetEntityData30_50_63_78(); // 250x29f1    MoveToPosition( x = 0x02de, y = 0x007d ); // 23 00 de 02 7d 000x29f7    SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 200x29fb    WaitUntilRotationComplete(); // 500x29fc    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2a01    JumpTo( 0x2a0f ); // 01 0b 000x2a04    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2a0c    Wait( 0x01 ); // 22 00 010x2a0f    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2a04 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2a1a    JumpTo( 0x2a20 ); // 01 03 000x2a1d    Wait( 0x01 ); // 22 00 010x2a20    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2a1d ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2a2b    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2a33    JumpTo( 0x2ba7 ); // 01 71 010x2a36    PlayEntityAnimation( animation_id = 0x07b0 ); // 40 00 b0 070x2a3a    WaitUntilAnimationComplete(); // 410x2a3b    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2a40    JumpTo( 0x2a4e ); // 01 0b 000x2a43    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2a4b    Wait( 0x01 ); // 22 00 010x2a4e    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2a43 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2a59    JumpTo( 0x2a5f ); // 01 03 000x2a5c    Wait( 0x01 ); // 22 00 010x2a5f    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2a5c ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2a6a    JumpTo( 0x2ba7 ); // 01 3a 010x2a6d    0x20Async( 0x03, 0x80, 0x002c ); // 20 00 03 80 2c 000x2a73    PlayEntityAnimation( animation_id = 0x0082 ); // 40 00 82 000x2a77    WaitUntilAnimationComplete(); // 410x2a78    PlayEntityAnimation( animation_id = 0x00c6 ); // 40 00 c6 000x2a7c    0x54( 0x03 ); // 54 00 030x2a7f    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2a87    JumpTo( 0x2ba7 ); // 01 1d 010x2a8a    WaitUntilAnimationComplete(); // 410x2a8b    JumpTo( 0x2a91 ); // 01 03 000x2a8e    Wait( 0x01 ); // 22 00 010x2a91    JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2a8e ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff0x2a9c    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 200x2aa7    WaitUntilRotationComplete(); // 500x2aa8    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2aad    JumpTo( 0x2abb ); // 01 0b 000x2ab0    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2ab8    Wait( 0x01 ); // 22 00 010x2abb    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ab0 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2ac6    JumpTo( 0x2acc ); // 01 03 000x2ac9    Wait( 0x01 ); // 22 00 010x2acc    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2ac9 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2ad7    JumpTo( 0x2ba7 ); // 01 cd 000x2ada    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x2add    JumpTo( 0x2ba7 ); // 01 c7 000x2ae0    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2ae3    SetEntityPositionByXZ( x = 0x0075, z = 0xfdd5 ); // 1d 00 75 00 d5 fd0x2ae9    SetEntityRotation( rotation = 0x80 ); // 36 00 800x2aec    SetEntityData54( animation_id = 0x0426 ); // 33 00 26 040x2af0    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x2af3    Wait( 0x03 ); // 22 00 030x2af6    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2afb    JumpTo( 0x2b09 ); // 01 0b 000x2afe    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2b06    Wait( 0x01 ); // 22 00 010x2b09    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2afe ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2b14    JumpTo( 0x2b1a ); // 01 03 000x2b17    Wait( 0x01 ); // 22 00 010x2b1a    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2b17 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2b25    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2b2d    JumpTo( 0x2ba7 ); // 01 77 000x2b30    Wait( 0x16 ); // 22 00 160x2b33    0x1fSync( 0x03, 0x80, 0x002e ); // 1f 00 03 80 2e 000x2b39    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2b3e    JumpTo( 0x2b4c ); // 01 0b 000x2b41    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2b49    Wait( 0x01 ); // 22 00 010x2b4c    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2b41 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2b57    JumpTo( 0x2b5d ); // 01 03 000x2b5a    Wait( 0x01 ); // 22 00 010x2b5d    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2b5a ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2b68    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2b70    JumpTo( 0x2ba7 ); // 01 34 000x2b73    Wait( 0x0f ); // 22 00 0f0x2b76    PlayEntityAnimation( animation_id = 0x0425 ); // 40 00 25 040x2b7a    WaitUntilAnimationComplete(); // 410x2b7b    SetEntityData54( animation_id = 0x01d6 ); // 33 00 d6 010x2b7f    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 200x2b8a    WaitUntilRotationComplete(); // 500x2b8b    Wait( 0x0a ); // 22 00 0a0x2b8e    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x2b93    SetEntityData5c( 0x3c ); // 26 00 3c0x2b96    ResetEntityData30_50_63_78(); // 250x2b97    MoveToPosition( x = 0x0384, y = 0x0078 ); // 23 00 84 03 78 000x2b9d    ResetEntityData30_50_63_78(); // 250x2b9e    MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 010x2ba4    MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff0x2ba7    Wait( 0x01 ); // 22 00 010x2baa    JumpTo( 0x295f ); // 01 b2 fdENTITY: entity_id = 0x17SCRIPT: script_id = 0x00script = w[8007aecc];0x2bba    [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f0x2bc2    [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f0x2bca    [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f0x2bd2    [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f0x2bda    Set32and34inEntityStruct( 0x006d, 0x64 ); // 2f 00 6d 00 640x2bdf    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x2be7    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x2bec    SetEntityData54( animation_id = 0x01da ); // 33 00 da 010x2bf0    SetEntityData56( animation_id = 0x016f ); // 34 00 6f 010x2bf4    SetEntityData58( animation_id = 0x016d ); // 35 00 6d 010x2bf8    SetEntityData4c( animation_id = 0x0170 ); // 7a 00 70 010x2bfc    SetEntityData4e( animation_id = 0x016c ); // 7b 00 6c 010x2c00    SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e0x2c05    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x2c0b    SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d0x2c0f    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2c12    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x2c17    Return(); // 04SCRIPT: script_id = 0x01script = 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 010x2c36    SetEntityData5c( 0x2d ); // 26 00 2d0x2c39    Wait( 0x08 ); // 22 00 080x2c3c    Wait( 0x0f ); // 22 00 0f0x2c3f    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2c42    ResetEntityData30_50_63_78(); // 250x2c43    MoveToPosition( x = 0x04aa, y = 0x00c0 ); // 23 00 aa 04 c0 000x2c49    ResetEntityData30_50_63_78(); // 250x2c4a    MoveToPosition( x = 0x027d, y = 0xfedf ); // 23 00 7d 02 df fe0x2c50    ResetEntityData30_50_63_78(); // 250x2c51    MoveToPosition( x = 0x018d, y = 0xfea3 ); // 23 00 8d 01 a3 fe0x2c57    SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 200x2c5b    WaitUntilRotationComplete(); // 500x2c5c    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2c61    JumpTo( 0x2c6f ); // 01 0b 000x2c64    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2c6c    Wait( 0x01 ); // 22 00 010x2c6f    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2c64 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2c7a    JumpTo( 0x2c80 ); // 01 03 000x2c7d    Wait( 0x01 ); // 22 00 010x2c80    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2c7d ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2c8b    JumpTo( 0x2de7 ); // 01 59 010x2c8e    PlayEntityAnimation( animation_id = 0x0441 ); // 40 00 41 040x2c92    WaitUntilAnimationComplete(); // 410x2c93    SetEntityCollisionFlags( flags = 0x07 ); // 47 00 070x2c96    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2c9b    JumpTo( 0x2ca9 ); // 01 0b 000x2c9e    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2ca6    Wait( 0x01 ); // 22 00 010x2ca9    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2c9e ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2cb4    JumpTo( 0x2cba ); // 01 03 000x2cb7    Wait( 0x01 ); // 22 00 010x2cba    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2cb7 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2cc5    JumpTo( 0x2de7 ); // 01 1f 010x2cc8    JumpTo( 0x2cce ); // 01 03 000x2ccb    Wait( 0x01 ); // 22 00 010x2cce    JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2ccb ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff0x2cd9    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 200x2ce4    WaitUntilRotationComplete(); // 500x2ce5    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2cea    JumpTo( 0x2cf8 ); // 01 0b 000x2ced    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2cf5    Wait( 0x01 ); // 22 00 010x2cf8    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ced ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2d03    JumpTo( 0x2d09 ); // 01 03 000x2d06    Wait( 0x01 ); // 22 00 010x2d09    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d06 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2d14    JumpTo( 0x2de7 ); // 01 d0 000x2d17    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x2d1a    JumpTo( 0x2de7 ); // 01 ca 000x2d1d    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2d20    SetEntityPositionByXZ( x = 0x0301, z = 0xfef1 ); // 1d 00 01 03 f1 fe0x2d26    SetEntityRotation( rotation = 0x48 ); // 36 00 480x2d29    SetEntityData5f( 0x00 ); // 55 00 000x2d2c    SetEntityData54( animation_id = 0x0444 ); // 33 00 44 040x2d30    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x2d33    Wait( 0x03 ); // 22 00 030x2d36    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2d3b    JumpTo( 0x2d49 ); // 01 0b 000x2d3e    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2d46    Wait( 0x01 ); // 22 00 010x2d49    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2d3e ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2d54    JumpTo( 0x2d5a ); // 01 03 000x2d57    Wait( 0x01 ); // 22 00 010x2d5a    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d57 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2d65    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2d6d    JumpTo( 0x2de7 ); // 01 77 000x2d70    Wait( 0x0b ); // 22 00 0b0x2d73    0x1fSync( 0x05, 0x80, 0x002e ); // 1f 00 05 80 2e 000x2d79    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2d7e    JumpTo( 0x2d8c ); // 01 0b 000x2d81    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2d89    Wait( 0x01 ); // 22 00 010x2d8c    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2d81 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2d97    JumpTo( 0x2d9d ); // 01 03 000x2d9a    Wait( 0x01 ); // 22 00 010x2d9d    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2d9a ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2da8    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x2db0    JumpTo( 0x2de7 ); // 01 34 000x2db3    Wait( 0x0a ); // 22 00 0a0x2db6    PlayEntityAnimation( animation_id = 0x0445 ); // 40 00 45 040x2dba    WaitUntilAnimationComplete(); // 410x2dbb    SetEntityData54( animation_id = 0x01da ); // 33 00 da 010x2dbf    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x000000a0 ), steps = 0x20 ); // 56 01 7d 84 03 7d a0 00 5d 7f 200x2dca    WaitUntilRotationComplete(); // 500x2dcb    Wait( 0x1e ); // 22 00 1e0x2dce    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x2dd3    SetEntityData5c( 0x3c ); // 26 00 3c0x2dd6    ResetEntityData30_50_63_78(); // 250x2dd7    MoveToPosition( x = 0x0384, y = 0x00a0 ); // 23 00 84 03 a0 000x2ddd    ResetEntityData30_50_63_78(); // 250x2dde    MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 010x2de4    MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff0x2de7    Wait( 0x01 ); // 22 00 010x2dea    JumpTo( 0x2c18 ); // 01 2b feENTITY: entity_id = 0x18SCRIPT: script_id = 0x00script = w[8007aecc];0x2dfa    [ script + 0x0000 ] = h( 0x00000613 ); // 05 d9 00 7d 13 06 2c 7f0x2e02    [ script + 0x0004 ] = h( 0x00000124 ); // 05 d9 04 7d 24 01 2c 7f0x2e0a    [ script + 0x0006 ] = h( 0x00000040 ); // 05 d9 06 7d 40 00 2c 7f0x2e12    [ script + 0x0002 ] = h( 0x00000000 ); // 05 d9 02 7d 00 00 2c 7f0x2e1a    Set32and34inEntityStruct( 0x155b, 0x57 ); // 2f 00 5b 15 570x2e1f    SetEntityPositionByXZ( x = h[ script + 0x0000 ], z = h[ script + 0x0004 ] ); // 1d 03 d9 00 7f d9 04 7f0x2e27    SetEntityRotation( rotation = h[ script + 0x0006 ] ); // 36 01 d9 06 7f0x2e2c    SetEntityData54( animation_id = 0x01ce ); // 33 00 ce 010x2e30    SetEntityData56( animation_id = 0x1469 ); // 34 00 69 140x2e34    SetEntityData58( animation_id = 0x1466 ); // 35 00 66 140x2e38    SetEntityData4c( animation_id = 0x1467 ); // 7a 00 67 140x2e3c    SetEntityData4e( animation_id = 0x1468 ); // 7b 00 68 140x2e40    SetEntityCollision( 0x14, solid_radius = 0x14, talk_radius = 0x1e ); // 4b 00 14 14 1e0x2e45    SetEntityData7c_7d_7e_7f( 0x0e, 0x10, 0x12, 0x14 ); // 86 00 0e 10 12 140x2e4b    SetEntityData6a_6b( 0x60, 0x3d ); // 8b 00 60 3d0x2e4f    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2e52    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x2e57    Return(); // 04SCRIPT: script_id = 0x01script = 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 020x2e76    SetEntityData5c( 0x2d ); // 26 00 2d0x2e79    Wait( 0x08 ); // 22 00 080x2e7c    Wait( 0x06 ); // 22 00 060x2e7f    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2e82    ResetEntityData30_50_63_78(); // 250x2e83    MoveToPosition( x = 0x04aa, y = 0x00c0 ); // 23 00 aa 04 c0 000x2e89    ResetEntityData30_50_63_78(); // 250x2e8a    MoveToPosition( x = 0x0318, y = 0x013e ); // 23 00 18 03 3e 010x2e90    ResetEntityData30_50_63_78(); // 250x2e91    MoveToPosition( x = 0x01a4, y = 0x0258 ); // 23 00 a4 01 58 020x2e97    SetEntityRotateToEntity( entity_id = 0x11, steps = 0x20 ); // 51 00 11 200x2e9b    WaitUntilRotationComplete(); // 500x2e9c    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2ea1    JumpTo( 0x2eaf ); // 01 0b 000x2ea4    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2eac    Wait( 0x01 ); // 22 00 010x2eaf    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ea4 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2eba    JumpTo( 0x2ec0 ); // 01 03 000x2ebd    Wait( 0x01 ); // 22 00 010x2ec0    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2ebd ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2ecb    JumpTo( 0x3105 ); // 01 37 020x2ece    0x20Async( 0x05, 0x80, 0x002a ); // 20 00 05 80 2a 000x2ed4    PlayEntityAnimation( animation_id = 0x2ed0 ); // 40 00 d0 2e0x2ed8    WaitUntilAnimationComplete(); // 410x2ed9    PlayEntityAnimation( animation_id = 0x2ecc ); // 40 00 cc 2e0x2edd    0x54( 0x05 ); // 54 00 050x2ee0    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2ee5    JumpTo( 0x2ef3 ); // 01 0b 000x2ee8    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2ef0    Wait( 0x01 ); // 22 00 010x2ef3    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2ee8 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2efe    JumpTo( 0x2f04 ); // 01 03 000x2f01    Wait( 0x01 ); // 22 00 010x2f04    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f01 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2f0f    JumpTo( 0x3105 ); // 01 f3 010x2f12    WaitUntilAnimationComplete(); // 410x2f13    PlayEntityAnimation( animation_id = 0x0448 ); // 40 00 48 040x2f17    WaitUntilAnimationComplete(); // 410x2f18    SetEntityCollisionFlags( flags = 0x07 ); // 47 00 070x2f1b    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2f20    JumpTo( 0x2f2e ); // 01 0b 000x2f23    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2f2b    Wait( 0x01 ); // 22 00 010x2f2e    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2f23 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2f39    JumpTo( 0x2f3f ); // 01 03 000x2f3c    Wait( 0x01 ); // 22 00 010x2f3f    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f3c ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2f4a    JumpTo( 0x3105 ); // 01 b8 010x2f4d    JumpTo( 0x2f53 ); // 01 03 000x2f50    Wait( 0x01 ); // 22 00 010x2f53    JumpIf( ( bu[ script + 0x002b ] == 0x00000000 ) == true )To( 0x2f50 ); // 05 d5 2b 7d 00 00 20 7f 03 f2 ff0x2f5e    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x0000fd44, 0x00000064 ), steps = 0x20 ); // 56 01 7d 44 fd 7d 64 00 5d 7f 200x2f69    WaitUntilRotationComplete(); // 500x2f6a    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x2f6f    JumpTo( 0x2f7d ); // 01 0b 000x2f72    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x2f7a    Wait( 0x01 ); // 22 00 010x2f7d    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x2f72 ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x2f88    JumpTo( 0x2f8e ); // 01 03 000x2f8b    Wait( 0x01 ); // 22 00 010x2f8e    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x2f8b ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x2f99    JumpTo( 0x3105 ); // 01 69 010x2f9c    SetEntityFlagsTo0f( flags = 0x0e ); // 93 00 0e0x2f9f    JumpTo( 0x3105 ); // 01 63 010x2fa2    SetEntityFlagsTo0f( flags = 0x07 ); // 93 00 070x2fa5    SetEntityPositionByXZ( x = 0x0245, z = 0x0295 ); // 1d 00 45 02 95 020x2fab    SetEntityRotation( rotation = 0x40 ); // 36 00 400x2fae    SetEntityData54( animation_id = 0x052c ); // 33 00 2c 050x2fb2    SetEntityCollisionFlags( flags = 0x00 ); // 47 00 000x2fb5    Wait( 0x03 ); // 22 00 030x2fb8    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x2fbe    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x2fc4    CallFuncaba98( 0x10, 0x1469, 0x0007, 0x0392 ); // 88 00 10 69 14 07 00 92 030x2fcd    CallFuncaba98( 0x11, 0x1469, 0x0007, 0x039b ); // 88 00 11 69 14 07 00 9b 030x2fd6    CallFuncaba98( 0x12, 0x1469, 0x0007, 0x0001 ); // 88 00 12 69 14 07 00 01 000x2fdf    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x2fe5    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x2feb    CallFuncaba98( 0x10, 0x1469, 0x0012, 0x0392 ); // 88 00 10 69 14 12 00 92 030x2ff4    CallFuncaba98( 0x11, 0x1469, 0x0012, 0x039b ); // 88 00 11 69 14 12 00 9b 030x2ffd    CallFuncaba98( 0x12, 0x1469, 0x0012, 0x0001 ); // 88 00 12 69 14 12 00 01 000x3006    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x300c    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x3012    CallFuncaba98( 0x10, 0x1466, 0x0006, 0x0392 ); // 88 00 10 66 14 06 00 92 030x301b    CallFuncaba98( 0x11, 0x1466, 0x0006, 0x039b ); // 88 00 11 66 14 06 00 9b 030x3024    CallFuncaba98( 0x12, 0x1466, 0x0006, 0x0001 ); // 88 00 12 66 14 06 00 01 000x302d    CallDynamic8006794c_1c_83c( 0x1208, 0x0392, 0x00, 0x00, 0x00 ); // c5 00 08 12 92 030x3033    CallDynamic8006794c_1c_83c( 0x1208, 0x039b, 0x00, 0x00, 0x00 ); // c5 00 08 12 9b 030x3039    CallFuncaba98( 0x10, 0x1466, 0x0010, 0x0392 ); // 88 00 10 66 14 10 00 92 030x3042    CallFuncaba98( 0x11, 0x1466, 0x0010, 0x039b ); // 88 00 11 66 14 10 00 9b 030x304b    CallFuncaba98( 0x12, 0x1466, 0x0010, 0x0001 ); // 88 00 12 66 14 10 00 01 000x3054    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x3059    JumpTo( 0x3067 ); // 01 0b 000x305c    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x3064    Wait( 0x01 ); // 22 00 010x3067    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x305c ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x3072    JumpTo( 0x3078 ); // 01 03 000x3075    Wait( 0x01 ); // 22 00 010x3078    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x3075 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x3083    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x308b    JumpTo( 0x3105 ); // 01 77 000x308e    Wait( 0x21 ); // 22 00 210x3091    0x1fSync( 0x04, 0x80, 0x002e ); // 1f 00 04 80 2e 000x3097    ( bu[ script + 0x001a ]-- ); // 05 d5 1a 05 7f0x309c    JumpTo( 0x30aa ); // 01 0b 000x309f    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x40 ); // 05 c5 e6 7d 01 00 2c 7f0x30a7    Wait( 0x01 ); // 22 00 010x30aa    JumpIf( ( bu[ script + 0x001a ] > 0x00000000 ) == true )To( 0x309f ); // 05 d5 1a 7d 00 00 19 7f 03 ea ff0x30b5    JumpTo( 0x30bb ); // 01 03 000x30b8    Wait( 0x01 ); // 22 00 010x30bb    JumpIf( ( (bu[ script + 0x001c ] >> 0x06) & 1 == 0x00000001 ) == true )To( 0x30b8 ); // 05 c5 e6 7d 01 00 20 7f 03 f2 ff0x30c6    [ script + 0x001c ] = b( b[ script + 0x001c ] | 0x80 ); // 05 c5 e7 7d 01 00 2c 7f0x30ce    JumpTo( 0x3105 ); // 01 34 000x30d1    Wait( 0x05 ); // 22 00 050x30d4    PlayEntityAnimation( animation_id = 0x052f ); // 40 00 2f 050x30d8    WaitUntilAnimationComplete(); // 410x30d9    SetEntityData54( animation_id = 0x01ce ); // 33 00 ce 010x30dd    SetEntityRotateToRotation( rotation = GetCurrentEntityRotationTo( 0x00000384, 0x00000078 ), steps = 0x20 ); // 56 01 7d 84 03 7d 78 00 5d 7f 200x30e8    WaitUntilRotationComplete(); // 500x30e9    Wait( 0x28 ); // 22 00 280x30ec    SetEntityCollision( 0x01, solid_radius = 0x01, talk_radius = 0x01 ); // 4b 00 01 01 010x30f1    SetEntityData5c( 0x3c ); // 26 00 3c0x30f4    ResetEntityData30_50_63_78(); // 250x30f5    MoveToPosition( x = 0x0384, y = 0x012c ); // 23 00 84 03 2c 010x30fb    ResetEntityData30_50_63_78(); // 250x30fc    MoveToPosition( x = 0x06a4, y = 0x0104 ); // 23 00 a4 06 04 010x3102    MoveScriptToEnd( entity_id = 0xff ); // 1c 00 ff0x3105    Wait( 0x01 ); // 22 00 010x3108    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
Code: [Select]
Code:
0      4B    number of dialogs4      8B    first dialog structure12     8B    next dialog structure...dialog structure0      2B    pointer to sizes script2      2B    size of dialog text window (something like 12 bites X-size, 4bites Y size * 16)4      2B    pointer to dialog text6      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!
 
Status
Not open for further replies.
Back
Top