perfect_dark/asm/setup/setuppam.s

4666 lines
211 KiB
ArmAsm

#
# 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_dodge_rating 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_propsoundcount_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_dodge_rating 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_dodge_rating 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