# # Air Force One # .set HEADERLEN, 0x20 .include "asm/include/setup.inc" // Characters .set CHR_ELVIS, 0x00 .set CHR_PRESIDENT, 0x18 .set CHR_PILOT1, 0x19 .set CHR_PILOT2, 0x1a .set CHR_STEWARDESS, 0x1b .set CHR_STEWARD, 0x1c .set CHR_TAKER1, 0x2a .set CHR_TAKER2, 0x2b .set CHR_TRENT, 0x32 .set CHR_BLONDE1, 0x33 .set CHR_BLONDE2, 0x34 // Objects .set OBJ_EQUIPMENT, 0x00 .set OBJ_DATAUPLINK_JOANNA, 0x01 .set OBJ_COMMSHUB1, 0x02 .set OBJ_AUTOPILOT_SWITCH, 0x03 .set OBJ_REMOTEMINE_JOANNA, 0x04 .set OBJ_DUMBWAITER1, 0x05 .set OBJ_DUMBWAITER2, 0x06 .set OBJ_DUMBWAITER1_SWITCH, 0x07 .set OBJ_DUMBWAITER2_SWITCH, 0x08 .set OBJ_FLOORHATCH, 0x0b .set OBJ_COCKPITDOOR, 0x0e .set OBJ_DATAUPLINK_VELVET, 0x16 .set OBJ_REMOTEMINE_VELVET, 0x17 .set OBJ_EQUIPMENT_SWITCH, 0x1e .set OBJ_HOVERBIKE_SWITCH, 0x21 .set OBJ_KEYCARD, 0x22 .set OBJ_ESCAPE_POD, 0x24 .set OBJ_EXTERIOR_DOOR, 0x25 .set OBJ_EXTERIOR_DOOR_DETACHED, 0x26 .set OBJ_COMMSHUB2, 0x27 .set OBJ_COMMSHUB3, 0x28 .set OBJ_COMMSHUB4, 0x29 .set OBJ_COMMSHUB5, 0x2a .set OBJ_FLOOR_HATCH_DETACHED, 0x2e .set OBJ_EQUIPMENT_VELVET, 0x3a // Stage flags .set STAGEFLAG_POD_DESTROYED, 0x00000004 .set STAGEFLAG_ALL_OBJECTIVES_COMPLETE, 0x00000008 .set STAGEFLAG_PLANE_NOSEDIVING, 0x00000010 .set STAGEFLAG_JOANNA_MINE_WASTED, 0x00000020 .set STAGEFLAG_VELVET_MINE_WASTED, 0x00000040 .set STAGEFLAG_AI_BUDDY_EXISTS, 0x00000080 .set STAGEFLAG_PRESIDENT_STARTED_RUNNING, 0x00000100 .set STAGEFLAG_PRESIDENT_AT_POD, 0x00000200 .set STAGEFLAG_UFO_ATTACHMENT_DAMAGED, 0x00000800 .set STAGEFLAG_KILLED_NEUTRALS, 0x00001000 .set STAGEFLAG_PILOTS_DEAD, 0x00002000 .set STAGEFLAG_PLANE_STABILIZED, 0x00004000 .set STAGEFLAG_AUTOPILOT_DESTROYED, 0x00008000 .set STAGEFLAG_PRESIDENT_DEAD, 0x00010000 .set STAGEFLAG_BOTH_BLONDES_DEAD, 0x00020000 .set STAGEFLAG_ONE_BLONDE_DEAD, 0x00040000 .set STAGEFLAG_PRESIDENT_CALLED_SECURITY, 0x00080000 .set STAGEFLAG_00100000, 0x00100000 .set STAGEFLAG_INTRO_FINISHED, 0x00200000 .set STAGEFLAG_TRIGGER_MIDCUTSCENE, 0x00400000 .set STAGEFLAG_MIDCUTSCENE_FINISHED, 0x00800000 .set STAGEFLAG_EQUIPMENT_RAISED, 0x01000000 .set STAGEFLAG_EQUIPMENT_SWITCH_DESTROYED, 0x02000000 .set STAGEFLAG_BOTH_MINES_WASTED, 0x04000000 .set STAGEFLAG_PRESIDENT_INJURED, 0x08000000 .set STAGEFLAG_PLANE_CRASHED, 0x10000000 .set STAGEFLAG_MIDCUTSCENE_STARTED, 0x20000000 // Functions .set FUNC_INIT_STRIPES, 0x0401 .set FUNC_INIT_ELVIS, 0x0402 .set FUNC_STRIPES, 0x0403 .set FUNC_PRESIDENT_RUNNING, 0x0404 .set FUNC_PRESIDENT_IN_ROOM, 0x0405 .set FUNC_INIT_PRESIDENT, 0x0406 .set FUNC_STEWARD, 0x0407 .set FUNC_STEWARDESS, 0x0408 .set FUNC_DEFEND_PAD, 0x040a .set FUNC_DEFEND_PRESIDENT, 0x040b .set FUNC_INIT_DEFEND_PAD, 0x040c .set FUNC_TAKER1, 0x040f .set FUNC_TAKER2, 0x0410 .set FUNC_TYPING_GUY, 0x0411 .set FUNC_SITTING_GUY, 0x0412 .set FUNC_TAKER, 0x0413 .set FUNC_COCKPIT_STRIPES, 0x0414 .set FUNC_CLONER1, 0x0415 .set FUNC_INIT_CLONE1, 0x0416 .set FUNC_CLONE1, 0x0417 .set FUNC_CLONER2, 0x0418 .set FUNC_INIT_CLONE2, 0x0419 .set FUNC_CLONE2, 0x041a .set FUNC_CLONER3, 0x041b .set FUNC_INIT_CLONE3, 0x041c .set FUNC_CLONE3, 0x041d .set FUNC_BLONDE, 0x041e .set FUNC_INIT_BLONDE, 0x041f .set FUNC_TRENT_ATTACKING, 0x0420 .set FUNC_TRENT_WAITING, 0x0421 .set FUNC_TRENT_RUNNING, 0x0422 .set FUNC_OUTRO, 0x0423 .set FUNC_MIDCUTSCENE, 0x0424 .set FUNC_STEWARD_SHOT, 0x0425 .set FUNC_BE_UNALERT, 0x0429 .set FUNC_INIT_NEUTRAL, 0x042a .set FUNC_REINIT_STRIPES, 0x042b .set FUNC_REMOVE_IF_OFFSCREEN, 0x042c props: briefing 0, 0x3601 briefing 1, 0x3600 briefing 2, 0x3602 briefing 3, 0x3603 beginobjective 0, 0x3605, DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Locate and retrieve equipment" require_object_collected OBJ_EQUIPMENT fail_flags STAGEFLAG_EQUIPMENT_SWITCH_DESTROYED endobjective beginobjective 1, 0x3606, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Locate President" complete_flags STAGEFLAG_PRESIDENT_STARTED_RUNNING fail_flags STAGEFLAG_PRESIDENT_CALLED_SECURITY endobjective beginobjective 2, 0x3607, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Get President to escape capsule" complete_flags STAGEFLAG_PRESIDENT_AT_POD fail_flags STAGEFLAG_PRESIDENT_DEAD fail_flags STAGEFLAG_KILLED_NEUTRALS fail_flags STAGEFLAG_POD_DESTROYED endobjective beginobjective 3, 0x3608, DIFFBIT_PA | DIFFBIT_PD // "Secure Air Force One flight path" complete_flags STAGEFLAG_PLANE_STABILIZED fail_flags STAGEFLAG_AUTOPILOT_DESTROYED endobjective beginobjective 4, 0x3609, DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD // "Detach UFO from Air Force One" complete_flags STAGEFLAG_UFO_ATTACHMENT_DAMAGED fail_flags STAGEFLAG_BOTH_MINES_WASTED fail_flags STAGEFLAG_PLANE_CRASHED endobjective chr 0x00000400, 0x32, 0x00be, BODY_TRENT, HEAD_TRENT, GFUNC_IDLE, -1, -1, 200, 8, 0x40018000, 0x00101a00, 0x80, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRDY357TRENT, 0x0032, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DY357LX, 0x00ffffff, 0x00000000 chr 0x00000400, 0x33, 0x00bc, BODY_MRBLONDE, HEAD_MRBLONDE, GFUNC_IDLE, -1, -1, 200, 100, 0x40018201, 0x00101a00, 0x80, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0033, 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 0x00000400, 0x34, 0x00bd, BODY_MRBLONDE, HEAD_MRBLONDE, GFUNC_IDLE, -1, -1, 200, 100, 0x40018201, 0x00101a00, 0x80, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0034, 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 0x00000400, 0x01, 0x008b, BODY_OVERALL, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x008b, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x02, -1, 0, 0x00000000 chr 0x000044c0, 0x1b, 0x008c, BODY_STEWARDESS, HEAD_RANDOM, FUNC_STEWARDESS, 0x00b2, -1, 2000, 5, 0x40002000, 0x00000101, 0x02, 0x02, -1, 0, 0x00010000 chr 0x000044c0, 0x1c, 0x00c1, BODY_STEWARD, HEAD_RANDOM, FUNC_STEWARD, 0x001f, -1, 2000, 5, 0x40002000, 0x00000101, 0x02, 0x02, -1, 0, 0x00010000 chr 0x00000600, 0x04, 0x008e, BODY_OVERALL, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x008e, -1, 1000, 100, 0xc0002000, 0x20000001, 0x02, 0x03, -1, 0, 0x00000000 chr 0x00000600, 0x05, 0x008f, BODY_OVERALL, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x008f, -1, 1000, 100, 0xc0002000, 0x20000001, 0x02, 0x03, -1, 0, 0x00000000 chr 0x00000600, 0x06, 0x0090, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0090, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x04, -1, 0, 0x00000000 chr 0x00000600, 0x07, 0x0091, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0426, 0x0091, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x04, -1, 0, 0x00000000 chr 0x00000600, 0x08, 0x0092, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0092, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x05, -1, 0, 0x00000000 chr 0x00000600, 0x09, 0x0093, BODY_PRES_SECURITY, HEAD_RANDOM, GFUNC_IDLE, 0x0093, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x05, -1, 0, 0x00000000 chr 0x00000600, 0x0a, 0x0094, BODY_PRES_SECURITY, HEAD_RANDOM, GFUNC_IDLE, 0x0094, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x05, -1, 0, 0x00000000 chr 0x00000600, 0x0b, 0x0095, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0002, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x06, -1, 0, 0x00000000 chr 0x00000600, 0x0c, 0x0096, BODY_PRES_SECURITY, HEAD_RANDOM, GFUNC_IDLE, 0x0002, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x06, -1, 0, 0x00000000 chr 0x00000600, 0x0d, 0x0097, BODY_PRES_SECURITY, HEAD_RANDOM, GFUNC_IDLE, 0x0097, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x06, -1, 0, 0x00000000 chr 0x00000400, 0x0e, 0x0098, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0003, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x07, -1, 0, 0x00000000 chr 0x00000400, 0x0f, 0x0099, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0427, 0x0002, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x07, -1, 0, 0x00000000 chr 0x00000600, 0x10, 0x009a, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x009a, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x07, -1, 0, 0x00000000 chr 0x00000600, 0x11, 0x009b, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0004, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x08, -1, 0, 0x00000000 chr 0x00010400, 0x18, 0x00a0, BODY_PRESIDENT, HEAD_PRESIDENT, GFUNC_IDLE, 0x00a0, -1, 1000, 100, 0x80082000, 0x00000000, 0x02, 0x08, -1, 0, 0x00000000 chr 0x00000600, 0x12, 0x009c, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0428, 0x0003, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x08, -1, 0, 0x00000000 chr 0x00000600, 0x13, 0x009d, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0002, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x09, -1, 0, 0x00000000 chr 0x00000600, 0x14, 0x009e, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x0020, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x09, -1, 0, 0x00000000 chr 0x00000600, 0x15, 0x009f, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_INIT_NEUTRAL, 0x00bb, -1, 1000, 100, 0xc0002000, 0x20001000, 0x02, 0x09, -1, 0, 0x00000000 chr 0x00004400, 0x16, 0x00ca, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_TYPING_GUY, 0x00b2, -1, 1000, 100, 0x40002000, 0x00000000, 0x02, 0x0a, 0x11, 0, 0x00000000 chr 0x00004400, 0x17, 0x00c9, BODY_PRES_SECURITY, HEAD_RANDOM, FUNC_SITTING_GUY, 0x001f, -1, 1000, 100, 0x40002000, 0x00000000, 0x02, 0x0a, 0x10, 0, 0x00000000 chr 0x00014401, 0x19, 0x00c7, BODY_PILOTAF1, HEAD_ROSS, FUNC_TYPING_GUY, -1, -1, 1000, 100, 0x40002000, 0x00000000, 0x02, 0x0b, 0x12, 0, 0x00000000 chr 0x00014401, 0x1a, 0x00c8, BODY_PILOTAF1, HEAD_WONG, FUNC_SITTING_GUY, -1, -1, 1000, 100, 0x40002000, 0x00000000, 0x02, 0x0b, 0x13, 0, 0x00000000 chr 0x00000000, 0x1d, 0x00a5, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x01, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x001d, 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, 0x1e, 0x00a6, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x02, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x001e, 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, 0x1f, 0x00a7, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x03, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x001f, 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, 0x20, 0x00a8, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x04, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0020, 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, 0x21, 0x00a9, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x04, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0021, 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, 0x22, 0x00aa, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x04, -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 0x00000000, 0x24, 0x00ac, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x06, -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 0x00000000, 0x25, 0x00ad, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x06, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0025, 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, 0x26, 0x0006, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x07, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0026, 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, 0x27, 0x0089, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x08, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0027, 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, 0x28, 0x000d, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0x80092000, 0x00101a00, 0x02, 0x08, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0028, 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, 0x29, 0x00ae, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0xc0018201, 0x00101a00, 0x02, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0029, 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, 0x2a, 0x00af, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0xc0092000, 0x00101a00, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x002a, 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, 0x2b, 0x00b0, BODY_STRIPES, HEAD_RANDOM, FUNC_INIT_STRIPES, -1, -1, 200, 100, 0xc0092000, 0x00101a00, 0x02, 0x05, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x002b, 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, 0x30, 0x006a, BODY_STRIPES, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 200, 100, 0x40018201, 0x00101a00, 0x02, 0x0f, -1, 0, 0x00000000 weapon 0x0100, MODEL_CHRAVENGER, 0x0030, 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, 0x31, 0x0069, BODY_TRENT, HEAD_TRENT, GFUNC_IDLE, -1, -1, 200, 100, 0x40018201, 0x00101a00, 0x02, 0x0f, -1, 0, 0x00000000 chr 0x00000000, 0x00, 0x008a, BODY_THEKING, HEAD_ELVIS, FUNC_INIT_ELVIS, -1, -1, 200, 100, 0x40018201, 0x00101a00, 0x02, 0x0f, -1, 0, 0x00000000 chr 0x00000000, 0x35, 0x0088, BODY_STRIPES, HEAD_RANDOM, FUNC_CLONER1, -1, -1, 200, 100, 0x80092000, 0x00381000, 0x02, 0x00, -1, 0, 0x00000000 chr 0x00000000, 0x36, 0x00b5, BODY_STRIPES, HEAD_RANDOM, FUNC_CLONER2, -1, -1, 200, 100, 0x80092000, 0x00381000, 0x02, 0x00, -1, 0, 0x00000000 chr 0x00000000, 0x37, 0x00b6, BODY_STRIPES, HEAD_RANDOM, FUNC_CLONER3, -1, -1, 200, 100, 0x80092000, 0x00381000, 0x02, 0x00, -1, 0, 0x00000000 tag 0x1b, 1 lift 0x0100, MODEL_A51_LIFT_THINWALL, 0x010b, 0x835204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x010b, 0x010a, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x15000000, 0x00000000, 0x00000000, 0x00000000 tag 0x1f, 1 lift 0x0100, MODEL_A51_LIFT_THINWALL, 0x0110, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0110, 0x0111, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x15000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_DD_DR_NONREF, 0x00d2, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d3, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d4, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d5, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d6, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d7, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d8, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00d9, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00da, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00db, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00dc, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_AF1_DOORBIG2, 0x00dd, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AF1_DOORBIG2, 0x00de, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00df, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e0, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e1, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e2, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_AF1_DOORBIG2, 0x0100, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000004, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AF1_DOORBIG2, 0x0101, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000004, 0x0000012c, 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_AF1_DOORBIG2, 0x0102, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000020, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_AF1_DOORBIG2, 0x0103, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000020, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 key 0x0080, MODEL_KEYCARD, 0x000e, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000004 rename_object -1, 0x49, 0x3637, 0x3638, 0x3639, 0x363a, 0x363b, 0x0000, 0x0000 // "" key 0x0080, MODEL_KEYCARD, 0x000f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000020 rename_object -1, 0x49, 0x3637, 0x3638, 0x3639, 0x363a, 0x363b, 0x0000, 0x0000 // "" tag 0x22, 1 key 0x0080, MODEL_KEYCARD, 0x0001, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 rename_object -1, 0x49, 0x3637, 0x3638, 0x3639, 0x363a, 0x363b, 0x0000, 0x0000 // "" door 0x0100, MODEL_DD_DR_NONREF, 0x00f5, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00f6, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00f7, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00f8, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00f9, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00fa, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00fb, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00fc, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00fd, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0c, 1 door 0x0100, MODEL_DD_DR_NONREF, 0x00e3, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e4, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0e, 1 door 0x0100, MODEL_DD_DR_NONREF, 0x00e5, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000040, 0x0000012c, 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_DD_DR_NONREF, 0x00e6, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e7, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e8, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00e9, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x15, 1 door 0x0100, MODEL_DD_DR_NONREF, 0x00ea, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00eb, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00ec, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00ed, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00ee, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00ef, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00fe, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x25, 1 door 0x0100, MODEL_AF1ESCAPEDOOR, 0x0105, 0x12000410, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x26, 1 door 0x0100, MODEL_AF1ESCAPEDOOR, 0x0106, 0x12000410, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x20, 1 door 0x0100, MODEL_DD_GRATE, 0x00f1, 0x00000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x0000ffff, 0x00014000, 0x00000ccc, 0x00040000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x0b, 1 door 0x0100, MODEL_DD_GRATE, 0x00f2, 0x00000400, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x08040000, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x2e, 1 object 0x0100, MODEL_DD_GRATE, 0x0108, 0x000200e1, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 door 0x0100, MODEL_DD_GRATE, 0x0109, 0x00000400, 0x20000000, 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, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 object 0x00e6, MODEL_A51_CRATE2, 0x011b, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x00a6, MODEL_A51_CRATE2, 0x011c, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_A51_CRATE2, 0x011e, 0x000201e1, 0x00004100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x01, 1 weapon 0x0180, MODEL_CHRDATATHIEF, 0x003f, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_LAPTOPGUN, 0x00ffffff, 0x00000000 tag 0x16, 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_LAPTOPGUN, 0x00ffffff, 0x00000000 tag 0x04, 1 weapon 0x0180, MODEL_CHRREMOTEMINE, 0x003f, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_TIMEDMINE, 0x00ffffff, 0x00000000 tag 0x17, 1 weapon 0x0180, MODEL_CHRREMOTEMINE, 0xffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_TIMEDMINE, 0x00ffffff, 0x00000000 tag 0x02, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0116, 0x0202000a, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x27, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0117, 0x0202000a, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x28, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0118, 0x0202000a, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x29, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0119, 0x0202000a, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x2a, 1 multimonitor 0x0099, MODEL_COMHUB, 0x011a, 0x0202000a, 0x00002000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x03, 1 singlemonitor 0x0100, MODEL_MODEMBOX, 0x0112, 0x100000e2, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff12 tag 0x0f, 3 tag 0x05, 1 lift 0x0100, MODEL_A51_LIFT_THINWALL, 0x010c, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x010c, 0x010d, 0xffffffff, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x1b000000, 0x00000000, 0x00000000, 0x00000000 door 0x0100, MODEL_DD_DR_NONREF, 0x00ff, 0x12000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 link_objects -1, -2, 0, 0 tag 0x2b, 1 door 0x0100, MODEL_DD_DR_NONREF, 0x00f4, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 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_DD_DR_NONREF, 0x00f3, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x06, 1 lift 0x0100, MODEL_A51_LIFT_THINWALL, 0x010f, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x010f, 0x010e, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x1b000000, 0x00000000, 0x00000000, 0x00000000 tag 0x07, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0113, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x08, 1 multimonitor 0x0099, MODEL_COMHUB, 0x0114, 0x00000002, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300 tag 0x12, 1 object 0x0100, MODEL_AF1_PILOTCHAIR, 0x013a, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PILOTCHAIR, 0x013b, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x13, 1 object 0x0100, MODEL_AF1_PILOTCHAIR, 0x013c, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x10, 1 object 0x0100, MODEL_AF1_PILOTCHAIR, 0x013d, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x11, 1 object 0x0100, MODEL_AF1_PILOTCHAIR, 0x013e, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x011f, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0120, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0121, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0122, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0123, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0124, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0125, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0126, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0127, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0128, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0129, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x012a, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x012b, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x012d, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x012e, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x012f, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0130, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0131, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0132, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0133, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0134, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0135, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0136, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0137, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0138, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x0139, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x016a, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0160, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0161, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0162, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0163, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0164, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0165, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_DD_DESK, 0x0166, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x013f, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0140, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0141, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0142, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0143, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0144, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0145, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0146, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0147, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0148, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0149, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014a, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014b, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014c, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014d, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014e, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x014f, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0150, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0151, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0152, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TABLE, 0x0169, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TOILET, 0x0153, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_TOILET, 0x0154, 0x000205e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x0156, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x0157, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x0158, 0x000005e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x0159, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x015a, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_LAMP, 0x015b, 0x000005e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_AF1_PASSCHAIR, 0x015e, 0x000005e1, 0x00004100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x19, 1 object 0x0100, MODEL_SK_SHUTTLE, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x37, 1 object 0x0100, MODEL_AIRFORCE1, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x1a, 1 object 0x0100, MODEL_ELVIS_SAUCER, 0xffff, 0x00001401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 tag 0x23, 1 object 0x0019, MODEL_SAUCERINSIDE, 0xffff, 0x00021401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 object 0x0100, MODEL_HOVBIKE, 0x00c0, 0x05120101, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000 door 0x0100, MODEL_DOOR2A_G5, 0x0104, 0x10000400, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x1c, 1 door 0x0100, MODEL_DD_GRATE, 0x00f0, 0x00000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00040000, 0x00000010, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000 tag 0x1e, 1 singlemonitor 0x0100, MODEL_GOODSTATION, 0x0168, 0x000004e1, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03 tag 0x21, 1 singlemonitor 0x0100, MODEL_GOODSTATION, 0x0167, 0x000004e1, 0x00000001, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffff03 tag 0x00, 1 weapon 0x0180, MODEL_CHRBRIEFCASE, 0x00b3, 0x00000101, 0x00000000, 0x00400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SUITCASE, 0x00ffffff, 0x00000000 rename_object -1, 0x4d, 0x360a, 0x360b, 0x360c, 0x360d, 0x360e, 0x0000, 0x0000 // "Obtain Suitcase." tag 0x3a, 1 weapon 0x0180, MODEL_CHRBRIEFCASE, 0xffff, 0x00000101, 0x00000000, 0x00400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SUITCASE, 0x00ffffff, 0x00000000 rename_object -1, 0x4d, 0x360a, 0x360b, 0x360c, 0x360d, 0x360e, 0x0000, 0x0000 // "Obtain Suitcase." tag 0x24, 1 object 0x0100, MODEL_PRESCAPSULE, 0x0171, 0x000001e1, 0x00004101, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007d00, 0x00000000, 0x00000000, 0x0fff0000 glass 0x0100, MODEL_WINDOW, 0x016d, 0x04000262, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_WINDOW, 0x016e, 0x04000262, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_WINDOW, 0x016f, 0x04000262, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 glass 0x0100, MODEL_WINDOW, 0x0170, 0x04000262, 0x00304000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000 tag 0x2f, 5 tag 0x30, 6 tag 0x31, 7 tag 0x32, 8 link_scenery 1, 0, 0 debris 0x0019, MODEL_AF1RUBBLE, 0x00ce, 0x03520401, 0x00186300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x0fff0000 link_scenery 1, 0, 0 debris 0x0019, MODEL_AF1RUBBLE, 0x00cf, 0x03520401, 0x00186300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x0fff0000 link_scenery 1, 0, 0 debris 0x0019, MODEL_AF1RUBBLE, 0x00d0, 0x03520401, 0x00186300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x0fff0000 link_scenery 1, 0, 0 debris 0x0019, MODEL_AF1RUBBLE, 0x00d1, 0x03520401, 0x00186300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x0fff0000 tag 0x33, 4 tag 0x34, 4 tag 0x35, 4 tag 0x36, 4 weapon 0x0100, MODEL_CHRREMOTEMINE, 0x00ce, 0x01320401, 0x000a6000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000 weapon 0x0100, MODEL_CHRREMOTEMINE, 0x00cf, 0x01320401, 0x000a6000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000 weapon 0x0100, MODEL_CHRREMOTEMINE, 0x00d0, 0x01320401, 0x000a6000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000 weapon 0x0100, MODEL_CHRREMOTEMINE, 0x00d1, 0x01320401, 0x000a6000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000 tag 0x2c, 1 shield 0x0100, MODEL_CHRSHIELD, 0x016c, 0x00420101, 0x000000e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000 tag 0x2d, 1 shield 0x0100, MODEL_CHRSHIELD, 0x016b, 0x00420101, 0x000000c0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000 tag 0x38, 2 tag 0x39, 2 weapon 0x0180, MODEL_CHRCYCLONE, 0x00cb, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CYCLONE, 0x00ffffff, 0x00000000 weapon 0x0180, MODEL_CHRCYCLONE, 0x00cc, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CYCLONE, 0x00ffffff, 0x00000000 link_collectibles -1, -2 endprops intro: outfit OUTFIT_STEWARDESS ammo AMMOTYPE_CROSSBOW, 10 ammo AMMOTYPE_SMG, 100 intro_weapon WEAPON_UNARMED, -1 intro_weapon WEAPON_COMBATBOOST, -1 ammo AMMOTYPE_BOOST, 2 spawn 0x008a endintro path00: pad 0x0034 pad 0x0033 pad 0x0031 pad 0x0030 pad 0x0031 pad 0x0033 pad 0x0034 endpath path01: pad 0x000d pad 0x000e pad 0x000b pad 0x0012 pad 0x0007 pad 0x0006 pad 0x0010 pad 0x000c endpath path02: pad 0x003e pad 0x0044 pad 0x0042 pad 0x0040 pad 0x003f pad 0x003d pad 0x003e pad 0x004d endpath func1001_objectives_failed_msg: yield set_chr_flag_bank3 CHR_PRESIDENT, CHRFLAG3_04000000 set_chr_flag_bank3 CHR_STEWARDESS, CHRFLAG3_04000000 set_chr_flag_bank3 CHR_STEWARD, CHRFLAG3_04000000 set_chr_flag_bank3 CHR_PILOT1, CHRFLAG3_04000000 set_chr_flag_bank3 CHR_PILOT2, CHRFLAG3_04000000 set_chr_flag_bank3 0x01, CHRFLAG3_04000000 set_chr_flag_bank3 0x02, CHRFLAG3_04000000 set_chr_flag_bank3 0x03, CHRFLAG3_04000000 set_chr_flag_bank3 0x04, CHRFLAG3_04000000 set_chr_flag_bank3 0x05, CHRFLAG3_04000000 set_chr_flag_bank3 0x06, CHRFLAG3_04000000 set_chr_flag_bank3 0x07, CHRFLAG3_04000000 set_chr_flag_bank3 0x08, CHRFLAG3_04000000 set_chr_flag_bank3 0x09, CHRFLAG3_04000000 set_chr_flag_bank3 0x0a, CHRFLAG3_04000000 set_chr_flag_bank3 0x0b, CHRFLAG3_04000000 set_chr_flag_bank3 0x0c, CHRFLAG3_04000000 set_chr_flag_bank3 0x0d, CHRFLAG3_04000000 set_chr_flag_bank3 0x0e, CHRFLAG3_04000000 set_chr_flag_bank3 0x0f, CHRFLAG3_04000000 set_chr_flag_bank3 0x10, CHRFLAG3_04000000 set_chr_flag_bank3 0x11, CHRFLAG3_04000000 set_chr_flag_bank3 0x12, CHRFLAG3_04000000 set_chr_flag_bank3 0x13, CHRFLAG3_04000000 set_chr_flag_bank3 0x14, CHRFLAG3_04000000 set_chr_flag_bank3 0x15, CHRFLAG3_04000000 set_chr_flag_bank3 0x16, CHRFLAG3_04000000 set_chr_flag_bank3 0x17, CHRFLAG3_04000000 set_function CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG endfunction func1400_setup_counterop: yield yield yield set_chr_alliance CHR_COUNTEROP, 0x04 chr_draw_weapon CHR_JOANNA, WEAPON_UNARMED chr_draw_weapon CHR_VELVET, WEAPON_UNARMED set_function CHR_SELF, GFUNC_REBUILD_GROUPS endfunction func1003_rebuild_groups: set_function CHR_SELF, GFUNC_REBUILD_GROUPS endfunction func1024_give_objects: if_difficulty_gt DIFF_A, /*goto*/ 0x2d give_object_to_chr OBJ_EQUIPMENT, CHR_JOANNA give_object_to_chr OBJ_EQUIPMENT_VELVET, CHR_VELVET label 0x2d set_object_flag_bank1 OBJ_DATAUPLINK_JOANNA, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_DATAUPLINK_JOANNA, OBJECTFLAG0_00100000 set_object_flag_bank1 OBJ_REMOTEMINE_JOANNA, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_REMOTEMINE_JOANNA, OBJECTFLAG0_00100000 set_object_flag_bank1 OBJ_DATAUPLINK_VELVET, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_DATAUPLINK_VELVET, OBJECTFLAG0_00100000 set_object_flag_bank1 OBJ_REMOTEMINE_VELVET, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_REMOTEMINE_VELVET, OBJECTFLAG0_00100000 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_has_object CHR_P1P2, OBJ_EQUIPMENT, /*goto*/ 0x06 endloop 0x04 label 0x06 give_object_to_chr OBJ_DATAUPLINK_JOANNA, CHR_JOANNA give_object_to_chr OBJ_REMOTEMINE_JOANNA, CHR_JOANNA if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d give_object_to_chr OBJ_DATAUPLINK_VELVET, CHR_VELVET give_object_to_chr OBJ_REMOTEMINE_VELVET, CHR_VELVET label 0x2d set_function CHR_SELF, GFUNC_IDLE endfunction func1004_reassign_functions_during_conversation: // Wait until player in president's room beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0055, /*goto*/ 0x06 if_chr_in_room CHR_P1P2, 0x00, 0x0056, /*goto*/ 0x06 if_chr_in_room CHR_P1P2, 0x00, 0x0057, /*goto*/ 0x06 endloop 0x04 label 0x06 dprint "b4 shield check\n" set_stage_flag STAGEFLAG_00100000 set_chr_target_chr CHR_PRESIDENT, CHR_P1P2 set_function 0x01, FUNC_BE_UNALERT set_function CHR_STEWARDESS, FUNC_BE_UNALERT set_function CHR_STEWARD, FUNC_BE_UNALERT set_function 0x04, FUNC_BE_UNALERT set_function 0x05, FUNC_BE_UNALERT set_function 0x06, FUNC_BE_UNALERT set_function 0x07, FUNC_BE_UNALERT set_function 0x08, FUNC_BE_UNALERT set_function 0x09, FUNC_BE_UNALERT set_function 0x0a, FUNC_BE_UNALERT set_function 0x0b, FUNC_BE_UNALERT set_function 0x0c, FUNC_BE_UNALERT set_function 0x0d, FUNC_BE_UNALERT set_function 0x0e, FUNC_BE_UNALERT set_function 0x0f, FUNC_BE_UNALERT set_function 0x10, FUNC_BE_UNALERT set_function 0x11, FUNC_BE_UNALERT set_function 0x12, FUNC_BE_UNALERT set_function 0x13, FUNC_BE_UNALERT set_function 0x14, FUNC_BE_UNALERT set_function 0x15, FUNC_BE_UNALERT set_function CHR_SELF, GFUNC_IDLE endfunction func1005_check_neutrals_killed: set_chr_flag_bank3 0x01, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x04, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x05, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x06, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x07, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x08, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x09, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0a, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0b, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0c, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0d, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0e, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x0f, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x10, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x11, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x12, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x13, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x14, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x15, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x16, CHRFLAG3_KILLCOUNTABLE set_chr_flag_bank3 0x17, CHRFLAG3_KILLCOUNTABLE beginloop 0x04 if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06 if_kill_count_gt 0, /*goto*/ 0x2d endloop 0x04 label 0x2d message CHR_JOANNA, 0x3614 // "Too many neutral casualties inflicted." set_stage_flag STAGEFLAG_KILLED_NEUTRALS label 0x06 set_function CHR_SELF, GFUNC_IDLE endfunction func0401_init_stripes: set_chr_flag_bank3 CHR_SELF, CHRFLAG3_HIDDEN set_function CHR_SELF, GFUNC_IDLE endfunction func0402_init_elvis: set_chr_flag_bank3 CHR_SELF, CHRFLAG3_HIDDEN set_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_self_flag_bank3 CHRFLAG3_UNEXPLODABLE set_function CHR_SELF, GFUNC_IDLE endfunction func1006_hijack: yield hide_chr 0x1d hide_chr 0x1e hide_chr 0x1f hide_chr 0x20 hide_chr 0x21 hide_chr 0x22 hide_chr 0x23 hide_chr 0x24 hide_chr 0x25 hide_chr 0x26 hide_chr 0x27 hide_chr 0x28 hide_chr 0x29 hide_chr CHR_TAKER1 hide_chr CHR_TAKER2 beginloop 0x04 if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06 endloop 0x04 label 0x06 cmd01da 0x35 set_chr_health 0x01, 10 set_chr_health 0x04, 10 set_chr_health 0x05, 10 set_chr_health 0x06, 10 set_chr_health 0x07, 10 set_chr_health 0x08, 10 set_chr_health 0x09, 10 set_chr_health 0x0a, 10 set_chr_health 0x0b, 10 set_chr_health 0x0c, 10 set_chr_health 0x0d, 10 set_chr_health 0x0e, 10 set_chr_health 0x0f, 10 set_chr_health 0x10, 10 set_chr_health 0x16, 10 set_chr_health 0x17, 10 set_chr_health CHR_PILOT1, 10 set_chr_health CHR_PILOT2, 10 set_function 0x01, FUNC_REMOVE_IF_OFFSCREEN yield set_function CHR_STEWARDESS, FUNC_REMOVE_IF_OFFSCREEN yield set_function CHR_STEWARD, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x04, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x05, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x06, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x07, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x08, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x09, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x0a, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x0b, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x0c, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x0d, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x10, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x12, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x13, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x15, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x16, FUNC_REMOVE_IF_OFFSCREEN yield set_function 0x17, FUNC_REMOVE_IF_OFFSCREEN set_function 0x0e, FUNC_INIT_DEFEND_PAD set_function 0x0f, FUNC_INIT_DEFEND_PAD set_function 0x11, FUNC_INIT_DEFEND_PAD set_function 0x14, FUNC_INIT_DEFEND_PAD yield .macro enable_stripes_chr chr function show_chr \chr set_function \chr, \function unset_chr_flag_bank3 \chr, CHRFLAG3_HIDDEN set_chr_flag_bank2 \chr, CHRFLAG2_00400000 yield .endm enable_stripes_chr 0x1d, FUNC_REINIT_STRIPES enable_stripes_chr 0x1e, FUNC_REINIT_STRIPES enable_stripes_chr 0x1f, FUNC_REINIT_STRIPES enable_stripes_chr 0x20, FUNC_REINIT_STRIPES enable_stripes_chr 0x21, FUNC_REINIT_STRIPES enable_stripes_chr 0x22, FUNC_REINIT_STRIPES enable_stripes_chr 0x23, FUNC_REINIT_STRIPES enable_stripes_chr 0x24, FUNC_REINIT_STRIPES enable_stripes_chr 0x25, FUNC_REINIT_STRIPES enable_stripes_chr 0x26, FUNC_REINIT_STRIPES enable_stripes_chr 0x27, FUNC_REINIT_STRIPES enable_stripes_chr 0x28, FUNC_REINIT_STRIPES enable_stripes_chr 0x29, FUNC_COCKPIT_STRIPES enable_stripes_chr CHR_TAKER1, FUNC_TAKER2 enable_stripes_chr CHR_TAKER2, FUNC_TAKER1 set_chr_flag_bankx 0x01, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx CHR_STEWARDESS, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx CHR_STEWARD, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x04, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x05, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x06, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x07, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x08, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x09, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0a, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0b, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0c, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0d, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0e, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x0f, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x10, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x11, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x12, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x13, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x14, CHRFLAG0_AIVSAI, BANK_0 set_chr_flag_bankx 0x15, CHRFLAG0_AIVSAI, BANK_0 set_chr_alliance CHR_TRENT, 0x04 set_chr_alliance CHR_BLONDE1, 0x04 set_chr_alliance CHR_BLONDE2, 0x04 unset_chr_flag_bank2 CHR_TRENT, CHRFLAG2_40000000 unset_chr_flag_bank2 CHR_BLONDE1, CHRFLAG2_40000000 unset_chr_flag_bank2 CHR_BLONDE2, CHRFLAG2_40000000 unlock_door OBJ_COCKPITDOOR, 0x40 cmd0145_rebuild_groups cmd0146_rebuild_groups unset_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED unset_chr_flag_bank2 CHR_VELVET, CHRFLAG2_DISGUISED set_function CHR_SELF, GFUNC_IDLE endfunction func0403_stripes: set_return_function CHR_SELF, FUNC_STRIPES set_self_flag_bank3 CHRFLAG3_00000040 beginloop 0x04 if_enemy_distance_lt_and_los 2540, /*goto*/ 0x06 // No target nearby yield unset_self_flag_bankx CHRFLAG1_00001000, BANK_1 stop_chr set_function CHR_SELF, GFUNC_UNALERTED // Got target label 0x06 if_chr_lost_track_of_target_maybe /*goto*/ 0x06 if_chr_dying TARGET_CHR, /*goto*/ 0x2d if_chr_death_animation_finished TARGET_CHR, /*goto*/ 0x2d if_chr_unloaded TARGET_CHR, /*goto*/ 0x2d set_return_function CHR_SELF, FUNC_STRIPES set_onshot_function FUNC_STRIPES set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR label 0x06 unset_self_flag_bankx CHRFLAG1_00001000, BANK_1 set_function CHR_SELF, GFUNC_UNALERTED set_return_function CHR_SELF, GFUNC_UNALERTED label 0x2d set_target_chr -1 stop_chr endloop 0x04 endfunction unregistered_function1: set_function CHR_SELF, GFUNC_IDLE endfunction .macro check_mine_wasted chr1 chr2 myflag buddyflag set_object_flag_bank0 OBJ_COMMSHUB1, OBJECTFLAG0_00002000 set_object_flag_bank0 OBJ_COMMSHUB2, OBJECTFLAG0_00002000 set_object_flag_bank0 OBJ_COMMSHUB3, OBJECTFLAG0_00002000 set_object_flag_bank0 OBJ_COMMSHUB4, OBJECTFLAG0_00002000 set_object_flag_bank0 OBJ_COMMSHUB5, OBJECTFLAG0_00002000 yield yield if_difficulty_lt DIFF_SA, /*goto*/ 0x06 // Wait until equipment collected beginloop 0x93 if_objective_complete 0, /*goto*/ 0x06 endloop 0x93 label 0x06 yield yield yield yield yield label 0x08 set_target_chr \chr1 // Wait until mine thrown beginloop 0x09 if_ammo_quantity_lt \chr2, AMMOTYPE_TIMED_MINE, 1, /*goto*/ 0x2d endloop 0x09 label 0x2d if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, FALSE, /*goto*/ 0x0a label 0x2d unset_object_flag_bank0 OBJ_COMMSHUB1, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank0 OBJ_COMMSHUB2, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank0 OBJ_COMMSHUB3, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank0 OBJ_COMMSHUB4, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank0 OBJ_COMMSHUB5, OBJECTFLAG0_INVINCIBLE restart_timer // Wait 8.3 seconds or until commshub destroyed beginloop 0x04 if_timer_gt 500, /*goto*/ 0x0a if_object_in_good_condition OBJ_COMMSHUB1, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB2, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB3, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB4, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB5, /*goto*/ 0x2d goto_next 0x06 label 0x2d endloop 0x04 // Commshub damaged label 0x06 message CHR_JOANNA, 0x3615 // "UFO attachment damaged." set_stage_flag STAGEFLAG_UFO_ATTACHMENT_DAMAGED unset_stage_flag STAGEFLAG_BOTH_MINES_WASTED set_function CHR_SELF, GFUNC_IDLE // Mine wasted label 0x0a set_stage_flag \myflag if_stage_flag_eq \buddyflag, TRUE, /*goto*/ 0x2d set_function CHR_SELF, GFUNC_IDLE label 0x2d message CHR_JOANNA, 0x3645 // "Timed mine has been wasted." set_stage_flag STAGEFLAG_BOTH_MINES_WASTED set_function CHR_SELF, GFUNC_IDLE .endm func1008_check_mine_wasted_joanna: check_mine_wasted CHR_JOANNA, TARGET_CHR, STAGEFLAG_JOANNA_MINE_WASTED, STAGEFLAG_VELVET_MINE_WASTED endfunction func1021_check_mine_wasted_velvet: if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d goto_next 0x06 label 0x2d set_stage_flag STAGEFLAG_VELVET_MINE_WASTED set_function CHR_SELF, GFUNC_IDLE label 0x06 check_mine_wasted CHR_VELVET, CHR_VELVET, STAGEFLAG_VELVET_MINE_WASTED, STAGEFLAG_JOANNA_MINE_WASTED endfunction func101e_blow_mines: // Wait for any commshub destroyed beginloop 0x04 if_object_in_good_condition OBJ_COMMSHUB1, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB2, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB3, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB4, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_object_in_good_condition OBJ_COMMSHUB5, /*goto*/ 0x2d goto_next 0x06 label 0x2d endloop 0x04 label 0x06 // 1 unset_object_flag_bank0 0x2f, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank1 0x33, OBJECTFLAG1_INVISIBLE unset_object_flag_bank0 0x33, OBJECTFLAG0_INVINCIBLE destroy_object 0x33 restart_timer beginloop 0x60 if_timer_gt 60, /*goto*/ 0x2d endloop 0x60 label 0x2d unset_object_flag_bank1 0x2f, OBJECTFLAG1_INVISIBLE destroy_object 0x2f // 2 unset_object_flag_bank0 0x30, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank1 0x34, OBJECTFLAG1_INVISIBLE unset_object_flag_bank0 0x34, OBJECTFLAG0_INVINCIBLE destroy_object 0x34 restart_timer beginloop 0x77 if_timer_gt 60, /*goto*/ 0x2d endloop 0x77 label 0x2d unset_object_flag_bank1 0x30, OBJECTFLAG1_INVISIBLE destroy_object 0x30 // 3 unset_object_flag_bank0 0x31, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank1 0x35, OBJECTFLAG1_INVISIBLE unset_object_flag_bank0 0x35, OBJECTFLAG0_INVINCIBLE destroy_object 0x35 restart_timer beginloop 0x78 if_timer_gt 60, /*goto*/ 0x2d endloop 0x78 label 0x2d unset_object_flag_bank1 0x31, OBJECTFLAG1_INVISIBLE destroy_object 0x31 // 4 unset_object_flag_bank0 0x32, OBJECTFLAG0_INVINCIBLE unset_object_flag_bank1 0x36, OBJECTFLAG1_INVISIBLE unset_object_flag_bank0 0x36, OBJECTFLAG0_INVINCIBLE destroy_object 0x36 restart_timer beginloop 0x79 if_timer_gt 60, /*goto*/ 0x2d endloop 0x79 label 0x2d unset_object_flag_bank1 0x32, OBJECTFLAG1_INVISIBLE destroy_object 0x32 yield hide_object 0x2f hide_object 0x30 hide_object 0x31 hide_object 0x32 set_function CHR_SELF, GFUNC_IDLE endfunction func1009_check_end_level: beginloop 0x04 if_all_objectives_complete /*goto*/ 0x06 endloop 0x04 label 0x06 set_stage_flag STAGEFLAG_ALL_OBJECTIVES_COMPLETE restart_timer label 0x08 yield label 0x06 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x2d if_chr_dying CHR_JOANNA, /*goto*/ 0x2d if_chr_unloaded CHR_JOANNA, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d if_chr_dying CHR_VELVET, /*goto*/ 0x2d if_chr_unloaded CHR_VELVET, /*goto*/ 0x2d goto_next 0x06 // Both players dead label 0x2d set_function CHR_SELF, GFUNC_IDLE // Redundant check label 0x06 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x2d if_chr_dying CHR_JOANNA, /*goto*/ 0x2d if_chr_unloaded CHR_JOANNA, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d if_chr_dying CHR_VELVET, /*goto*/ 0x2d if_chr_unloaded CHR_VELVET, /*goto*/ 0x2d goto_next 0x06 label 0x2d end_level set_function CHR_SELF, GFUNC_IDLE // Mission complete label 0x06 set_invincible CHR_JOANNA set_function CHR_SELF, FUNC_OUTRO endfunction func100a_autopilot_switch: beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_object_in_good_condition OBJ_AUTOPILOT_SWITCH, /*goto*/ 0x2d goto_next 0x08 label 0x2d if_chr_activated_object CHR_P1P2, OBJ_AUTOPILOT_SWITCH, /*goto*/ 0x2d if_stage_flag_eq STAGEFLAG_PLANE_STABILIZED, TRUE, /*goto*/ 0x2d reloop 0x04 label 0x2d label 0x06 if_stage_flag_eq STAGEFLAG_PLANE_NOSEDIVING, TRUE, /*goto*/ 0x06 endloop 0x04 // Switch pressed label 0x06 assign_sound 0x043a, CHANNEL_7 control_sound_from_object CHANNEL_7, OBJ_AUTOPILOT_SWITCH, TRUE set_object_image OBJ_AUTOPILOT_SWITCH, 0x00, 0x13 set_stage_flag STAGEFLAG_PLANE_STABILIZED yield message CHR_P1P2, 0x3618 // "Air Force One has been stabilized." message CHR_P1P2, 0x3617 // "Autopilot has been activated." restart_timer beginloop 0x0e if_timer_gt 120, /*goto*/ 0x06 endloop 0x0e label 0x06 set_lighting 0x0000, 0x0d, 0x00 set_function CHR_SELF, GFUNC_IDLE // Switch destroyed label 0x08 message CHR_P1P2, 0x3619 // "Autopilot systems have been destroyed." set_stage_flag STAGEFLAG_AUTOPILOT_DESTROYED set_function CHR_SELF, GFUNC_IDLE endfunction func0406_init_president: set_chr_health CHR_SELF, 0 set_function CHR_SELF, FUNC_PRESIDENT_IN_ROOM endfunction func0405_president_in_room: set_onshot_function FUNC_PRESIDENT_IN_ROOM if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2d if_chr_dying CHR_SELF, /*goto*/ 0x2d if_chr_unloaded CHR_SELF, /*goto*/ 0x2d goto_next 0x06 // Dying label 0x2d set_onshot_function GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 stop_chr yield beginloop 0x04 if_stage_flag_eq STAGEFLAG_00100000, TRUE, /*goto*/ 0x03 if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2d if_chr_dying CHR_SELF, /*goto*/ 0x2d if_chr_unloaded CHR_SELF, /*goto*/ 0x2d endloop 0x04 // Dying label 0x2d set_onshot_function GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE label 0x03 set_target_chr FOLLOW_CHR restart_timer label 0x08 try_face_entity 0x0200, 0x0000, /*goto*/ 0x09 beginloop 0x09 // Wait for Carrington's "on this level" message to finish if_sound_finished CHANNEL_6, /*goto*/ 0x2d reloop 0x09 label 0x2d if_angle_to_target_chr_lt 10, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x06 endloop 0x09 label 0x06 do_special_animation 0 speak TARGET_CHR, 0x3623, 0x12c5, CHANNEL_6, COLOR_08_RED // "Who are you, young lady?" restart_timer beginloop 0x60 if_chr_in_room TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d if_chr_sees_player /*goto*/ 0x2d goto_next 0x86 label 0x2d if_shot_near_chr 0x00, /*goto*/ 0x86 if_hears_gunfire /*goto*/ 0x86 if_timer_lt 120, /*goto*/ 0x2d if_chr_in_view /*goto*/ 0x06 label 0x2d endloop 0x60 label 0x06 speak TARGET_CHR, 0x3625, 0x72bc, CHANNEL_7, COLOR_09_BLUE // "Mr. President, you're in danger. Trent is trying t..." restart_timer stop_chr try_face_entity 0x0200, 0x0000, /*goto*/ 0x78 // In this loop the president will continue to turn to face the player // because it lacks an if_angle_to_target_chr_lt check. beginloop 0x78 if_chr_in_room TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d if_chr_sees_player /*goto*/ 0x2d goto_next 0x86 label 0x2d if_shot_near_chr 0x00, /*goto*/ 0x86 if_hears_gunfire /*goto*/ 0x86 if_timer_lt 240, /*goto*/ 0x2d if_chr_in_view /*goto*/ 0x06 label 0x2d endloop 0x78 label 0x06 do_special_animation 1 speak TARGET_CHR, 0x3628, 0x12c6, CHANNEL_6, COLOR_08_RED // "You can't make accusations like that without evide..." restart_timer beginloop 0x79 if_chr_in_room TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d if_chr_sees_player /*goto*/ 0x2d goto_next 0x86 label 0x2d if_shot_near_chr 0x00, /*goto*/ 0x86 if_hears_gunfire /*goto*/ 0x86 if_timer_lt 400, /*goto*/ 0x2d goto_next 0x84 label 0x2d endloop 0x79 label 0x84 if_chr_has_object TARGET_CHR, OBJ_EQUIPMENT, /*goto*/ 0x10 if_chr_has_object TARGET_CHR, OBJ_EQUIPMENT_VELVET, /*goto*/ 0x10 // No equipment label 0x85 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED set_chr_flag_bank2 CHR_VELVET, CHRFLAG2_DISGUISE_UNCOVERED speak TARGET_CHR, 0x3624, 0x12c4, CHANNEL_6, COLOR_08_RED // "Security, SECURITY!!" restart_timer animation 0x0231, 0, 193, 0x1810, CHR_SELF, 2 beginloop 0x77 if_timer_gt 120, /*goto*/ 0x06 endloop 0x77 label 0x06 set_function 0x01, GFUNC_UNALERTED set_function CHR_STEWARDESS, GFUNC_UNALERTED set_function CHR_STEWARD, GFUNC_UNALERTED set_function 0x04, GFUNC_UNALERTED set_function 0x05, GFUNC_UNALERTED set_function 0x06, GFUNC_UNALERTED set_function 0x07, GFUNC_UNALERTED set_function 0x08, GFUNC_UNALERTED set_function 0x09, GFUNC_UNALERTED set_function 0x0a, GFUNC_UNALERTED set_function 0x0b, GFUNC_UNALERTED set_function 0x0c, GFUNC_UNALERTED set_function 0x0d, GFUNC_UNALERTED set_function 0x0e, GFUNC_UNALERTED set_function 0x0f, GFUNC_UNALERTED set_function 0x10, GFUNC_UNALERTED set_function 0x11, GFUNC_UNALERTED set_function 0x12, GFUNC_UNALERTED set_function 0x13, GFUNC_UNALERTED set_function 0x14, GFUNC_UNALERTED set_function 0x15, GFUNC_UNALERTED set_stage_flag STAGEFLAG_PRESIDENT_CALLED_SECURITY yield set_group_alertness 100 try_face_entity 0x0200, 0x0000, /*goto*/ 0x0a beginloop 0x0a endloop 0x0a label 0x06 // Has equipment label 0x10 stop_chr speak TARGET_CHR, 0x3629, 0x72bd, CHANNEL_6, COLOR_09_BLUE // "This is a recording of a meeting between Trent and..." restart_timer try_face_entity 0x0200, 0x0000, /*goto*/ 0x0b // This loop uses an if_sound_finished check rather than a timer check, // which allows the speech to be skipped. beginloop 0x0b if_chr_in_room TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d if_chr_sees_player /*goto*/ 0x2d goto_next 0x86 label 0x2d if_shot_near_chr 0x00, /*goto*/ 0x86 if_hears_gunfire /*goto*/ 0x86 if_sound_finished CHANNEL_6, /*goto*/ 0x06 goto_first 0x0b label 0x06 do_special_animation 2 speak TARGET_CHR, 0x362a, 0x12c7, CHANNEL_6, COLOR_08_RED // "Seems overwhelming... I'm in your hands. What do w..." restart_timer beginloop 0x7a if_chr_in_room TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d if_chr_sees_player /*goto*/ 0x2d goto_next 0x86 label 0x2d if_shot_near_chr 0x00, /*goto*/ 0x86 if_hears_gunfire /*goto*/ 0x86 if_timer_gt 400, /*goto*/ 0x06 endloop 0x7a label 0x33 label 0x06 set_stage_flag STAGEFLAG_TRIGGER_MIDCUTSCENE beginloop 0x0d if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, TRUE, /*goto*/ 0x06 endloop 0x0d label 0x06 set_chr_alliance CHR_SELF, ALLIANCE_ALLY cmd0145_rebuild_groups cmd0146_rebuild_groups hide_object OBJ_EXTERIOR_DOOR hide_object OBJ_FLOORHATCH set_object_flag_bank0 OBJ_FLOOR_HATCH_DETACHED, OBJECTFLAG0_00000100 unset_object_flag_bank1 OBJ_FLOOR_HATCH_DETACHED, OBJECTFLAG1_INVISIBLE unset_object_flag_bank1 OBJ_EXTERIOR_DOOR_DETACHED, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_EXTERIOR_DOOR_DETACHED, OBJECTFLAG0_00000100 play_sound 0x8098, -1 restart_timer beginloop 0x7b if_timer_gt 60, /*goto*/ 0x06 endloop 0x7b label 0x06 do_special_animation -1 speak TARGET_CHR, 0x3626, 0x816e, CHANNEL_6, COLOR_08_RED // "What the hell was that!" restart_timer beginloop 0x0c if_timer_gt 180, /*goto*/ 0x06 endloop 0x0c label 0x06 stop_chr set_stage_flag STAGEFLAG_PRESIDENT_STARTED_RUNNING speak TARGET_CHR, 0x3627, 0x72be, CHANNEL_6, COLOR_09_BLUE // "We have to get you to the escape pod. Follow me." restart_timer try_face_entity 0x0200, 0x0000, /*goto*/ 0x0e beginloop 0x0e if_timer_gt 120, /*goto*/ 0x06 endloop 0x0e label 0x06 set_follow_chr TARGET_CHR set_chr_health CHR_SELF, 500 set_onshot_function FUNC_PRESIDENT_RUNNING set_function CHR_SELF, FUNC_PRESIDENT_RUNNING label 0x86 goto_first 0x85 endfunction func0404_president_running: set_self_flag_bank3 CHRFLAG3_01000000 set_onshot_function FUNC_PRESIDENT_RUNNING set_target_chr FOLLOW_CHR 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 0x2d // Dying label 0x06 set_onshot_function GFUNC_IDLE restart_timer beginloop 0x54 if_timer_gt 15, /*goto*/ 0x06 endloop 0x54 label 0x06 assign_sound 0x1abf, CHANNEL_6 play_sound_from_entity CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01 set_onshot_function GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE // Alive label 0x2d dprint "b4 shield check\n" if_just_injured CHR_SELF, /*goto*/ 0x06 goto_next 0x55 // Injured label 0x06 restart_timer assign_sound 0x1ac2, CHANNEL_6 play_sound_from_entity CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01 if_stage_flag_eq STAGEFLAG_PRESIDENT_INJURED, TRUE, /*goto*/ 0x56 set_stage_flag STAGEFLAG_PRESIDENT_INJURED message CHR_JOANNA, 0x3648 // "The President is under attack." beginloop 0x56 if_num_times_shot_lt 1, /*goto*/ 0x06 if_timer_lt 20, /*goto*/ 0x06 label 0x06 if_chr_stopped /*goto*/ 0x55 endloop 0x56 // Not injured, or injury animation finished label 0x55 stop_chr restart_timer beginloop 0x57 // @bug: This FALSE should be TRUE instead. This causes the president // to behave weirdly when you've killed both blondes and stand in the // entrace to Trent's room. if_stage_flag_eq STAGEFLAG_BOTH_BLONDES_DEAD, FALSE, /*goto*/ 0x2d // Both blondes dead // This room is the entrace to Trent's room if_chr_in_room TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10 // At least one Blonde is alive, or follow through // These rooms are the escape pod area label 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11 dprint "target\n" if_chr_sees_player /*goto*/ 0x06 goto_next 0x58 label 0x06 if_timer_gt 1250, /*goto*/ 0x2d if_chr_distance_gt 200, /*goto*/ 0x58 endloop 0x57 // Been in sight for almost 21 seconds - say quip label 0x2d call_rng if_rand_lt 64, /*goto*/ 0x2d say_quip CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00 goto_first 0x55 label 0x2d say_quip CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00 goto_first 0x55 // Unreachable label 0x06 say_quip CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00 goto_first 0x55 // Distance to player > 200 or line of sight broken, so start following label 0x58 restart_timer label 0x2d try_run_to_target_chr_with_hand_up /*goto*/ 0x59 beginloop 0x59 // @bug: This FALSE should be TRUE instead. This causes the president // to behave weirdly when you've killed both blondes and stand in the // entrace to Trent's room. if_stage_flag_eq STAGEFLAG_BOTH_BLONDES_DEAD, FALSE, /*goto*/ 0x2d // Both blondes dead // This room is the entrace to Trent's room if_chr_in_room TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10 // At least one Blonde is alive, or follow through // These rooms are the escape pod area label 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11 if_chr_distance_lt 100, /*goto*/ 0x5b if_chr_stopped /*goto*/ 0x5b if_timer_gt 360, /*goto*/ 0x2d endloop 0x59 label 0x2d say_quip CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00 goto_first 0x58 label 0x06 say_quip CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00 goto_first 0x58 // Stopped because president is close to player's sampled position label 0x5b goto_first 0x55 // Unreachable label 0x5c try_run_to_target_chr /*goto*/ 0x5d beginloop 0x5d if_stage_flag_eq STAGEFLAG_BOTH_BLONDES_DEAD, FALSE, /*goto*/ 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10 label 0x2d if_chr_in_room TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11 if_chr_in_room TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11 endloop 0x5d label 0x5e goto_first 0x55 // Player in pod room while a Blonde is alive // This pad is at the escape pod label 0x11 jog_to_pad 0x0083 beginloop 0x09 if_chr_stopped /*goto*/ 0x06 endloop 0x09 label 0x06 stop_chr set_stage_flag STAGEFLAG_PRESIDENT_AT_POD set_chr_alliance CHR_SELF, 0x80 cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, GFUNC_IDLE // Player is in the entrace to Trent's room and both blondes are dead. // The intention behind this code is to make the president cower until the // Blondes are dead, then resume following. However, due to a logic bug // described earlier this code is jumped to only after the blondes are dead. label 0x10 run_to_pad 0x0019 // This loop will never iterate because the blondes are already dead beginloop 0x0a if_chr_stopped /*goto*/ 0x0b if_stage_flag_eq STAGEFLAG_BOTH_BLONDES_DEAD, TRUE, /*goto*/ 0x06 endloop 0x0a // Unreachable under real conditions label 0x0b animation ANIM_COWER_0229, -1, -1, 0x100a, CHR_SELF, 2 beginloop 0x83 if_stage_flag_eq STAGEFLAG_BOTH_BLONDES_DEAD, TRUE, /*goto*/ 0x06 if_chr_stopped /*goto*/ 0x2d endloop 0x83 label 0x2d goto_first 0x0b // Both blondes dead - resume running label 0x06 goto_first 0x55 set_function CHR_SELF, GFUNC_IDLE endfunction func100b_check_president_dead: beginloop 0x04 if_chr_dying CHR_PRESIDENT, /*goto*/ 0x06 if_chr_death_animation_finished CHR_PRESIDENT, /*goto*/ 0x06 if_chr_unloaded CHR_PRESIDENT, /*goto*/ 0x06 endloop 0x04 label 0x06 set_stage_flag STAGEFLAG_PRESIDENT_DEAD message CHR_JOANNA, 0x361a // "The President has been incapacitated." set_function CHR_SELF, GFUNC_IDLE endfunction func0409_unused: set_self_flag_bank3 CHRFLAG3_00000040 beginloop 0x04 if_enemy_distance_lt_and_los 2540, /*goto*/ 0x06 reloop 0x04 label 0x06 if_chr_lost_track_of_target_maybe /*goto*/ 0x06 if_chr_dying TARGET_CHR, /*goto*/ 0x2d if_chr_death_animation_finished TARGET_CHR, /*goto*/ 0x2d if_chr_unloaded TARGET_CHR, /*goto*/ 0x2d set_return_function CHR_SELF, 0x0409 set_onshot_function 0x0409 set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR label 0x2d endloop 0x04 label 0x06 unset_self_flag_bankx CHRFLAG1_00001000, BANK_1 set_function CHR_SELF, GFUNC_UNALERTED set_return_function CHR_SELF, GFUNC_UNALERTED endfunction /** * This stripes guard is in one of the cockpit rooms. */ func100c_cockpit_stripes: set_onshot_function GFUNC_ALERTED set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_self_flag_bank3 CHRFLAG3_00000040 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_chr_sees_player /*goto*/ 0x06 if_enemy_distance_lt_and_los 2540, /*goto*/ 0x06 reloop 0x04 label 0x06 if_chr_lost_track_of_target_maybe /*goto*/ 0x06 if_chr_dying TARGET_CHR, /*goto*/ 0x2d if_chr_death_animation_finished TARGET_CHR, /*goto*/ 0x2d if_chr_unloaded TARGET_CHR, /*goto*/ 0x2d set_return_function CHR_SELF, FUNC_COCKPIT_STRIPES set_onshot_function GFUNC_COMBAT_WITH_TARGET_CHR set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR label 0x2d endloop 0x04 label 0x06 unset_self_flag_bankx CHRFLAG1_00001000, BANK_1 set_function CHR_SELF, GFUNC_UNALERTED set_return_function CHR_SELF, GFUNC_UNALERTED endfunction func0413_taker1: set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_self_flag_bank3 CHRFLAG3_00000020 set_chr_dodge_rating 2, 0x00 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_target_chr CHR_PILOT1 set_function CHR_SELF, FUNC_TAKER endfunction func0413_taker2: set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_self_flag_bank3 CHRFLAG3_00000020 set_chr_dodge_rating 2, 0x00 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_target_chr CHR_PILOT2 set_function CHR_SELF, FUNC_TAKER endfunction func0413_taker: set_onshot_function GFUNC_ALERTED unset_self_flag_bank3 CHRFLAG3_INVINCIBLE_TO_GUNFIRE set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_accuracy 50 set_self_flag_bank3 CHRFLAG3_00000040 restart_timer // Wait for condition beginloop 0x04 if_door_state 0x0c, DOORSTATE_OPEN | DOORSTATE_CLOSING | DOORSTATE_OPENING, /*goto*/ 0x0a if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, FALSE, /*goto*/ 0x2d if_timer_gt 7200, /*goto*/ 0x0a if_alertness 99, OPERATOR_GREATER_THAN, /*goto*/ 0x0a label 0x2d endloop 0x04 // Wait another 1.5 seconds label 0x0a restart_timer beginloop 0x0c if_timer_gt 90, /*goto*/ 0x06 endloop 0x0c label 0x06 if_chr_death_animation_finished TARGET_CHR, /*goto*/ 0x11 if_chr_dying TARGET_CHR, /*goto*/ 0x11 if_chr_unloaded TARGET_CHR, /*goto*/ 0x11 try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x06 label 0x06 try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x08 label 0x08 say_quip CHR_JOANNA, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00 say_quip CHR_JOANNA, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00 restart_timer beginloop 0x09 if_chr_stopped /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x2d endloop 0x09 label 0x2d if_chr_lost_track_of_target_maybe /*goto*/ 0x11 if_target_chrs_field_0x17e_is_different /*goto*/ 0x2d goto_next 0x11 label 0x2d damage_chr TARGET_CHR, 18 beginloop 0x0b if_chr_stopped /*goto*/ 0x06 endloop 0x0b label 0x06 if_chr_dying TARGET_CHR, /*goto*/ 0x06 goto_first 0x0a label 0x11 label 0x06 unset_self_flag_bankx CHRFLAG1_00001000, BANK_1 set_function CHR_SELF, GFUNC_UNALERTED endfunction func100c_cockpit: label 0x2d label 0x2e set_chr_flag_bank3 CHR_TAKER1, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_TAKER2, CHRFLAG3_HIDDEN beginloop 0x60 if_all_objectives_complete /*goto*/ 0x2d if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x2e endloop 0x60 // All objectives complete label 0x2d set_function CHR_SELF, GFUNC_IDLE // UFO attachment damaged label 0x2e yield if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11 unset_chr_flag_bank3 CHR_TAKER1, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_TAKER2, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_TAKER1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE unset_chr_flag_bank3 CHR_TAKER2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE label 0x06 // This loop will surely never iterate because // the UFO attachment is already damaged beginloop 0x04 if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11 if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x2d endloop 0x04 label 0x2d if_chr_dying CHR_TAKER1, /*goto*/ 0x2d if_chr_death_animation_finished CHR_TAKER1, /*goto*/ 0x2d if_chr_unloaded CHR_TAKER1, /*goto*/ 0x2d goto_next 0x06 label 0x2d if_chr_dying CHR_TAKER2, /*goto*/ 0x2d if_chr_death_animation_finished CHR_TAKER2, /*goto*/ 0x2d if_chr_unloaded CHR_TAKER2, /*goto*/ 0x2d goto_next 0x06 // Both takers dead label 0x2d goto_next 0x2e // At least one taker alive label 0x06 damage_chr CHR_PILOT1, 18 damage_chr CHR_PILOT2, 18 yield damage_chr CHR_PILOT1, 18 damage_chr CHR_PILOT2, 18 yield damage_chr CHR_PILOT1, 18 damage_chr CHR_PILOT2, 18 yield set_stage_flag STAGEFLAG_PILOTS_DEAD message CHR_JOANNA, 0x361b // "Pilots have been killed." goto_next 0x06 // Both takers dead label 0x2e // Pilots killed label 0x06 label 0x10 set_stage_flag STAGEFLAG_PLANE_NOSEDIVING set_object_image OBJ_AUTOPILOT_SWITCH, 0x00, 0x0f // Wait 10 seconds label 0x09 restart_timer beginloop 0x0f if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11 if_timer_gt 600, /*goto*/ 0x2d endloop 0x0f label 0x2d set_lighting 0x0000, 0x0a, 0x3c // Wait 40 seconds or for autopilot restart_timer beginloop 0x0a if_stage_flag_eq STAGEFLAG_PLANE_STABILIZED, TRUE, /*goto*/ 0x11 if_timer_gt 2400, /*goto*/ 0x0b endloop 0x0a label 0x0b if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11 message CHR_JOANNA, 0x361d // "Air Force One is about to crash." // Wait until the 50 second mark beginloop 0x0c if_all_objectives_complete /*goto*/ 0x11 if_stage_flag_eq STAGEFLAG_PLANE_STABILIZED, TRUE, /*goto*/ 0x11 if_timer_gt 3000, /*goto*/ 0x0e endloop 0x0c // Crash label 0x0e set_stage_flag STAGEFLAG_PLANE_CRASHED explosions_around_chr CHR_JOANNA restart_timer beginloop 0x65 if_timer_gt 180, /*goto*/ 0x2d endloop 0x65 label 0x2d end_level set_function CHR_SELF, GFUNC_IDLE // Unreachable label 0x7c label 0x2d set_object_image 0x03, 0x00, 0x13 set_stage_flag STAGEFLAG_PLANE_STABILIZED message CHR_JOANNA, 0x361c // "Pilots have been saved." reset_ambience set_function CHR_SELF, GFUNC_IDLE // Unreachable label 0x08 goto_first 0x04 // Plane stabilized or all objectives complete label 0x11 set_function CHR_SELF, GFUNC_IDLE endfunction /** * Assigned to a pilot and a cyclone guard. */ func0411_typing_guy: set_onshot_function FUNC_TYPING_GUY label 0x04 animation ANIM_SITTING_TYPING, 0, -1, 0x0410, CHR_SELF, 2 beginloop 0x03 if_chr_idle /*goto*/ 0x06 goto_first 0x04 label 0x06 endloop 0x03 endfunction /** * Assigned to a pilot and a cyclone guard. */ func0412_sitting_guy: set_onshot_function FUNC_SITTING_GUY label 0x04 animation ANIM_SITTING_DORMANT, 0, -1, 0x0410, CHR_SELF, 2 beginloop 0x03 if_chr_idle /*goto*/ 0x06 goto_first 0x04 label 0x06 endloop 0x03 endfunction func0426_start_path00: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 70 set_chr_health CHR_SELF, 40 set_armor 0 set_recovery_speed 0 set_shield 0 assign_path 0 start_path set_function CHR_SELF, GFUNC_UNALERTED endfunction func0427_start_path01: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 70 set_chr_health CHR_SELF, 40 set_armor 0 set_recovery_speed 0 set_shield 0 assign_path 1 start_path set_function CHR_SELF, GFUNC_UNALERTED endfunction func0428_start_path02: assign_path 2 start_path set_function CHR_SELF, GFUNC_UNALERTED endfunction func1002_intro: set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_music_track MUSIC_AIRFORCEONE_INTRO camera_movement 0x018c set_chr_flag_bank3 0x30, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 0x30, CHRFLAG3_HIDDEN set_chr_flag_bank2 0x30, CHRFLAG2_00020000 animation 0x018f, -1, -1, 0x0600, 0x30, 4 set_chr_flag_bank3 0x31, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 0x31, CHRFLAG3_HIDDEN set_chr_flag_bank2 0x31, CHRFLAG2_00020000 animation 0x018d, -1, -1, 0x0600, 0x31, 4 set_chr_flag_bank3 CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_PRESIDENT, CHRFLAG3_HIDDEN set_chr_flag_bank2 CHR_PRESIDENT, CHRFLAG2_00020000 animation 0x018e, -1, -1, 0x0600, CHR_PRESIDENT, 4 set_chr_flag_bank3 0x13, CHRFLAG3_HIDDEN set_chr_flag_bank3 0x14, CHRFLAG3_HIDDEN restart_timer fade_to_color 0x000000ff, 0 fade_to_color 0x00000000, 90 set_cutscene_weapon CHR_JOANNA, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon CHR_JOANNA, WEAPON_NONE, WEAPON_NONE .macro wait_until time loopid beginloop \loopid if_controller_button_pressed /*goto*/ 0x7d if_timer_gt \time, /*goto*/ 0x06 endloop \loopid label 0x06 .endm wait_until 140, 0x94 wait_until 180, 0x60 speak CHR_JOANNA, 0x3649, 0x744c, CHANNEL_7, COLOR_05_GREEN // "Have you thought any more about that proposal I ga..." wait_until 330, 0x95 wait_until 360, 0x96 wait_until 438, 0x77 speak CHR_JOANNA, 0x364a, 0x744d, CHANNEL_7, COLOR_08_RED // "My answer remains the same... I'm sorry Trent, but..." wait_until 486, 0x97 wait_until 532, 0x98 wait_until 850, 0x99 wait_until 1020, 0x78 speak CHR_JOANNA, 0x364b, 0x744e, CHANNEL_7, COLOR_05_GREEN // "But this is a golden opportunity to show that Amer..." wait_until 1402, 0x79 speak CHR_JOANNA, 0x364c, 0x81bb, CHANNEL_7, COLOR_08_RED // "Damn it, man! I say no and I mean no! I'm not gonn..." wait_until 2348, 0x7a speak CHR_JOANNA, 0x364d, 0x7450, CHANNEL_7, COLOR_05_GREEN // "As you wish, sir." wait_until 2406, 0x9a wait_until 2410, 0x62 open_door 0x15 wait_until 2465, 0x9b wait_until 2498, 0x9c wait_until 2560, 0x9d wait_until 2616, 0x9e wait_until 2654, 0x7b speak CHR_JOANNA, 0x364e, 0x7451, CHANNEL_7, COLOR_05_GREEN // "My last chance? Ha! You fool. That was yours." close_door 0x15 play_sound 0x8008, CHANNEL_10 wait_until 2680, 0x9f wait_until 2710, 0xa0 wait_until 2790, 0xa5 wait_until 3140, 0xa1 wait_until 3180, 0xa2 wait_until 3190, 0xa3 wait_until 3210, 0xa4 beginloop 0x08 if_camera_animating /*goto*/ 0x2d goto_next 0x7d label 0x2d if_controller_button_pressed /*goto*/ 0x7d label 0x2d endloop 0x08 label 0x7d mute_channel CHANNEL_10 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d set_chr_flag_bank2 CHR_VELVET, CHRFLAG2_DISGUISED label 0x2d if_eeprom_flag_is_set EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06 goto_next 0x7e label 0x06 camera_movement 0x01d0 cmd0175 60 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d chr_move_to_pad CHR_VELVET, 0x008a, 0x01, /*goto*/ 0x2d label 0x2d if_controller_button_pressed /*goto*/ 0x5f set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000 animation 0x01d1, -1, -1, 0x0600, CHR_JOANNA, 4 beginloop 0x09 if_camera_animating /*goto*/ 0x2d goto_next 0x5f label 0x2d if_controller_button_pressed /*goto*/ 0x5f label 0x2d endloop 0x09 label 0x7e set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISED if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d set_chr_flag_bank2 CHR_VELVET, CHRFLAG2_DISGUISED label 0x2d dprint "DISGUISED\n" camera_movement 0x01d2 cmd0175 60 if_chr_death_animation_finished CHR_VELVET, /*goto*/ 0x2d chr_move_to_pad CHR_VELVET, 0x00b2, 0x01, /*goto*/ 0x2d label 0x2d if_controller_button_pressed /*goto*/ 0x5f set_chr_flag_bank3 CHR_JOANNA, CHRFLAG3_UNPLAYABLE set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_00020000 animation 0x01d3, -1, -1, 0x0600, CHR_JOANNA, 4 beginloop 0x0a if_camera_animating /*goto*/ 0x2d goto_next 0x5f label 0x2d if_controller_button_pressed /*goto*/ 0x5f label 0x2d endloop 0x0a label 0x5f mute_channel CHANNEL_7 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 if_eeprom_flag_is_set EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP animation 0x01d3, -2, -1, 0x0600, CHR_JOANNA, 2 goto_next 0x2d label 0x06 animation 0x01d1, -2, -1, 0x0600, CHR_JOANNA, 2 label 0x2d restart_default_music reset_ambience unset_chr_flag_bank3 0x13, CHRFLAG3_HIDDEN unset_chr_flag_bank3 0x14, CHRFLAG3_HIDDEN set_function CHR_PRESIDENT, FUNC_INIT_PRESIDENT set_function 0x09, FUNC_INIT_NEUTRAL set_function 0x0a, FUNC_INIT_NEUTRAL set_function 0x0c, FUNC_INIT_NEUTRAL set_function 0x0d, FUNC_INIT_NEUTRAL remove_chr 0x30 remove_chr 0x31 unset_chr_flag_bank3 0x30, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 0x31, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE set_stage_flag STAGEFLAG_INTRO_FINISHED enter_firstperson set_function CHR_SELF, GFUNC_IDLE endfunction /** * The dumbwaiter near the middle of the plane. */ func1010_dumbwaiter1: label 0x03 set_object_flag_bank0 OBJ_DUMBWAITER1, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_DUMBWAITER1_SWITCH, 0x00, 0x12 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_activated_object CHR_P1P2, OBJ_DUMBWAITER1_SWITCH, /*goto*/ 0x2d endloop 0x04 label 0x2d play_sound 0x043a, CHANNEL_7 set_object_image OBJ_DUMBWAITER1_SWITCH, 0x00, 0x13 unset_object_flag_bank0 OBJ_DUMBWAITER1, OBJECTFLAG0_DEACTIVATED yield yield yield beginloop 0x08 if_lift_stationary OBJ_DUMBWAITER1, /*goto*/ 0x06 endloop 0x08 label 0x06 set_object_flag_bank0 OBJ_DUMBWAITER1, OBJECTFLAG0_DEACTIVATED restart_timer beginloop 0x09 if_timer_gt 180, /*goto*/ 0x2d endloop 0x09 label 0x2d unset_object_flag_bank0 OBJ_DUMBWAITER1, OBJECTFLAG0_DEACTIVATED yield yield yield beginloop 0x0a if_lift_stationary OBJ_DUMBWAITER1, /*goto*/ 0x06 goto_next 0x2d label 0x06 endloop 0x0a label 0x2d yield yield yield beginloop 0x0b if_lift_stationary OBJ_DUMBWAITER1, /*goto*/ 0x06 endloop 0x0b label 0x06 open_door 0x2b if_chr_activated_object CHR_P1P2, OBJ_DUMBWAITER1_SWITCH, /*goto*/ 0x2d label 0x2d goto_first 0x03 endfunction func1011_dumbwaiter2: label 0x03 set_object_flag_bank0 OBJ_DUMBWAITER2, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_DUMBWAITER2_SWITCH, 0x00, 0x12 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_activated_object CHR_P1P2, OBJ_DUMBWAITER2_SWITCH, /*goto*/ 0x2d endloop 0x04 label 0x2d play_sound 0x043a, CHANNEL_7 set_object_image OBJ_DUMBWAITER2_SWITCH, 0x00, 0x13 unset_object_flag_bank0 OBJ_DUMBWAITER2, OBJECTFLAG0_DEACTIVATED yield yield yield beginloop 0x08 if_lift_stationary OBJ_DUMBWAITER2, /*goto*/ 0x06 endloop 0x08 label 0x06 set_object_flag_bank0 OBJ_DUMBWAITER2, OBJECTFLAG0_DEACTIVATED restart_timer beginloop 0x09 if_timer_gt 180, /*goto*/ 0x2d endloop 0x09 label 0x2d unset_object_flag_bank0 OBJ_DUMBWAITER2, OBJECTFLAG0_DEACTIVATED yield yield yield beginloop 0x0a if_lift_stationary OBJ_DUMBWAITER2, /*goto*/ 0x06 endloop 0x0a label 0x06 // @bug: Wrong object, but this is a no-op anyway. if_chr_activated_object CHR_P1P2, OBJ_DUMBWAITER1_SWITCH, /*goto*/ 0x2d label 0x2d goto_first 0x03 endfunction func040a_defend_pad: set_onshot_function FUNC_DEFEND_PAD set_return_function CHR_SELF, FUNC_DEFEND_PAD if_chr_death_animation_finished CHR_SELF, /*goto*/ 0x2d if_chr_dying CHR_SELF, /*goto*/ 0x2d if_chr_unloaded CHR_SELF, /*goto*/ 0x2d goto_next 0x06 // Dying label 0x2d set_onshot_function GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE // Alive label 0x06 if_just_injured CHR_SELF, /*goto*/ 0x2d goto_next 0x06 // Injured label 0x2d beginloop 0x0a if_chr_stopped /*goto*/ 0x06 endloop 0x0a // Not injured label 0x06 if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_chr_distance_to_pad_lt CHR_SELF, 200, TARGET_PAD, /*goto*/ 0x06 label 0x03 jog_to_pad TARGET_PAD beginloop 0x04 dprint "GO TO PAD\n" if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_chr_distance_to_pad_lt CHR_SELF, 200, TARGET_PAD, /*goto*/ 0x06 endloop 0x04 label 0x06 stop_chr beginloop 0x09 dprint "AT PAD\n" if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_chr_distance_to_pad_gt CHR_SELF, 300, TARGET_PAD, /*goto*/ 0x06 endloop 0x09 label 0x06 goto_first 0x03 // Detected enemy label 0x08 dprint "DETECTED\n" set_return_function CHR_SELF, FUNC_DEFEND_PAD set_onshot_function FUNC_DEFEND_PAD set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR endfunction /** * Unused, but would have been assigned to a cyclone guard. */ func040b_defend_president: set_onshot_function FUNC_DEFEND_PRESIDENT if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_self_distance_to_chr_lt 200, CHR_PRESIDENT, /*goto*/ 0x06 label 0x03 chr_try_run_to_target_chr_with_hand_up CHR_PRESIDENT, /*goto*/ 0x04 beginloop 0x04 dprint "GO TO PAD\n" if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_detected_chr CHR_PRESIDENT, /*goto*/ 0x60 endloop 0x04 // Near president label 0x60 if_self_distance_to_chr_lt 200, CHR_PRESIDENT, /*goto*/ 0x06 goto_first 0x04 label 0x06 stop_chr beginloop 0x09 dprint "AT PAD\n" if_enemy_distance_lt_and_los 2540, /*goto*/ 0x08 if_detected_chr CHR_PRESIDENT, /*goto*/ 0x60 goto_first 0x04 label 0x60 if_chr_distance_to_target_chr_gt 300, CHR_PRESIDENT, /*goto*/ 0x06 endloop 0x09 label 0x06 goto_first 0x03 // Detected enemy label 0x08 dprint "DETECTED\n" set_return_function CHR_SELF, FUNC_DEFEND_PRESIDENT set_onshot_function FUNC_DEFEND_PRESIDENT set_function CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR endfunction func0415_cloner1: set_self_flag_bank3 CHRFLAG3_00000002 set_self_flag_bank3 CHRFLAG3_HIDDEN set_self_flag_bank3 CHRFLAG3_00040000 beginloop 0x03 if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06 reloop 0x03 label 0x06 if_stage_flag_eq STAGEFLAG_PRESIDENT_AT_POD, TRUE, /*goto*/ 0x06 endloop 0x03 label 0x06 set_chr_alliance CHR_SELF, 0x04 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 beginloop 0x04 if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e // These rooms are the attachment area consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0017, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0018, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0019, /*goto*/ 0x2d if_never_been_onscreen /*goto*/ 0x4f if_chr_sees_player /*goto*/ 0x08 label 0x2d reloop 0x04 // Line of sight to player label 0x08 set_function CHR_SELF, FUNC_CLONE1 // Chr flag is unset label 0x4f if_chr_death_animation_finished CHR_CLONE, /*goto*/ 0x4f reloop 0x04 // @bug? This may have intended to be a bank 1 check because the bank 1 // flag is unset further below, and cloner3 uses bank 1. label 0x4f if_self_flag_bankx_eq CHRFLAG0_00080000, TRUE, BANK_0, /*goto*/ 0x2d restart_timer beginloop 0x0b if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e if_timer_gt 2400, /*goto*/ 0x2d endloop 0x0b // Player is in UFO area, or interval has passed label 0x2d unset_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_spawn_clone2 CHR_SELF, FUNC_INIT_CLONE1, 0x00000000, /*goto*/ 0x2d label 0x2d yield endloop 0x04 // UFO attachment damaged label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func0416_init_clone1: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 label 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups try_inherit_properties 0x35, /*goto*/ 0x06 label 0x06 set_function CHR_SELF, FUNC_CLONE1 endfunction func0417_clone1: // Pad is at the cockpit door run_to_pad 0x0042 set_return_function CHR_SELF, FUNC_CLONE1 set_function CHR_SELF, GFUNC_UNALERTED endfunction func0418_cloner2: set_self_flag_bank3 CHRFLAG3_00000002 set_self_flag_bank3 CHRFLAG3_HIDDEN set_self_flag_bank3 CHRFLAG3_00040000 beginloop 0x03 if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06 reloop 0x03 label 0x06 if_stage_flag_eq STAGEFLAG_PRESIDENT_AT_POD, TRUE, /*goto*/ 0x06 endloop 0x03 label 0x06 set_chr_alliance CHR_SELF, 0x04 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 yield yield yield yield yield beginloop 0x04 if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e // These rooms are the attachment area consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0017, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0018, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0019, /*goto*/ 0x2d if_never_been_onscreen /*goto*/ 0x4f if_chr_sees_player /*goto*/ 0x08 label 0x2d reloop 0x04 // Line of sight to player label 0x08 set_function CHR_SELF, FUNC_CLONE2 // Chr flag is unset label 0x4f if_chr_death_animation_finished CHR_CLONE, /*goto*/ 0x4f reloop 0x04 // @bug? This may have intended to be a bank 1 check because the bank 1 // flag is unset further below, and cloner3 uses bank 1. label 0x4f if_self_flag_bankx_eq CHRFLAG0_00080000, TRUE, BANK_0, /*goto*/ 0x2d restart_timer beginloop 0x0b if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e if_timer_gt 3600, /*goto*/ 0x2d endloop 0x0b // Player is in UFO area, or interval has passed label 0x2d unset_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_spawn_clone2 CHR_SELF, FUNC_INIT_CLONE2, 0x00000000, /*goto*/ 0x2d label 0x2d yield endloop 0x04 // UFO attachment damaged label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func0419_init_clone2: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 label 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups try_inherit_properties 0x36, /*goto*/ 0x06 label 0x06 set_function CHR_SELF, FUNC_CLONE2 endfunction func041a_clone2: // Pad is at back of the plane, top floor run_to_pad 0x005c set_return_function CHR_SELF, FUNC_CLONE2 set_function CHR_SELF, GFUNC_UNALERTED endfunction /** * Unlike the other two cloners, this one does not stop once the president has * reached the escape pod. */ func041b_cloner3: set_self_flag_bank3 CHRFLAG3_00000002 set_self_flag_bank3 CHRFLAG3_HIDDEN set_self_flag_bank3 CHRFLAG3_00040000 beginloop 0x03 if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06 endloop 0x03 label 0x06 yield yield yield yield yield yield yield yield yield yield set_chr_alliance CHR_SELF, 0x04 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 beginloop 0x04 if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e consider_coop_for_p1p2_chr CHR_SELF if_chr_in_room CHR_P1P2, 0x00, 0x0017, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0018, /*goto*/ 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0019, /*goto*/ 0x2d if_never_been_onscreen /*goto*/ 0x4f if_chr_sees_player /*goto*/ 0x08 label 0x2d reloop 0x04 label 0x08 set_function CHR_SELF, FUNC_CLONE3 label 0x4f if_chr_death_animation_finished CHR_CLONE, /*goto*/ 0x4f reloop 0x04 label 0x4f if_self_flag_bankx_eq CHRFLAG1_00080000, TRUE, BANK_1, /*goto*/ 0x2d restart_timer beginloop 0x0b if_stage_flag_eq STAGEFLAG_UFO_ATTACHMENT_DAMAGED, TRUE, /*goto*/ 0x0e if_timer_gt 3600, /*goto*/ 0x2d endloop 0x0b label 0x2d unset_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_spawn_clone2 CHR_SELF, FUNC_INIT_CLONE3, 0x00000000, /*goto*/ 0x2d label 0x2d yield endloop 0x04 label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func041c_init_clone3: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_self_flag_bankx CHRFLAG1_00080000, BANK_1 try_draw_weapon MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04 label 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups try_inherit_properties 0x37, /*goto*/ 0x06 label 0x06 set_function CHR_SELF, FUNC_CLONE3 endfunction func041d_clone3: set_target_chr CHR_JOANNA try_run_to_target_chr /*goto*/ 0x04 label 0x04 yield set_return_function CHR_SELF, FUNC_CLONE3 set_function CHR_SELF, GFUNC_ALERTED endfunction func041f_init_blonde: set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_chr_dodge_rating 2, 0x00 set_accuracy 24 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 100 set_recovery_speed 100 set_shield 0 set_function CHR_SELF, FUNC_BLONDE endfunction func041e_blonde: set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_accuracy 30 set_onshot_function FUNC_BLONDE 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 0x2d // Dying label 0x06 set_onshot_function GFUNC_IDLE restart_timer beginloop 0x54 if_timer_gt 15, /*goto*/ 0x06 endloop 0x54 label 0x06 say_quip CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00 set_onshot_function GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE // Alive // This injured check is pointless label 0x2d if_just_injured CHR_SELF, /*goto*/ 0x06 goto_next 0x08 label 0x06 label 0x08 set_self_flag_bank3 CHRFLAG3_00000040 label 0x68 if_self_flag_bankx_eq CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06 try_chr_kneel_and_shoot_thing 0x0220, 0x0000, /*goto*/ 0x75 label 0x06 kneel beginloop 0x75 label 0x2d consider_coop_for_p1p2_chr CHR_P1P2 set_target_chr CHR_JOANNA if_target_chr_in_sight /*goto*/ 0x6a if_near_miss /*goto*/ 0x6b label 0x2d reloop 0x75 label 0x06 if_target_chr_in_sight /*goto*/ 0x6a label 0x2d endloop 0x75 label 0x6a if_self_flag_bankx_eq CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2d set_self_flag_bankx CHRFLAG0_00000004, BANK_0 say_quip CHR_JOANNA, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00 label 0x2d goto_next 0x6c // Unreachable try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x6d goto_next 0x6e // Reachable from below beginloop 0x6d if_chr_stopped /*goto*/ 0x6e endloop 0x6d label 0x6e restart_timer animation ANIM_RELOAD_0209, 0, -1, 0x1010, CHR_SELF, 2 beginloop 0x66 if_self_flag_bankx_eq CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x06 if_timer_lt 120, /*goto*/ 0x06 assign_sound 0x80f6, CHANNEL_7 play_sound_from_entity CHANNEL_7, CHR_SELF, 0x0bb8, 0x1770, 0x01 unset_self_flag_bankx CHRFLAG1_00000020, BANK_1 label 0x06 if_chr_stopped /*goto*/ 0x2d endloop 0x66 label 0x2d label 0x06 goto_first 0x68 label 0x6b restart_timer if_self_flag_bankx_eq CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x6f set_self_flag_bankx CHRFLAG0_00000004, BANK_0 label 0x6f call_rng if_target_chr_in_sight /*goto*/ 0x70 if_timer_gt 60, /*goto*/ 0x71 if_rand_lt 4, /*goto*/ 0x71 goto_first 0x6f label 0x71 if_chr_sees_player /*goto*/ 0x70 goto_first 0x68 label 0x70 goto_first 0x6a label 0x72 restart_timer beginloop 0x73 if_chr_sees_player /*goto*/ 0x70 if_timer_gt 300, /*goto*/ 0x06 endloop 0x73 label 0x06 goto_first 0x68 label 0x70 goto_first 0x6a label 0x6c say_quip CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00 try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x06 label 0x06 goto_first 0x6d label 0x2d goto_first 0x6e label 0x76 try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x74 label 0x74 say_quip CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00 try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x06 goto_next 0x2d label 0x06 goto_first 0x6d label 0x2d goto_first 0x6e endfunction func0421_trent_waiting: set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_self_flag_bank3 CHRFLAG3_00000040 set_shield 500 set_chr_flag_bank3 CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_chr_sees_player /*goto*/ 0x06 endloop 0x04 label 0x06 restart_timer speak TARGET_CHR, 0x362d, 0x816f, CHANNEL_6, COLOR_05_GREEN // "How the hell did you get on board?" animation ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2 beginloop 0x08 if_timer_gt 120, /*goto*/ 0x06 endloop 0x08 label 0x06 set_function CHR_SELF, FUNC_TRENT_ATTACKING endfunction func0420_trent_attacking: label 0x03 stop_chr beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 try_unset_chr_flag_bank3_02000000 CHR_SELF, /*goto*/ 0x2d set_target_chr CHR_PRESIDENT if_target_chr_in_sight /*goto*/ 0x06 if_stage_flag_eq STAGEFLAG_ONE_BLONDE_DEAD, TRUE, /*goto*/ 0x2d endloop 0x04 // One Blonde dead or player in sight label 0x2d set_shield 500 set_chr_flag_bank2 CHR_SELF, CHRFLAG2_10000000 speak CHR_P1P2, 0x3646, 0x12cb, CHANNEL_6, COLOR_05_GREEN // "Ha, Ha, Ha, Ha, Ha." set_function CHR_SELF, FUNC_TRENT_RUNNING // President in sight label 0x06 label 0x76 try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x74 label 0x74 say_quip CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00 try_aim_and_shoot_thing2 0x0200, 0x0000, /*goto*/ 0x08 goto_next 0x2d beginloop 0x08 if_chr_stopped /*goto*/ 0x06 endloop 0x08 label 0x06 if_chr_dying TARGET_CHR, /*goto*/ 0x09 if_chr_death_animation_finished TARGET_CHR, /*goto*/ 0x09 if_chr_unloaded TARGET_CHR, /*goto*/ 0x09 goto_first 0x03 label 0x2d goto_first 0x03 label 0x09 restart_timer animation ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2 speak CHR_P1P2, 0x3647, 0x12ca, CHANNEL_6, COLOR_05_GREEN // "You'll never save him now." beginloop 0x0a if_timer_gt 120, /*goto*/ 0x06 endloop 0x0a label 0x06 set_function CHR_SELF, FUNC_TRENT_RUNNING endfunction func0422_trent_running: run_to_pad 0x0034 beginloop 0x08 if_chr_stopped /*goto*/ 0x06 endloop 0x08 label 0x06 set_target_chr CHR_JOANNA if_chr_sees_player /*goto*/ 0x06 set_target_chr CHR_VELVET if_chr_sees_player /*goto*/ 0x06 set_self_flag_bank3 CHRFLAG3_HIDDEN remove_chr CHR_SELF set_function CHR_SELF, GFUNC_IDLE label 0x06 set_alertness 100 set_return_function CHR_SELF, GFUNC_UNALERTED set_function CHR_SELF, GFUNC_UNALERTED endfunction func1012_check_blondes_dead: beginloop 0x04 if_chr_dying CHR_BLONDE1, /*goto*/ 0x2d if_chr_death_animation_finished CHR_BLONDE1, /*goto*/ 0x2d if_chr_unloaded CHR_BLONDE1, /*goto*/ 0x2d if_chr_dying CHR_BLONDE2, /*goto*/ 0x06 if_chr_death_animation_finished CHR_BLONDE2, /*goto*/ 0x06 if_chr_unloaded CHR_BLONDE2, /*goto*/ 0x06 reloop 0x04 // Blonde 2 dead label 0x06 set_stage_flag STAGEFLAG_ONE_BLONDE_DEAD reloop 0x04 // Blonde 1 dead label 0x2d set_stage_flag STAGEFLAG_ONE_BLONDE_DEAD if_chr_dying CHR_BLONDE2, /*goto*/ 0x2d if_chr_death_animation_finished CHR_BLONDE2, /*goto*/ 0x2d if_chr_unloaded CHR_BLONDE2, /*goto*/ 0x2d endloop 0x04 // Both blondes dead label 0x2d set_stage_flag STAGEFLAG_BOTH_BLONDES_DEAD set_function CHR_SELF, GFUNC_IDLE endfunction func1013_unhide_trent_and_blondes: yield hide_chr CHR_TRENT hide_chr CHR_BLONDE1 hide_chr CHR_BLONDE2 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_stage_flag_eq STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x2d reloop 0x04 label 0x2d if_chr_y CHR_P1P2, 190, OPERATOR_LESS_THAN, /*goto*/ 0x2d endloop 0x04 label 0x2d show_chr CHR_TRENT set_function CHR_TRENT, FUNC_TRENT_WAITING show_chr CHR_BLONDE1 set_function CHR_BLONDE1, FUNC_INIT_BLONDE show_chr CHR_BLONDE2 set_function CHR_BLONDE2, FUNC_INIT_BLONDE yield unset_chr_flag_bank3 CHR_TRENT, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_BLONDE1, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_BLONDE2, CHRFLAG3_HIDDEN set_function CHR_SELF, GFUNC_IDLE endfunction /** * Assigned to basically everyone during president conversation. */ func0429_be_unalert: set_onshot_function GFUNC_ALERTED set_target_chr CHR_JOANNA set_alertness 0 label 0x03 try_aim_and_shoot_thing1 0x0220, 0x0000, /*goto*/ 0x04 beginloop 0x04 if_chr_stopped /*goto*/ 0x06 if_chr_dying CHR_PRESIDENT, /*goto*/ 0x2d if_chr_death_animation_finished CHR_PRESIDENT, /*goto*/ 0x2d if_chr_unloaded CHR_PRESIDENT, /*goto*/ 0x2d endloop 0x04 label 0x06 goto_first 0x03 label 0x2d set_function CHR_SELF, GFUNC_UNALERTED endfunction /** * Would have given the player one minute before the diguise was uncovered. * The set_function at the start has effectively disabled this function. */ func1014_uncover_disguise: set_function CHR_SELF, GFUNC_IDLE restart_timer beginloop 0x04 if_timer_gt 3600, /*goto*/ 0x06 endloop 0x04 label 0x06 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED set_function CHR_SELF, GFUNC_IDLE endfunction /** * Assigned to presidential security as well as the two mechanics. */ func042a_init_neutral: yield beginloop 0x60 if_camera_animating /*goto*/ 0x77 goto_next 0x06 label 0x77 endloop 0x60 label 0x06 yield yield yield yield yield yield yield yield yield yield yield yield yield yield set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 70 set_chr_health CHR_SELF, 40 set_armor 0 set_recovery_speed 0 set_shield 0 cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, GFUNC_UNALERTED endfunction func042b_reinit_stripes: set_chr_dodge_rating 2, 0x00 set_accuracy 14 set_reaction_speed 50 set_chr_health CHR_SELF, 60 set_armor 0 set_recovery_speed 30 set_shield 0 set_chr_alliance CHR_SELF, 0x04 cmd0145_rebuild_groups cmd0146_rebuild_groups set_function CHR_SELF, FUNC_STRIPES endfunction func0407_steward: set_onshot_function FUNC_STEWARD_SHOT beginloop 0x03 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_chr_idle /*goto*/ 0x2d call_rng if_rand_lt 32, /*goto*/ 0x0f call_rng if_rand_lt 32, /*goto*/ 0x8a if_rand_lt 64, /*goto*/ 0x8b if_rand_lt 96, /*goto*/ 0x8c if_rand_lt 128, /*goto*/ 0x8d if_rand_lt 160, /*goto*/ 0x8e if_rand_lt 192, /*goto*/ 0x8f if_rand_lt 224, /*goto*/ 0x90 animation ANIM_OPERATE_0221, -1, -1, 0x1001, CHR_SELF, 2 goto_next 0x2d label 0x8a animation ANIM_OPERATE_0221, -1, -1, 0x1001, CHR_SELF, 2 goto_next 0x2d label 0x8b animation ANIM_OPERATE_0223, -1, -1, 0x1001, CHR_SELF, 2 goto_next 0x2d label 0x8c animation ANIM_OPERATE_0221, -1, -1, 0x1101, CHR_SELF, 2 goto_next 0x2d label 0x8d animation ANIM_OPERATE_0221, -1, -1, 0x1101, CHR_SELF, 2 goto_next 0x2d label 0x8e animation ANIM_OPERATE_0223, -1, -1, 0x1101, CHR_SELF, 2 goto_next 0x2d label 0x8f animation 0x023a, -1, -1, 0x1101, CHR_SELF, 2 goto_next 0x2d label 0x90 animation 0x023b, -1, -1, 0x1101, CHR_SELF, 2 goto_next 0x2d label 0x0f call_rng if_rand_lt 86, /*goto*/ 0x60 if_rand_lt 172, /*goto*/ 0x77 if_chr_distance_to_pad_lt CHR_SELF, 50, 0x00c1, /*goto*/ 0x60 label 0x79 walk_to_pad 0x00c1 set_var_a 1 set_target_pad 0x00c2 goto_next 0x87 label 0x60 if_chr_distance_to_pad_lt CHR_SELF, 50, 0x00c3, /*goto*/ 0x77 walk_to_pad 0x00c3 set_var_a 2 set_target_pad 0x00c4 goto_next 0x87 label 0x77 if_chr_distance_to_pad_lt CHR_SELF, 50, 0x00c1, /*goto*/ 0x78 set_var_a 3 set_target_pad 0x00c6 walk_to_pad 0x00c5 goto_next 0x87 label 0x78 goto_first 0x79 beginloop 0x87 consider_coop_for_p1p2_chr CHR_SELF set_target_chr CHR_P1P2 if_target_chr_in_sight /*goto*/ 0x89 if_shot_near_chr 0x00, /*goto*/ 0x89 if_chr_stopped /*goto*/ 0x06 endloop 0x87 label 0x06 try_face_entity ENTITYTYPE_PAD, TARGET_PAD, /*goto*/ 0x88 beginloop 0x88 if_chr_stopped /*goto*/ 0x06 endloop 0x88 label 0x06 reloop 0x03 animation ANIM_OPERATE_0204, 0, -1, 0x1010, CHR_SELF, 2 label 0x2d if_target_chr_in_sight /*goto*/ 0x89 if_shot_near_chr 0x00, /*goto*/ 0x89 endloop 0x03 // Detected player label 0x89 set_alertness 100 restart_timer try_face_entity 0x0200, 0x0000, /*goto*/ 0x09 beginloop 0x09 if_angle_to_target_chr_lt 10, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x06 endloop 0x09 label 0x06 set_group_alertness 100 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED do_special_animation -1 restart_timer speak CHR_P1P2, 0x362b, 0x1abb, CHANNEL_4, COLOR_04_ORANGE // "Hey, that's not..." beginloop 0x08 if_timer_gt 35, /*goto*/ 0x2d endloop 0x08 label 0x2d mute_channel CHANNEL_4 set_function CHR_SELF, GFUNC_ALERTED set_function CHR_SELF, GFUNC_IDLE endfunction func0407_steward_shot: mute_channel CHANNEL_4 set_function CHR_SELF, GFUNC_ALERTED endfunction func0407_stewardess: set_chr_health CHR_SELF, 0 set_onshot_function FUNC_STEWARDESS 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 label 0x06 set_function CHR_SELF, GFUNC_IDLE // Wait until alerted beginloop 0x03 if_chr_idle /*goto*/ 0x2d animation ANIM_OPERATE_0204, 0, -1, 0x1010, CHR_SELF, 2 label 0x2d if_alertness 99, OPERATOR_GREATER_THAN, /*goto*/ 0x2d if_shot_near_chr 0x00, /*goto*/ 0x2d if_chr_dying CHR_STEWARD, /*goto*/ 0x2d if_chr_death_animation_finished CHR_STEWARD, /*goto*/ 0x2d if_chr_unloaded CHR_STEWARD, /*goto*/ 0x2d endloop 0x03 // Alerted label 0x2d try_face_entity 0x0200, 0x0000, /*goto*/ 0x09 beginloop 0x09 if_angle_to_target_chr_lt 10, /*goto*/ 0x06 if_timer_gt 60, /*goto*/ 0x06 endloop 0x09 label 0x06 set_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED animation ANIM_WALK_BACKWARDS, -1, -1, 0x1010, CHR_SELF, 2 restart_timer beginloop 0x08 if_timer_gt 120, /*goto*/ 0x06 endloop 0x08 label 0x06 try_target_chr_in_same_group /*goto*/ 0x2d goto_next 0x0a label 0x2d try_run_to_chr FOLLOW_CHR, /*goto*/ 0x7f beginloop 0x7f if_detected_chr FOLLOW_CHR, /*goto*/ 0x80 if_chr_stopped /*goto*/ 0x80 endloop 0x7f label 0x80 play_sound 0x1adc, CHANNEL_7 set_group_alertness 100 label 0x0a set_self_flag_bank3 CHRFLAG3_01000000 animation ANIM_COWER_0229, -1, 190, 0x100a, CHR_SELF, 2 beginloop 0x83 if_chr_stopped /*goto*/ 0x2d endloop 0x83 label 0x2d goto_first 0x0a endfunction func1015_msg_retrievetheevidence: if_difficulty_lt DIFF_SA, /*goto*/ 0x0e beginloop 0x04 if_stage_flag_eq STAGEFLAG_INTRO_FINISHED, TRUE, /*goto*/ 0x2d endloop 0x04 label 0x2d restart_timer beginloop 0x08 if_timer_gt 180, /*goto*/ 0x2d endloop 0x08 label 0x2d speak CHR_JOANNA, 0x362e, 0x73c8, CHANNEL_6, COLOR_09_BLUE // "Now, let's retrieve the evidence." label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func1016_msg_onthislevel: restart_timer beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_y CHR_P1P2, 440, OPERATOR_LESS_THAN, /*goto*/ 0x06 goto_next 0x2d label 0x06 endloop 0x04 label 0x2d set_target_chr FOLLOW_CHR speak TARGET_CHR, 0x362f, 0x8185, CHANNEL_6, COLOR_09_BLUE // "The President's room is on this level, Joanna." set_function CHR_SELF, GFUNC_IDLE endfunction func1017_msg_gettothecockpit: beginloop 0x04 if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x0e if_stage_flag_eq STAGEFLAG_PILOTS_DEAD, TRUE, /*goto*/ 0x2d reloop 0x04 label 0x2d if_stage_flag_eq STAGEFLAG_PLANE_NOSEDIVING, TRUE, /*goto*/ 0x2d endloop 0x04 label 0x2d restart_timer beginloop 0x08 if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x0e if_timer_gt 180, /*goto*/ 0x2d endloop 0x08 label 0x2d speak CHR_JOANNA, 0x3630, 0x8186, CHANNEL_5, COLOR_09_BLUE // "Something's wrong... You have to get to the cockpi..." label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func1018_msg_maybeamine: beginloop 0x04 if_stage_flag_eq STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x0e consider_coop_for_p1p2_chr CHR_SELF if_objective_complete 2, /*goto*/ 0x2d reloop 0x04 label 0x2d if_chr_in_room CHR_P1P2, 0x00, 0x0018, /*goto*/ 0x2d endloop 0x04 label 0x2d speak CHR_P1P2, 0x3631, 0x73cb, CHANNEL_6, COLOR_09_BLUE // "Maybe a mine will detach the UFO." label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func0c02_outro_from_menu: set_function CHR_ELVIS, GFUNC_IDLE set_function CHR_SELF, FUNC_OUTRO endfunction func0423_outro: set_lighting 0x0000, 0x0d, 0x00 if_chr_death_animation_finished CHR_JOANNA, /*goto*/ 0x2d set_target_chr CHR_JOANNA goto_next 0x06 label 0x2d set_target_chr CHR_VELVET label 0x06 camera_movement 0x02d8 set_music_track MUSIC_AIRFORCEONE_OUTRO set_lighting 0x0000, 0x0d, 0x00 set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_chr_flag_bank3 0xf1, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_P1P2, CHRFLAG3_HIDDEN set_function TARGET_CHR, GFUNC_IDLE set_chr_flag_bank3 TARGET_CHR, CHRFLAG3_UNPLAYABLE unset_chr_flag_bank3 TARGET_CHR, CHRFLAG3_HIDDEN set_chr_flag_bank2 TARGET_CHR, CHRFLAG2_00020000 animation 0x02da, -1, -1, 0x0600, TARGET_CHR, 4 set_chr_hud_visible TARGET_CHR, TRUE 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 0x02d9, -1, -1, 0x0600, CHR_ELVIS, 4 show_object 0x19 set_object_flag_bank1 0x19, OBJECTFLAG1_04000000 set_object_flag_bank2 0x19, OBJECTFLAG2_00000010 object_do_animation 0x02db, 0x19, 0x04ff, 0xff show_object 0x1a set_object_flag_bank1 0x1a, OBJECTFLAG1_04000000 set_object_flag_bank2 0x1a, OBJECTFLAG2_00000010 object_do_animation 0x02dc, 0x1a, 0x04ff, 0xff show_object 0x23 set_object_flag_bank1 0x23, OBJECTFLAG1_04000000 set_object_flag_bank2 0x23, OBJECTFLAG2_00000010 object_do_animation 0x02dd, 0x23, 0x04ff, 0xff show_object 0x37 set_object_flag_bank1 0x37, OBJECTFLAG1_04000000 set_object_flag_bank2 0x37, OBJECTFLAG2_00000010 object_do_animation 0x02de, 0x37, 0x04ff, 0xff restart_timer set_cutscene_weapon TARGET_CHR, WEAPON_NONE, WEAPON_NONE yield set_cutscene_weapon TARGET_CHR, WEAPON_NONE, WEAPON_NONE show_nonessential_chrs FALSE label 0x60 yield if_controller_button_pressed /*goto*/ 0x5f if_timer_gt 20, /*goto*/ 0x06 goto_first 0x60 label 0x06 speak CHR_JOANNA, 0x364f, 0x7452, CHANNEL_7, COLOR_09_BLUE // "Elvis! Elvis! I can't detach that tube from the fu..." .macro outro_wait_until time loopid beginloop \loopid if_controller_button_pressed /*goto*/ 0x5f if_timer_gt \time, /*goto*/ 0x06 endloop \loopid label 0x06 .endm outro_wait_until 426, 0x77 speak CHR_JOANNA, 0x3650, 0x7453, CHANNEL_7, COLOR_06_WHITE // "Piece of cake, Joanna. Watch this!" outro_wait_until 1045, 0x65 play_sound 0x0063, CHANNEL_10 outro_wait_until 1050, 0x78 speak CHR_JOANNA, 0x3651, 0x7454, CHANNEL_7, COLOR_06_WHITE // "Uh-oh." emit_sparks 0x23 outro_wait_until 1112, 0x79 speak CHR_JOANNA, 0x3652, 0x7455, CHANNEL_7, COLOR_09_BLUE // "Watch what? Will you stop playing around and shoot..." outro_wait_until 1380, 0x7a speak CHR_JOANNA, 0x3653, 0x7456, CHANNEL_7, COLOR_06_WHITE // "Out of options... Joanna, brace yourself for impac..." outro_wait_until 1950, 0x7b outro_wait_until 1951, 0x62 destroy_object 0x1a outro_wait_until 1958, 0x63 destroy_object 0x1a outro_wait_until 1970, 0x64 destroy_object 0x1a destroy_object 0x19 outro_wait_until 1985, 0x8e destroy_object 0x1a outro_wait_until 2000, 0x8a destroy_object 0x1a outro_wait_until 2015, 0x8b destroy_object 0x1a outro_wait_until 2030, 0x8c destroy_object 0x1a outro_wait_until 2045, 0x8d destroy_object 0x1a outro_wait_until 2060, 0x8f destroy_object 0x1a beginloop 0x08 if_camera_animating /*goto*/ 0x2d goto_next 0x5f label 0x2d if_controller_button_pressed /*goto*/ 0x5f label 0x2d endloop 0x08 label 0x5f mute_channel CHANNEL_10 label 0x06 restart_default_music set_lighting 0x0000, 0x0d, 0x00 hide_object 0x19 hide_object 0x1a set_chr_hud_visible TARGET_CHR, FALSE end_level set_function CHR_SELF, GFUNC_IDLE endfunction func1019_midcutscene: beginloop 0x08 if_stage_flag_eq STAGEFLAG_TRIGGER_MIDCUTSCENE, TRUE, /*goto*/ 0x2d endloop 0x08 label 0x2d set_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN set_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_STARTED, TRUE, /*goto*/ 0x2d set_stage_flag STAGEFLAG_MIDCUTSCENE_STARTED dprint "mid cutscene\n" set_music_track MUSIC_AIRFORCEONE_MIDCUTSCENE label 0x2d camera_movement 0x02df show_object 0x19 set_object_flag_bank1 0x19, OBJECTFLAG1_04000000 set_object_flag_bank2 0x19, OBJECTFLAG2_00000010 object_do_animation 0x02e0, 0x19, 0x04ff, 0xff set_object_part_visible 0x19, TRUE show_object 0x37 set_object_flag_bank1 0x37, OBJECTFLAG1_04000000 set_object_flag_bank2 0x37, OBJECTFLAG2_00000010 object_do_animation 0x02e1, 0x37, 0x04ff, 0xff restart_timer outro_wait_until 1086, 0x61 play_sound 0x042c, -1 beginloop 0x09 if_camera_animating /*goto*/ 0x2d goto_next 0x5f label 0x2d if_controller_button_pressed /*goto*/ 0x5f label 0x2d endloop 0x09 label 0x5f hide_object 0x37 hide_object 0x19 label 0x06 set_stage_flag STAGEFLAG_MIDCUTSCENE_FINISHED restart_default_music reset_ambience unset_chr_flag_bank3 CHR_VELVET, CHRFLAG3_HIDDEN unset_chr_flag_bank3 CHR_COUNTEROP, CHRFLAG3_HIDDEN set_function CHR_SELF, GFUNC_END_CINEMA endfunction func1019_midcutscene_from_menu: set_stage_flag STAGEFLAG_TRIGGER_MIDCUTSCENE set_function CHR_SELF, FUNC_MIDCUTSCENE endfunction func101a_equipment_switch: set_object_flag_bank0 0x1b, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_EQUIPMENT_SWITCH, 0x00, 0x12 beginloop 0x04 consider_coop_for_p1p2_chr CHR_SELF if_chr_activated_object CHR_P1P2, OBJ_EQUIPMENT_SWITCH, /*goto*/ 0x2d reloop 0x04 label 0x2d if_chr_has_object CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2d restart_timer message CHR_P1P2, 0x363f // "Access denied - lift key card required." beginloop 0x77 if_timer_gt 120, /*goto*/ 0x06 endloop 0x77 label 0x06 endloop 0x04 // Switch activated with keycard label 0x2d set_object_image OBJ_EQUIPMENT_SWITCH, 0x00, 0x13 set_stage_flag STAGEFLAG_EQUIPMENT_RAISED open_door 0x1c message CHR_P1P2, 0x363d // "Cargo bay has been raised." assign_sound 0x043a, CHANNEL_7 control_sound_from_object CHANNEL_7, OBJ_EQUIPMENT_SWITCH, TRUE unset_object_flag_bank0 0x1b, OBJECTFLAG0_DEACTIVATED yield yield yield yield yield yield restart_timer beginloop 0x08 if_lift_stationary 0x1b, /*goto*/ 0x06 endloop 0x08 label 0x06 set_object_flag_bank0 0x1b, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_EQUIPMENT_SWITCH, 0x00, 0x12 beginloop 0x09 if_door_state 0x1c, DOORSTATE_CLOSING, /*goto*/ 0x2d reloop 0x09 label 0x2d open_door 0x1c endloop 0x09 endfunction func101b_hoverbike_switch: unset_eeprom_flag EEPROMFLAG_CRASHSITE_BIKE set_object_flag_bank0 0x1f, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_HOVERBIKE_SWITCH, 0x00, 0x12 label 0x08 open_door 0x20 beginloop 0x09 consider_coop_for_p1p2_chr CHR_SELF if_door_state 0x20, DOORSTATE_CLOSING, /*goto*/ 0x2d if_chr_activated_object CHR_P1P2, OBJ_HOVERBIKE_SWITCH, /*goto*/ 0x0a reloop 0x09 label 0x2d open_door 0x20 reloop 0x09 label 0x0a if_chr_has_object CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2d restart_timer message CHR_P1P2, 0x363f // "Access denied - lift key card required." beginloop 0x77 if_timer_gt 120, /*goto*/ 0x06 endloop 0x77 label 0x06 endloop 0x09 // Activated with keycard label 0x2d set_object_image OBJ_HOVERBIKE_SWITCH, 0x00, 0x13 message CHR_P1P2, 0x363c // "Cargo bay has been lowered." set_eeprom_flag EEPROMFLAG_CRASHSITE_BIKE assign_sound 0x043a, CHANNEL_7 control_sound_from_object CHANNEL_7, OBJ_HOVERBIKE_SWITCH, TRUE unset_object_flag_bank0 0x1f, OBJECTFLAG0_DEACTIVATED restart_timer beginloop 0x0c if_timer_gt 2, /*goto*/ 0x2d endloop 0x0c label 0x2d close_door 0x20 beginloop 0x0b if_lift_stationary 0x1f, /*goto*/ 0x06 endloop 0x0b label 0x06 set_object_flag_bank0 0x1f, OBJECTFLAG0_DEACTIVATED set_object_image OBJ_HOVERBIKE_SWITCH, 0x00, 0x12 set_function CHR_SELF, GFUNC_IDLE endfunction func101c_check_equipment_switch_destroyed: beginloop 0x04 if_object_in_good_condition OBJ_EQUIPMENT_SWITCH, /*goto*/ 0x2d goto_next 0x06 label 0x2d endloop 0x04 label 0x06 if_stage_flag_eq STAGEFLAG_EQUIPMENT_RAISED, TRUE, /*goto*/ 0x2d set_stage_flag STAGEFLAG_EQUIPMENT_SWITCH_DESTROYED message CHR_JOANNA, 0x363e // "Mission critical object has been destroyed." label 0x2d set_function CHR_SELF, GFUNC_IDLE endfunction func040c_init_defend_pad: unset_chr_flag_bank2 CHR_SELF, CHRFLAG2_40000000 set_chr_alliance CHR_SELF, ALLIANCE_ALLY cmd0145_rebuild_groups cmd0146_rebuild_groups set_target_chr -1 label 0x04 try_draw_weapon MODEL_CHRCYCLONE, WEAPON_CYCLONE, 0x00000000, /*goto*/ 0x2d label 0x2d set_function CHR_SELF, FUNC_DEFEND_PAD endfunction func040e_unused: label 0x04 try_draw_weapon MODEL_CHRCYCLONE, WEAPON_CYCLONE, 0x00000000, /*goto*/ 0x2d label 0x2d set_function CHR_SELF, GFUNC_UNALERTED endfunction /** * Unused. */ func040d_init_defend_president: label 0x04 try_draw_weapon MODEL_CHRCYCLONE, WEAPON_CYCLONE, 0x00000000, /*goto*/ 0x2d label 0x2d set_function CHR_SELF, FUNC_DEFEND_PRESIDENT endfunction func042c_remove_if_offscreen: unset_chr_flag_bank2 CHR_SELF, CHRFLAG2_40000000 set_chr_alliance CHR_SELF, ALLIANCE_ALLY cmd0145_rebuild_groups cmd0146_rebuild_groups set_chr_health CHR_SELF, 0 label 0x04 yield set_target_chr CHR_JOANNA if_chr_sees_player /*goto*/ 0x06 set_target_chr CHR_VELVET if_chr_sees_player /*goto*/ 0x06 label 0x08 chr_drop_weapon CHR_SELF remove_chr CHR_SELF yield set_function CHR_SELF, GFUNC_IDLE label 0x06 set_function CHR_SELF, FUNC_INIT_DEFEND_PAD endfunction /** * If president dies between mid cutscene and Jo's "we have to get you to the * escape pod" line, set the flag that causes things to happen. * * This was most likely added after QA, hence why the original function wasn't * changed instead. */ func101d_handle_early_president_death: beginloop 0x04 if_stage_flag_eq STAGEFLAG_MIDCUTSCENE_FINISHED, TRUE, /*goto*/ 0x06 endloop 0x04 label 0x06 hide_object OBJ_EXTERIOR_DOOR unset_object_flag_bank1 OBJ_EXTERIOR_DOOR_DETACHED, OBJECTFLAG1_INVISIBLE set_object_flag_bank0 OBJ_EXTERIOR_DOOR_DETACHED, OBJECTFLAG0_00000100 beginloop 0x08 if_chr_death_animation_finished CHR_PRESIDENT, /*goto*/ 0x2d if_chr_dying CHR_PRESIDENT, /*goto*/ 0x2d if_chr_unloaded CHR_PRESIDENT, /*goto*/ 0x2d endloop 0x08 label 0x2d set_stage_flag STAGEFLAG_PRESIDENT_STARTED_RUNNING unlock_door OBJ_COCKPITDOOR, 0x40 set_function CHR_SELF, GFUNC_IDLE endfunction func1007_check_pod_destroyed: beginloop 0x04 if_object_in_good_condition OBJ_ESCAPE_POD, /*goto*/ 0x2d message CHR_JOANNA, 0x363e // "Mission critical object has been destroyed." set_stage_flag STAGEFLAG_POD_DESTROYED set_function CHR_SELF, GFUNC_IDLE label 0x2d endloop 0x04 endfunction func101f_setup_rtracker: yield set_object_flag_bank2 0x38, OBJECTFLAG2_RTRACKED_BLUE set_object_flag_bank2 0x39, OBJECTFLAG2_RTRACKED_BLUE set_function CHR_SELF, GFUNC_IDLE endfunction func1420_setup_lighting: yield set_lighting 0x001a, 0x05, 0x01 set_lighting 0x001b, 0x05, 0x01 set_lighting 0x002b, 0x05, 0x01 set_lighting 0x002d, 0x05, 0x01 set_lighting 0x002e, 0x05, 0x01 set_lighting 0x002f, 0x05, 0x01 set_lighting 0x0030, 0x05, 0x01 set_lighting 0x0031, 0x05, 0x01 set_lighting 0x0032, 0x05, 0x01 set_lighting 0x0033, 0x05, 0x01 set_lighting 0x0034, 0x05, 0x01 set_lighting 0x0035, 0x05, 0x01 set_lighting 0x0036, 0x05, 0x01 set_lighting 0x0037, 0x05, 0x01 set_lighting 0x0038, 0x05, 0x01 set_lighting 0x0039, 0x05, 0x01 set_lighting 0x003b, 0x05, 0x01 set_lighting 0x003c, 0x05, 0x01 set_lighting 0x003e, 0x05, 0x01 set_lighting 0x003f, 0x05, 0x01 set_lighting 0x0040, 0x05, 0x01 set_lighting 0x0041, 0x05, 0x01 set_lighting 0x0042, 0x05, 0x01 set_lighting 0x0043, 0x05, 0x01 set_lighting 0x0059, 0x05, 0x01 set_function CHR_SELF, GFUNC_IDLE set_function CHR_SELF, GFUNC_IDLE endfunction func1022_pilots_stabilizing: beginloop 0x04 if_stage_flag_eq STAGEFLAG_PLANE_NOSEDIVING, TRUE, /*goto*/ 0x2d endloop 0x04 label 0x2d restart_timer beginloop 0x93 if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2e if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2e if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2e goto_next 0x06 label 0x2e if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x0e if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x0e if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x0e // Pilots stabilizing label 0x06 if_stage_flag_eq STAGEFLAG_PLANE_STABILIZED, TRUE, /*goto*/ 0x0e if_timer_gt 1200, /*goto*/ 0x06 endloop 0x93 label 0x06 message CHR_JOANNA, 0x3654 // "The pilots have stabilized Air Force One." set_stage_flag STAGEFLAG_PLANE_STABILIZED label 0x0e set_function CHR_SELF, GFUNC_IDLE endfunction func1023_check_pilots_dead: beginloop 0x04 if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2d if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2d if_chr_death_animation_finished CHR_PILOT1, /*goto*/ 0x2d reloop 0x04 label 0x2d if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x2d if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x2d if_chr_death_animation_finished CHR_PILOT2, /*goto*/ 0x2d endloop 0x04 label 0x2d set_stage_flag STAGEFLAG_PILOTS_DEAD set_function CHR_SELF, GFUNC_IDLE endfunction /** * Wait until intro finished, then wait several frames before unsetting a flag * on Joanna. * * When the flag is set, the co-op buddy will attempt to warp to Jo. This is * needed because Jo can start in two locations in this level, but the buddy * only starts in one location. * * The flag must be unset so the buddy stops attempting to warp. */ func1025_disable_buddy_warp: yield beginloop 0x04 if_camera_animating /*goto*/ 0x2d goto_next 0x06 label 0x2d endloop 0x04 label 0x06 yield yield yield yield yield yield yield unset_chr_flag_bank2 CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP set_function CHR_SELF, GFUNC_IDLE endfunction func1026_buddy_floor_hatch: yield beginloop 0x93 if_camera_animating /*goto*/ 0x2d goto_next 0x04 label 0x2d endloop 0x93 // This flag is set by a global function beginloop 0x04 if_stage_flag_eq STAGEFLAG_AI_BUDDY_EXISTS, TRUE, /*goto*/ 0x2d endloop 0x04 // Maybe the AI has difficulty opening the floor hatch so they removed it? label 0x2d hide_object OBJ_FLOORHATCH set_object_flag_bank0 OBJ_FLOOR_HATCH_DETACHED, OBJECTFLAG0_00000100 unset_object_flag_bank1 OBJ_FLOOR_HATCH_DETACHED, OBJECTFLAG1_INVISIBLE set_function CHR_SELF, GFUNC_IDLE endfunction functions: register_function func1400_setup_counterop 0x1400 register_function func1001_objectives_failed_msg 0x1001 register_function func1002_intro 0x1002 register_function func1003_rebuild_groups 0x1003 register_function func1004_reassign_functions_during_conversation 0x1004 register_function func1005_check_neutrals_killed 0x1005 register_function func1006_hijack 0x1006 register_function func1007_check_pod_destroyed 0x1007 register_function func1008_check_mine_wasted_joanna 0x1008 register_function func1009_check_end_level 0x1009 register_function func100a_autopilot_switch 0x100a register_function func100b_check_president_dead 0x100b register_function func100c_cockpit 0x100c register_function func1010_dumbwaiter1 0x1010 register_function func1011_dumbwaiter2 0x1011 register_function func1012_check_blondes_dead 0x1012 register_function func1013_unhide_trent_and_blondes 0x1013 register_function func1014_uncover_disguise 0x1014 register_function func1015_msg_retrievetheevidence 0x1015 register_function func1016_msg_onthislevel 0x1016 register_function func1017_msg_gettothecockpit 0x1017 register_function func1018_msg_maybeamine 0x1018 register_function func1019_midcutscene 0x1019 register_function func101a_equipment_switch 0x101a register_function func101b_hoverbike_switch 0x101b register_function func101c_check_equipment_switch_destroyed 0x101c register_function func101d_handle_early_president_death 0x101d register_function func101e_blow_mines 0x101e register_function func101f_setup_rtracker 0x101f register_function func1420_setup_lighting 0x1420 register_function func1021_check_mine_wasted_velvet 0x1021 register_function func1022_pilots_stabilizing 0x1022 register_function func1023_check_pilots_dead 0x1023 register_function func1024_give_objects 0x1024 register_function func1025_disable_buddy_warp 0x1025 register_function func1026_buddy_floor_hatch 0x1026 register_function func1002_intro 0x0c00 register_function func1019_midcutscene_from_menu 0x0c01 register_function func0c02_outro_from_menu 0x0c02 register_function func0401_init_stripes 0x0401 register_function func0402_init_elvis 0x0402 register_function func0403_stripes 0x0403 register_function func0404_president_running 0x0404 register_function func0405_president_in_room 0x0405 register_function func0406_init_president 0x0406 register_function func0407_steward 0x0407 register_function func0407_stewardess 0x0408 register_function func1019_midcutscene 0x0424 register_function func0409_unused 0x0409 register_function func040a_defend_pad 0x040a register_function func040b_defend_president 0x040b register_function func040c_init_defend_pad 0x040c register_function func040d_init_defend_president 0x040d register_function func040e_unused 0x040e register_function func0413_taker 0x0413 register_function func100c_cockpit_stripes 0x0414 register_function func0413_taker1 0x040f register_function func0413_taker2 0x0410 register_function func0413_taker 0x0413 register_function func0411_typing_guy 0x0411 register_function func0412_sitting_guy 0x0412 register_function func0426_start_path00 0x0426 register_function func0427_start_path01 0x0427 register_function func0428_start_path02 0x0428 register_function func0429_be_unalert 0x0429 register_function func042a_init_neutral 0x042a register_function func042b_reinit_stripes 0x042b register_function func042c_remove_if_offscreen 0x042c register_function func0415_cloner1 0x0415 register_function func0416_init_clone1 0x0416 register_function func0417_clone1 0x0417 register_function func0418_cloner2 0x0418 register_function func0419_init_clone2 0x0419 register_function func041a_clone2 0x041a register_function func041b_cloner3 0x041b register_function func041c_init_clone3 0x041c register_function func041d_clone3 0x041d register_function func041e_blonde 0x041e register_function func041f_init_blonde 0x041f register_function func0420_trent_attacking 0x0420 register_function func0421_trent_waiting 0x0421 register_function func0422_trent_running 0x0422 register_function func0423_outro 0x0423 register_function func0407_steward_shot 0x0425 endfunctions paths: register_path path00, 0, 0 register_path path01, 1, 0 register_path path02, 2, 0 endpaths .align 4