# # Deep Sea # .set HEADERLEN, 0x20 .include "asm/include/setup.inc" // Characters .set CHR_ELVIS, 0x00 .set CHR_BLONDE1, 0x22 .set CHR_BLONDE2, 0x23 .set CHR_DRCAROLL, 0x24 // Objects .set OBJ_POWERNODE1, 0x00 .set OBJ_POWERNODE2, 0x01 .set OBJ_POWERNODE3, 0x02 .set OBJ_BACKUPDISK, 0x74 .set OBJ_PROXYMINES, 0xb0 // Stage flags .set STAGEFLAG_DRCAROLL_RESTORED, 0x00000001 .set STAGEFLAG_ELVIS_SAID_SABOTAGE, 0x00000002 .set STAGEFLAG_DONE_FIRST_TELEPORT, 0x00000004 .set STAGEFLAG_PURPLE_GUARD_SHOT_JO_OR_ELVIS, 0x00000010 .set STAGEFLAG_TELEPORT_DONE, 0x00000020 .set STAGEFLAG_ELVIS_FOLLOWING_VELVET, 0x00000080 .set STAGEFLAG_TELEPORTALS_ACTIVATED, 0x00000100 .set STAGEFLAG_MIDCUTSCENE_FINISHED, 0x00000200 .set STAGEFLAG_ESCAPED, 0x00000400 .set STAGEFLAG_ALLY_DEAD, 0x00000800 .set STAGEFLAG_FARSIGHT_AMMO_WASTED, 0x00001000 .set STAGEFLAG_TIMER_EXPIRED, 0x00002000 .set STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, 0x00004000 .set STAGEFLAG_BLONDES_DEAD, 0x00008000 .set STAGEFLAG_SA_EXIT_TELEPORT_DISABLED, 0x00010000 .set STAGEFLAG_MEGAWEAPON_DISABLED, 0x00020000 .set STAGEFLAG_TRIGGER_MINISKEDAR_SPAWNING, 0x00040000 .set STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON, 0x00080000 .set STAGEFLAG_PA_EARLYDOORCYLINDER1_DESTROYED, 0x00100000 .set STAGEFLAG_PA_EARLYDOORCYLINDER2_DESTROYED, 0x00200000 .set STAGEFLAG_PA_EARLYDOORCYLINDER3_DESTROYED, 0x00400000 .set STAGEFLAG_PA_EARLYDOORCYLINDER4_DESTROYED, 0x00800000 .set STAGEFLAG_PA_EARLYDOORCYLINDER5_DESTROYED, 0x01000000 .set STAGEFLAG_PA_LATEDOORCYLINDER1_DESTROYED, 0x02000000 .set STAGEFLAG_PA_LATEDOORCYLINDER2_DESTROYED, 0x04000000 .set STAGEFLAG_PA_LATEDOORCYLINDER3_DESTROYED, 0x08000000 .set STAGEFLAG_PA_LATEDOORCYLINDER4_DESTROYED, 0x10000000 .set STAGEFLAG_PA_CANISTER1_DESTROYED, 0x20000000 .set STAGEFLAG_PA_CANISDER2_DESTROYED, 0x40000000 .set STAGEFLAG_PA_MIDDOORCYLINDER_DESTROYED, 0x80000000 // Functions .set FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS, 0x0402 .set FUNC_ELVIS_GIVE_FARSIGHT, 0x0403 .set FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON, 0x0404 .set FUNC_ELVIS_FOLLOW_AND_DO_SA_MEGAWEAPON, 0x0406 .set FUNC_ELVIS_GO_TO_SA_TELEPORT, 0x0407 .set FUNC_INIT_ELVIS, 0x040b .set FUNC_BLONDE, 0x040c .set FUNC_MINISKEDAR_SEND_CLONES, 0x040d .set FUNC_INIT_MINISKEDAR, 0x040e .set FUNC_MINISKEDAR, 0x040f .set FUNC_OUTRO, 0x0410 .set FUNC_HIDE, 0x0411 .set FUNC_CLOAK_AND_HIDE, 0x0413 .set FUNC_TELEPORT_JOANNA_TO_SAPA, 0x0414 .set FUNC_TELEPORT_JOANNA_TO_DRCAROLL, 0x0415 .set FUNC_TELEPORT_JOANNA_TO_A_PA_DRCAROLL, 0x0416 .set FUNC_TELEPORT_VELVET_TO_SAPA, 0x0417 .set FUNC_TELEPORT_VELVET_TO_DRCAROLL, 0x0418 .set FUNC_TELEPORT_VELVET_TO_A_PA_DRCAROLL, 0x0419 .set FUNC_INIT_SNIPER, 0x041a .set FUNC_SNIPER_WAIT_FOR_DETECTION, 0x041b .set FUNC_TELEPORT_ACTIVATION_RESPONDER, 0x041c .set FUNC_SNIPER, 0x041d .set FUNC_INIT_SA_MEGAWEAPON_MINISKEDAR, 0x041e .set FUNC_INIT_PA_CIRCLEROOM_MINISKEDAR, 0x041f .set FUNC_INIT_PA_DEADENDROOM_MINISKEDAR, 0x0420 .set FUNC_MIDCUTSCENE, 0x042a .set FUNC_RUN_TO_EXIT, 0x042b .set FUNC_ELVIS_STOP, 0x042c .set FUNC_ELVIS_WARP_TO_OUTSIDE_DRCAROLL, 0x042d .set FUNC_ELVIS_RUN_TO_EXIT, 0x042e .set FUNC_INIT_PELAGIC_GUARD, 0x042f .set FUNC_MINISKEDAR_UNALERTED, 0x0431 .set FUNC_DEAD_SKEDAR, 0x0432 // Pads .set PAD_STARTAREA_TELEPORT, 0x0116 .set PAD_AGENTAREA_ENTRY, 0x01a2 .set PAD_AGENTAREA_TELEPORT, 0x01fd .set PAD_SAPAAREA_ENTRY, 0x01b6 .set PAD_SAPAAREA_TELEPORT, 0x01f9 .set PAD_PAAREA_ENTRY, 0x01a5 .set PAD_PAAREA_TELEPORT, 0x0200 .set PAD_DRCAROLLROOM_ENTRY, 0x01cb props: briefing 0, 0x3001 briefing 1, 0x3000 briefing 2, 0x3002 briefing 3, 0x3003 beginobjective 0, 0x3005, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Reactivate teleportals" complete_flags STAGEFLAG_TELEPORTALS_ACTIVATED endobjective beginobjective 1, 0x3006, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Disable Cetan megaweapon" complete_flags STAGEFLAG_MEGAWEAPON_DISABLED fail_flags STAGEFLAG_FARSIGHT_AMMO_WASTED endobjective beginobjective 2, 0x3007, DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Secure control room" complete_flags STAGEFLAG_BLONDES_DEAD endobjective beginobjective 3, 0x3008, DIFFBIT_PA | DIFFBIT_PD // "Restore Dr. Caroll's personality" complete_flags STAGEFLAG_DRCAROLL_RESTORED endobjective beginobjective 4, 0x3009, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Escape from Cetan ship" complete_flags STAGEFLAG_ESCAPED fail_flags STAGEFLAG_ALLY_DEAD fail_flags STAGEFLAG_TIMER_EXPIRED endobjective chr 0x00000400, 0x40, 0x01b3, BODY_DDSNIPER, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 1000, 200, 0x00002000, 0xc0300000, 0x10, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0040, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00010000, 0x00, 0x002e, BODY_THEKING, HEAD_ELVIS, GFUNC_IDLE, -1, -1, 1000, 200, 0x00002000, 0xc0300000, 0x10, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRZ2020, 0x0000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_FARSIGHTXR20, 0x00ffffff, 0x00000000 tag 0x73, -1 chr 0x00000200, 0x01, 0x018d, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 30, 0x48080000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0001, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x02, 0x019a, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0002, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x03, 0x019b, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0003, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x04, 0x0006, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x02, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0004, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x05, 0x019c, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x02, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0005, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x06, 0x0190, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x03, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0006, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x07, 0x0191, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x03, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0007, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x08, 0x0008, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x03, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0008, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x09, 0x000a, BODY_DDSNIPER, HEAD_RANDOM, FUNC_INIT_SNIPER, -1, -1, 100, 100, 0x48080000, 0x00000000, 0x02, 0x03, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x0009, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0a, 0x019d, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0421, -1, -1, 1000, 100, 0xc0008601, 0x00000000, 0x02, 0x04, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000a, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0b, 0x019e, BODY_PELAGIC_GUARD, HEAD_RANDOM, FUNC_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, 0xc8080000, 0x00000000, 0x02, 0x04, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000b, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0c, 0x009a, BODY_PELAGIC_GUARD, HEAD_RANDOM, FUNC_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, 0xc8080000, 0x00000000, 0x02, 0x04, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000c, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0d, 0x001e, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0422, -1, -1, 1000, 100, 0xe8080000, 0x00000000, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000d, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0e, 0x001b, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0423, -1, -1, 1000, 100, 0xe8080000, 0x00000000, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000e, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x0f, 0x0022, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0425, -1, -1, 1000, 100, 0xe8080000, 0x00000000, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x000f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x10, 0x0021, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0424, -1, -1, 1000, 100, 0xe8080000, 0x00000000, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0010, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x11, 0x002c, BODY_MRBLONDE, HEAD_MRBLONDE, GFUNC_UNALERTED, 0x0027, -1, 3000, 10, 0x80028004, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0011, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x12, 0x0029, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, 0x0024, -1, 3000, 100, 0x80028204, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0012, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x13, 0x002b, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, 0x0026, -1, 3000, 100, 0x80028204, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0013, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x14, 0x01b3, BODY_DDSNIPER, HEAD_RANDOM, FUNC_CLOAK_AND_HIDE, 0x01b3, -1, 1000, 100, 0x80028004, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0014, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x15, 0x01b4, BODY_DDSNIPER, HEAD_RANDOM, FUNC_CLOAK_AND_HIDE, 0x01b4, -1, 1000, 100, 0x80028004, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0015, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x16, 0x01b5, BODY_DDSNIPER, HEAD_RANDOM, FUNC_CLOAK_AND_HIDE, 0x01b5, -1, 1000, 100, 0x80028004, 0x00000000, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0016, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000000, 0x25, 0x0064, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x26, 0x0079, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x27, 0x0067, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x28, 0x0075, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x29, 0x0080, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x2a, 0x0085, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x2b, 0x007c, BODY_MINISKEDAR, 0x00, FUNC_HIDE, -1, -1, 1000, 9, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x000002c0, 0x17, 0x00c5, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0426, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x07, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0017, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x18, 0x00c7, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0427, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x07, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0018, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x19, 0x00cb, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0428, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x07, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0019, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1a, 0x01b8, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x08, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001a, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1b, 0x01b7, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x08, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001b, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1c, 0x00be, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0429, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x02, 0x08, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001c, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1d, 0x01b9, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc0012000, 0x00000000, 0x02, 0x09, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001d, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1e, 0x01ba, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc0012000, 0x00000000, 0x02, 0x09, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001e, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x1f, 0x01bb, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc0012000, 0x00000000, 0x02, 0x09, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x001f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x000002c0, 0x20, 0x01bc, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_UNALERTED, -1, -1, 100, 100, 0xc0012000, 0x00000000, 0x02, 0x09, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x0020, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000100, 0x22, 0x0192, BODY_MRBLONDE, HEAD_MRBLONDE, FUNC_BLONDE, -1, -1, 100, 100, 0xc8082000, 0x00000000, 0x10, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0022, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_K7AVENGER, 0x00ffffff, 0x00000000 chr 0x00010500, 0x24, 0x0193, BODY_DRCARROLL, 0x00, GFUNC_IDLE, -1, -1, 100, 100, 0xc8080000, 0x00000000, 0x10, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0024, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_K7AVENGER, 0x00ffffff, 0x00000000 chr 0x00000100, 0x23, 0x0194, BODY_MRBLONDE, HEAD_MRBLONDE, FUNC_BLONDE, -1, -1, 100, 100, 0xc8082000, 0x00000000, 0x10, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0023, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_K7AVENGER, 0x00ffffff, 0x00000000 chr 0x00000000, 0x2f, 0x01a6, BODY_MINISKEDAR, 0x00, FUNC_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x30, 0x01a7, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x31, 0x01a8, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x32, 0x01a9, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x33, 0x01aa, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x34, 0x01ab, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000100, 0x35, 0x01ac, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x36, 0x01ad, BODY_MINISKEDAR, 0x00, FUNC_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x37, 0x01ae, BODY_MINISKEDAR, 0x00, FUNC_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x38, 0x01af, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 11, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x39, 0x01b0, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 11, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x3a, 0x01b1, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 11, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000000, 0x3b, 0x01b2, BODY_MINISKEDAR, 0x00, GFUNC_IDLE, -1, -1, 1000, 11, 0x00002000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 chr 0x00000200, 0x3c, 0x01c0, BODY_PELAGIC_GUARD, HEAD_RANDOM, FUNC_HIDE, -1, -1, 1000, 5, 0xe8080000, 0x00000000, 0x02, 0x0e, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x003c, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x3d, 0x01c1, BODY_PELAGIC_GUARD, HEAD_RANDOM, FUNC_HIDE, -1, -1, 1000, 5, 0xe8080000, 0x00000000, 0x02, 0x0e, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x003d, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000200, 0x3e, 0x01c2, BODY_PELAGIC_GUARD, HEAD_RANDOM, FUNC_HIDE, -1, -1, 1000, 5, 0xe8080000, 0x00000000, 0x02, 0x0e, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRCMP150, 0x003e, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CMP150, 0x00ffffff, 0x00000000 chr 0x00000000, 0x3f, 0x0012, BODY_PELAGIC_GUARD, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 100, 30, 0x48080000, 0x00000000, 0x02, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRSHOTGUN, 0x003f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SHOTGUN, 0x00ffffff, 0x00000000 chr 0x00004400, 0x21, 0x0117, BODY_SKEDAR, HEAD_RANDOM, FUNC_DEAD_SKEDAR, -1, -1, 100, 100, 0xc8090000, 0x00000000, 0x80, 0x07, -1, 0, 0x00000000 tag 0x75, 1 door 0x0100, MODEL_CETANDOOR, 0x0157, 0x10000000, 0x30000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00007333, 0x00006666, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xae, 1 door 0x0100, MODEL_CETANDOOR, 0x0156, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00007333, 0x00006666, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xab, 1 door 0x0100, MODEL_CETANDOOR, 0x015c, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00007333, 0x00006666, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0158, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00007333, 0x00006666, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xb3, 2 tag 0xb4, 2 door 0x0100, MODEL_AL_AIRLOCK, 0x014b, 0x10000000, 0x00000000, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00006666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x014c, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00006666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xb5, 2 tag 0xb6, 2 door 0x0100, MODEL_AL_AIRLOCK, 0x014d, 0x10000000, 0x00000000, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00006666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x014e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00006666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x014f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000570a, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x0150, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000570a, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x0151, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00005c28, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AL_AIRLOCK, 0x0152, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00005c28, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00080000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x03, 3 tag 0x04, 3 tag 0x05, 3 door 0x0100, MODEL_CETANSMALLDOOR, 0x0153, 0x02000400, 0x28000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000001, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANSMALLDOOR, 0x0155, 0x02000400, 0x28000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000001, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANSMALLDOOR, 0x0154, 0x02000400, 0x28000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000001, 0x00004650, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x016f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x016e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOORSIDE, 0x0174, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOORSIDE, 0x0175, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x000c0000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xb7, 2 tag 0xb8, 2 door 0x0100, MODEL_CETANDOORSIDE, 0x0177, 0x10000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000002, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOORSIDE, 0x0176, 0x10000000, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x000c0000, 0x00000002, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOORSIDE, 0x0179, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOORSIDE, 0x0178, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000b333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x000c0000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0169, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x016a, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x016b, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0xb1, 1 door 0x0100, MODEL_CETANDOOR, 0x016c, 0x10000000, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x016d, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x09, 1 door 0x0100, MODEL_CETANDOOR, 0x0159, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00009999, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x015a, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00009999, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x015d, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00009999, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x015b, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00009999, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0b, 1 door 0x0100, MODEL_CETANDOOR, 0x015e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x015f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0160, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0161, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0162, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0163, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0164, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0165, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0d, 1 door 0x0100, MODEL_CETANDOOR, 0x0166, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_CETANDOOR, 0x0167, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0f, 1 door 0x0100, MODEL_CETANDOOR, 0x0168, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000c000, 0x00035555, 0x00035555, 0x00000222, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001700, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x07, 1 lift 0x0100, MODEL_AL_DOCKLIFT, 0x0185, 0x03520508, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0185, 0x0186, 0x01870186, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x00085555, 0x15000000, 0x00000000, 0x00000000, 0x00000000 tag 0x00, 3 tag 0x01, 3 tag 0x02, 3 object 0x00e6, MODEL_POWERNODE, 0x028d, 0x004005e1, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x00e6, MODEL_POWERNODE, 0x028e, 0x004005e1, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x00e6, MODEL_POWERNODE, 0x028f, 0x004005e1, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x08, 1 weapon 0x0180, MODEL_CHRBUG, 0xffff, 0x00000001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_FARSIGHTXR20, 0x00ffffff, 0x00000000 tag 0x11, 4 tag 0x12, 4 tag 0x13, 4 tag 0x9c, 4 glass 0x0100, MODEL_CETANWINDOW1, 0x0203, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0204, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0205, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0291, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x14, 4 tag 0x15, 4 tag 0x16, 4 tag 0x9d, 4 glass 0x0100, MODEL_CETANWINDOW1, 0x0206, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0207, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0208, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0290, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x17, 4 tag 0x18, 4 tag 0x19, 4 tag 0x9e, 4 glass 0x0100, MODEL_CETANWINDOW1, 0x0209, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x020a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x020b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0292, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x1a, 4 tag 0x1b, 4 tag 0x1c, 4 tag 0x9f, 4 glass 0x0100, MODEL_CETANWINDOW1, 0x020c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x020d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x020e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0293, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x1d, 4 tag 0x1e, 4 tag 0x1f, 4 tag 0xa0, 4 glass 0x0100, MODEL_CETANWINDOW1, 0x020f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0210, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW1, 0x0211, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0294, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x20, 12 tag 0x21, 12 tag 0x22, 12 tag 0x23, 12 tag 0x24, 12 tag 0x25, 12 tag 0x26, 12 tag 0x27, 12 tag 0x28, 12 tag 0x29, 12 tag 0x2a, 12 tag 0x2b, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x0212, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0213, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0214, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0215, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0216, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0217, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0218, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0219, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x021a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x021b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x021c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x021d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0295, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa1, -1 tag 0x2c, 12 tag 0x2d, 12 tag 0x2e, 12 tag 0x2f, 12 tag 0x30, 12 tag 0x31, 12 tag 0x32, 12 tag 0x33, 12 tag 0x34, 12 tag 0x35, 12 tag 0x36, 12 tag 0x37, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x021e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x021f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0220, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0221, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0222, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0223, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0224, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0225, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0226, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0227, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0228, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0229, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0296, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa2, -1 tag 0x38, 12 tag 0x39, 12 tag 0x3a, 12 tag 0x3b, 12 tag 0x3c, 12 tag 0x3d, 12 tag 0x3e, 12 tag 0x3f, 12 tag 0x40, 12 tag 0x41, 12 tag 0x42, 12 tag 0x43, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x022a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x022b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x022c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x022d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x022e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x022f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0230, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0231, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0232, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0233, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0234, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0235, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0297, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa3, -1 tag 0x44, 12 tag 0x45, 12 tag 0x46, 12 tag 0x47, 12 tag 0x48, 12 tag 0x49, 12 tag 0x4a, 12 tag 0x4b, 12 tag 0x4c, 12 tag 0x4d, 12 tag 0x4e, 12 tag 0x4f, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x0236, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0237, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0238, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0239, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x023a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x023b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x023c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x023d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x023e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x023f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0240, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0241, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0298, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa4, -1 tag 0x50, 12 tag 0x51, 12 tag 0x52, 12 tag 0x52, 12 tag 0x53, 12 tag 0x54, 12 tag 0x55, 12 tag 0x56, 12 tag 0x57, 12 tag 0x58, 12 tag 0x59, 12 tag 0x5a, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x0242, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0243, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0244, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0245, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0246, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0247, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0248, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0249, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x024a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x024b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x024c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x024d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x0299, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa5, -1 chr 0x00000100, 0x41, 0x024e, BODY_MINISKEDAR, HEAD_MRBLONDE, GFUNC_IDLE, -1, -1, 100, 100, 0xc8082000, 0x00000000, 0x80, 0x0f, -1, 0, 0x00000000 chr 0x00000100, 0x42, 0x025a, BODY_MINISKEDAR, HEAD_MRBLONDE, GFUNC_IDLE, -1, -1, 100, 100, 0xc8082000, 0x00000000, 0x80, 0x0f, -1, 0, 0x00000000 tag 0x5b, 12 tag 0x5c, 12 tag 0x5d, 12 tag 0x5e, 12 tag 0x5f, 12 tag 0x60, 12 tag 0x61, 12 tag 0x62, 12 tag 0x63, 12 tag 0x64, 12 tag 0x65, 12 tag 0x66, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x024e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x024f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0250, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0251, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0252, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0253, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0254, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0255, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0256, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0257, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0258, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0259, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x029a, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa6, -1 tag 0x67, 12 tag 0x68, 12 tag 0x69, 12 tag 0x6a, 12 tag 0x6b, 12 tag 0x6c, 12 tag 0x6d, 12 tag 0x6e, 12 tag 0x6f, 12 tag 0x70, 12 tag 0x71, 12 tag 0x72, 12 glass 0x0100, MODEL_CETANWINDOW2, 0x025a, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x025b, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x025c, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x025d, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x025e, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x025f, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0260, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0261, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0262, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0263, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW2, 0x0264, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_CETANWINDOW3, 0x0265, 0x14000b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 object 0x0100, MODEL_CHRREMOTEMINE, 0x029b, 0x012404e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xa7, -1 tag 0xa8, 1 autogun 0x0100, MODEL_CETROOFGUN, 0x0188, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00e40000, 0x00000000, 0x00020000, 0xfffe0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00640000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 tag 0xa9, 1 autogun 0x0100, MODEL_CETROOFGUN, 0x0189, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00f80000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00640000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 tag 0xaa, 1 autogun 0x0100, MODEL_CETROOFGUN, 0x018a, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00e40000, 0x00000000, 0x00008000, 0xffff8000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00640000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 glass 0x0100, MODEL_DD_WINDOW, 0x0266, 0x14020b62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 tag 0xbb, 1 object 0x0040, MODEL_ZIGGYCARD, 0xffff, 0x00021401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x74, 1 weapon 0x0180, MODEL_CHRDATATHIEF, 0xffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_BACKUPDISK, 0x00ffffff, 0x00000000 rename_object -1, 0x44, 0x3017, 0x3018, 0x3019, 0x301a, 0x301b, 0x0000, 0x0000 // "" tag 0x76, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x77, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x78, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x79, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7a, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7b, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7c, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7d, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7e, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x7f, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x80, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x81, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x82, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x83, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x84, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x85, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x86, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x87, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x88, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x89, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8a, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8b, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8c, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8d, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8e, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x8f, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x90, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x91, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x92, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x93, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x94, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x95, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x96, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x97, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x98, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x99, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x9a, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x9b, 1 object 0x0100, MODEL_CHRREMOTEMINE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0xac, 1 shield 0x0100, MODEL_CHRSHIELD, 0x0012, 0x00000001, 0x000000c0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000 tag 0xad, 1 shield 0x0100, MODEL_CHRSHIELD, 0x001a, 0x00004001, 0x000000e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000 tag 0xb0, 1 weapon 0x0080, MODEL_MULTI_AMMO_CRATE, 0x0008, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_PROXIMITYMINE, 0x00ffffff, 0x00000000 endprops intro: intro_weapon WEAPON_FALCON2_SCOPE, -1 ammo AMMOTYPE_PISTOL, 50 ammo AMMOTYPE_PROXY_MINE, 2 intro_weapon WEAPON_SHOTGUN, -1 ammo AMMOTYPE_SHOTGUN, 100 ammo AMMOTYPE_FARSIGHT, 50 intro_weapon WEAPON_IRSCANNER, -1 spawn 0x018b outfit OUTFIT_DEEPSEA endintro path02: pad 0x0099 pad 0x0098 pad 0x000e pad 0x000d pad 0x000c endpath path03: pad 0x001e pad 0x0096 pad 0x0095 endpath path04: pad 0x001b pad 0x001a pad 0x001c pad 0x001d endpath path05: pad 0x0021 pad 0x0020 pad 0x001f endpath path06: pad 0x0022 pad 0x001a pad 0x001c endpath path07: pad 0x00c4 pad 0x00c5 pad 0x00c6 pad 0x00c7 endpath path08: pad 0x00c7 pad 0x00c8 endpath path09: pad 0x00cb pad 0x00cc endpath path10: pad 0x00be pad 0x00bf pad 0x00c1 endpath func0401_unused: dprint "hov\n" begin_hovercar_path 0x00 set_vehicle_speed 384, 120 beginloop 0x04 endloop 0x04 endfunction func1001_objectives_failed_msg: yield set_function CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG endfunction func1400_setup_counterop: yield set_chr_alliance CHR_COUNTEROP, ALLIANCE_ENEMY set_function CHR_SELF, GFUNC_REBUILD_GROUPS endfunction func040b_init_elvis: set_self_flag_bank3 CHRFLAG3_00080000 set_self_flag_bank3 CHRFLAG3_00040000 set_self_flag_bank3 CHRFLAG3_01000000 set_accuracy 100 set_reaction_speed 100 set_alertness 100 set_chr_health CHR_SELF, 1 set_armor 900 set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS endfunction func0402_elvis_follow_and_reactive_teleportals: dprint "BACK TO ELVIS\n" set_return_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS set_onshot_function FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Injured label 0x2e if_sound_finished CHANNEL_6, /*goto*/ 0x2f goto_next 0x12 label 0x2f say_quip CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 // Not injured label 0x06 if_self_flag_bankx_eq CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 goto_next 0x06 // Has flag label 0x2e if_enemy_distance_lt_and_los 100, /*goto*/ 0x08 // No enemy nearby label 0x06 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 // Jo distance >= 200 label 0x03 dprint "GOTOW\n" set_target_chr FOLLOW_CHR restart_timer if_chr_distance_gt 300, /*goto*/ 0x06 try_run_to_target_chr_with_hand_up /*goto*/ 0x04 // Jo distance < 200 or distance > 300 label 0x06 try_run_to_target_chr /*goto*/ 0x04 beginloop 0x04 if_self_flag_bankx_eq CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 goto_next 0x06 label 0x2e if_enemy_distance_lt_and_los 100, /*goto*/ 0x08 label 0x06 if_stage_flag_eq STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x2e if_chr_in_room CHR_ELVIS, 0x00, 0x003c, /*goto*/ 0x5f label 0x2e set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x2e endloop 0x04 label 0x2e goto_first 0x03 // Waiting next to Jo? label 0x06 stop_chr beginloop 0x09 if_self_flag_bankx_eq CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 goto_next 0x06 label 0x2e if_enemy_distance_lt_and_los 100, /*goto*/ 0x08 label 0x06 if_stage_flag_eq STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x2e if_chr_in_room CHR_ELVIS, 0x00, 0x003c, /*goto*/ 0x5f label 0x2e set_target_chr FOLLOW_CHR if_chr_distance_gt 300, /*goto*/ 0x06 endloop 0x09 label 0x06 goto_first 0x03 // Enemy detected label 0x08 yield if_sound_finished CHANNEL_6, /*goto*/ 0x06 goto_next 0x2e label 0x06 call_rng if_rand_lt 85, /*goto*/ 0x63 if_rand_lt 170, /*goto*/ 0x64 say_quip CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x63 say_quip CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x64 say_quip CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 label 0x2e set_onshot_function FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS set_return_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR // In teleport control room label 0x5f stop_chr speak TARGET_CHR, 0x301d, 0x14eb, CHANNEL_6, COLOR_04_ORANGE // "Time to reactivate those teleportals." jog_to_pad 0x01c3 beginloop 0x0f if_chr_stopped /*goto*/ 0x2e endloop 0x0f label 0x6f label 0x2e unset_self_flag_bank3 CHRFLAG3_01000000 animation ANIM_OPERATE_0204, -1, -1, 0x0210, CHR_SELF, 2 beginloop 0x10 if_chr_stopped /*goto*/ 0x06 endloop 0x10 label 0x06 say_quip CHR_JOANNA, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00 message CHR_JOANNA, 0x301e // "Teleportals have been reactivated." set_stage_flag STAGEFLAG_TELEPORTALS_ACTIVATED set_self_flag_bank3 CHRFLAG3_01000000 play_sound 0x8148, -1 set_lights_state 0x003c, 0x04, 0x00, 0xff, 0xb4 set_chr_flag_bank3 0x14, CHRFLAG3_00040000 set_chr_flag_bank3 0x15, CHRFLAG3_00040000 set_chr_flag_bank3 0x16, CHRFLAG3_00040000 unset_chr_flag_bank3 0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 0x15, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_function 0x14, FUNC_TELEPORT_ACTIVATION_RESPONDER set_function 0x15, FUNC_TELEPORT_ACTIVATION_RESPONDER set_function 0x16, FUNC_TELEPORT_ACTIVATION_RESPONDER goto_first 0x03 label 0x60 set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS endfunction func0433_unused: beginloop 0x04 set_target_chr CHR_JOANNA if_within_units_of_sight 30, /*goto*/ 0x06 set_target_chr CHR_VELVET if_within_units_of_sight 30, /*goto*/ 0x06 set_target_chr CHR_COUNTEROP if_within_units_of_sight 30, /*goto*/ 0x06 goto_next 0x2e label 0x06 endloop 0x04 label 0x2e unset_self_flag_bankx CHRFLAG0_UNSURPRISABLE, BANK_0 set_function CHR_SELF, GFUNC_ALERTED endfunction /** * This is also assigned to Elvis on PA, but in that case it's a general follow * function because he can't enter the agent megaweapon room on PA. */ func0404_elvis_follow_and_do_agent_megaweapon: set_self_flag_bank3 CHRFLAG3_00080000 unset_self_flag_bankx CHRFLAG1_00200000, BANK_1 set_onshot_function FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 // Healthy label 0x06 if_stage_flag_eq STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e if_stage_flag_eq STAGEFLAG_ELVIS_SAID_SABOTAGE, TRUE, /*goto*/ 0x5f label 0x2e if_enemy_distance_lt_and_los 2000, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 label 0x03 set_target_chr FOLLOW_CHR restart_timer if_chr_distance_gt 300, /*goto*/ 0x06 try_run_to_target_chr_with_hand_up /*goto*/ 0x04 label 0x06 try_run_to_target_chr /*goto*/ 0x04 beginloop 0x04 if_stage_flag_eq STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e if_chr_in_room CHR_ELVIS, 0x00, 0x006c, /*goto*/ 0x1d label 0x2e dprint "GO TO PAD\n" if_enemy_distance_lt_and_los 2000, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x2e endloop 0x04 label 0x2e goto_first 0x03 label 0x06 stop_chr beginloop 0x09 dprint "B4 PAD\n" if_stage_flag_eq STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e if_chr_in_room CHR_ELVIS, 0x00, 0x006c, /*goto*/ 0x1d label 0x2e dprint "AT PAD\n" if_enemy_distance_lt_and_los 2000, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_gt 300, /*goto*/ 0x06 endloop 0x09 label 0x06 goto_first 0x03 label 0x08 dprint "DETECTED\n" call_rng if_rand_lt 85, /*goto*/ 0x63 if_rand_lt 170, /*goto*/ 0x64 say_quip CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x63 say_quip CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x64 say_quip CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 label 0x2e set_onshot_function FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON set_return_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR // In Agent megaweapon room label 0x1d speak TARGET_CHR, 0x301c, 0x14ec, CHANNEL_6, COLOR_04_ORANGE // "It looks like this could benefit from a little bit..." label 0x5f set_stage_flag STAGEFLAG_ELVIS_SAID_SABOTAGE stop_chr jog_to_pad 0x005f beginloop 0x0f if_chr_stopped /*goto*/ 0x2e endloop 0x0f label 0x6f label 0x2e unset_self_flag_bank3 CHRFLAG3_01000000 restart_timer animation ANIM_OPERATE_0205, -1, -1, 0x0010, CHR_SELF, 2 beginloop 0x10 if_chr_stopped /*goto*/ 0x06 endloop 0x10 label 0x06 say_quip CHR_JOANNA, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00 set_self_flag_bank3 CHRFLAG3_01000000 message CHR_JOANNA, 0x3014 // "Cetan megaweapon has been disabled." set_stage_flag STAGEFLAG_AGENT_MEGAWEAPON_DISABLED set_stage_flag STAGEFLAG_MEGAWEAPON_DISABLED set_lights_state 0x006c, 0x03, 0x64, 0xff, 0x78 assign_sound 0x8148, CHANNEL_7 play_sound_from_entity CHANNEL_7, CHR_SELF, 0x0bb8, 0x1770, 0x01 unlock_door 0xb7, 0x02 unlock_door 0xb8, 0x02 goto_first 0x03 label 0x60 set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON endfunction /** * Seems to be a general follow function for Elvis. * He does not engage in combat. * * @unused */ func0405_elvis_follow_nocombat: set_self_flag_bank3 CHRFLAG3_00080000 unset_self_flag_bankx CHRFLAG1_00200000, BANK_1 set_onshot_function 0x0405 set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 label 0x06 if_enemy_distance_lt_and_los 300, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 label 0x03 set_target_chr FOLLOW_CHR restart_timer if_chr_distance_gt 300, /*goto*/ 0x06 try_run_to_target_chr_with_hand_up /*goto*/ 0x04 label 0x06 try_run_to_target_chr /*goto*/ 0x04 beginloop 0x04 label 0x2e dprint "GO TO PAD\n" if_enemy_distance_lt_and_los 300, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x2e endloop 0x04 label 0x2e goto_first 0x03 label 0x06 stop_chr beginloop 0x09 dprint "B4 PAD\n" label 0x2e dprint "AT PAD\n" if_enemy_distance_lt_and_los 2000, /*goto*/ 0x08 set_target_chr FOLLOW_CHR if_chr_distance_gt 300, /*goto*/ 0x06 endloop 0x09 label 0x06 goto_first 0x03 // Detected enemy label 0x08 restart_timer say_quip CHR_JOANNA, 0x29, 0xff, 0x14, 0xff, BANK_1, 0x00, 0x00 retreat 0x02, 0x01 beginloop 0x09 if_timer_gt 120, /*goto*/ 0x2e endloop 0x09 label 0x2e goto_first 0x03 endfunction func0406_elvis_follow_and_do_sa_megaweapon: set_onshot_function FUNC_ELVIS_FOLLOW_AND_DO_SA_MEGAWEAPON set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x5f // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x5f endloop 0x12 label 0x5f if_stage_flag_eq STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON, TRUE, /*goto*/ 0x1b restart_timer if_chr_distance_lt 400, /*goto*/ 0x2e jog_to_pad 0x00b4 goto_next 0x0f label 0x2e label 0x1c run_to_pad 0x00b4 beginloop 0x0f if_timer_gt 300, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x2e endloop 0x0f label 0x06 goto_first 0x5f label 0x2e restart_timer try_face_entity 0x0008, 0x0115, /*goto*/ 0x97 beginloop 0x97 if_timer_gt 60, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x06 endloop 0x97 label 0x06 restart_timer label 0x1b set_stage_flag STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON unset_self_flag_bank3 CHRFLAG3_01000000 call_rng if_rand_lt 86, /*goto*/ 0x63 if_rand_lt 172, /*goto*/ 0x64 animation ANIM_OPERATE_0204, -1, -1, 0x0210, CHR_SELF, 2 goto_next 0x11 label 0x63 animation ANIM_OPERATE_0205, -1, -1, 0x0210, CHR_SELF, 2 goto_next 0x11 label 0x64 animation ANIM_OPERATE_0206, -1, -1, 0x0210, CHR_SELF, 2 goto_next 0x11 beginloop 0x11 if_chr_idle /*goto*/ 0x2e goto_next 0x06 label 0x2e if_timer_gt 3600, /*goto*/ 0x2e endloop 0x11 label 0x06 goto_first 0x1b label 0x2e say_quip CHR_JOANNA, 0x2c, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 set_self_flag_bank3 CHRFLAG3_01000000 message CHR_JOANNA, 0x3014 // "Cetan megaweapon has been disabled." set_stage_flag STAGEFLAG_MEGAWEAPON_DISABLED try_draw_weapon MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x04 label 0x04 set_function CHR_SELF, FUNC_ELVIS_GO_TO_SA_TELEPORT goto_first 0x03 label 0x60 set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_SA_MEGAWEAPON endfunction func0407_elvis_go_to_sa_teleport: set_onshot_function FUNC_ELVIS_GO_TO_SA_TELEPORT set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x5f // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 label 0x06 set_target_chr FOLLOW_CHR label 0x5f restart_timer if_chr_distance_lt 1400, /*goto*/ 0x2e jog_to_pad 0x00c0 goto_next 0x0f label 0x2e run_to_pad 0x00c0 beginloop 0x0f if_enemy_distance_lt_and_los 800, /*goto*/ 0x08 if_timer_gt 300, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x2e endloop 0x0f label 0x06 goto_first 0x5f label 0x2e stop_chr beginloop 0x10 if_enemy_distance_lt_and_los 800, /*goto*/ 0x08 endloop 0x10 label 0x06 restart_timer label 0x08 dprint "DETECTED\n" call_rng if_rand_lt 85, /*goto*/ 0x63 if_rand_lt 170, /*goto*/ 0x64 say_quip CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x63 say_quip CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x64 say_quip CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 label 0x2e set_onshot_function FUNC_ELVIS_GO_TO_SA_TELEPORT set_return_function CHR_SELF, FUNC_ELVIS_GO_TO_SA_TELEPORT set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR endfunction func0403_elvis_give_farsight: set_onshot_function FUNC_ELVIS_GIVE_FARSIGHT set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 // Healthy label 0x06 set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 label 0x03 set_target_chr FOLLOW_CHR restart_timer if_chr_distance_gt 300, /*goto*/ 0x06 try_run_to_target_chr_with_hand_up /*goto*/ 0x04 label 0x06 try_run_to_target_chr /*goto*/ 0x04 beginloop 0x04 dprint "GO TO PAD\n" set_target_chr FOLLOW_CHR if_chr_distance_lt 200, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x2e endloop 0x04 label 0x2e goto_first 0x03 label 0x06 stop_chr label 0x09 do_special_animation 5 speak TARGET_CHR, 0x3012, 0x12ea, CHANNEL_6, COLOR_04_ORANGE // "Here, take this gun and keep those Skedar off my b..." give_object_to_chr 0x73, TARGET_CHR yield set_stage_flag STAGEFLAG_TRIGGER_MINISKEDAR_SPAWNING beginloop 0x0a if_sound_finished CHANNEL_6, /*goto*/ 0x2e endloop 0x0a label 0x2e if_difficulty_lt DIFF_SA, /*goto*/ 0x2e if_difficulty_lt DIFF_PA, /*goto*/ 0x06 // PA unset_self_flag_bankx CHRFLAG1_00200000, BANK_1 yield try_draw_weapon MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x2f label 0x2f set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON // SA label 0x06 set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_SA_MEGAWEAPON // Agent label 0x2e yield try_draw_weapon MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x2e label 0x2e set_function CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON endfunction .macro powernode_logic node door label 0x04 yield if_object_in_good_condition \node, /*goto*/ 0x2e if_door_state \door, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2e open_door \door goto_first 0x04 label 0x2e if_object_health_lt \node, 250, /*goto*/ 0x2e .if \node == OBJ_POWERNODE3 set_object_flag_bank0 \node, OBJECTFLAG0_INVINCIBLE set_object_health \node, 0 .else set_object_health \node, 0 set_object_flag_bank0 \node, OBJECTFLAG0_INVINCIBLE .endif open_door \door set_object_flag_bank0 \door, OBJECTFLAG0_40000000 goto_first 0x04 label 0x2e goto_first 0x04 .endm func1003_powernode1: powernode_logic OBJ_POWERNODE1, 0x03 endfunction func1004_powernode2: powernode_logic OBJ_POWERNODE2, 0x04 endfunction func1005_powernode3: powernode_logic OBJ_POWERNODE3, 0x05 endfunction func0c01_midcutscene: remove_weapon_from_inventory WEAPON_BACKUPDISK fade_to_color 0x000000ff, 0 fade_to_color 0x00000000, 15 set_chr_flag_bank3 0xf1, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_function CHR_ELVIS, GFUNC_IDLE set_music_track MUSIC_DEEPSEA_MIDCUTSCENE camera_movement 0x01d4 set_chr_flag_bank3 CHR_P1P2, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_P1P2, CHRFLAG3_HIDDEN set_chr_flag_bank2 CHR_P1P2, CHRFLAG2_00020000 animation 0x01d5, -1, -1, 0x0600, CHR_P1P2, 4 set_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_HIDDEN set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 animation 0x01d6, -1, -1, 0x0600, CHR_ELVIS, 4 set_chr_flag_bank3 CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_DRCAROLL, CHRFLAG3_HIDDEN set_chr_flag_bank2 CHR_DRCAROLL, CHRFLAG2_00020000 animation 0x01d7, -1, -1, 0x0600, CHR_DRCAROLL, 4 show_object 0xbb set_object_flag_bank1 0xbb, OBJECTFLAG1_04000000 set_object_flag_bank2 0xbb, OBJECTFLAG2_00000010 object_do_animation 0x01d8, 0xbb, 0x04ff, 0xff restart_timer set_cutscene_weapon CHR_P1P2, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon CHR_P1P2, WEAPON_NONE, WEAPON_NONE set_cutscene_weapon CHR_ELVIS, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon CHR_ELVIS, WEAPON_NONE, WEAPON_NONE show_nonessential_chrs FALSE .macro wait_until time loopid beginloop \loopid if_controller_button_pressed /*goto*/ 0x57 if_timer_gt \time, /*goto*/ 0x06 endloop \loopid label 0x06 .endm .macro wait_until_with_images time loopid image1 image2 beginloop \loopid set_drcaroll_image CHR_DRCAROLL, \image1, \image2 if_controller_button_pressed /*goto*/ 0x57 if_timer_gt \time, /*goto*/ 0x06 endloop \loopid label 0x06 .endm wait_until 114, 0x63 speak CHR_JOANNA, 0x3023, 0x746d, CHANNEL_10, COLOR_09_BLUE // "Here goes. I just hope dataDyne haven't done anyth..." wait_until 300, 0x64 play_sound 0x0171, CHANNEL_2 wait_until 378, 0x65 play_sound 0x04fc, CHANNEL_3 wait_until 408, 0x6a play_sound 0x0423, CHANNEL_5 wait_until 440, 0x1a play_sound 0x04f7, CHANNEL_10 wait_until 490, 0x6b speak CHR_JOANNA, 0x3024, 0x746e, CHANNEL_10, COLOR_04_ORANGE // "Virus detected." wait_until 570, 0x69 label 0x6c set_drcaroll_image CHR_DRCAROLL, 0x02, 0x03 yield set_drcaroll_image CHR_DRCAROLL, 0x03, 0x02 yield if_controller_button_pressed /*goto*/ 0x57 if_timer_gt 600, /*goto*/ 0x06 goto_first 0x6c label 0x06 set_drcaroll_image CHR_DRCAROLL, 0x02, 0x02 speak CHR_JOANNA, 0x3025, 0x746f, CHANNEL_10, COLOR_09_BLUE // "Me and my big mouth." wait_until 700, 0x6d play_sound 0x0172, CHANNEL_6 wait_until 712, 0x6f play_sound 0x04f8, CHANNEL_2 wait_until 716, 0x70 play_sound 0x0127, CHANNEL_3 label 0x71 yield set_drcaroll_image CHR_DRCAROLL, 0x07, 0x07 if_controller_button_pressed /*goto*/ 0x57 if_timer_gt 742, /*goto*/ 0x06 goto_first 0x71 label 0x06 speak CHR_JOANNA, 0x3026, 0x7470, CHANNEL_10, COLOR_04_ORANGE // "Commencing countermeasures. Commenc..... *** ooOOo..." wait_until_with_images 746, 0x73, 0x02, 0x08 play_sound 0x0128, CHANNEL_5 wait_until_with_images 760, 0x75, 0x08, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 764, 0x76, 0x08, 0x02 play_sound 0x0173, CHANNEL_2 wait_until_with_images 784, 0x79, 0x08, 0x08 play_sound 0x0174, CHANNEL_5 wait_until_with_images 808, 0x7c, 0x08, 0x02 emit_sparks CHR_DRCAROLL wait_until_with_images 872, 0x81, 0x08, 0x08 play_sound 0x04fa, CHANNEL_7 wait_until_with_images 886, 0x83, 0x00, 0x08 play_sound 0x0129, CHANNEL_3 wait_until_with_images 894, 0x85, 0x08, 0x02 play_sound 0x012a, CHANNEL_5 label 0x86 wait_until_with_images 914, 0x87, 0x08, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 980, 0x8b, 0x00, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 992, 0x8e, 0x08, 0x00 play_sound 0x04f9, CHANNEL_2 wait_until_with_images 1012, 0x90, 0x08, 0x08 play_sound 0x012b, CHANNEL_4 wait_until_with_images 1018, 0x91, 0x00, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1026, 0x93, 0x08, 0x08 play_sound 0x0129, CHANNEL_7 wait_until_with_images 1034, 0x94, 0x08, 0x00 play_sound 0x0176, CHANNEL_2 set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until_with_images 1036, 0x95, 0x08, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1068, 0x98, 0x08, 0x00 play_sound 0x0177, CHANNEL_6 emit_sparks CHR_DRCAROLL wait_until_with_images 1074, 0x99, 0x08, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1090, 0xfc, 0x00, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1112, 0x9e, 0x08, 0x08 play_sound 0x0127, CHANNEL_6 wait_until_with_images 1124, 0xa0, 0x08, 0x00 play_sound 0x04f7, CHANNEL_2 emit_sparks CHR_DRCAROLL wait_until_with_images 1130, 0xa1, 0x00, 0x08 play_sound 0x04ff, CHANNEL_3 emit_sparks CHR_DRCAROLL wait_until_with_images 1188, 0xa7, 0x08, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1238, 0xaa, 0x08, 0x00 play_sound 0x04f7, CHANNEL_6 emit_sparks CHR_DRCAROLL wait_until_with_images 1304, 0xb2, 0x00, 0x08 play_sound 0x0129, CHANNEL_2 wait_until_with_images 1308, 0xb3, 0x08, 0x08 play_sound 0x0178, CHANNEL_3 wait_until_with_images 1354, 0xba, 0x08, 0x00 play_sound 0x04f7, CHANNEL_4 wait_until_with_images 1406, 0xc5, 0x00, 0x08 emit_sparks CHR_DRCAROLL wait_until_with_images 1468, 0xcd, 0x00, 0x08 play_sound 0x012b, CHANNEL_5 wait_until_with_images 1480, 0xcf, 0x00, 0x08 play_sound 0x0173, CHANNEL_6 wait_until_with_images 1487, 0xd0, 0x08, 0x00 play_sound 0x04f9, CHANNEL_2 emit_sparks CHR_DRCAROLL wait_until_with_images 1494, 0xd1, 0x08, 0x00 play_sound 0x0171, CHANNEL_3 wait_until_with_images 1500, 0xd4, 0x08, 0x00 speak CHR_JOANNA, 0x3027, 0x7471, CHANNEL_10, COLOR_09_BLUE // "Dr. Caroll? Are you in control again? Can you stop..." set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until 1534, 0xd6 play_sound 0x04f9, CHANNEL_6 wait_until 1564, 0xda play_sound 0x0178, CHANNEL_5 wait_until 1630, 0xe0 play_sound 0x0175, CHANNEL_5 wait_until 1810, 0xe3 speak CHR_JOANNA, 0x3028, 0x7472, CHANNEL_10, COLOR_04_ORANGE // "Yes, I'm back again, my dear. But the program has ..." wait_until 1810, 0xe5 play_sound 0x0177, CHANNEL_3 wait_until 1886, 0xe7 play_sound 0x0175, CHANNEL_5 wait_until 2378, 0xe9 mute_channel CHANNEL_7 speak CHR_JOANNA, 0x3029, 0x7473, CHANNEL_10, COLOR_09_BLUE // "What do you mean?" wait_until 2510, 0xea speak CHR_JOANNA, 0x302a, 0x7474, CHANNEL_10, COLOR_04_ORANGE // "When the program has run, I will have control of a..." wait_until 3126, 0xf5 play_sound 0x012b, CHANNEL_5 wait_until 3156, 0xf6 emit_sparks CHR_DRCAROLL set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until 3266, 0xf7 emit_sparks CHR_DRCAROLL set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until 3556, 0xf8 set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 emit_sparks CHR_DRCAROLL wait_until 3606, 0xf9 emit_sparks CHR_DRCAROLL set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until 3985, 0x10 play_sound 0x0424, CHANNEL_1 wait_until 4046, 0xfa emit_sparks CHR_DRCAROLL set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x08 yield set_drcaroll_image CHR_DRCAROLL, 0x00, 0x00 wait_until 4106, 0xfb emit_sparks CHR_DRCAROLL label 0x11 yield if_controller_button_pressed /*goto*/ 0x57 if_timer_gt 4250, /*goto*/ 0x06 mute_channel CHANNEL_1 goto_first 0x11 label 0x06 fade_to_color 0x000000ff, 250 wait_until 4500, 0x12 play_sound 0x012b, CHANNEL_5 beginloop 0x08 if_camera_animating /*goto*/ 0x2e goto_next 0x57 label 0x2e if_controller_button_pressed /*goto*/ 0x57 label 0x2e endloop 0x08 label 0x57 mute_channel CHANNEL_10 mute_channel CHANNEL_7 mute_channel CHANNEL_6 mute_channel CHANNEL_5 mute_channel CHANNEL_4 mute_channel CHANNEL_3 mute_channel CHANNEL_2 mute_channel CHANNEL_1 mute_channel CHANNEL_0 fade_to_color 0xffffffff, 0 fade_to_color 0x00000000, 15 hide_object 0xbb unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_P1P2, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_P1P2, CHRFLAG2_00020000 animation 0x01d5, -2, -1, 0x0600, CHR_P1P2, 2 unset_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 animation 0x01d6, -2, -1, 0x0600, CHR_ELVIS, 2 unset_chr_flag_bank3 CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_DRCAROLL, CHRFLAG2_00020000 animation 0x01d7, -2, -1, 0x0600, CHR_DRCAROLL, 2 set_cutscene_weapon CHR_ELVIS, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon CHR_ELVIS, WEAPON_PHOENIX, WEAPON_NONE set_function CHR_ELVIS, GFUNC_IDLE yield chr_move_to_pad CHR_ELVIS, 0x0013, 0x01, /*goto*/ 0x2e label 0x2e set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 chr_move_to_pad CHR_JOANNA, 0x019f, 0x01, /*goto*/ 0x2e label 0x2e set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000 restart_default_music reset_ambience play_x_music CHANNEL_10, 60 set_function CHR_ELVIS, GFUNC_IDLE chr_move_to_pad CHR_ELVIS, 0x0017, 0x01, /*goto*/ 0x2e label 0x2e remove_weapon_from_inventory WEAPON_BACKUPDISK set_function CHR_ELVIS, FUNC_ELVIS_WARP_TO_OUTSIDE_DRCAROLL show_nonessential_chrs TRUE set_stage_flag STAGEFLAG_MIDCUTSCENE_FINISHED set_function CHR_SELF, GFUNC_END_CINEMA endfunction func042d_elvis_warp_to_outside_drcaroll: stop_chr beginloop 0x04 dprint "TELEPORT FAILED\n" chr_move_to_pad CHR_ELVIS, 0x0017, 0x01, /*goto*/ 0x2e endloop 0x04 label 0x2e dprint "TELEPORT GOOD\n" set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 stop_chr set_function CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT endfunction func0c02_outro: show_nonessential_chrs FALSE hide_countdown_timer set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_music_track MUSIC_DEEPSEA_OUTRO camera_movement 0x02d7 set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE restart_timer // @bug: Missing button checks makes the outro unskippable until a certain // point. .macro blow_mine time loopid msg mine pad beginloop \loopid if_timer_gt \time, /*goto*/ 0x2e endloop \loopid label 0x2e dprint \msg show_object \mine yield move_object_to_pad \mine, \pad yield destroy_object \mine .endm blow_mine 40, 0x63, "1\n", 0x76, 0x028c blow_mine 72, 0x64, "2\n", 0x77, 0x028b blow_mine 155, 0x65, "3\n", 0x78, 0x028a blow_mine 176, 0x66, "4\n", 0x79, 0x0289 blow_mine 194, 0x6a, "5\n", 0x7a, 0x0288 blow_mine 252, 0x6b, "6\n", 0x7b, 0x0287 blow_mine 300, 0x6c, "7\n", 0x7c, 0x0286 blow_mine 331, 0x6d, "8\n", 0x7d, 0x0285 blow_mine 355, 0x6e, "9\n", 0x7e, 0x0284 blow_mine 411, 0x6f, "10\n", 0x7f, 0x0283 blow_mine 441, 0x70, "11\n", 0x80, 0x0282 blow_mine 485, 0x71, "12\n", 0x81, 0x0281 blow_mine 543, 0x72, "13\n", 0x82, 0x0280 blow_mine 594, 0x73, "14\n", 0x83, 0x027f blow_mine 607, 0x74, "15\n", 0x84, 0x027e blow_mine 629, 0x75, "16\n", 0x85, 0x027d blow_mine 671, 0x76, "17\n", 0x86, 0x027c blow_mine 720, 0x77, "18\n", 0x87, 0x027b blow_mine 776, 0x78, "19\n", 0x88, 0x027a blow_mine 865, 0x79, "20\n", 0x89, 0x0279 blow_mine 914, 0x7a, "21\n", 0x8a, 0x0278 blow_mine 991, 0x7b, "22\n", 0x8b, 0x0277 beginloop 0x7c if_timer_gt 1011, /*goto*/ 0x2e endloop 0x7c label 0x2e dprint "23\n" blow_mine 1038, 0x7d, "24\n", 0x8d, 0x0275 blow_mine 1071, 0x7e, "25\n", 0x8e, 0x0274 blow_mine 1090, 0x7f, "26\n", 0x8f, 0x0273 blow_mine 1110, 0x80, "27\n", 0x90, 0x0272 blow_mine 1137, 0x81, "28\n", 0x91, 0x0271 wait_until 1150, 0x8e open_door 0xb3 open_door 0xb4 open_door 0xb5 open_door 0xb6 blow_mine 1191, 0x82, "29\n", 0x92, 0x0270 blow_mine 1214, 0x83, "30\n", 0x93, 0x026f blow_mine 1266, 0x84, "31\n", 0x94, 0x026e blow_mine 1285, 0x85, "32\n", 0x95, 0x026d blow_mine 1296, 0x86, "33\n", 0x96, 0x026c blow_mine 1320, 0x87, "34\n", 0x97, 0x026b wait_until 1355, 0x8f close_door 0xb5 close_door 0xb6 blow_mine 1360, 0x88, "35\n", 0x98, 0x026a blow_mine 1390, 0x89, "36\n", 0x99, 0x0269 blow_mine 1412, 0x8a, "37\n", 0x9a, 0x0268 wait_until 1416, 0x90 close_door 0xb3 close_door 0xb4 blow_mine 1424, 0x8b, "38\n", 0x9b, 0x0267 beginloop 0x08 if_camera_animating /*goto*/ 0x2e goto_next 0x57 label 0x2e if_controller_button_pressed /*goto*/ 0x57 label 0x2e endloop 0x08 label 0x57 if_all_objectives_complete /*goto*/ 0x06 unset_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE explosions_around_chr CHR_JOANNA label 0x2e unset_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE enter_firstperson grant_control CHR_JOANNA restart_timer beginloop 0x0d if_timer_gt 120, /*goto*/ 0x2f endloop 0x0d label 0x2f if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2e explosions_around_chr CHR_VELVET label 0x2e beginloop 0x0e if_timer_gt 240, /*goto*/ 0x06 endloop 0x0e label 0x06 end_level set_function CHR_SELF, GFUNC_IDLE label 0x2e end_level set_function CHR_SELF, GFUNC_IDLE endfunction func1002_intro: set_drcaroll_image CHR_DRCAROLL, 0x02, 0x02 chr_draw_weapon_in_cutscene CHR_JOANNA, WEAPON_FALCON2_SCOPE set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_music_track MUSIC_DEEPSEA_INTRO camera_movement 0x01ef cmd0175 60 set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000 animation 0x01f0, -1, -1, 0x0600, CHR_JOANNA, 4 set_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_HIDDEN set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 animation 0x01f1, -1, -1, 0x0600, CHR_ELVIS, 4 set_object_flag_bank0 0x07, OBJECTFLAG0_DEACTIVATED set_object_flag_bank1 0x07, OBJECTFLAG1_04000000 set_object_flag_bank2 0x07, OBJECTFLAG2_00000010 object_do_animation 0x01f2, 0x07, 0x04ff, 0xff set_chr_flag_bank3 0x40, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 0x40, CHRFLAG3_HIDDEN set_chr_flag_bank2 0x40, CHRFLAG2_00020000 animation 0x0471, -1, -1, 0x0600, 0x40, 4 restart_timer set_cutscene_weapon CHR_JOANNA, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE wait_until 0, 0x63 play_sound_from_object2 CHANNEL_5, 0x07, 0x81aa, 0x00, 0x00 wait_until 260, 0x8a play_sound 0x80d5, CHANNEL_10 wait_until 280, 0x8b play_sound 0x80d4, CHANNEL_10 wait_until 300, 0x89 play_sound 0x005b, CHANNEL_7 set_chr_flag_bank2 0x40, CHRFLAG2_CLOAKED play_sound 0x80d7, CHANNEL_10 wait_until 320, 0x8c play_sound 0x80d6, CHANNEL_10 wait_until 852, 0x64 play_sound 0x0171, CHANNEL_7 wait_until 1210, 0x65 speak CHR_JOANNA, 0x301f, 0x7469, CHANNEL_10, COLOR_04_ORANGE // "This doesn't seem normal. No one's around." wait_until 1266, 0x66 play_sound 0x0172, CHANNEL_7 wait_until 1300, 0x6a play_sound 0x0171, CHANNEL_7 wait_until 1430, 0x6b mute_channel CHANNEL_5 play_sound_from_object2 CHANNEL_5, 0x07, 0x81a9, 0x00, 0x00 wait_until 1522, 0x6c speak CHR_JOANNA, 0x3020, 0x746a, CHANNEL_10, COLOR_09_BLUE // "No signs of conflict. No spent ammo cases or bulle..." wait_until 1548, 0x6d play_sound 0x0174, CHANNEL_7 wait_until 1594, 0x6e play_sound 0x0175, CHANNEL_7 wait_until 1662, 0x6f play_sound 0x0176, CHANNEL_7 wait_until 1762, 0x70 play_sound 0x0177, CHANNEL_7 wait_until 1945, 0x71 speak CHR_JOANNA, 0x3021, 0x746b, CHANNEL_10, COLOR_04_ORANGE // "But there ought to be a rear guard at least. It ma..." wait_until 1958, 0x72 play_sound 0x0178, CHANNEL_7 wait_until 2066, 0x73 play_sound 0x0171, CHANNEL_7 wait_until 2118, 0x74 play_sound 0x0172, CHANNEL_7 wait_until 2167, 0x75 play_sound 0x0173, CHANNEL_7 wait_until 2213, 0x76 play_sound 0x0174, CHANNEL_7 wait_until 2346, 0x77 play_sound 0x0175, CHANNEL_7 wait_until 2362, 0x78 play_sound 0x0176, CHANNEL_7 wait_until 2376, 0x79 play_sound 0x0177, CHANNEL_7 wait_until 2390, 0x7a play_sound 0x0178, CHANNEL_7 wait_until 2420, 0x7b speak CHR_JOANNA, 0x3022, 0x746c, CHANNEL_10, COLOR_09_BLUE // "There has to be someone farther inside. Cover me." wait_until 2426, 0x7c play_sound 0x0171, CHANNEL_7 wait_until 2470, 0x7d play_sound 0x0172, CHANNEL_7 wait_until 2485, 0x7e play_sound 0x0173, CHANNEL_7 wait_until 2520, 0x7f play_sound 0x0174, CHANNEL_7 wait_until 2545, 0x80 play_sound 0x0175, CHANNEL_7 wait_until 2582, 0x81 play_sound 0x0171, CHANNEL_7 wait_until 2585, 0x82 play_sound 0x0176, CHANNEL_6 wait_until 2720, 0x83 play_sound 0x0172, CHANNEL_7 wait_until 2842, 0x84 play_sound 0x0173, CHANNEL_7 wait_until 2880, 0x85 play_sound 0x0174, CHANNEL_7 wait_until 2898, 0x86 play_sound 0x0175, CHANNEL_7 wait_until 3040, 0x87 play_sound 0x0176, CHANNEL_7 wait_until 3042, 0x88 play_sound 0x0177, CHANNEL_6 beginloop 0x08 if_camera_animating /*goto*/ 0x2e goto_next 0x57 label 0x2e if_controller_button_pressed /*goto*/ 0x57 label 0x2e endloop 0x08 label 0x57 mute_channel CHANNEL_7 mute_channel CHANNEL_6 mute_channel CHANNEL_5 mute_channel CHANNEL_4 mute_channel CHANNEL_10 remove_chr 0x40 unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000 animation 0x01f0, -2, -1, 0x0600, CHR_JOANNA, 2 unset_chr_flag_bank3 CHR_ELVIS, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 animation 0x01f1, -2, -1, 0x0600, CHR_ELVIS, 2 if_coop_mode /*goto*/ 0x45 unset_object_flag_bank0 0x07, OBJECTFLAG0_DEACTIVATED unset_object_flag_bank1 0x07, OBJECTFLAG1_04000000 set_object_flag_bank2 0x07, OBJECTFLAG2_00000010 object_do_animation 0x01f2, 0x07, 0x01ff, 0xfe goto_next 0x46 label 0x45 hide_object 0x07 label 0x46 restart_default_music reset_ambience label 0x0d enter_firstperson yield set_function CHR_ELVIS, FUNC_INIT_ELVIS set_function CHR_SELF, GFUNC_IDLE endfunction func042f_init_pelagic_guard: set_chr_field_0x35e_0x35f 2, 0x0a set_accuracy 20 set_reaction_speed 65 set_chr_health CHR_SELF, 70 set_armor 0 set_recovery_speed 0 set_shield 0 set_function CHR_SELF, GFUNC_UNALERTED endfunction func0430_unused: set_accuracy 20 set_reaction_speed 65 set_chr_health CHR_SELF, 10 set_armor 70 set_recovery_speed 0 set_shield 0 set_function CHR_SELF, GFUNC_UNALERTED endfunction func1006_msg_thiswillhelpus: beginloop 0x04 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d if_objective_complete 0, /*goto*/ 0x2e endloop 0x04 label 0x2e restart_timer beginloop 0x08 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d if_timer_gt 180, /*goto*/ 0x2e endloop 0x08 label 0x2e speak CHR_P1P2, 0x300a, 0x73d4, CHANNEL_6, COLOR_04_ORANGE // "This will help us to get round the ship quicker." label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction func1007_msg_antibodymasking: restart_timer beginloop 0x04 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d endloop 0x04 // Unreachable label 0x2e speak CHR_JOANNA, 0x300b, 0x73d5, CHANNEL_6, COLOR_09_BLUE // "This antibody masking will protect us from the aut..." label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction func1008_msg_theresdrcaroll: beginloop 0x04 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d if_chr_death_animation_finished CHR_DRCAROLL, /*goto*/ 0x0d if_chr_dying CHR_DRCAROLL, /*goto*/ 0x0d if_chr_unloaded CHR_DRCAROLL, /*goto*/ 0x0d if_door_state 0xae, DOORSTATE_OPEN | DOORSTATE_CLOSING | DOORSTATE_OPENING, /*goto*/ 0x2e reloop 0x04 label 0x2e if_chr_in_room CHR_ELVIS, 0x00, 0x004c, /*goto*/ 0x2e goto_next 0x0d label 0x2e if_chr_field0x332_zero CHR_ELVIS, /*goto*/ 0x2e endloop 0x04 label 0x2e speak CHR_JOANNA, 0x300c, 0x73d6, CHANNEL_6, COLOR_04_ORANGE // "There's Dr. Caroll. Let's see if we can reverse wh..." // Elvis dead, Dr Caroll dead, or Elvis didn't get teleported label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction func1009_msg_getoutofhere: beginloop 0x04 if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, TRUE, /*goto*/ 0x2e endloop 0x04 label 0x2e restart_timer beginloop 0x08 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d if_timer_gt 120, /*goto*/ 0x2e endloop 0x08 label 0x2e speak CHR_JOANNA, 0x300d, 0x73d7, CHANNEL_6, COLOR_04_ORANGE // "We have to get out of here!" label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction /** * Entry point for all of Joanna's teleports. * * Map of how these functions call each other: * * 100a func100a_joanna_teleports * - calls 0414 teleport_joanna_to_sapa * - calls 0416 teleport_joanna_to_a_pa_drcaroll * - calls 0415 teleport_joanna_to_drcaroll * - calls 0415 teleport_joanna_to_drcaroll */ func100a_joanna_teleports: beginloop 0x1f if_stage_flag_eq STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x04 endloop 0x1f beginloop 0x04 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08 if_stage_flag_eq STAGEFLAG_DONE_FIRST_TELEPORT, TRUE, /*goto*/ 0x2e endloop 0x04 // Done first teleport label 0x2e if_difficulty_gt DIFF_A, /*goto*/ 0x2e goto_first 0x04 label 0x2e if_difficulty_lt DIFF_PA, /*goto*/ 0x2e goto_first 0x04 // Done first teleport and difficulty is SA label 0x2e set_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED if_objective_complete 1, /*goto*/ 0x2e goto_first 0x04 // Done first teleport, difficult is SA and megaweapon is disabled label 0x2e unset_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED goto_first 0x04 // // At start area teleport // label 0x59 set_stage_flag STAGEFLAG_DONE_FIRST_TELEPORT revoke_control CHR_JOANNA, 0 teleport_to_pad PAD_STARTAREA_TELEPORT, CHR_JOANNA label 0x5b if_teleport_full_white /*goto*/ 0x5e, CHR_JOANNA yield goto_first 0x5b label 0x5e set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x2e if_difficulty_lt DIFF_SA, /*goto*/ 0x64 set_function CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_SAPA unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x31 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x31 label 0x2e grant_control CHR_JOANNA teleport_to_pad 0x0000, CHR_JOANNA goto_first 0x04 // // At SA/PA area teleport // beginloop 0x09 if_difficulty_gt DIFF_SA, /*goto*/ 0x2e set_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED if_objective_complete 1, /*goto*/ 0x2e reloop 0x09 // Teleport is active label 0x2e unset_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59 endloop 0x09 label 0x59 teleport_to_pad 0x00c0, CHR_JOANNA revoke_control CHR_JOANNA, 0 label 0x5c if_teleport_full_white /*goto*/ 0x5e, CHR_JOANNA yield goto_first 0x5c label 0x5e set_function CHR_ELVIS, FUNC_ELVIS_STOP if_difficulty_lt DIFF_PA, /*goto*/ 0x64 goto_next 0x2e // // At start area teleport on Agent, or SA/PA area teleport on SA // label 0x64 goto_next 0x2e label 0x2e set_function CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_A_PA_DRCAROLL unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x32 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x32 label 0x2e grant_control CHR_JOANNA teleport_to_pad 0x0000, CHR_JOANNA if_difficulty_lt DIFF_SA, /*goto*/ 0x06 if_difficulty_lt DIFF_PA, /*goto*/ 0x2e label 0x06 goto_first 0x04 label 0x2e set_function CHR_SELF, GFUNC_IDLE // // At Agent or PA teleport // beginloop 0x08 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59 if_chr_distance_to_pad_lt CHR_JOANNA, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a endloop 0x08 // Agent teleport label 0x59 revoke_control CHR_JOANNA, 0 teleport_to_pad 0x0054, CHR_JOANNA goto_next 0x5d // PA teleport label 0x5a revoke_control CHR_JOANNA, 0 teleport_to_pad 0x0111, CHR_JOANNA label 0x5d if_teleport_full_white /*goto*/ 0x5e, CHR_JOANNA yield goto_first 0x5d label 0x5e set_function CHR_ELVIS, FUNC_ELVIS_STOP set_function CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_DRCAROLL unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x33 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x33 label 0x2e grant_control CHR_JOANNA teleport_to_pad 0x0000, CHR_JOANNA set_function CHR_SELF, GFUNC_IDLE endfunction func0414_teleport_joanna_to_sapa: set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x08 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x06 if_chr_dying CHR_ELVIS, /*goto*/ 0x06 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x06 beginloop 0x63 chr_move_to_pad CHR_ELVIS, 0x01c6, 0x01, /*goto*/ 0x06 endloop 0x63 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 beginloop 0x64 chr_move_to_pad CHR_SELF, PAD_SAPAAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x64 label 0x06 yield stop_chr set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_GIVE_FARSIGHT label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction func0415_teleport_joanna_to_drcaroll: set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x65 chr_move_to_pad CHR_ELVIS, 0x01bf, 0x01, /*goto*/ 0x06 endloop 0x65 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 goto_next 0x63 label 0x07 message CHR_JOANNA, 0x300e // "Elvis has been killed." label 0x62 beginloop 0x63 chr_move_to_pad CHR_SELF, PAD_DRCAROLLROOM_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x63 label 0x06 stop_chr yield set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction /** * If Agent: Warp to Agent area * If SA: Warp to Dr Caroll Area * If PA: Warp to PA area */ func0416_teleport_joanna_to_a_pa_drcaroll: set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x62 if_difficulty_lt DIFF_SA, /*goto*/ 0x09 if_difficulty_lt DIFF_PA, /*goto*/ 0x08 // PA if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x66 chr_move_to_pad CHR_ELVIS, 0x01be, 0x01, /*goto*/ 0x06 endloop 0x66 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 label 0x07 beginloop 0x67 chr_move_to_pad CHR_SELF, PAD_PAAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x67 label 0x06 label 0x2e stop_chr yield if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS label 0x62 set_stage_flag STAGEFLAG_TELEPORT_DONE set_function CHR_SELF, GFUNC_IDLE // SA label 0x08 set_function CHR_SELF, FUNC_TELEPORT_JOANNA_TO_DRCAROLL // Agent label 0x09 if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x6b chr_move_to_pad CHR_ELVIS, 0x0040, 0x01, /*goto*/ 0x06 endloop 0x6b label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 label 0x07 beginloop 0x68 chr_move_to_pad CHR_SELF, PAD_AGENTAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x68 label 0x06 label 0x2e stop_chr yield set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x61 if_chr_dying CHR_VELVET, /*goto*/ 0x61 if_chr_unloaded CHR_VELVET, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_GIVE_FARSIGHT label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Entry point for all of Velvet's teleports. * * Map of how these functions call each other: * * 100b func100b_velvet_teleports * - calls 0417 teleport_velvet_to_sapa * - calls 0419 teleport_velvet_to_a_pa_drcaroll * - calls 0418 teleport_velvet_to_drcaroll * - calls 0418 teleport_velvet_to_drcaroll */ func100b_velvet_teleports: if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2e goto_next 0x1f label 0x2e set_function CHR_SELF, GFUNC_IDLE beginloop 0x1f if_stage_flag_eq STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x04 endloop 0x1f beginloop 0x04 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08 endloop 0x04 // // At start area teleport // label 0x59 revoke_control CHR_VELVET, 0 teleport_to_pad PAD_STARTAREA_TELEPORT, CHR_VELVET label 0x5b if_teleport_full_white /*goto*/ 0x5e, CHR_VELVET yield goto_first 0x5b label 0x5e if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x62 label 0x2e if_difficulty_lt DIFF_SA, /*goto*/ 0x64 set_function CHR_VELVET, FUNC_TELEPORT_VELVET_TO_SAPA unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x31 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x31 label 0x2e grant_control CHR_VELVET teleport_to_pad 0x0000, CHR_VELVET goto_first 0x04 // // At SA/PA area teleport // beginloop 0x09 if_difficulty_gt DIFF_SA, /*goto*/ 0x2e set_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED if_objective_complete 1, /*goto*/ 0x2e reloop 0x09 label 0x2e unset_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59 endloop 0x09 label 0x59 teleport_to_pad 0x00c0, CHR_VELVET revoke_control CHR_VELVET, 0 label 0x5c if_teleport_full_white /*goto*/ 0x5e, CHR_VELVET yield goto_first 0x5c label 0x5e if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x62 if_difficulty_lt DIFF_PA, /*goto*/ 0x64 goto_next 0x2e label 0x64 goto_next 0x2e label 0x2e set_function CHR_VELVET, FUNC_TELEPORT_VELVET_TO_A_PA_DRCAROLL unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x32 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x32 label 0x2e grant_control CHR_VELVET teleport_to_pad 0x0000, CHR_VELVET if_difficulty_lt DIFF_SA, /*goto*/ 0x06 if_difficulty_lt DIFF_PA, /*goto*/ 0x2e label 0x06 goto_first 0x04 label 0x2e set_function CHR_SELF, GFUNC_IDLE // // At Agent or PA area teleport // beginloop 0x08 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59 if_chr_distance_to_pad_lt CHR_VELVET, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a endloop 0x08 // Agent teleport label 0x59 revoke_control CHR_VELVET, 0 teleport_to_pad 0x0054, CHR_VELVET goto_next 0x5d // PA teleport label 0x5a revoke_control CHR_VELVET, 0 teleport_to_pad 0x0111, CHR_VELVET label 0x5d if_teleport_full_white /*goto*/ 0x5e, CHR_VELVET yield goto_first 0x5d label 0x5e if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x62 set_function CHR_VELVET, FUNC_TELEPORT_VELVET_TO_DRCAROLL unset_stage_flag STAGEFLAG_TELEPORT_DONE beginloop 0x33 if_stage_flag_eq STAGEFLAG_TELEPORT_DONE, TRUE, /*goto*/ 0x2e endloop 0x33 label 0x2e grant_control CHR_VELVET teleport_to_pad 0x0000, CHR_VELVET set_function CHR_SELF, GFUNC_IDLE endfunction func0417_teleport_velvet_to_sapa: if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x08 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x06 if_chr_dying CHR_ELVIS, /*goto*/ 0x06 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x06 beginloop 0x63 chr_move_to_pad CHR_ELVIS, 0x01c6, 0x01, /*goto*/ 0x06 endloop 0x63 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 beginloop 0x64 chr_move_to_pad CHR_SELF, PAD_SAPAAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x64 label 0x06 yield stop_chr set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_GIVE_FARSIGHT label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction func0418_teleport_velvet_to_drcaroll: if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x65 chr_move_to_pad CHR_ELVIS, 0x01bf, 0x01, /*goto*/ 0x06 endloop 0x65 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 goto_next 0x63 label 0x07 message CHR_JOANNA, 0x300e // "Elvis has been killed." label 0x62 beginloop 0x63 chr_move_to_pad CHR_SELF, PAD_DRCAROLLROOM_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x63 label 0x06 stop_chr yield set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction /** * If Agent: Warp to Agent area * If SA: Warp to Dr Caroll Area * If PA: Warp to PA area */ func0419_teleport_velvet_to_a_pa_drcaroll: if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_STOP label 0x62 if_difficulty_lt DIFF_SA, /*goto*/ 0x09 if_difficulty_lt DIFF_PA, /*goto*/ 0x08 // PA if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x66 chr_move_to_pad CHR_ELVIS, 0x01be, 0x01, /*goto*/ 0x06 endloop 0x66 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 label 0x07 beginloop 0x67 chr_move_to_pad CHR_SELF, PAD_PAAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x67 label 0x06 label 0x2e stop_chr yield if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS label 0x62 set_stage_flag STAGEFLAG_TELEPORT_DONE set_function CHR_SELF, GFUNC_IDLE // SA label 0x08 set_function CHR_SELF, FUNC_TELEPORT_VELVET_TO_DRCAROLL // Agent label 0x09 if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x07 if_chr_dying CHR_ELVIS, /*goto*/ 0x07 if_chr_unloaded CHR_ELVIS, /*goto*/ 0x07 beginloop 0x6b chr_move_to_pad CHR_ELVIS, 0x0040, 0x01, /*goto*/ 0x06 endloop 0x6b label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 label 0x62 label 0x07 beginloop 0x68 chr_move_to_pad CHR_SELF, PAD_AGENTAREA_ENTRY, 0x01, /*goto*/ 0x06 endloop 0x68 label 0x06 label 0x2e stop_chr yield set_stage_flag STAGEFLAG_TELEPORT_DONE if_stage_flag_eq STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x61 if_chr_dying CHR_JOANNA, /*goto*/ 0x61 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x61 goto_next 0x62 label 0x61 set_function CHR_ELVIS, FUNC_ELVIS_GIVE_FARSIGHT label 0x62 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Wait until not in sight of player (usually immediately), then unhide. * * Once the teleportals are activated, this is assigned to 3 guards at the * entrance to the grotto thing. */ func041c_teleport_activation_responder: beginloop 0x04 set_target_chr CHR_JOANNA if_chr_sees_player /*goto*/ 0x2e set_target_chr CHR_VELVET if_chr_sees_player /*goto*/ 0x2e unset_self_flag_bank3 CHRFLAG3_HIDDEN set_function CHR_SELF, FUNC_INIT_SNIPER label 0x2e endloop 0x04 endfunction func041a_init_sniper: if_difficulty_lt DIFF_SA, /*goto*/ 0x2e // SA and PA set_accuracy 30 set_reaction_speed 65 set_chr_health CHR_SELF, 10 set_armor 70 set_recovery_speed 0 set_shield 0 set_function CHR_SELF, FUNC_SNIPER_WAIT_FOR_DETECTION // Agent label 0x2e set_accuracy 20 set_reaction_speed 65 set_chr_health CHR_SELF, 10 set_armor 70 set_recovery_speed 0 set_shield 0 set_function CHR_SELF, FUNC_SNIPER_WAIT_FOR_DETECTION endfunction func041b_sniper_wait_for_detection: unset_self_flag_bank3 CHRFLAG3_UNEXPLODABLE yield set_onshot_function FUNC_SNIPER label 0x06 set_reaction_speed 100 set_onshot_function FUNC_SNIPER restart_timer beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_chr_sees_player /*goto*/ 0x2e if_enemy_distance_lt_and_los 1000, /*goto*/ 0x2e if_saw_death 0x00, /*goto*/ 0x2e reloop 0x04 label 0x2e if_chr_distance_lt 400, /*goto*/ 0x06 if_distance_to_target_chr_lt 30, /*goto*/ 0x06 if_chr_in_view /*goto*/ 0x06 if_saw_death 0x00, /*goto*/ 0x06 if_alertness 100, OPERATOR_GREATER_THAN, /*goto*/ 0x06 if_difficulty_lt DIFF_SA, /*goto*/ 0x2e if_timer_gt 180, /*goto*/ 0x06 label 0x2e endloop 0x04 label 0x06 set_group_alertness 100 set_self_flag_bank3 CHRFLAG3_00040000 set_chr_cloaked CHR_SELF, TRUE, TRUE set_function CHR_SELF, FUNC_SNIPER endfunction func041d_sniper: set_self_flag_bank3 CHRFLAG3_00000040 set_onshot_function FUNC_SNIPER set_chr_cloaked CHR_SELF, TRUE, FALSE if_chr_dying CHR_SELF, /*goto*/ 0x06 if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x06 if_chr_unloaded CHR_SELF, /*goto*/ 0x06 goto_next 0x03 // Dying label 0x06 goto_next 0x10 // Alive label 0x03 restart_timer cmd0139 70, 0x02, TRUE beginloop 0x63 consider_coop_for_p1p2_chr CHR_SELF if_chr_sees_player /*goto*/ 0x2e dprint "NO PLAYER TARGET\n" if_enemy_distance_lt_and_los 1000, /*goto*/ 0x2f dprint "NO OPP\n" goto_next 0x2f label 0x2e set_target_chr CHR_P1P2 label 0x2f if_chr_lost_track_of_target_maybe /*goto*/ 0x2f goto_next 0x2e label 0x2f dprint "THE PLAYER is it\n" if_timer_gt 180, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x06 endloop 0x63 label 0x06 dprint "1\n" stop_chr call_rng if_rand_gt 128, /*goto*/ 0x06 restart_timer beginloop 0x0e if_timer_gt 120, /*goto*/ 0x06 endloop 0x0e label 0x06 dprint "2\n" set_follow_chr TARGET_CHR goto_next 0x06 // Unreachable if_chr_lost_track_of_target_maybe /*goto*/ 0x2e goto_next 0x06 label 0x2e dprint "CHECK PLAYER DIR\n" if_player_looking_at_something_maybe 0x14, 0x01, 0x00, /*goto*/ 0x0d dprint "3\n" label 0x06 if_chr_sees_player /*goto*/ 0x2e dprint "4\n" goto_next 0x0d label 0x2e restart_timer dprint "5\n" set_chr_cloaked CHR_SELF, FALSE, TRUE label 0x0a label 0x2e try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x2e label 0x2e try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x0b beginloop 0x0b if_chr_stopped /*goto*/ 0x0c endloop 0x0b label 0x0c if_chr_lost_track_of_target_maybe /*goto*/ 0x2e goto_next 0x06 label 0x2e if_chr_injured_target CHR_SELF, /*goto*/ 0x2e goto_next 0x06 label 0x2e set_stage_flag STAGEFLAG_PURPLE_GUARD_SHOT_JO_OR_ELVIS label 0x06 set_chr_cloaked CHR_SELF, TRUE, TRUE label 0x0d set_target_chr FOLLOW_CHR goto_first 0x03 label 0x10 if_chr_flag_bank2 CHR_SELF, CHRFLAG2_CLOAKED, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e set_chr_cloaked CHR_SELF, FALSE, TRUE set_function CHR_SELF, GFUNC_IDLE endfunction func040c_blonde: beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x004c, /*goto*/ 0x06 endloop 0x04 label 0x06 unset_self_flag_bank3 CHRFLAG3_UNEXPLODABLE set_chr_alliance CHR_SELF, ALLIANCE_ENEMY cmd0145_rebuild_groups cmd0146_rebuild_groups set_onshot_function GFUNC_ALERTED beginloop 0x08 if_shot_near_chr 0x00, /*goto*/ 0x06 if_saw_death 0x00, /*goto*/ 0x06 if_chr_sees_player /*goto*/ 0x06 endloop 0x08 label 0x06 set_return_function CHR_SELF, GFUNC_ALERTED set_function CHR_SELF, GFUNC_ALERTED endfunction func100c_countdown_timer: beginloop 0x03 if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, TRUE, /*goto*/ 0x2e endloop 0x03 label 0x2e set_countdown_timer 60 show_countdown_timer start_countdown_timer beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_countdown_timer_lt 1, /*goto*/ 0x06 if_chr_in_room CHR_P1P2, 0x00, 0x000c, /*goto*/ 0x2e endloop 0x04 // Timer expired label 0x06 set_stage_flag STAGEFLAG_TIMER_EXPIRED yield set_function CHR_SELF, FUNC_OUTRO set_function CHR_SELF, GFUNC_IDLE // Player escaped label 0x2e message CHR_P1P2, 0x3010 // "Cetan ship evacuation successful." set_stage_flag STAGEFLAG_ESCAPED restart_timer stop_countdown_timer hide_countdown_timer label 0x09 yield label 0x2e if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x2e if_chr_dying CHR_JOANNA, /*goto*/ 0x2e if_chr_unloaded CHR_JOANNA, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2e if_chr_dying CHR_VELVET, /*goto*/ 0x2e if_chr_unloaded CHR_VELVET, /*goto*/ 0x2e goto_next 0x06 // Both players dead label 0x2e end_level set_function CHR_SELF, GFUNC_IDLE // Mission complete label 0x06 set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_function CHR_SELF, FUNC_OUTRO set_function CHR_SELF, GFUNC_IDLE endfunction func100e_check_elvis_dead: beginloop 0x04 if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x2e if_chr_dying CHR_ELVIS, /*goto*/ 0x2e if_chr_unloaded CHR_ELVIS, /*goto*/ 0x2e endloop 0x04 label 0x2e message CHR_JOANNA, 0x300e // "Elvis has been killed." set_stage_flag STAGEFLAG_ALLY_DEAD set_function CHR_SELF, GFUNC_IDLE endfunction func100f_check_drcaroll_dead: beginloop 0x04 if_chr_death_animation_finished CHR_DRCAROLL, /*goto*/ 0x2e if_chr_dying CHR_DRCAROLL, /*goto*/ 0x2e if_chr_unloaded CHR_DRCAROLL, /*goto*/ 0x2e endloop 0x04 label 0x2e message CHR_JOANNA, 0x300f // "Dr. Caroll has been killed." set_stage_flag STAGEFLAG_ALLY_DEAD set_function CHR_SELF, GFUNC_IDLE endfunction func040f_miniskedar_send_clones: dprint "DETECTED\n" set_self_flag_bank3 CHRFLAG3_00000002 set_self_flag_bank3 CHRFLAG3_HIDDEN set_self_flag_bank3 CHRFLAG3_00040000 beginloop 0x04 goto_next 0x52 reloop 0x04 label 0x52 if_chr_death_animation_finished CHR_CLONE, /*goto*/ 0x52 reloop 0x04 label 0x52 try_spawn_clone2 CHR_SELF, FUNC_INIT_MINISKEDAR, 0x00000010, /*goto*/ 0x2e reloop 0x04 label 0x2e yield endloop 0x04 endfunction func040e_init_miniskedar: set_self_flag_bank3 CHRFLAG3_00080000 set_self_flag_bank3 CHRFLAG3_00020000 set_accuracy 0 set_reaction_speed 65 set_chr_health CHR_SELF, 20 set_armor 0 set_recovery_speed 0 set_shield 0 set_self_flag_bank3 CHRFLAG3_00080000 set_chr_alliance CHR_SELF, ALLIANCE_ENEMY cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, FUNC_MINISKEDAR endfunction func040f_miniskedar: set_onshot_function FUNC_MINISKEDAR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e yield restart_timer beginloop 0x10 if_timer_gt 30, /*goto*/ 0x2e endloop 0x10 label 0x2e say_quip CHR_JOANNA, 0x05, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00 set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 beginloop 0x03 if_enemy_distance_lt_and_los 2540, /*goto*/ 0x2e label 0x2e if_chr_sees_player /*goto*/ 0x2e goto_next 0x1e label 0x2e if_chr_distance_lt 400, /*goto*/ 0x30 label 0x1e restart_timer label 0x09 restart_timer if_enemy_distance_lt_and_los 2540, /*goto*/ 0x06 label 0x06 try_run_to_target_chr /*goto*/ 0x0a beginloop 0x0a if_chr_sees_player /*goto*/ 0x2e goto_next 0x06 label 0x2e if_chr_distance_lt 400, /*goto*/ 0x30 label 0x06 if_timer_gt 60, /*goto*/ 0x06 endloop 0x0a label 0x06 goto_first 0x09 label 0x30 restart_timer dprint "FACE TARGET\n" stop_chr try_face_entity 0x0200, 0x0000, /*goto*/ 0x0b beginloop 0x0b if_timer_gt 30, /*goto*/ 0x06 reloop 0x0b label 0x2e if_angle_to_target_chr_lt 10, /*goto*/ 0x06 cmd004f 246, /*goto*/ 0x06 endloop 0x0b label 0x06 say_quip CHR_JOANNA, 0x04, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00 if_chr_distance_lt 200, /*goto*/ 0x2f miniskedar_try_pounce 0x04, 0x000e, /*goto*/ 0x34 reloop 0x03 beginloop 0x34 if_chr_stopped /*goto*/ 0x2e endloop 0x34 label 0x2e restart_timer if_chr_injured_target CHR_SELF, /*goto*/ 0x2e goto_next 0x06 label 0x2e label 0x2f retreat 0x02, 0x01 beginloop 0x0c if_timer_gt 120, /*goto*/ 0x06 endloop 0x0c label 0x06 endloop 0x03 endfunction func1010_agent_hallway_spawner: // This flag is also set when Elvis gives you the Farsight, so perhaps that // used to be the trigger for miniskedar spawning but was changed so they // spawn immediately. set_stage_flag STAGEFLAG_TRIGGER_MINISKEDAR_SPAWNING beginloop 0x03 if_stage_flag_eq STAGEFLAG_TRIGGER_MINISKEDAR_SPAWNING, TRUE, /*goto*/ 0x2e endloop 0x03 label 0x2e set_function 0x25, FUNC_MINISKEDAR_SEND_CLONES set_function 0x26, FUNC_MINISKEDAR_SEND_CLONES // Wait until player in a certain room beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0054, /*goto*/ 0x2e endloop 0x04 // Activate a different set of miniskedar label 0x2e remove_chr 0x25 remove_chr 0x26 set_function 0x27, FUNC_MINISKEDAR_SEND_CLONES set_function 0x28, FUNC_MINISKEDAR_SEND_CLONES // Wait until player in a certain room beginloop 0x08 consider_coop_for_p1p2_chr CHR_P1P2 if_chr_in_room CHR_P1P2, 0x00, 0x005a, /*goto*/ 0x2e endloop 0x08 // Activate a different set of miniskedar label 0x2e remove_chr 0x27 remove_chr 0x28 set_function 0x2b, FUNC_MINISKEDAR_SEND_CLONES set_function 0x2a, FUNC_MINISKEDAR_SEND_CLONES // Wait until player in a certain room beginloop 0x09 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0067, /*goto*/ 0x2e endloop 0x09 label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction func0411_hide: set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_self_flag_bank3 CHRFLAG3_00040000 set_self_flag_bank3 CHRFLAG3_HIDDEN set_function CHR_SELF, GFUNC_IDLE endfunction func0412_unused: set_chr_flag_bank2 CHR_SELF, CHRFLAG2_CLOAKED set_function CHR_SELF, GFUNC_IDLE endfunction /** * Assigned to 3 guards who appear after teleports activated. */ func0413_cloak_and_hide: set_chr_cloaked CHR_SELF, TRUE, FALSE stop_chr yield set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_self_flag_bank3 CHRFLAG3_00040000 set_self_flag_bank3 CHRFLAG3_HIDDEN set_function CHR_SELF, GFUNC_IDLE endfunction func1012_sa_megaweapon_spawner: beginloop 0x04 if_stage_flag_eq STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON, TRUE, /*goto*/ 0x1f endloop 0x04 label 0x1f restart_timer beginloop 0x20 dprint "TIME\n" if_stage_flag_eq STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x06 // Megaweapon not disabled yet - spawn every 8 seconds if_timer_lt 480, /*goto*/ 0x21 goto_next 0x2e // Megaweapon disabled - spawn every 48 seconds label 0x06 if_timer_lt 2880, /*goto*/ 0x21 // Consider spawn label 0x2e dprint "SQUAD\n" if_num_chrs_in_group_gt 5, 0x0e, /*goto*/ 0x21 call_rng if_rand_gt 86, /*goto*/ 0x63 if_rand_gt 172, /*goto*/ 0x64 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01f4, FUNC_INIT_SA_MEGAWEAPON_MINISKEDAR, 0x00000010, /*goto*/ 0x22 goto_next 0x21 label 0x63 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01f5, FUNC_INIT_SA_MEGAWEAPON_MINISKEDAR, 0x00000010, /*goto*/ 0x22 goto_next 0x21 label 0x64 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01f6, FUNC_INIT_SA_MEGAWEAPON_MINISKEDAR, 0x00000010, /*goto*/ 0x22 goto_next 0x21 label 0x21 endloop 0x20 label 0x22 yield cmd0145_rebuild_groups cmd0146_rebuild_groups goto_first 0x1f endfunction // SA megaweapon miniskedar func041e_init_sa_megaweapon_miniskedar: set_group 0x0e cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, FUNC_INIT_MINISKEDAR endfunction /** * On PA, in the room with 5 cylinders that must be destroyed to open the door. */ .macro doorcylinder_logic glass1 glass2 glass3 mine stageflag beginloop 0x04 if_object_in_good_condition \glass1, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass2, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass3, /*goto*/ 0x2e goto_next 0x06 label 0x2e endloop 0x04 label 0x06 assign_sound 0x8147, CHANNEL_7 control_sound_from_object CHANNEL_7, \mine, TRUE yield destroy_object \mine destroy_object \glass1 destroy_object \glass2 destroy_object \glass3 set_stage_flag \stageflag set_function CHR_SELF, 0x0408 .endm func1013_pa_doorcylinder1: set_lights_state 0x00a1, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00a9, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00ac, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00b4, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00b7, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00bf, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00c0, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00c1, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00c2, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x00c3, 0x04, 0x00, 0xff, 0xb4 set_lights_state 0x006c, 0x04, 0x00, 0xff, 0xf0 doorcylinder_logic 0x11, 0x12, 0x13, 0x9c, STAGEFLAG_PA_EARLYDOORCYLINDER1_DESTROYED endfunction func1014_pa_doorcylinder2: doorcylinder_logic 0x14, 0x15, 0x16, 0x9d, STAGEFLAG_PA_EARLYDOORCYLINDER2_DESTROYED endfunction func1015_pa_doorcylinder3: doorcylinder_logic 0x17, 0x18, 0x19, 0x9e, STAGEFLAG_PA_EARLYDOORCYLINDER3_DESTROYED endfunction func1016_pa_doorcylinder4: doorcylinder_logic 0x1a, 0x1b, 0x1c, 0x9f, STAGEFLAG_PA_EARLYDOORCYLINDER4_DESTROYED endfunction func1017_pa_doorcylinder5: doorcylinder_logic 0x1d, 0x1e, 0x1f, 0xa0, STAGEFLAG_PA_EARLYDOORCYLINDER5_DESTROYED endfunction func0408_check_pa_earlydoorcylinders_destroyed: label 0x04 yield if_stage_flag_eq STAGEFLAG_PA_EARLYDOORCYLINDER1_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_EARLYDOORCYLINDER2_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_EARLYDOORCYLINDER3_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_EARLYDOORCYLINDER4_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_EARLYDOORCYLINDER5_DESTROYED, TRUE, /*goto*/ 0x08 set_function CHR_SELF, GFUNC_IDLE beginloop 0x08 if_door_state 0x09, DOORSTATE_CLOSED | DOORSTATE_CLOSING, /*goto*/ 0x06 endloop 0x08 label 0x06 set_lights_state 0x008b, 0x03, 0xff, 0x0a, 0x78 set_lights_state 0x00bf, 0x03, 0xff, 0x0a, 0x78 set_lights_state 0x00c0, 0x03, 0xff, 0x0a, 0x78 set_lights_state 0x00c1, 0x03, 0xff, 0x0a, 0x78 set_lights_state 0x00c2, 0x03, 0xff, 0x0a, 0x78 set_lights_state 0x00c3, 0x03, 0xff, 0x0a, 0x78 open_door 0x09 open_door 0x0a goto_first 0x08 endfunction .macro pa_cylinder glass mine // Wait until any object destroyed beginloop 0x04 if_object_in_good_condition \glass, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 1, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 2, /*goto*/ 0x2e goto_next 0x06 label 0x2e // @bug: One of the PA door glasses is checked twice, and one is not // checked at all. .if \glass == 0x50 if_object_in_good_condition \glass + 2, /*goto*/ 0x2e goto_next 0x06 label 0x2e .endif if_object_in_good_condition \glass + 3, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 4, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 5, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 6, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 7, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 8, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 9, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_object_in_good_condition \glass + 10, /*goto*/ 0x2e goto_next 0x06 label 0x2e .if \glass != 0x50 if_object_in_good_condition \glass + 11, /*goto*/ 0x2e goto_next 0x06 label 0x2e .endif endloop 0x04 label 0x06 destroy_object \mine destroy_object \glass destroy_object \glass + 1 destroy_object \glass + 2 .if \glass == 0x50 destroy_object \glass + 2 .endif destroy_object \glass + 3 destroy_object \glass + 4 destroy_object \glass + 5 destroy_object \glass + 6 destroy_object \glass + 7 destroy_object \glass + 8 destroy_object \glass + 9 destroy_object \glass + 10 .if \glass != 0x50 destroy_object \glass + 11 .endif .endm func1018_pa_door1: pa_cylinder 0x20, 0xa1 set_stage_flag STAGEFLAG_PA_MIDDOORCYLINDER_DESTROYED set_lights_state 0x00a1, 0x03, 0xff, 0x0a, 0x78 label 0x08 yield if_door_state 0x0b, DOORSTATE_CLOSED | DOORSTATE_CLOSING, /*goto*/ 0x06 goto_first 0x08 label 0x06 open_door 0x0b open_door 0x0c goto_first 0x08 endfunction /** * The 4 cylinders in the tunnels that must be destroyed before the door to the * final room opens. */ func0409_check_pa_latedoorcylinders_destroyed: label 0x04 yield if_stage_flag_eq STAGEFLAG_PA_LATEDOORCYLINDER1_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_LATEDOORCYLINDER2_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_LATEDOORCYLINDER3_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_LATEDOORCYLINDER4_DESTROYED, TRUE, /*goto*/ 0x08 set_function CHR_SELF, GFUNC_IDLE beginloop 0x08 if_door_state 0x0d, DOORSTATE_CLOSED | DOORSTATE_CLOSING, /*goto*/ 0x06 endloop 0x08 label 0x06 open_door 0x0d open_door 0x0e goto_first 0x08 endfunction func1019_pa_door2: pa_cylinder 0x2c, 0xa2 set_lights_state 0x00a9, 0x03, 0xff, 0x0a, 0x78 label 0x08 set_stage_flag STAGEFLAG_PA_LATEDOORCYLINDER1_DESTROYED set_function CHR_SELF, 0x0409 endfunction func101a_pa_door3: pa_cylinder 0x38, 0xa3 set_lights_state 0x00ac, 0x03, 0xff, 0x0a, 0x78 label 0x08 set_stage_flag STAGEFLAG_PA_LATEDOORCYLINDER2_DESTROYED set_function CHR_SELF, 0x0409 endfunction func101b_pa_door4: pa_cylinder 0x44, 0xa4 set_lights_state 0x00b4, 0x03, 0xff, 0x0a, 0x78 label 0x08 set_stage_flag STAGEFLAG_PA_LATEDOORCYLINDER3_DESTROYED set_function CHR_SELF, 0x0409 endfunction func101c_pa_door5: pa_cylinder 0x50, 0xa5 set_lights_state 0x00b7, 0x03, 0xff, 0x0a, 0x78 label 0x08 set_stage_flag STAGEFLAG_PA_LATEDOORCYLINDER4_DESTROYED set_function CHR_SELF, 0x0409 endfunction func101d_pa_canister1: pa_cylinder 0x5b, 0xa6 label 0x08 set_stage_flag STAGEFLAG_PA_CANISTER1_DESTROYED set_function CHR_SELF, 0x040a endfunction func101e_pa_canister2: pa_cylinder 0x67, 0xa7 label 0x08 set_stage_flag STAGEFLAG_PA_CANISDER2_DESTROYED set_function CHR_SELF, 0x040a endfunction func040a_check_pa_canisters_destroyed: label 0x04 yield if_stage_flag_eq STAGEFLAG_PA_CANISTER1_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE label 0x2e if_stage_flag_eq STAGEFLAG_PA_CANISDER2_DESTROYED, TRUE, /*goto*/ 0x2e set_function CHR_SELF, GFUNC_IDLE // Both canisters destroyed label 0x2e set_object_flag_bank0 0x0f, OBJECTFLAG0_40000000 set_lights_state 0x00bc, 0x03, 0xff, 0x0a, 0x78 beginloop 0x08 if_door_state 0x0f, DOORSTATE_CLOSED | DOORSTATE_CLOSING, /*goto*/ 0x06 endloop 0x08 label 0x06 if_stage_flag_eq STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e message CHR_JOANNA, 0x302b // "Cetan megaweapon has been disabled." set_stage_flag STAGEFLAG_MEGAWEAPON_DISABLED label 0x2e open_door 0x0f open_door 0x10 goto_first 0x08 endfunction /** * The room with 5 cylinders that open a door. */ func101f_pa_circleroom_spawner: beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_door_state 0x09, DOORSTATE_OPEN | DOORSTATE_CLOSING | DOORSTATE_OPENING, /*goto*/ 0x2e if_chr_in_room CHR_P1P2, 0x00, 0x008b, /*goto*/ 0x2e endloop 0x04 label 0x2e restart_timer beginloop 0x0d if_door_state 0x09, DOORSTATE_OPEN | DOORSTATE_CLOSING | DOORSTATE_OPENING, /*goto*/ 0x1f if_timer_gt 300, /*goto*/ 0x1f endloop 0x0d label 0x1f restart_timer beginloop 0x20 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x008c, /*goto*/ 0x58 dprint "TIME\n" if_timer_lt 300, /*goto*/ 0x21 label 0x2e dprint "SQUAD\n" if_num_chrs_in_group_gt 3, 0x0d, /*goto*/ 0x21 call_rng if_rand_gt 128, /*goto*/ 0x63 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x00dd, FUNC_INIT_PA_CIRCLEROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x63 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x00dd, FUNC_INIT_PA_CIRCLEROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x21 endloop 0x20 label 0x22 yield cmd0145_rebuild_groups cmd0146_rebuild_groups goto_first 0x1f label 0x58 set_function CHR_SELF, GFUNC_IDLE endfunction func041f_init_pa_circleroom_miniskedar: set_group 0x0d cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, FUNC_INIT_MINISKEDAR endfunction func1020_pa_deadendroom_spawner: beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x00b4, /*goto*/ 0x2e if_chr_in_room CHR_P1P2, 0x00, 0x00b8, /*goto*/ 0x2e endloop 0x04 label 0x2e set_function 0x38, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR set_function 0x39, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR set_function 0x3a, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR set_function 0x3b, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR label 0x1f restart_timer beginloop 0x20 dprint "TIME\n" if_timer_lt 300, /*goto*/ 0x21 label 0x2e dprint "SQUAD\n" if_num_chrs_in_group_gt 3, 0x0b, /*goto*/ 0x21 call_rng if_rand_gt 64, /*goto*/ 0x63 if_rand_gt 128, /*goto*/ 0x64 if_rand_gt 196, /*goto*/ 0x65 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01af, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x63 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01b0, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x64 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01b1, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x65 try_spawn_chr BODY_MINISKEDAR, HEAD_RANDOM, 0x01b2, FUNC_INIT_PA_DEADENDROOM_MINISKEDAR, 0x00000000, /*goto*/ 0x22 goto_next 0x21 label 0x21 endloop 0x20 label 0x22 yield cmd0145_rebuild_groups cmd0146_rebuild_groups goto_first 0x1f endfunction func0420_init_pa_deadendroom_miniskedar: set_group 0x0b cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, FUNC_INIT_MINISKEDAR endfunction func1021_c6c4: beginloop 0x04 if_stage_flag_eq STAGEFLAG_PA_MIDDOORCYLINDER_DESTROYED, TRUE, /*goto*/ 0x2e if_chr_dying 0x30, /*goto*/ 0x2e if_chr_dying 0x31, /*goto*/ 0x2e if_chr_dying 0x32, /*goto*/ 0x2e if_chr_dying 0x33, /*goto*/ 0x2e if_chr_dying 0x34, /*goto*/ 0x2e if_chr_dying 0x35, /*goto*/ 0x2e endloop 0x04 label 0x2e set_function 0x30, FUNC_INIT_MINISKEDAR set_function 0x31, FUNC_INIT_MINISKEDAR set_function 0x32, FUNC_INIT_MINISKEDAR set_function 0x33, FUNC_INIT_MINISKEDAR set_function 0x34, FUNC_INIT_MINISKEDAR set_function 0x35, FUNC_INIT_MINISKEDAR set_function CHR_SELF, GFUNC_IDLE endfunction .macro init_path pathid function set_chr_field_0x35e_0x35f 2, 0x0a set_accuracy 20 set_reaction_speed 65 set_chr_health CHR_SELF, 70 set_armor 0 set_recovery_speed 0 set_shield 0 set_return_function CHR_SELF, \function assign_path \pathid start_path set_function CHR_SELF, GFUNC_UNALERTED_0004 .endm func0421_start_path02: init_path 2, 0x0421 endfunction func0422_start_path03: init_path 3, 0x0422 endfunction func0423_start_path04: init_path 4, 0x0423 endfunction func0424_start_path05: init_path 5, 0x0424 endfunction func0425_start_path06: init_path 6, 0x0425 endfunction func0426_start_path07: init_path 7, 0x0426 endfunction func0427_start_path08: init_path 8, 0x0427 endfunction func0428_start_path09: init_path 9, 0x0428 endfunction func0429_start_path10: init_path 10, 0x0429 endfunction func1022_control_room: if_difficulty_lt DIFF_SA, /*goto*/ 0x2e goto_next 0x04 // Agent label 0x2e remove_chr CHR_BLONDE1 remove_chr CHR_BLONDE2 set_function CHR_SELF, GFUNC_IDLE // SA and PA beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x004c, /*goto*/ 0x2e endloop 0x04 label 0x2e if_chr_dying CHR_BLONDE1, /*goto*/ 0x2e if_chr_death_animation_finished CHR_BLONDE1, /*goto*/ 0x2e if_chr_unloaded CHR_BLONDE1, /*goto*/ 0x2e goto_first 0x04 label 0x2e if_chr_dying CHR_BLONDE2, /*goto*/ 0x2e if_chr_death_animation_finished CHR_BLONDE2, /*goto*/ 0x2e if_chr_unloaded CHR_BLONDE2, /*goto*/ 0x2e goto_first 0x04 label 0x2e message CHR_P1P2, 0x3015 // "Control Room has been secured." set_stage_flag STAGEFLAG_BLONDES_DEAD set_function CHR_SELF, GFUNC_IDLE endfunction func1023_check_drcaroll_restored: if_difficulty_lt DIFF_PA, /*goto*/ 0x04 yield give_object_to_chr OBJ_BACKUPDISK, CHR_JOANNA beginloop 0x04 if_chr_death_animation_finished CHR_DRCAROLL, /*goto*/ 0x0d if_chr_dying CHR_DRCAROLL, /*goto*/ 0x0d if_chr_unloaded CHR_DRCAROLL, /*goto*/ 0x0d if_chr_death_animation_finished CHR_ELVIS, /*goto*/ 0x0d if_chr_dying CHR_ELVIS, /*goto*/ 0x0d if_chr_unloaded CHR_ELVIS, /*goto*/ 0x0d consider_coop_for_p1p2_chr CHR_SELF if_chr_distance_to_pad_lt CHR_P1P2, 200, 0x0193, /*goto*/ 0x2e reloop 0x04 label 0x2e if_difficulty_lt DIFF_SA, /*goto*/ 0x08 if_stage_flag_eq STAGEFLAG_BLONDES_DEAD, TRUE, /*goto*/ 0x2e reloop 0x04 label 0x2e if_difficulty_lt DIFF_PA, /*goto*/ 0x08 if_chr_distance_to_pad_lt CHR_P1P2, 200, 0x0193, /*goto*/ 0x2e reloop 0x04 label 0x2e if_chr_weapon_equipped CHR_P1P2, WEAPON_BACKUPDISK, /*goto*/ 0x2e endloop 0x04 label 0x2e set_stage_flag STAGEFLAG_DRCAROLL_RESTORED label 0x08 set_function CHR_SELF, FUNC_MIDCUTSCENE label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction func1024_update_elvis_target_chr: beginloop 0x04 if_chr_dying CHR_JOANNA, /*goto*/ 0x08 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x08 if_chr_unloaded CHR_JOANNA, /*goto*/ 0x08 set_chr_target_chr CHR_ELVIS, CHR_JOANNA unset_stage_flag STAGEFLAG_ELVIS_FOLLOWING_VELVET endloop 0x04 beginloop 0x08 if_chr_dying CHR_VELVET, /*goto*/ 0x2e if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2e if_chr_unloaded CHR_VELVET, /*goto*/ 0x2e set_chr_target_chr CHR_ELVIS, CHR_VELVET set_stage_flag STAGEFLAG_ELVIS_FOLLOWING_VELVET endloop 0x08 label 0x2e goto_first 0x04 endfunction unregistered_function1: label 0x04 chr_move_to_pad CHR_ELVIS, 0x01bf, 0x01, /*goto*/ 0x06 label 0x06 set_chr_flag_bank2 CHR_ELVIS, CHRFLAG2_00020000 set_function CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS set_function CHR_SELF, GFUNC_IDLE endfunction func1026_setup_autoguns: yield set_autoturret_type 0xa8, 0x12 set_autoturret_type 0xa9, 0x12 set_autoturret_type 0xaa, 0x12 set_function CHR_SELF, GFUNC_IDLE endfunction func042e_elvis_run_to_exit: set_self_flag_bank3 CHRFLAG3_00080000 set_onshot_function FUNC_ELVIS_RUN_TO_EXIT set_return_function CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT set_target_chr FOLLOW_CHR if_chr_dying CHR_SELF, /*goto*/ 0x2e if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2e if_chr_unloaded CHR_SELF, /*goto*/ 0x2e goto_next 0x06 // Dying label 0x2e set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2e goto_next 0x5f // Injured label 0x2e say_quip CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 beginloop 0x12 if_chr_stopped /*goto*/ 0x06 endloop 0x12 // Healthy label 0x1f label 0x06 set_target_chr FOLLOW_CHR label 0x5f restart_timer if_chr_distance_lt 1400, /*goto*/ 0x2e jog_to_pad 0x0004 goto_next 0x0f label 0x2e run_to_pad 0x0004 beginloop 0x0f if_enemy_distance_lt_and_los 800, /*goto*/ 0x08 if_timer_gt 300, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x2e endloop 0x0f label 0x06 goto_first 0x5f label 0x2e stop_chr goto_first 0x1f label 0x06 restart_timer label 0x08 if_chr_lost_track_of_target_maybe /*goto*/ 0x06 goto_next 0x2e label 0x06 goto_first 0x1f label 0x2e dprint "DETECTED\n" call_rng if_rand_lt 85, /*goto*/ 0x63 if_rand_lt 170, /*goto*/ 0x64 say_quip CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x63 say_quip CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 goto_next 0x2e label 0x64 say_quip CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00 label 0x2e set_onshot_function FUNC_ELVIS_RUN_TO_EXIT set_return_function CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR endfunction func1027_powernode_illumination: beginloop 0x04 if_door_state 0x03, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2e unset_object_flag_bank0 OBJ_POWERNODE1, OBJECTFLAG0_ILLUMINATED goto_next 0x06 label 0x2e set_object_flag_bank0 OBJ_POWERNODE1, OBJECTFLAG0_ILLUMINATED label 0x06 if_door_state 0x04, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2e unset_object_flag_bank0 OBJ_POWERNODE2, OBJECTFLAG0_ILLUMINATED goto_next 0x06 label 0x2e set_object_flag_bank0 OBJ_POWERNODE2, OBJECTFLAG0_ILLUMINATED label 0x06 if_door_state 0x05, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2e unset_object_flag_bank0 OBJ_POWERNODE3, OBJECTFLAG0_ILLUMINATED goto_next 0x06 label 0x2e set_object_flag_bank0 OBJ_POWERNODE3, OBJECTFLAG0_ILLUMINATED label 0x06 endloop 0x04 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Enables 3 guards near the grotto entrace during the escape timer. */ func1028_enable_last_3_guards: beginloop 0x04 if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, TRUE, /*goto*/ 0x2e reloop 0x04 label 0x2e if_door_state 0xab, DOORSTATE_OPEN | DOORSTATE_OPENING, /*goto*/ 0x2e endloop 0x04 label 0x2e unset_chr_flag_bank3 0x3c, CHRFLAG3_HIDDEN unset_chr_flag_bank3 0x3d, CHRFLAG3_HIDDEN unset_chr_flag_bank3 0x3e, CHRFLAG3_HIDDEN unset_chr_flag_bank3 0x3c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 0x3d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 0x3e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_function 0x3c, FUNC_RUN_TO_EXIT set_function 0x3d, FUNC_RUN_TO_EXIT set_function 0x3e, FUNC_RUN_TO_EXIT set_function CHR_SELF, GFUNC_IDLE endfunction func042b_run_to_exit: set_chr_field_0x35e_0x35f 2, 0x0a set_accuracy 40 set_reaction_speed 65 set_chr_health CHR_SELF, 10 set_armor 70 set_recovery_speed 0 set_shield 0 label 0x04 run_to_pad 0x0000 set_function CHR_SELF, GFUNC_UNALERTED endfunction func1429_start_lift: if_coop_mode /*goto*/ 0x45 activate_lift 1, 0x07 label 0x45 set_function CHR_SELF, GFUNC_IDLE endfunction func102a_kill_pelagic_guard: yield damage_chr 0x3f, 18 yield damage_chr 0x3f, 18 yield damage_chr 0x3f, 18 yield damage_chr 0x3f, 18 set_function CHR_SELF, GFUNC_IDLE endfunction func102b_proxymines: beginloop 0x04 if_chr_death_animation_finished 0x08, /*goto*/ 0x06 if_chr_dying 0x08, /*goto*/ 0x06 if_chr_unloaded 0x08, /*goto*/ 0x06 if_stage_flag_eq STAGEFLAG_PURPLE_GUARD_SHOT_JO_OR_ELVIS, TRUE, /*goto*/ 0x2e endloop 0x04 label 0x2e set_object_flag_bank0 OBJ_PROXYMINES, OBJECTFLAG0_00100000 set_object_flag_bank1 OBJ_PROXYMINES, OBJECTFLAG1_INVISIBLE label 0x06 set_function CHR_SELF, GFUNC_IDLE endfunction func102c_lock_doors: label 0x04 yield if_difficulty_lt DIFF_PA, /*goto*/ 0x2e // PA lock_door 0xb1, 0x80 lock_door 0xb2, 0x80 set_object_flag_bank1 0xb1, OBJECTFLAG1_20000000 set_object_flag_bank1 0xb2, OBJECTFLAG1_20000000 // A and SA label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction func040f_miniskedar_unalerted: set_onshot_function FUNC_MINISKEDAR set_self_flag_bank3 CHRFLAG3_00080000 set_self_flag_bank3 CHRFLAG3_00020000 set_accuracy 0 set_reaction_speed 65 set_chr_health CHR_SELF, 20 set_armor 0 set_recovery_speed 0 set_shield 0 set_self_flag_bank3 CHRFLAG3_00080000 set_chr_alliance CHR_SELF, ALLIANCE_ENEMY cmd0145_rebuild_groups cmd0146_rebuild_groups beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_chr_sees_player /*goto*/ 0x2e endloop 0x04 label 0x2e set_function CHR_SELF, FUNC_MINISKEDAR endfunction func0432_dead_skedar: set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE label 0x08 yield animation ANIM_SKEDAR_COLLAPSE, -1, -1, 0x0600, 0x21, 2 label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction unregistered_function2: set_lights_state 0x0009, 0x04, 0x00, 0xff, 0xfa beginloop 0x08 endloop 0x08 label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction func102e_open_powernode_doors_on_agent: if_difficulty_lt DIFF_SA, /*goto*/ 0x08 set_function CHR_SELF, GFUNC_IDLE // Agent label 0x08 open_door 0x03 set_object_flag_bank0 0x03, OBJECTFLAG0_40000000 open_door 0x04 set_object_flag_bank0 0x04, OBJECTFLAG0_40000000 open_door 0x05 set_object_flag_bank0 0x05, OBJECTFLAG0_40000000 label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction /** * Stop whatever Elvis is doing in preparation for teleporting. */ func042c_elvis_stop: label 0x08 stop_chr // @bug: This needs to set the onshot function to GFUNC_IDLE too, otherwise // his function will be reassigned if he takes damage between here and the // teleport. This causes him to not teleport. label 0x2e set_function CHR_SELF, GFUNC_IDLE endfunction func102f_unlock_drcaroll_door: // Wait until player in Dr Caroll room beginloop 0x08 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x004c, /*goto*/ 0x2e endloop 0x08 // Unlock exit door label 0x2e unlock_door 0x75, 0x02 unlock_door 0x76, 0x02 unset_object_flag_bank1 0x75, OBJECTFLAG1_20000000 unset_object_flag_bank1 0x76, OBJECTFLAG1_20000000 set_function CHR_SELF, GFUNC_IDLE endfunction func1030_unlock_agent_teleport_door: beginloop 0x08 if_stage_flag_eq STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e endloop 0x08 // Agent area, near megaweapon. Door that leads to exit teleport. label 0x2e unlock_door 0xb7, 0x02 unlock_door 0xb8, 0x02 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Wait until Jo has the trigger buddy warp flag set, then unset it 30 seconds * later. */ func1031_unset_trigger_buddy_warp: beginloop 0x08 if_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e reloop 0x08 label 0x2e restart_timer beginloop 0x09 if_timer_gt 1800, /*goto*/ 0x2e endloop 0x09 label 0x2e unset_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP endloop 0x08 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Toggle a stage flag every 5 seconds. * * There's a good chance that this flag had a different meaning back when this * was working. */ unregistered_function3: label 0x1f restart_timer beginloop 0x08 if_timer_gt 300, /*goto*/ 0x2e endloop 0x08 label 0x2e unset_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED restart_timer beginloop 0x09 if_timer_gt 300, /*goto*/ 0x2e endloop 0x09 label 0x2e set_stage_flag STAGEFLAG_SA_EXIT_TELEPORT_DISABLED goto_first 0x1f set_function CHR_SELF, GFUNC_IDLE endfunction func1032_setup_rtracker: yield set_object_flag_bank2 OBJ_PROXYMINES, OBJECTFLAG2_RTRACKED_BLUE set_function CHR_SELF, GFUNC_IDLE endfunction func1433_setup_lighting: yield set_lighting 0x0000, 0x09, 0x01 set_lighting 0x0002, 0x05, 0x00 set_lighting 0x0003, 0x05, 0x00 set_lighting 0x0004, 0x05, 0x00 set_lighting 0x0006, 0x05, 0x00 set_lighting 0x0007, 0x05, 0x00 set_lighting 0x0008, 0x05, 0x00 set_lighting 0x000c, 0x05, 0x00 set_lighting 0x000d, 0x05, 0x00 set_function CHR_SELF, GFUNC_IDLE endfunction func1034_enable_blondes: if_difficulty_lt DIFF_SA, /*goto*/ 0x0d yield hide_chr CHR_BLONDE1 hide_chr CHR_BLONDE2 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x004c, /*goto*/ 0x2e endloop 0x04 label 0x2e show_chr CHR_BLONDE1 show_chr CHR_BLONDE2 set_function CHR_BLONDE1, FUNC_BLONDE set_function CHR_BLONDE2, FUNC_BLONDE label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction func102d_check_farsight_ammo_wasted: if_difficulty_lt DIFF_PA, /*goto*/ 0x0d // Probable @bug: Looks like the objective will fail if one buddy uses all // their ammo but the other is still stocked. beginloop 0x1f if_chr_weapon_equipped CHR_JOANNA, WEAPON_FARSIGHTXR20, /*goto*/ 0x2e if_chr_weapon_equipped CHR_VELVET, WEAPON_FARSIGHTXR20, /*goto*/ 0x2f endloop 0x1f label 0x2e set_target_chr CHR_JOANNA goto_next 0x63 label 0x2f set_target_chr CHR_VELVET beginloop 0x63 if_objective_complete 1, /*goto*/ 0x0d if_ammo_quantity_lt TARGET_CHR, AMMOTYPE_FARSIGHT, 1, /*goto*/ 0x2e endloop 0x63 label 0x2e message CHR_JOANNA, 0x302c // "Ammo wasted - unable to disable megaweapon." set_stage_flag STAGEFLAG_FARSIGHT_AMMO_WASTED set_function CHR_SELF, GFUNC_IDLE label 0x0d set_function CHR_SELF, GFUNC_IDLE endfunction unregistered_function4: cmd0185_mponly cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, GFUNC_IDLE endfunction functions: register_function func0401_unused 0x0401 register_function func1400_setup_counterop 0x1400 register_function func1001_objectives_failed_msg 0x1001 register_function func1002_intro 0x1002 register_function func1003_powernode1 0x1003 register_function func1004_powernode2 0x1004 register_function func1005_powernode3 0x1005 register_function func1006_msg_thiswillhelpus 0x1006 register_function func1007_msg_antibodymasking 0x1007 register_function func1008_msg_theresdrcaroll 0x1008 register_function func1009_msg_getoutofhere 0x1009 register_function func100a_joanna_teleports 0x100a register_function func100b_velvet_teleports 0x100b register_function func100c_countdown_timer 0x100c register_function func100e_check_elvis_dead 0x100e register_function func100f_check_drcaroll_dead 0x100f register_function func1010_agent_hallway_spawner 0x1010 register_function func1012_sa_megaweapon_spawner 0x1012 register_function func1013_pa_doorcylinder1 0x1013 register_function func1014_pa_doorcylinder2 0x1014 register_function func1015_pa_doorcylinder3 0x1015 register_function func1016_pa_doorcylinder4 0x1016 register_function func1017_pa_doorcylinder5 0x1017 register_function func1018_pa_door1 0x1018 register_function func1019_pa_door2 0x1019 register_function func101a_pa_door3 0x101a register_function func101b_pa_door4 0x101b register_function func101c_pa_door5 0x101c register_function func101d_pa_canister1 0x101d register_function func101e_pa_canister2 0x101e register_function func101f_pa_circleroom_spawner 0x101f register_function func1020_pa_deadendroom_spawner 0x1020 register_function func1021_c6c4 0x1021 register_function func1022_control_room 0x1022 register_function func1023_check_drcaroll_restored 0x1023 register_function func1024_update_elvis_target_chr 0x1024 register_function func1026_setup_autoguns 0x1026 register_function func1027_powernode_illumination 0x1027 register_function func1028_enable_last_3_guards 0x1028 register_function func1429_start_lift 0x1429 register_function func102a_kill_pelagic_guard 0x102a register_function func102b_proxymines 0x102b register_function func102c_lock_doors 0x102c register_function func102d_check_farsight_ammo_wasted 0x102d register_function func102e_open_powernode_doors_on_agent 0x102e register_function func102f_unlock_drcaroll_door 0x102f register_function func1030_unlock_agent_teleport_door 0x1030 register_function func1031_unset_trigger_buddy_warp 0x1031 register_function func1032_setup_rtracker 0x1032 register_function func1433_setup_lighting 0x1433 register_function func1034_enable_blondes 0x1034 register_function func1002_intro 0x0c00 register_function func0c01_midcutscene 0x0c01 register_function func0c02_outro 0x0c02 register_function func0411_hide 0x0411 register_function func0412_unused 0x0412 register_function func040e_init_miniskedar 0x040e register_function func040f_miniskedar 0x040f register_function func0c02_outro 0x0410 register_function func040f_miniskedar_send_clones 0x040d register_function func040c_blonde 0x040c register_function func040b_init_elvis 0x040b register_function func0402_elvis_follow_and_reactive_teleportals 0x0402 register_function func0403_elvis_give_farsight 0x0403 register_function func0404_elvis_follow_and_do_agent_megaweapon 0x0404 register_function func0405_elvis_follow_nocombat 0x0405 register_function func0406_elvis_follow_and_do_sa_megaweapon 0x0406 register_function func0407_elvis_go_to_sa_teleport 0x0407 register_function func0408_check_pa_earlydoorcylinders_destroyed 0x0408 register_function func0409_check_pa_latedoorcylinders_destroyed 0x0409 register_function func040a_check_pa_canisters_destroyed 0x040a register_function func0414_teleport_joanna_to_sapa 0x0414 register_function func0415_teleport_joanna_to_drcaroll 0x0415 register_function func0416_teleport_joanna_to_a_pa_drcaroll 0x0416 register_function func0417_teleport_velvet_to_sapa 0x0417 register_function func0418_teleport_velvet_to_drcaroll 0x0418 register_function func0419_teleport_velvet_to_a_pa_drcaroll 0x0419 register_function func041a_init_sniper 0x041a register_function func041b_sniper_wait_for_detection 0x041b register_function func041c_teleport_activation_responder 0x041c register_function func041d_sniper 0x041d register_function func041e_init_sa_megaweapon_miniskedar 0x041e register_function func041f_init_pa_circleroom_miniskedar 0x041f register_function func0420_init_pa_deadendroom_miniskedar 0x0420 register_function func0421_start_path02 0x0421 register_function func0422_start_path03 0x0422 register_function func0423_start_path04 0x0423 register_function func0424_start_path05 0x0424 register_function func0425_start_path06 0x0425 register_function func0426_start_path07 0x0426 register_function func0427_start_path08 0x0427 register_function func0428_start_path09 0x0428 register_function func0429_start_path10 0x0429 register_function func042b_run_to_exit 0x042b register_function func042d_elvis_warp_to_outside_drcaroll 0x042d register_function func042e_elvis_run_to_exit 0x042e register_function func0c01_midcutscene 0x042a register_function func0413_cloak_and_hide 0x0413 register_function func042f_init_pelagic_guard 0x042f register_function func0430_unused 0x0430 register_function func040f_miniskedar_unalerted 0x0431 register_function func0432_dead_skedar 0x0432 register_function func0433_unused 0x0433 register_function func042c_elvis_stop 0x042c endfunctions paths: register_path path02, 2, 0 register_path path03, 3, 0 register_path path04, 4, 0 register_path path05, 5, 0 register_path path06, 6, 0 register_path path07, 7, 0 register_path path08, 8, 0 register_path path09, 9, 0 register_path path10, 10, 0 endpaths .align 4