// // Infiltration // #include "stagesetup.h" // Characters #define CHR_MECHANIC 0x30 #define CHR_JONATHAN 0x31 #define CHR_OUTRO_GUARD 0x33 #define CHR_ROCKETLAUNCHER_GUARD 0x34 // Objects #define OBJ_INTERCEPTOR1 0x02 #define OBJ_INTERCEPTOR2 0x03 #define OBJ_INTERCEPTOR3 0x04 #define OBJ_MAINGATE_SWITCH 0x05 #define OBJ_ANTENNA 0x07 #define OBJ_BUG1_BOND 0x08 #define OBJ_ANTENNA_SWITCH 0x09 #define OBJ_KEYCARD 0x0a #define OBJ_LIFT1_SWITCH 0x0b #define OBJ_LIFT2_SWITCH 0x0c #define OBJ_RADAR_TERMINAL 0x10 #define OBJ_MAINGATE1 0x13 #define OBJ_MAINGATE2 0x14 #define OBJ_MINE1 0x17 #define OBJ_MINE2 0x18 #define OBJ_MINE3 0x19 #define OBJ_MINE4 0x1b #define OBJ_MINE5 0x1c #define OBJ_MINE6 0x1d #define OBJ_BUG2_BOND 0x2e #define OBJ_AUTOGUN_AT_START 0x35 #define OBJ_BUG1_COOP 0x36 #define OBJ_BUG2_COOP 0x37 #define OBJ_ROCKETLAUNCHER 0x53 #define OBJ_EXPLOSIVE_BRICK 0x54 #define OBJ_HOVERBIKE 0x55 // Stage flags #define STAGEFLAG_INTERCEPTOR1_DESTROYED 0x00000100 #define STAGEFLAG_INTERCEPTOR2_DESTROYED 0x00000200 #define STAGEFLAG_INTERCEPTOR3_DESTROYED 0x00000400 #define STAGEFLAG_COMMSBUG_PLACED 0x00000800 #define STAGEFLAG_COMMSBUG_MISPLACED 0x00001000 #define STAGEFLAG_ANTENNA_DESTROYED 0x00002000 #define STAGEFLAG_ANTENNA_LOWERED 0x00004000 #define STAGEFLAG_LIFT1_CALLED 0x00008000 #define STAGEFLAG_LIFT2_CALLED 0x00010000 #define STAGEFLAG_HANGAR_ACCESSED 0x00020000 #define STAGEFLAG_MET_JON 0x00040000 #define STAGEFLAG_RADAR_SHUT_DOWN 0x00080000 #define STAGEFLAG_EXPLOSIVES_PLACED 0x00200000 #define STAGEFLAG_TRIGGER_INTERCEPTOR 0x00400000 #define STAGEFLAG_ENTERED_FINAL_HANGAR 0x00800000 #define STAGEFLAG_INTRO_FINISHED 0x01000000 #define STAGEFLAG_LIFT_SWITCHES_DESTROYED 0x04000000 #define STAGEFLAG_ONE_BUG_WASTED 0x08000000 #define STAGEFLAG_ANY_LASER_DESTROYED 0x10000000 // Functions #define FUNC_OUTRO 0x040e #define FUNC_SPAWNED_GUARD 0x040f #define FUNC_INTRO 0x0410 #define FUNC_ALERT_WHEN_STOPPED 0x0415 #define FUNC_MECHANIC 0x0416 #define FUNC_TRAITOR 0x0417 #define FUNC_INIT_ALERTED_SPAWNED_GUARD 0x041a #define FUNC_ALERTED_SPAWNED_GUARD 0x041b #define FUNC_TEMPLATE_GUARD 0x041c #define FUNC_TROOPER_UNALERTED 0x041d #define FUNC_DRAGON_UNALERTED 0x041e #define FUNC_TROOPER_ALERTED 0x041f #define FUNC_DRAGON_ALERTED 0x0420 #define FUNC_ACTIVATE_AUTOGUN 0x0421 #define FUNC_ACTIVATE_LASERS 0x0424 u8 intro[]; u8 props[]; struct aipaths paths[]; struct ailists functions[]; void *setup[] = { NULL, NULL, NULL, intro, props, paths, functions, NULL, }; u8 props[] = { briefing(0, 0x2c01) briefing(1, 0x2c00) briefing(2, 0x2c02) briefing(3, 0x2c03) beginobjective(0, 0x2c09, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Shut down air intercept radar" complete_flags(STAGEFLAG_RADAR_SHUT_DOWN) endobjective beginobjective(1, 0x2c0a, (DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Plant comms device on antenna" complete_flags(STAGEFLAG_COMMSBUG_PLACED) fail_flags(STAGEFLAG_COMMSBUG_MISPLACED) fail_flags(STAGEFLAG_ANTENNA_DESTROYED) endobjective beginobjective(2, 0x2c0b, (DIFFBIT_PA | DIFFBIT_PD)) // "Disable all robot interceptors" complete_flags(STAGEFLAG_INTERCEPTOR1_DESTROYED) complete_flags(STAGEFLAG_INTERCEPTOR2_DESTROYED) complete_flags(STAGEFLAG_INTERCEPTOR3_DESTROYED) endobjective beginobjective(3, 0x2c0c, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Gain access to hangar lift" complete_flags(STAGEFLAG_HANGAR_ACCESSED) fail_flags(STAGEFLAG_LIFT_SWITCHES_DESTROYED) endobjective beginobjective(4, 0x2c0d, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Make contact with CI spy" complete_flags(STAGEFLAG_MET_JON) endobjective tag(0x3c, 5) tag(0x3d, 6) tag(0x31, 2) tag(0x0f, 2) lift(0x0100, MODEL_A51_LIFT_HANGAR, 0x031e, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x031e, 0x031f, 0xffffffff, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x14000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0321, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001900, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) link_objects(-1, -2, 0, 0) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0322, 0x10000000, 0x00000800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001900, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) link_objects(-1, -4, 0, 1) tag(0x39, -2) tag(0x3e, 5) tag(0x3f, 6) tag(0x32, 2) tag(0x0e, 2) lift(0x0100, MODEL_A51_LIFT_HANGAR, 0x0324, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0324, 0x0325, 0xffffffff, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x14000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0327, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001900, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) link_objects(-1, -2, 0, 0) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0328, 0x10000000, 0x00000800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001900, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) link_objects(-1, -4, 0, 1) tag(0x38, -2) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0320, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000004, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_DOOR_ROLLERTRAIN, 0x0326, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000c000, 0x000031c7, 0x000031c7, 0x000002fc, 0x00040004, 0x00000004, 0x0000012c, 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(0x40, 6) tag(0x41, 6) tag(0x42, 8) tag(0x43, 8) tag(0x33, 1) lift(0x0100, MODEL_A51_LIFT_CONTROL, 0x0329, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0329, 0x032a, 0xffffffff, 0x00000001, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x16000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x032e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000e666, 0x00008e38, 0x00008e38, 0x00000444, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x032f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000e666, 0x00008e38, 0x00008e38, 0x00000444, 0x00000000, 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) link_objects(-2, -3, 0, 0) link_objects(-2, -4, 0, 0) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x0330, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000e666, 0x00008e38, 0x00008e38, 0x00000444, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x0331, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x0000e666, 0x00008e38, 0x00008e38, 0x00000444, 0x00000000, 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) link_objects(-2, -7, 0, 1) link_objects(-2, -8, 0, 1) chr(0x00004200, 0x00, 0x0354, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 10000, 100, 0x8000ae00, 0x00000100, TEAM_ENEMY, SQUADRON_01, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0000, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRGRENADE, 0x0000, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_GRENADE, 0x00ffffff, 0x00000000) chr(0x00000200, 0x01, 0x0355, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 10000, 100, 0x8000ae00, 0x00000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0001, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x02, 0x0029, BODY_A51TROOPER, HEAD_RANDOM, 0x0402, -1, -1, 1000, 0, 0x8000ae08, 0x00000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0x02001400) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0002, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRGRENADE, 0x0002, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_GRENADE, 0x00ffffff, 0x00000000) chr(0x00000200, 0x03, 0x0012, BODY_A51TROOPER, HEAD_RANDOM, 0x0401, -1, -1, 1000, 0, 0x8000ae08, 0x00000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0x02000500) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0003, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRGRENADE, 0x0003, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_GRENADE, 0x00ffffff, 0x00000000) chr(0x00000200, 0x04, 0x0010, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TEMPLATE_GUARD, -1, -1, 1000, 100, 0x8000ae08, 0x00000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0x02000500) chr(0x00000300, 0x05, 0x0356, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, 0x10002800, 0x00000000, TEAM_ENEMY, SQUADRON_02, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0005, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000300, 0x06, 0x0357, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, 0x10002800, 0x00000000, TEAM_ENEMY, SQUADRON_02, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0006, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x07, 0x0055, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0370, -1, 1000, 100, 0x80028804, 0x00000000, TEAM_ENEMY, SQUADRON_03, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0007, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRGRENADE, 0x0007, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_GRENADE, 0x00ffffff, 0x00000000) chr(0x00000200, 0x08, 0x004f, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0371, -1, 1000, 100, 0x80028804, 0x00000000, TEAM_ENEMY, SQUADRON_03, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0008, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRGRENADE, 0x0008, 0x20004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_GRENADE, 0x00ffffff, 0x00000000) chr(0x00000200, 0x09, 0x003e, BODY_A51TROOPER, HEAD_RANDOM, 0x0404, -1, -1, 1000, 100, 0xc0080e01, 0x00000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0009, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x0c, 0x036d, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 2000, 100, 0xa0004800, 0x00000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000c, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x0d, 0x0085, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 2000, 100, 0xa0004800, 0x00000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000d, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x0e, 0x0089, BODY_A51TROOPER, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, 0x80082800, 0x00000000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000e, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x0f, 0x0092, BODY_A51TROOPER, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, 0x80002800, 0x00002000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x10, 0x036e, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 1000, 100, 0xac008800, 0x00000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0010, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x11, 0x036f, BODY_A51TROOPER, HEAD_RANDOM, FUNC_TROOPER_UNALERTED, -1, -1, 1000, 100, 0x8c008800, 0x00000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0011, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x12, 0x035a, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 20, 0xc0004800, 0x00000000, TEAM_ENEMY, SQUADRON_07, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0012, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x13, 0x035b, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 20, 0xc0004800, 0x00000000, TEAM_ENEMY, SQUADRON_07, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0013, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00010800, 0x30, 0x0358, BODY_OVERALL, HEAD_RANDOM, FUNC_MECHANIC, -1, -1, 1000, 5, 0x80002400, 0x20000000, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0x00000000) tag(0x0a, 1) key(0x0080, MODEL_KEYCARD, 0x0030, 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, 0x4b, 0x2c1f, 0x2c20, 0x2c21, 0x2c22, 0x2c23, 0x0000, 0x0000) // "Obtain lift key card." chr(0x00000200, 0x14, 0x035d, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xcc080800, 0x00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0014, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x15, 0x0362, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xcc080800, 0x00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0015, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x16, 0x035c, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xcc080800, 0x00006000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0016, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x17, 0x035e, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xcc080800, 0x00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0017, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x18, 0x035f, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xc0000800, 0x00000040, TEAM_ENEMY, SQUADRON_09, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0018, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x19, 0x0361, BODY_A51AIRMAN, HEAD_RANDOM, 0x0407, -1, -1, 1000, 20, 0xc0000800, 0x00000000, TEAM_ENEMY, SQUADRON_09, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0019, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x1a, 0x0360, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 20, 0xc0000800, 0x00000000, TEAM_ENEMY, SQUADRON_09, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x001a, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x1c, 0x0363, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xc0004800, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x001c, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x1d, 0x0364, BODY_A51AIRMAN, HEAD_RANDOM, FUNC_DRAGON_UNALERTED, -1, -1, 1000, 100, 0xc0004a00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x001d, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x1e, 0x0365, BODY_A51AIRMAN, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, 0xe0004800, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x001e, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x1f, 0x037b, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, 0x007d, -1, 1000, 100, 0x81002000, 0x00000000, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x001f, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x22, 0x037e, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, 0x007d, -1, 1000, 100, 0x81002000, 0x00000000, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0022, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x20, 0x003a, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, 0x0077, -1, 1000, 100, 0x89000000, 0x00000000, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0020, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x21, 0x0033, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, 0x0077, -1, 1000, 100, 0x89000000, 0x00000000, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0021, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) chr(0x00000200, 0x23, 0x01ba, BODY_A51AIRMAN, HEAD_RANDOM, GFUNC_IDLE, 0x007d, -1, 1000, 100, 0x00002800, 0x00002000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0023, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000200, 0x24, 0x01b2, BODY_A51AIRMAN, HEAD_RANDOM, GFUNC_IDLE, 0x007d, -1, 1000, 100, 0x00002800, 0x00002000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0024, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000000, 0x25, 0x01ce, BODY_A51AIRMAN, HEAD_RANDOM, 0x0419, 0x007d, -1, 1000, 100, 0x80002000, 0x00000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0025, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00010400, 0x31, 0x0196, BODY_A51AIRMAN, HEAD_JONATHAN, 0x0425, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDY357, 0x0031, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DY357MAGNUM, 0x00ffffff, 0x00000000) chr(0x00000000, 0x32, 0x0197, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0032, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000000, 0x33, 0x0199, BODY_A51AIRMAN, HEAD_KEN, 0x0425, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDRAGON, 0x0033, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_DRAGON, 0x00ffffff, 0x00000000) chr(0x00000000, 0x29, 0x0158, BODY_LABTECH, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) chr(0x00000000, 0x2a, 0x0157, BODY_BIOTECH, HEAD_BIOTECH, GFUNC_IDLE, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x002a, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_52, 0x00ffffff, 0x00000000) chr(0x00000000, 0x2b, 0x0156, BODY_BIOTECH, HEAD_BIOTECH, GFUNC_IDLE, -1, -1, 1000, 100, 0xc0004e00, 0x00000000, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x002b, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_52, 0x00ffffff, 0x00000000) tag(0x2f, 1) hover_prop(0x0100, MODEL_HOVERBED, 0x0155, 0x05120101, 0x00304300, 0x00100003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) chr(0x00000000, 0x34, 0x040f, BODY_A51TROOPER, HEAD_RANDOM, GFUNC_IDLE, 0x007d, -1, 1000, 100, 0x81002000, 0x00000000, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRDYROCKET, 0x0034, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_ROCKETLAUNCHER, 0x00ffffff, 0x00000000) tag(0x53, -1) chr(0x00000000, 0x35, 0x009f, BODY_AREA51GUARD, HEAD_RANDOM, GFUNC_IDLE, -1, -1, 1000, 100, 0x04003000, 0x00000000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0035, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0035, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAGSEC4, 0x00ffffff, 0x00000000) link_collectibles(-1, -2) door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, 0x027f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x027e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x027d, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x027c, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x027a, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x027b, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0278, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0279, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0277, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0276, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0274, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0275, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0273, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0272, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0270, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0271, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x026f, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x026e, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_BOT, 0x0266, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00100004, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, 0x0267, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x00085555, 0x00085555, 0x00001999, 0x00000004, 0x00000000, 0x0fffffff, 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_A51_HORIZ_DOOR_TOP, 0x02a6, 0x10000400, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x0000f333, 0x0001aaaa, 0x0001aaaa, 0x00001999, 0x00000004, 0x00000040, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) tag(0x11, 2) tag(0x12, 2) door(0x0100, MODEL_A51_VERT_DOOR_RIGHT, 0x02af, 0x10000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_VERT_DOOR_LEFT, 0x02b0, 0x10000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) tag(0x13, 2) tag(0x14, 2) door(0x0100, MODEL_A51GATE_L, 0x02b5, 0x10000010, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00010000, 0x00000ccc, 0x00014000, 0x00000111, 0x00000000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51GATE_R, 0x02b6, 0x10000010, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000cccc, 0x00010000, 0x00000ccc, 0x00014000, 0x00000111, 0x00000000, 0x00000008, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00001800, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x02b3, 0x10000000, 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, 0x00080000, 0x00000010, 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) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x02b4, 0x10000000, 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, 0x00000010, 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) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x028c, 0x10000000, 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, 0x00080000, 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) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x028d, 0x10000000, 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, 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) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x0291, 0x10000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 0x00000004, 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) door(0x0100, MODEL_A51_VERT_DOOR_ST, 0x02a9, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, 0x00000000, 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(0x00, 1) autogun(0x0100, MODEL_A51_TURRET, 0x0380, 0x00000101, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000bb8, 0x00000000, 0x00000000, 0x0fff0000, 0x00280000, 0x00000000, 0x00020000, 0xfffe0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000002d8, 0x001e0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x0100, MODEL_A51_TURRET, 0x0382, 0x00000101, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000bb8, 0x00000000, 0x00000000, 0x0fff0000, 0x002e0000, 0x00000000, 0x00020000, 0xfffe0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000002d8, 0x001e0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x01, 1) autogun(0x0100, MODEL_A51_TURRET, 0x0383, 0x00000101, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000bb8, 0x00000000, 0x00000000, 0x0fff0000, 0x00260000, 0x00000000, 0x00020000, 0xfffe0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000016c, 0x001e0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x35, 1) autogun(0x0100, MODEL_A51_TURRET, 0x0381, 0x00000101, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000001f4, 0x00000000, 0x00000000, 0x0fff0000, 0x00150000, 0x00000000, 0x00020000, 0xfffe0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000002d8, 0x001e0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0401, 0x00000004, 0x000020e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03660000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00140000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0402, 0x00000004, 0x000020e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03680000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00140000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0403, 0x00000004, 0x000020e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03670000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00140000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0404, 0x00000004, 0x000020e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03690000, 0x00000000, 0x000031c7, 0xffffce39, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000da, 0x00140000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0401, 0x00000004, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03660000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000e38, 0x003c0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0402, 0x00000004, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03680000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000e38, 0x003c0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0403, 0x00000004, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03670000, 0x00000000, 0x00004000, 0xffffc000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000e38, 0x003c0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) autogun(0x00c0, MODEL_A51_ROOFGUN, 0x0404, 0x00000004, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x03690000, 0x00000000, 0x000031c7, 0xffffce39, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000e38, 0x003c0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x55, 1) hoverbike(0x0100, MODEL_HOVBIKE, 0x037a, 0x05120101, 0x00304300, 0x02000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x01010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x02, 1) armed_vehicle(0x0a00, MODEL_A51INTERCEPTOR, 0x0359, 0x20000108, 0x00080000, 0x00008200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x0fff0000, 0x0000040c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x03, 1) armed_vehicle(0x0a00, MODEL_A51INTERCEPTOR, 0x036c, 0x20000108, 0x00080000, 0x00008200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x0fff0000, 0x0000040c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x04, 1) armed_vehicle(0x0a00, MODEL_A51INTERCEPTOR, 0x034e, 0x20000108, 0x00080000, 0x00008200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x0fff0000, 0x0000040a, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tag(0x05, 1) singlemonitor(0x0100, MODEL_MODEMBOX, 0x0409, 0x10000002, 0x00000800, 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(0x08, 1) weapon(0x0180, MODEL_CHRBUG, 0xffff, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_COMMSRIDER, 0x00ffffff, 0x00000000) rename_object(-1, 0x3d, 0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x0000, 0x0000) // "Obtain comms rider." tag(0x36, 1) weapon(0x0180, MODEL_CHRBUG, 0xffff, 0x00100001, 0x00080000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_COMMSRIDER, 0x00ffffff, 0x00000000) rename_object(-1, 0x3d, 0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x0000, 0x0000) // "Obtain comms rider." tag(0x2e, 1) stdobject(0x0100, MODEL_CHRBUG, 0x035b, 0x012404e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) rename_object(-1, 0x3b, 0x2c30, 0x2c31, 0x2c32, 0x2c33, 0x2c34, 0x0000, 0x0000) // "Obtain explosive." tag(0x37, 1) stdobject(0x0100, MODEL_CHRBUG, 0x035b, 0x013004e1, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) rename_object(-1, 0x3b, 0x2c30, 0x2c31, 0x2c32, 0x2c33, 0x2c34, 0x0000, 0x0000) // "Obtain explosive." tag(0x09, 1) singlemonitor(0x0100, MODEL_MODEMBOX, 0x0406, 0x10000002, 0x00002001, 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, 0xffffff13) tag(0x0b, 1) singlemonitor(0x0100, MODEL_MODEMBOX, 0x0407, 0x10000002, 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(0x0c, 1) singlemonitor(0x0100, MODEL_MODEMBOX, 0x0408, 0x10000002, 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(0x10, 1) multimonitor(0x0099, MODEL_PD_CONSOLE, 0x04f7, 0x000201a1, 0x00000800, 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, 0x03030000) tag(0x54, 1) stdobject(0x000c, MODEL_EXPLOSIVEBRICK, 0x036b, 0x01520408, 0x00084000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x17, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x040c, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) tag(0x18, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x040d, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) tag(0x19, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x040e, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) tag(0x1b, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x0410, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) tag(0x1c, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x0411, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) tag(0x1d, 1) remote_mine(0x0100, MODEL_CHRPROXIMITYMINE, 0x0412, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x21000000, 0x00000001, 0x00000000) stdobject(0x0100, MODEL_BARREL, 0x0413, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_BARREL, 0x0414, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_BARREL, 0x0415, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_BARREL, 0x0416, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_BARREL, 0x0417, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_BARREL, 0x0418, 0x00000501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0311, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x0312, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x0313, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0314, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0307, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x0306, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x0305, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0304, 0x00020501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x02f9, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x02fa, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x02fb, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x02fc, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x02fd, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x02fe, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x02ff, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x0300, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0301, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x0302, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x0303, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0309, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE2, 0x030a, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE3, 0x030b, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x030c, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x030d, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x030e, 0x000201e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x030f, 0x000201e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0310, 0x000201e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x02f8, 0x000201e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x07, 1) lift(0x0100, MODEL_A51DISH, 0x033b, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x033b, 0x033a, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x00000000, 0x00000000, 0x00000000, 0x00000000) tinted_glass(0x0100, MODEL_DD_WINDOW, 0x0446, 0x14020b62, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0096012c, 0x0000ffff, 0x00000000) tinted_glass(0x0100, MODEL_DD_WINDOW, 0x0445, 0x14020b62, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0096012c, 0x0000ffff, 0x00000000) tag(0x1e, 7) tag(0x1f, 7) tag(0x20, 7) tag(0x21, 7) tag(0x22, 7) tag(0x23, 7) tag(0x24, 7) door(0x0100, MODEL_LASDOOR, 0x044a, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x044b, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x044c, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x044d, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x044e, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x044f, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) door(0x0100, MODEL_LASDOOR, 0x0450, 0x06000400, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00011999, 0x00011999, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x0c00000b, 0x00000000, 0x0000003c, 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(0x25, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x26, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x27, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x28, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x29, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x2a, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x2b, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x2c, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x2d, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x0050, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x51, 1) stdobject(0x0100, MODEL_CHRREMOTEMINE, 0x04e8, 0x012204e1, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e2, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e3, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e4, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e5, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e6, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e7, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e8, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04e9, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04ea, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_G5_MAINFRAME, 0x04eb, 0x000005e1, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) singlemonitor(0x0100, MODEL_MODEMBOX, 0x040b, 0x10000002, 0x00000800, 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, 0xffffff12) stdobject(0x0100, MODEL_A51TABLE, 0x04d5, 0x000005e1, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x44, 2) tag(0x45, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x04f8, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x04f9, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x46, 2) tag(0x47, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x04fa, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x04fb, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x48, 2) tag(0x49, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x04fc, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x04fd, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x4a, 2) tag(0x4b, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x04fe, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x04ff, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x4c, 2) tag(0x4d, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x0500, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0501, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x4e, 2) tag(0x4f, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x0502, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0503, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x50, 2) tag(0x52, 2) stdobject(0x0100, MODEL_A51_CRATE1, 0x0504, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) stdobject(0x0100, MODEL_A51_CRATE1, 0x0505, 0x000004e8, 0x00002010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000) tag(0x3a, 1) shield(0x0100, MODEL_CHRSHIELD, 0x0565, 0x00000001, 0x000000c0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000) tag(0x3b, 1) shield(0x0100, MODEL_CHRSHIELD, 0x0096, 0x00000001, 0x000000e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00000000, 0x00000000) endprops }; u8 intro[] = { spawn(0x000f) intro_weapon(WEAPON_FALCON2, -1) ammo(AMMOTYPE_PISTOL, 100) outfit(OUTFIT_DEFAULT) endintro }; s32 path34[] = { 0x0560, 0x0563, 0x0562, 0x0561, -1, }; s32 path00[] = { 0x001a, 0x001d, 0x001e, 0x0022, 0x0024, 0x0025, 0x0026, 0x0025, 0x0024, 0x0022, 0x001e, 0x001d, 0x001a, 0x0019, 0x0013, -1, }; s32 path01[] = { 0x0026, 0x0025, 0x0024, 0x0022, 0x001e, 0x001d, 0x001a, 0x0019, 0x0013, 0x0019, 0x001a, 0x001d, 0x001e, 0x0022, 0x0024, 0x0025, -1, }; s32 path02[] = { 0x0055, 0x0054, 0x004f, 0x004e, -1, }; s32 path03[] = { 0x003f, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x007e, 0x007d, 0x007c, 0x007b, 0x007a, 0x0079, 0x0078, 0x0077, -1, }; s32 path04[] = { 0x008d, 0x008e, 0x0093, 0x008e, 0x0092, 0x0091, 0x0090, 0x008c, -1, }; s32 path05[] = { 0x0092, 0x008e, 0x0093, 0x008e, 0x008d, 0x008c, 0x0090, 0x0091, -1, }; s32 unregistered_path1[] = { 0x01dc, 0x01b9, 0x01b8, 0x01b7, 0x01b6, 0x01b5, 0x01b3, 0x01b5, 0x01b6, 0x01b7, 0x01b8, 0x01b9, -1, }; s32 unregistered_path2[] = { 0x01d6, 0x01d6, 0x01d4, 0x01d3, 0x01d2, 0x01d1, 0x01d2, 0x01d3, 0x01d4, 0x01d6, -1, }; s32 path08[] = { 0x0506, 0x0507, -1, }; s32 path09[] = { 0x0508, 0x0509, 0x050a, -1, }; s32 path10[] = { 0x050b, 0x050c, 0x050d, 0x050e, 0x050f, 0x0510, -1, }; s32 path11[] = { 0x0511, 0x0512, 0x0513, 0x0514, -1, }; s32 path12[] = { 0x0515, 0x0516, 0x0517, 0x0518, 0x0519, -1, }; s32 path13[] = { 0x051a, 0x051b, 0x051c, 0x051d, 0x051e, 0x051f, -1, }; s32 path14[] = { 0x0520, 0x0521, 0x0522, 0x0523, 0x0524, 0x0525, -1, }; s32 path15[] = { 0x0526, 0x0527, 0x0528, 0x0529, 0x052a, 0x052b, -1, }; s32 path16[] = { 0x052c, 0x052d, 0x052e, 0x052f, -1, }; s32 path17[] = { 0x0530, 0x0531, 0x0532, 0x0533, 0x0534, 0x0535, -1, }; s32 path18[] = { 0x0536, 0x0537, 0x0538, 0x0539, -1, }; s32 path19[] = { 0x053a, 0x053b, 0x053c, 0x053d, 0x053e, 0x053f, 0x0540, 0x0541, -1, }; s32 path20[] = { 0x0542, 0x0543, 0x0544, -1, }; s32 path21[] = { 0x0545, 0x0546, 0x0547, -1, }; s32 path22[] = { 0x0548, 0x0553, -1, }; s32 path23[] = { 0x0549, 0x0552, -1, }; s32 path24[] = { 0x054a, 0x0551, -1, }; s32 path25[] = { 0x054b, 0x0550, -1, }; s32 path26[] = { 0x054e, 0x054d, -1, }; s32 path27[] = { 0x054f, 0x054c, -1, }; s32 path28[] = { 0x0554, 0x055f, -1, }; s32 path29[] = { 0x0555, 0x055e, -1, }; s32 path30[] = { 0x0556, 0x055d, -1, }; s32 path31[] = { 0x0557, 0x055c, -1, }; s32 path32[] = { 0x0559, 0x055a, -1, }; s32 path33[] = { 0x0558, 0x055b, -1, }; struct aipaths paths[] = { { path00, 0, 0 }, { path01, 1, 0 }, { path02, 2, 1 }, { path03, 3, 0 }, { path04, 4, 0 }, { path05, 5, 0 }, { path08, 8, 0 }, { path09, 9, 2 }, { path10, 10, 2 }, { path11, 11, 2 }, { path12, 12, 2 }, { path13, 13, 2 }, { path14, 14, 2 }, { path15, 15, 2 }, { path16, 16, 2 }, { path17, 17, 2 }, { path18, 18, 2 }, { path19, 19, 2 }, { path20, 20, 2 }, { path21, 21, 2 }, { path22, 22, 2 }, { path23, 23, 2 }, { path24, 24, 2 }, { path25, 25, 2 }, { path26, 26, 2 }, { path27, 27, 2 }, { path28, 28, 2 }, { path29, 29, 2 }, { path30, 30, 2 }, { path31, 31, 2 }, { path32, 32, 2 }, { path33, 33, 2 }, { path34, 34, 2 }, { NULL, 0, 0 }, }; u8 func0426_8420[] = { try_inherit_properties(0x04, /*goto*/ 0x2e) label(0x2e) set_function(CHR_SELF, GFUNC_UNALERTED_0004) endfunction }; #define init_path(pathid) \ set_chr_dodge_rating(2, 0x0a) \ set_accuracy(6) \ set_reaction_speed(50) \ set_chr_health(CHR_SELF, 40) \ set_armor(0) \ set_recovery_speed(0) \ set_shield(0) \ assign_path(pathid) \ start_path \ set_function(CHR_SELF, GFUNC_UNALERTED_0004) u8 func0401_start_path00[] = { init_path(0) endfunction }; u8 func0402_start_path01[] = { init_path(1) endfunction }; u8 func0403_start_path02[] = { init_path(2) endfunction }; u8 func0404_start_path03[] = { init_path(3) endfunction }; u8 func0405_start_path04[] = { init_path(4) endfunction }; u8 func0406_start_path05[] = { init_path(5) endfunction }; u8 func0407_start_path06[] = { assign_path(6) start_path set_function(CHR_SELF, GFUNC_UNALERTED_0004) endfunction }; u8 func0408_start_path07[] = { assign_path(7) start_path set_function(CHR_SELF, GFUNC_UNALERTED_0004) endfunction }; u8 func0409_set_rotor_speed[] = { set_rotor_speed(0x026c, 0x1c, 0x20) beginloop(0x04) endloop(0x04) endfunction }; u8 func040b_stop_vehicle[] = { set_vehicle_speed(0, 1) beginloop(0x04) endloop(0x04) endfunction }; u8 func0c00_init_intro[] = { set_return_function(CHR_SELF, GFUNC_END_CINEMA) set_function(CHR_SELF, FUNC_INTRO) endfunction }; u8 func140e_check_interceptors_destroyed[] = { set_object_flag_bank0(OBJ_AUTOGUN_AT_START, OBJECTFLAG0_DEACTIVATED) beginloop(0x04) if_object_in_good_condition(OBJ_INTERCEPTOR1, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR1_DESTROYED) message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_object_in_good_condition(OBJ_INTERCEPTOR2, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR2_DESTROYED) message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_object_in_good_condition(OBJ_INTERCEPTOR3, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR3_DESTROYED) message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, FALSE, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, FALSE, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, FALSE, /*goto*/ 0x2e) message(CHR_BOND, 0x2c14) // "All robot interceptors disabled." set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) endloop(0x04) endfunction }; u8 func100c_maingate_switch[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_door_state(OBJ_MAINGATE1, DOORSTATEBIT_CLOSING, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) set_object_image(OBJ_MAINGATE_SWITCH, 0x00, 0x12) label(0x06) if_chr_activated_object(CHR_P1P2, OBJ_MAINGATE_SWITCH, /*goto*/ 0x2e) reloop(0x04) label(0x2e) assign_sound(0x043f, CHANNEL_7) play_sound_from_entity(CHANNEL_7, OBJ_MAINGATE_SWITCH, 0x012c, 0x0190, 0x00) set_object_image(OBJ_MAINGATE_SWITCH, 0x00, 0x13) if_door_state(OBJ_MAINGATE1, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x2e) message(CHR_P1P2, 0x2c2b) // "Main gate has been opened." open_door(OBJ_MAINGATE1) open_door(OBJ_MAINGATE2) restart_timer beginloop(0x09) if_timer_gt(120, /*goto*/ 0x06) endloop(0x09) label(0x06) reloop(0x04) label(0x2e) assign_sound(0x043f, CHANNEL_7) play_sound_from_entity(CHANNEL_7, OBJ_MAINGATE_SWITCH, 0x012c, 0x0190, 0x00) set_object_image(OBJ_MAINGATE_SWITCH, 0x00, 0x12) message(CHR_P1P2, 0x2c2c) // "Main gate has been closed." close_door(OBJ_MAINGATE1) close_door(OBJ_MAINGATE2) restart_timer beginloop(0x0a) if_timer_gt(120, /*goto*/ 0x06) endloop(0x0a) label(0x06) endloop(0x04) endfunction }; u8 func1400_give_bugs[] = { yield set_chr_team(CHR_ANTI, TEAM_ENEMY) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) give_object_to_chr(OBJ_BUG1_BOND, CHR_BOND) label(0x2e) give_object_to_chr(OBJ_BUG2_BOND, CHR_BOND) if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) give_object_to_chr(OBJ_BUG1_COOP, CHR_COOP) label(0x2e) give_object_to_chr(OBJ_BUG2_COOP, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) label(0x2e) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; #define check_bug_wasted(chr) \ yield \ beginloop(0x00) \ if_ammo_quantity_lt(chr, AMMOTYPE_BUG, 1, /*goto*/ 0x2e) \ endloop(0x00) \ \ beginloop(0x2e) \ if_weapon_thrown(WEAPON_COMMSRIDER, /*goto*/ 0x06) \ endloop(0x2e) \ \ label(0x06) \ restart_timer \ \ beginloop(0x09) \ if_weapon_thrown_on_object(WEAPON_COMMSRIDER, OBJ_ANTENNA, /*goto*/ 0x0a) \ if_timer_gt(120, /*goto*/ 0x0b) \ endloop(0x09) \ \ label(0x0a) \ set_stage_flag(STAGEFLAG_COMMSBUG_PLACED) \ message(chr, 0x2c1a) /* "Communications bug placed correctly." */ \ set_function(CHR_SELF, GFUNC_IDLE) \ \ label(0x0b) \ if_stage_flag_eq(STAGEFLAG_ONE_BUG_WASTED, TRUE, /*goto*/ 0x2e) \ set_stage_flag(STAGEFLAG_ONE_BUG_WASTED) \ set_function(CHR_SELF, GFUNC_IDLE) \ \ label(0x2e) \ set_stage_flag(STAGEFLAG_COMMSBUG_MISPLACED) \ message(chr, 0x2c1b) /* "Communications bug placed incorrectly." */ \ set_function(CHR_SELF, GFUNC_IDLE) /** * @unused */ u8 func0422_check_bug_wasted_target[] = { check_bug_wasted(CHR_TARGET) endfunction }; u8 func1003_check_bug_wasted_bond[] = { set_target_chr(CHR_BOND) check_bug_wasted(CHR_BOND) endfunction }; u8 func1023_check_bug_wasted_coop[] = { if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) set_target_chr(CHR_COOP) goto_next(0x06) label(0x2e) set_stage_flag(STAGEFLAG_ONE_BUG_WASTED) set_function(CHR_SELF, GFUNC_IDLE) label(0x06) check_bug_wasted(CHR_COOP) endfunction }; u8 func1004_check_antenna_destroyed[] = { beginloop(0x04) if_object_in_good_condition(OBJ_ANTENNA, /*goto*/ 0x2e) message(CHR_BOND, 0x2c1c) // "Antenna has been destroyed." set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) endloop(0x04) endfunction }; u8 func1405_antenna_switch[] = { set_object_flag_bank0(OBJ_ANTENNA, OBJECTFLAG0_DEACTIVATED) beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, OBJ_ANTENNA_SWITCH, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_stage_flag_eq(STAGEFLAG_ANTENNA_LOWERED, TRUE, /*goto*/ 0x06) play_sound_from_object2(CHANNEL_9, OBJ_ANTENNA_SWITCH, 0x801e, 0x00, 0x00) play_sound_from_object2(CHANNEL_1, OBJ_ANTENNA, 0x00cd, 0x00, 0x02) set_object_image(OBJ_ANTENNA_SWITCH, 0x00, 0x12) unset_object_flag_bank0(OBJ_ANTENNA, OBJECTFLAG0_DEACTIVATED) message(CHR_P1P2, 0x2c1e) // "Antenna lowered." set_stage_flag(STAGEFLAG_ANTENNA_LOWERED) restart_timer beginloop(0x09) if_timer_gt(20, /*goto*/ 0x2e) reloop(0x09) label(0x2e) if_lift_stationary(OBJ_ANTENNA, /*goto*/ 0x2e) endloop(0x09) label(0x2e) mute_channel(CHANNEL_1) play_sound_from_object2(CHANNEL_9, OBJ_ANTENNA_SWITCH, 0x801f, 0x00, 0x00) set_object_flag_bank0(OBJ_ANTENNA, OBJECTFLAG0_DEACTIVATED) reloop(0x04) label(0x06) play_sound_from_object2(CHANNEL_9, OBJ_ANTENNA_SWITCH, 0x801e, 0x00, 0x00) play_sound_from_object2(CHANNEL_1, OBJ_ANTENNA, 0x00cd, 0x00, 0x02) set_object_image(OBJ_ANTENNA_SWITCH, 0x00, 0x13) unset_object_flag_bank0(OBJ_ANTENNA, OBJECTFLAG0_DEACTIVATED) unset_stage_flag(STAGEFLAG_ANTENNA_LOWERED) message(CHR_P1P2, 0x2c1d) // "Antenna raised." restart_timer beginloop(0x0a) if_timer_gt(20, /*goto*/ 0x2e) reloop(0x0a) label(0x2e) if_lift_stationary(OBJ_ANTENNA, /*goto*/ 0x2e) endloop(0x0a) label(0x2e) mute_channel(CHANNEL_1) play_sound_from_object2(CHANNEL_9, OBJ_ANTENNA_SWITCH, 0x801f, 0x00, 0x00) set_object_flag_bank0(OBJ_ANTENNA, OBJECTFLAG0_DEACTIVATED) endloop(0x04) endfunction }; u8 func1006_lift_switches[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, OBJ_LIFT1_SWITCH, /*goto*/ 0x09) if_chr_activated_object(CHR_P1P2, OBJ_LIFT2_SWITCH, /*goto*/ 0x0a) reloop(0x04) label(0x09) assign_sound(0x043f, CHANNEL_7) play_sound_from_entity(CHANNEL_7, OBJ_LIFT1_SWITCH, 0x012c, 0x0190, 0x00) if_chr_has_object(CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2e) message(CHR_P1P2, 0x2c24) // "Lift access denied - key card needed." goto_next(0x0b) label(0x2e) set_object_image(OBJ_LIFT1_SWITCH, 0x00, 0x13) if_stage_flag_eq(STAGEFLAG_LIFT1_CALLED, TRUE, /*goto*/ 0x06) set_stage_flag(STAGEFLAG_LIFT1_CALLED) open_door(0x0e) open_door(0x38) unlock_door(0x0e, 0x02) unlock_door(0x38, 0x02) message(CHR_P1P2, 0x2c25) // "Key card accepted - lift operational." goto_next(0x0b) label(0x06) message(CHR_P1P2, 0x2c26) // "Lift is fully operational." goto_next(0x0b) label(0x0a) assign_sound(0x043f, CHANNEL_7) play_sound_from_entity(CHANNEL_7, OBJ_LIFT2_SWITCH, 0x012c, 0x0190, 0x00) if_chr_has_object(CHR_BOND, OBJ_KEYCARD, /*goto*/ 0x2e) message(CHR_P1P2, 0x2c24) // "Lift access denied - key card needed." goto_next(0x0b) label(0x2e) set_object_image(OBJ_LIFT2_SWITCH, 0x00, 0x13) if_stage_flag_eq(STAGEFLAG_LIFT2_CALLED, TRUE, /*goto*/ 0x06) set_stage_flag(STAGEFLAG_LIFT2_CALLED) open_door(0x0f) open_door(0x39) yield yield unlock_door(0x0f, 0x02) unlock_door(0x39, 0x02) message(CHR_P1P2, 0x2c25) // "Key card accepted - lift operational." goto_next(0x0b) label(0x06) message(CHR_P1P2, 0x2c26) // "Lift is fully operational." goto_next(0x0b) label(0x0b) restart_timer beginloop(0x0c) if_timer_gt(120, /*goto*/ 0x06) endloop(0x0c) label(0x06) endloop(0x04) endfunction }; u8 func1007_check_hangar_accessed[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0042, /*goto*/ 0x06) if_chr_in_room(CHR_P1P2, 0x00, 0x0043, /*goto*/ 0x06) endloop(0x04) label(0x06) set_stage_flag(STAGEFLAG_HANGAR_ACCESSED) message(CHR_P1P2, 0x2c27) // "Hangar has been accessed." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1008_check_end_level[] = { beginloop(0x04) if_door_state(0x11, (DOORSTATEBIT_OPEN | DOORSTATEBIT_CLOSING | DOORSTATEBIT_OPENING), /*goto*/ 0x09) if_door_state(0x12, (DOORSTATEBIT_OPEN | DOORSTATEBIT_CLOSING | DOORSTATEBIT_OPENING), /*goto*/ 0x09) endloop(0x04) beginloop(0x09) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0060, /*goto*/ 0x06) endloop(0x09) label(0x06) message(CHR_P1P2, 0x2c28) // "Met up with CI agent." set_stage_flag(STAGEFLAG_MET_JON) yield yield if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2e) if_chr_dying(CHR_BOND, /*goto*/ 0x2e) if_chr_unloaded(CHR_BOND, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) if_chr_dying(CHR_COOP, /*goto*/ 0x2e) if_chr_unloaded(CHR_COOP, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) end_level set_function(CHR_SELF, GFUNC_IDLE) label(0x06) set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1009_check_radar_shut_down[] = { beginloop(0x04) if_object_in_good_condition(OBJ_RADAR_TERMINAL, /*goto*/ 0x06) goto_next(0x2e) label(0x06) endloop(0x04) label(0x2e) message(CHR_BOND, 0x2c29) // "Air intercept radar shut down." mute_channel(CHANNEL_0) set_stage_flag(STAGEFLAG_RADAR_SHUT_DOWN) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func100b_final_hangar[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_objective_complete(0, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) if_objective_complete(1, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2e) if_objective_complete(2, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_objective_complete(3, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_chr_distance_to_pad_lt(CHR_P1P2, 200, 0x01d2, /*goto*/ 0x2e) endloop(0x04) label(0x2e) set_stage_flag(STAGEFLAG_ENTERED_FINAL_HANGAR) play_x_music(CHANNEL_10, 60) restart_timer unlock_door(0x11, 0x08) unlock_door(0x12, 0x08) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x01c6, 0x0411, 0x00000210, /*goto*/ 0x09) beginloop(0x09) if_timer_gt(30, /*goto*/ 0x06) endloop(0x09) label(0x06) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x01c6, 0x0412, 0x00000210, /*goto*/ 0x0a) beginloop(0x0a) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0a) label(0x06) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x01c6, 0x0413, 0x00000210, /*goto*/ 0x0b) beginloop(0x0b) if_timer_gt(90, /*goto*/ 0x06) endloop(0x0b) label(0x06) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x01c6, 0x0414, 0x00000210, /*goto*/ 0x0c) // @bug: This timer check will pass immediately. // It was probably intended to be 120. beginloop(0x0c) if_timer_gt(1, /*goto*/ 0x06) endloop(0x0c) label(0x06) // This guard will shoot the spawned guards above, but this guard is NOT Jon beginloop(0x60) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x01c6, FUNC_TRAITOR, 0x00000210, /*goto*/ 0x0d) endloop(0x60) label(0x0d) yield set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0411_init_hangar_guard1[] = { set_chr_dodge_rating(2, 0x0a) set_accuracy(8) set_reaction_speed(30) set_chr_health(CHR_SELF, 40) set_armor(10) set_recovery_speed(35) set_shield(0) set_squadron(SQUADRON_0B) set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) set_self_flag_bank3(CHRFLAG3_00000040) set_chr_id(0x2c) set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) try_draw_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(0x0420) yield set_function(CHR_SELF, FUNC_ALERT_WHEN_STOPPED) endfunction }; u8 func0412_init_hangar_guard2[] = { set_chr_dodge_rating(2, 0x0a) set_accuracy(8) set_reaction_speed(30) set_chr_health(CHR_SELF, 40) set_armor(10) set_recovery_speed(35) set_shield(0) set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) set_squadron(SQUADRON_0B) set_self_flag_bank3(CHRFLAG3_00000040) set_chr_id(0x2d) set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) try_draw_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(0x041f) yield set_function(CHR_SELF, FUNC_ALERT_WHEN_STOPPED) endfunction }; u8 func0413_init_hangar_guard3[] = { set_chr_dodge_rating(2, 0x0a) set_accuracy(8) set_reaction_speed(30) set_chr_health(CHR_SELF, 40) set_armor(10) set_recovery_speed(35) set_shield(0) set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) set_squadron(SQUADRON_0B) set_self_flag_bank3(CHRFLAG3_00000040) set_chr_id(0x2e) set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) try_draw_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(0x041e) yield set_function(CHR_SELF, FUNC_ALERT_WHEN_STOPPED) endfunction }; u8 func0414_init_hangar_guard4[] = { set_chr_dodge_rating(2, 0x0a) set_accuracy(8) set_reaction_speed(30) set_chr_health(CHR_SELF, 40) set_armor(10) set_recovery_speed(35) set_shield(0) set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) set_squadron(SQUADRON_0B) set_self_flag_bank3(CHRFLAG3_00000040) set_chr_id(0x2f) set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) try_draw_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(0x041d) yield set_target_chr(CHR_BOND) set_function(CHR_SELF, FUNC_ALERT_WHEN_STOPPED) endfunction }; u8 func0415_alert_when_stopped[] = { // @bug: This loop should have a check for seeing Jo or a distance check to // Jo. Without it, the guards will run past Jo at the end if she's already // at the door. beginloop(0x04) if_chr_stopped(/*goto*/ 0x06) endloop(0x04) label(0x06) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; /** * This is NOT assigned to Jon. */ u8 func0417_traitor[] = { set_self_flag_bank3(CHRFLAG3_00000040) set_self_flag_bankx(CHRFLAG1_WARNED, BANK_1) set_accuracy(100) set_reaction_speed(100) restart_timer try_draw_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x00000000, /*goto*/ 0x03) beginloop(0x03) if_timer_gt(300, /*goto*/ 0x09) endloop(0x03) label(0x09) open_door(0x11) if_chr_dying(0x2f, /*goto*/ 0x0d) if_chr_unloaded(0x2f, /*goto*/ 0x0d) set_target_chr(0x2f) goto_next(0x2e) label(0x0d) if_chr_dying(0x2e, /*goto*/ 0x0e) if_chr_unloaded(0x2e, /*goto*/ 0x0e) set_target_chr(0x2e) goto_next(0x2e) label(0x0e) if_chr_dying(0x2d, /*goto*/ 0x0f) if_chr_unloaded(0x2d, /*goto*/ 0x0f) set_target_chr(0x2d) goto_next(0x2e) label(0x0f) if_chr_dying(0x2c, /*goto*/ 0x10) if_chr_unloaded(0x2c, /*goto*/ 0x10) set_target_chr(0x2c) label(0x2e) call_rng if_rand_gt(128, /*goto*/ 0x2e) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x0a) label(0x2e) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x0a) dprint 'S','H','O','O','T','F','A','I','L','E','D','\n',0, yield label(0x0a) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0b) goto_next(0x0c) beginloop(0x0b) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_y(CHR_P1P2, -1373, OPERATOR_LESS_THAN, /*goto*/ 0x10) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_y(CHR_P1P2, -1373, OPERATOR_LESS_THAN, /*goto*/ 0x10) if_chr_stopped(/*goto*/ 0x0c) endloop(0x0b) label(0x0c) if_chr_death_animation_finished(0x2f, /*goto*/ 0x2e) chr_shoot_chr(CHR_SELF, 0x2f, WEAPON_DY357MAGNUM) goto_next(0x06) label(0x2e) if_chr_death_animation_finished(0x2e, /*goto*/ 0x2e) chr_shoot_chr(CHR_SELF, 0x2e, WEAPON_DY357MAGNUM) goto_next(0x06) label(0x2e) if_chr_death_animation_finished(0x2d, /*goto*/ 0x2e) chr_shoot_chr(CHR_SELF, 0x2d, WEAPON_DY357MAGNUM) goto_next(0x06) label(0x2e) if_chr_death_animation_finished(0x2c, /*goto*/ 0x06) chr_shoot_chr(CHR_SELF, 0x2c, WEAPON_DY357MAGNUM) label(0x06) goto_first(0x09) label(0x10) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000) run_to_pad(0x0197) beginloop(0x60) if_chr_stopped(/*goto*/ 0x2e) endloop(0x60) label(0x2e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0416_mechanic[] = { set_onshot_function(FUNC_MECHANIC) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) label(0x06) if_just_injured(CHR_SELF, /*goto*/ 0x2e) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x0f) goto_next(0x04) label(0x2e) set_chr_team(CHR_SELF, TEAM_ENEMY) rebuild_teams rebuild_squadrons beginloop(0x6a) if_chr_stopped(/*goto*/ 0x2e) endloop(0x6a) // Not alert - at interceptor label(0x04) call_rng animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x09) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_stage_flag_eq(STAGEFLAG_TRIGGER_INTERCEPTOR, TRUE, /*goto*/ 0x2f) if_just_injured(CHR_SELF, /*goto*/ 0x2e) if_target_chr_in_sight(/*goto*/ 0x2e) if_chr_stopped(/*goto*/ 0x06) endloop(0x09) label(0x06) goto_first(0x04) label(0x2f) jog_to_pad(0x0385) beginloop(0x0c) if_chr_stopped(/*goto*/ 0x0e) endloop(0x0c) // In bunker label(0x0e) animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x0d) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_shot_at_close_range(/*goto*/ 0x2e) if_target_chr_in_sight(/*goto*/ 0x2e) if_chr_stopped(/*goto*/ 0x06) endloop(0x0d) label(0x06) goto_first(0x0e) label(0x2e) set_alertness(100) restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x0a) beginloop(0x0a) if_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_timer_gt(30, /*goto*/ 0x06) endloop(0x0a) label(0x0f) set_chr_team(CHR_SELF, TEAM_ENEMY) rebuild_teams rebuild_squadrons play_sound(0x80f7, CHANNEL_7) label(0x06) set_return_function(CHR_SELF, GFUNC_ALERTED) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; u8 func1001_objectives_failed_msg[] = { yield set_object_flag_bank1(OBJ_MINE1, OBJECTFLAG1_INVISIBLE) set_object_flag_bank1(OBJ_MINE2, OBJECTFLAG1_INVISIBLE) set_object_flag_bank1(OBJ_MINE3, OBJECTFLAG1_INVISIBLE) set_object_flag_bank1(0x1a, OBJECTFLAG1_INVISIBLE) // invalid object set_object_flag_bank1(OBJ_MINE4, OBJECTFLAG1_INVISIBLE) set_object_flag_bank1(OBJ_MINE5, OBJECTFLAG1_INVISIBLE) set_object_flag_bank1(OBJ_MINE6, OBJECTFLAG1_INVISIBLE) set_chr_flag_bank3(CHR_MECHANIC, CHRFLAG3_04000000) set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG) endfunction }; u8 func040a_top_interceptor[] = { set_chr_health(CHR_SELF, 5000) set_object_flag_bank0(OBJ_INTERCEPTOR3, OBJECTFLAG0_INTERCEPTOR_DISABLED) restart_timer beginloop(0x03) if_object_in_good_condition(OBJ_INTERCEPTOR3, /*goto*/ 0x2e) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) if_stage_flag_eq(STAGEFLAG_TRIGGER_INTERCEPTOR, TRUE, /*goto*/ 0x06) endloop(0x03) label(0x06) unset_object_flag_bank0(OBJ_INTERCEPTOR3, OBJECTFLAG0_INTERCEPTOR_DISABLED) cmd0143 begin_hovercar_path(0x22) set_chr_health(CHR_SELF, 5000) beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_chr_sees_player(/*goto*/ 0x59) endloop(0x04) label(0x58) yield label(0x09) begin_hovercar_path(0x22) beginloop(0x0a) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) label(0x06) if_chr_sees_player(/*goto*/ 0x59) reloop(0x0a) // Unreachable label(0x5a) dprint 'C','H','A','N','G','E',' ','T','O',' ','L','O','W','\n',0, goto_first(0x09) label(0x59) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x5b) reloop(0x0a) label(0x5b) yield if_chr_sees_player(/*goto*/ 0x5c) restart_timer beginloop(0x5d) if_timer_gt(480, /*goto*/ 0x5e) if_chr_sees_player(/*goto*/ 0x5c) endloop(0x5d) label(0x5e) stop_chr endloop(0x0a) label(0x5c) goto_first(0x5b) endfunction }; u8 func040c_init_bottom_interceptors[] = { set_chr_health(CHR_SELF, 5000) set_object_flag_bank0(OBJ_INTERCEPTOR1, OBJECTFLAG0_INTERCEPTOR_DISABLED) set_object_flag_bank0(OBJ_INTERCEPTOR2, OBJECTFLAG0_INTERCEPTOR_DISABLED) beginloop(0x04) endloop(0x04) endfunction }; u8 func040d_90c8[] = { set_self_flag_bank3(CHRFLAG3_00000020) set_accuracy(30) set_function(CHR_SELF, GFUNC_UNALERTED) endfunction }; u8 func040e_outro[] = { open_door(0x11) hide_object(OBJ_HOVERBIKE) camera_movement(0x017d) set_music_track(MUSIC_INFILTRATION_OUTRO) set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000) animation(0x017f, -1, -1, 0x0600, CHR_P1P2, 4) set_chr_hud_visible(CHR_P1P2, TRUE) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000) animation(0x017e, -1, -1, 0x0600, CHR_JONATHAN, 4) set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_OUTRO_GUARD, CHRFLAG2_00020000) animation(0x0180, -1, -1, 0x0600, CHR_OUTRO_GUARD, 4) restart_timer show_nonessential_chrs(FALSE) set_cutscene_weapon(CHR_P1P2, -1, -1) yield set_cutscene_weapon(CHR_P1P2, -1, WEAPON_FALCON2) #define wait_until(time, loopid) \ beginloop(loopid) \ if_controller_button_pressed(/*goto*/ 0x54) \ if_timer_gt(time, /*goto*/ 0x06) \ endloop(loopid) \ label(0x06) wait_until(1, 0x60) speak(CHR_P1P2, 0x2c43, 0x7421, CHANNEL_5, COLOR_07_RED) // "Agent Dark! Over here!" wait_until(46, 0x61) play_sound(0x0171, CHANNEL_7) wait_until(74, 0x62) play_sound(0x0172, CHANNEL_6) wait_until(100, 0x64) play_sound(0x0173, CHANNEL_7) wait_until(150, 0x65) speak(CHR_P1P2, 0x2c44, 0x7422, CHANNEL_5, COLOR_09_BLUE) // "There you are! I was beginning to wonder if..." wait_until(188, 0x66) play_sound(0x0174, CHANNEL_6) wait_until(278, 0x67) play_sound(0x0175, CHANNEL_7) wait_until(290, 0x68) set_chr_shooting_in_cutscene(CHR_JONATHAN, TRUE) yield yield set_chr_shooting_in_cutscene(CHR_JONATHAN, FALSE) wait_until(296, 0x79) play_sound(0x8076, CHANNEL_10) wait_until(310, 0x7a) play_sound(0x0090, CHANNEL_10) wait_until(392, 0x69) play_sound(0x808e, CHANNEL_10) wait_until(406, 0x6c) speak(CHR_P1P2, 0x2c45, 0x7423, CHANNEL_5, COLOR_07_RED) // "If what?" wait_until(410, 0x6a) play_sound(0x0176, CHANNEL_6) wait_until(424, 0x6b) play_sound(0x0177, CHANNEL_6) wait_until(426, 0x6c) play_sound(0x0177, CHANNEL_7) wait_until(464, 0x6d) play_sound(0x007d, CHANNEL_10) wait_until(472, 0x6e) speak(CHR_P1P2, 0x2c46, 0x7424, CHANNEL_5, COLOR_09_BLUE) // "If you'd been discovered yet. And frankly, if this..." wait_until(900, 0x70) speak(CHR_P1P2, 0x2c47, 0x7425, CHANNEL_5, COLOR_07_RED) // "I was tidying up one of your loose ends." wait_until(936, 0x6f) play_sound(0x0178, CHANNEL_7) wait_until(1080, 0x71) speak(CHR_P1P2, 0x2c48, 0x7426, CHANNEL_5, COLOR_09_BLUE) // "My loose ends?" wait_until(1180, 0x72) speak(CHR_P1P2, 0x2c49, 0x7427, CHANNEL_5, COLOR_07_RED) // "I'm sorry, I didn't realize you wanted him to shoo..." wait_until(1228, 0x73) play_sound(0x0171, CHANNEL_7) wait_until(1286, 0x74) play_sound(0x0172, CHANNEL_7) wait_until(1434, 0x75) play_sound(0x0173, CHANNEL_7) wait_until(1462, 0x77) play_sound(0x0174, CHANNEL_6) wait_until(1585, 0x76) speak(CHR_P1P2, 0x2c4a, 0x7428, CHANNEL_5, COLOR_09_BLUE) // "Okay, okay, forget about it. I'm going to let the ..." wait_until(1588, 0x78) play_sound(0x0175, CHANNEL_7) beginloop(0x09) if_camera_animating(/*goto*/ 0x2e) goto_next(0x54) label(0x2e) if_controller_button_pressed(/*goto*/ 0x54) label(0x2e) endloop(0x09) label(0x54) label(0x06) remove_chr(CHR_OUTRO_GUARD) set_chr_hud_visible(CHR_P1P2, FALSE) end_level set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0410_intro[] = { set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) if_controller_button_pressed(/*goto*/ 0x54) set_music_track(MUSIC_INFILTRATION_INTRO) camera_movement(0x0181) set_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x32, CHRFLAG2_00020000) animation(0x0182, -1, -1, 0x0600, 0x32, 4) set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2, WEAPON_NONE) wait_until(26, 0x60) speak(CHR_BOND, 0x2c3a, 0x7418, CHANNEL_7, COLOR_06_WHITE) // "Okay, Joanna, take a look at this. Our operative i..." wait_until(500, 0x61) speak(CHR_BOND, 0x2c3b, 0x7419, CHANNEL_7, COLOR_06_WHITE) // "This is your entry point... A deserted helipad on ..." wait_until(800, 0x62) speak(CHR_BOND, 0x2c3c, 0x741a, CHANNEL_7, COLOR_06_WHITE) // "The lift down to the hangars and the rendezvous po..." wait_until(1200, 0x63) wait_until(1236, 0x64) speak(CHR_BOND, 0x2c3d, 0x741b, CHANNEL_7, COLOR_06_WHITE) // "Here is the communications antenna. Attach a comms..." beginloop(0x09) if_camera_animating(/*goto*/ 0x2e) goto_next(0x06) label(0x2e) if_controller_button_pressed(/*goto*/ 0x06) label(0x2e) endloop(0x09) label(0x06) label(0x55) unset_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) label(0x54) if_controller_button_pressed(/*goto*/ 0x54) camera_movement(0x0183) set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x29, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x29, CHRFLAG2_00020000) animation(0x0184, -1, -1, 0x0600, 0x29, 4) set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x2a, CHRFLAG2_00020000) animation(0x0185, -1, -1, 0x0600, 0x2a, 4) set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x2b, CHRFLAG2_00020000) animation(0x0186, -1, -1, 0x0600, 0x2b, 4) set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000) set_object_flag_bank2(0x2f, OBJECTFLAG2_00000010) object_do_animation(0x0187, 0x2f, 0x04ff, 0xff) restart_timer wait_until(186, 0x65) speak(CHR_BOND, 0x2c3e, 0x81b9, CHANNEL_7, COLOR_09_BLUE) // "Oh, my God!" wait_until(380, 0x66) speak(CHR_BOND, 0x2c3f, 0x741d, CHANNEL_7, COLOR_06_WHITE) // "Here is our friend. He appears to be physically un..." beginloop(0x0a) if_camera_animating(/*goto*/ 0x2e) goto_next(0x06) label(0x2e) if_controller_button_pressed(/*goto*/ 0x06) label(0x2e) endloop(0x0a) label(0x06) unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000) label(0x54) if_controller_button_pressed(/*goto*/ 0x54) camera_movement(0x0188) set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x2a, CHRFLAG2_00020000) animation(0x0189, -1, -1, 0x0600, 0x2a, 4) set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x2b, CHRFLAG2_00020000) animation(0x018a, -1, -1, 0x0600, 0x2b, 4) set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000) set_object_flag_bank2(0x2f, OBJECTFLAG2_00000010) object_do_animation(0x018b, 0x2f, 0x04ff, 0xff) restart_timer wait_until(416, 0x67) speak(CHR_BOND, 0x2c40, 0x741e, CHANNEL_7, COLOR_09_BLUE) // "But who was...?" wait_until(485, 0x68) speak(CHR_BOND, 0x2c41, 0x741f, CHANNEL_7, COLOR_06_WHITE) // "Any questions? No. Good. Away you go to the hangar..." beginloop(0x0b) if_camera_animating(/*goto*/ 0x2e) goto_next(0x06) label(0x2e) if_controller_button_pressed(/*goto*/ 0x06) label(0x2e) endloop(0x0b) label(0x06) unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000) label(0x54) camera_movement(0x00f0) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x54) set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) animation(0x00f1, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(0x03, CHRFLAG2_00020000) unset_chr_flag_bank3(0x03, CHRFLAG3_HIDDEN) restart_timer wait_until(1, 0x69) speak(CHR_BOND, 0x2c42, 0x7420, CHANNEL_10, COLOR_09_BLUE) // "Agent Dark Mission Log, 1028 hours. Against my bet..." wait_until(340, 0x6a) play_sound(0x80d5, CHANNEL_10) wait_until(364, 0x6b) play_sound(0x04b0, CHANNEL_10) wait_until(458, 0x6c) play_sound(0x046e, CHANNEL_10) play_sound(0x80d5, CHANNEL_10) wait_until(496, 0x6d) play_sound(0x80cc, CHANNEL_10) play_sound(0x80cd, CHANNEL_10) wait_until(638, 0x6e) wait_until(688, 0x6f) play_sound(0x046f, CHANNEL_10) play_sound(0x80ce, CHANNEL_10) play_sound(0x80cf, CHANNEL_10) wait_until(750, 0x70) play_sound(0x016a, CHANNEL_10) wait_until(815, 0x71) play_sound(0x016b, CHANNEL_10) wait_until(844, 0x72) play_sound(0x016c, CHANNEL_10) wait_until(908, 0x73) play_sound(0x0169, CHANNEL_10) wait_until(916, 0x74) beginloop(0x0c) if_camera_animating(/*goto*/ 0x2e) goto_next(0x54) label(0x2e) if_controller_button_pressed(/*goto*/ 0x54) label(0x2e) endloop(0x0c) label(0x54) mute_channel(CHANNEL_10) mute_channel(CHANNEL_7) unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN) remove_chr(0x32) remove_chr(0x29) remove_chr(0x2a) remove_chr(0x2b) hide_object(0x2f) unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) animation(0x00f1, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE) set_function(0x02, 0x0426) set_function(0x03, 0x0426) unset_object_flag_bank1(OBJ_INTERCEPTOR1, OBJECTFLAG1_INVISIBLE) unset_object_flag_bank1(OBJ_INTERCEPTOR2, OBJECTFLAG1_INVISIBLE) unset_object_flag_bank1(OBJ_INTERCEPTOR3, OBJECTFLAG1_INVISIBLE) restart_default_music reset_ambience enter_firstperson set_stage_flag(STAGEFLAG_INTRO_FINISHED) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; /** * This pad is right next to where you start. Most likely the guard was changed * to use a path instead, but this function remained. * * @unused */ u8 func0418_walk_to_pad[] = { walk_to_pad(0x0019) beginloop(0x09) endloop(0x09) endfunction }; u8 func1010_bunker_lighting[] = { yield set_chr_team(CHR_ANTI, TEAM_ENEMY) restart_timer beginloop(0x09) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x06) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x06) endloop(0x09) label(0x06) mute_channel(CHANNEL_0) yield assign_sound(0x04ac, CHANNEL_0) play_sound_from_object(CHANNEL_0, 0x10, 0x0320, 0x044c) set_lights_state(0x0009, 0x03, 0xff, 0x32, 0x78) if_difficulty_lt(DIFF_SA, /*goto*/ 0x0e) restart_timer beginloop(0x0a) if_timer_gt(30, /*goto*/ 0x2e) endloop(0x0a) label(0x2e) beginloop(0x0b) if_timer_gt(40, /*goto*/ 0x2e) endloop(0x0b) label(0x2e) label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1012_bunker_laser1[] = { if_difficulty_gt(DIFF_A, /*goto*/ 0x2e) set_function(CHR_SELF, GFUNC_IDLE) // SA and PA only label(0x2e) restart_timer beginloop(0x09) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x0a) endloop(0x09) label(0x0a) restart_timer close_door(0x1e) beginloop(0x0b) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(180, /*goto*/ 0x06) endloop(0x0b) label(0x06) restart_timer open_door(0x1e) beginloop(0x0c) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(180, /*goto*/ 0x06) endloop(0x0c) label(0x06) goto_first(0x0a) label(0x10) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1013_bunker_lasers234[] = { if_difficulty_gt(DIFF_A, /*goto*/ 0x2e) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) restart_timer beginloop(0x09) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x0a) endloop(0x09) label(0x0a) restart_timer close_door(0x1f) close_door(0x20) close_door(0x21) beginloop(0x0b) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(120, /*goto*/ 0x06) endloop(0x0b) label(0x06) restart_timer open_door(0x1f) open_door(0x20) open_door(0x21) beginloop(0x0c) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(120, /*goto*/ 0x06) endloop(0x0c) label(0x06) goto_first(0x0a) label(0x10) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1013_bunker_lasers56[] = { if_difficulty_gt(DIFF_A, /*goto*/ 0x2e) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) restart_timer beginloop(0x09) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x0a) endloop(0x09) label(0x0a) restart_timer close_door(0x22) beginloop(0x0b) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0b) label(0x06) restart_timer open_door(0x22) close_door(0x23) beginloop(0x0c) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0c) label(0x06) label(0x06) restart_timer open_door(0x23) close_door(0x24) beginloop(0x0d) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0d) label(0x06) label(0x06) restart_timer open_door(0x24) beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x10) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0e) label(0x06) goto_first(0x0a) label(0x10) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1013_bunker_lasers[] = { if_difficulty_gt(DIFF_A, /*goto*/ 0x03) // Agent - hide lasers hide_object(0x1e) hide_object(0x1f) hide_object(0x20) hide_object(0x21) hide_object(0x22) hide_object(0x23) hide_object(0x24) set_function(CHR_SELF, GFUNC_IDLE) // SA and PA label(0x03) set_object_flag_bank0(0x1e, OBJECTFLAG0_40000000) set_object_flag_bank0(0x1f, OBJECTFLAG0_40000000) set_object_flag_bank0(0x20, OBJECTFLAG0_40000000) set_object_flag_bank0(0x21, OBJECTFLAG0_40000000) set_object_flag_bank0(0x22, OBJECTFLAG0_40000000) set_object_flag_bank0(0x23, OBJECTFLAG0_40000000) set_object_flag_bank0(0x24, OBJECTFLAG0_40000000) open_door(0x1e) open_door(0x1f) open_door(0x20) open_door(0x21) open_door(0x22) open_door(0x23) open_door(0x24) set_object_flag_bank0(0x1e, OBJECTFLAG0_40000000) set_object_flag_bank0(0x1f, OBJECTFLAG0_40000000) set_object_flag_bank0(0x20, OBJECTFLAG0_40000000) set_object_flag_bank0(0x21, OBJECTFLAG0_40000000) set_object_flag_bank0(0x22, OBJECTFLAG0_40000000) set_object_flag_bank0(0x23, OBJECTFLAG0_40000000) set_object_flag_bank0(0x24, OBJECTFLAG0_40000000) beginloop(0x04) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x09) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x09) if_door_state(0x1e, (DOORSTATEBIT_CLOSED | DOORSTATEBIT_CLOSING), /*goto*/ 0x06) endloop(0x04) label(0x06) goto_first(0x03) beginloop(0x09) if_stage_flag_eq(STAGEFLAG_RADAR_SHUT_DOWN, TRUE, /*goto*/ 0x2e) endloop(0x09) label(0x2e) open_door(0x1e) open_door(0x1f) open_door(0x20) open_door(0x21) open_door(0x22) open_door(0x23) open_door(0x24) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1011_bunker_explosives[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, OBJ_RADAR_TERMINAL, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_chr_weapon_equipped(CHR_P1P2, WEAPON_EXPLOSIVES, /*goto*/ 0x2e) message(CHR_P1P2, 0x2c2d) // "Access denied." goto_first(0x04) label(0x2e) unset_object_flag_bank1(OBJ_EXPLOSIVE_BRICK, OBJECTFLAG1_INVISIBLE) message(CHR_P1P2, 0x2c2e) // "Explosive has been placed." remove_weapon_from_inventory(WEAPON_EXPLOSIVES) set_stage_flag(STAGEFLAG_EXPLOSIVES_PLACED) restart_timer beginloop(0x0a) if_timer_gt(180, /*goto*/ 0x06) endloop(0x0a) label(0x06) yield set_countdown_timer(20) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x06) message(CHR_P1P2, 0x2c2f) // "Intruder detected - security system online." goto_next(0x06) // Agent label(0x2e) message(CHR_P1P2, 0x2c4b) // "Foreign object detected - security alerted." label(0x06) play_x_music(CHANNEL_10, 20) yield show_countdown_timer start_countdown_timer beginloop(0x09) if_countdown_timer_lt(1, /*goto*/ 0x06) endloop(0x09) label(0x06) hide_countdown_timer unset_object_flag_bank0(OBJ_RADAR_TERMINAL, OBJECTFLAG0_INVINCIBLE) yield move_object_to_pad(0x25, 0x036b) hide_object(OBJ_EXPLOSIVE_BRICK) unset_object_flag_bank0(0x25, OBJECTFLAG0_INVINCIBLE) destroy_object(0x25) destroy_object(OBJ_RADAR_TERMINAL) mute_channel(CHANNEL_0) assign_sound(0x0479, CHANNEL_0) control_sound_from_object(CHANNEL_0, OBJ_RADAR_TERMINAL, TRUE) restart_timer beginloop(0x0b) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0b) label(0x06) move_object_to_pad(0x26, 0x0375) unset_object_flag_bank0(0x26, OBJECTFLAG0_INVINCIBLE) destroy_object(0x26) move_object_to_pad(0x27, 0x0376) unset_object_flag_bank0(0x27, OBJECTFLAG0_INVINCIBLE) destroy_object(0x27) move_object_to_pad(0x28, 0x0372) unset_object_flag_bank0(0x28, OBJECTFLAG0_INVINCIBLE) destroy_object(0x28) yield restart_timer beginloop(0x0c) if_timer_gt(90, /*goto*/ 0x06) endloop(0x0c) label(0x06) unset_object_flag_bank0(0x51, OBJECTFLAG0_INVINCIBLE) destroy_object(0x51) restart_timer beginloop(0x7b) if_timer_gt(90, /*goto*/ 0x06) endloop(0x7b) label(0x06) unset_object_flag_bank0(0x2d, OBJECTFLAG0_INVINCIBLE) move_object_to_pad(0x2d, 0x0379) destroy_object(0x2d) restart_timer beginloop(0x11) if_timer_gt(90, /*goto*/ 0x06) endloop(0x11) label(0x06) label(0x06) unset_object_flag_bank0(0x29, OBJECTFLAG0_INVINCIBLE) move_object_to_pad(0x29, 0x0373) destroy_object(0x29) restart_timer beginloop(0x0d) if_timer_gt(90, /*goto*/ 0x06) endloop(0x0d) label(0x06) unset_object_flag_bank0(0x2a, OBJECTFLAG0_INVINCIBLE) move_object_to_pad(0x2a, 0x0374) destroy_object(0x2a) restart_timer beginloop(0x0e) if_timer_gt(90, /*goto*/ 0x06) endloop(0x0e) label(0x06) unset_object_flag_bank0(0x2b, OBJECTFLAG0_INVINCIBLE) move_object_to_pad(0x2b, 0x0377) destroy_object(0x2b) restart_timer beginloop(0x0f) if_timer_gt(90, /*goto*/ 0x06) endloop(0x0f) label(0x06) unset_object_flag_bank0(0x2c, OBJECTFLAG0_INVINCIBLE) move_object_to_pad(0x2c, 0x0378) destroy_object(0x2c) restart_timer beginloop(0x10) if_timer_gt(90, /*goto*/ 0x06) endloop(0x10) label(0x06) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1016_trigger_interceptor[] = { restart_timer beginloop(0x04) if_stage_flag_eq(STAGEFLAG_COMMSBUG_PLACED, TRUE, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x09) if_difficulty_lt(DIFF_PA, /*goto*/ 0x0a) // PA - 60 seconds if_timer_gt(3600, /*goto*/ 0x06) goto_first(0x04) // Agent - 120 seconds label(0x09) if_timer_gt(7200, /*goto*/ 0x06) reloop(0x04) // SA - 90 seconds label(0x0a) if_timer_gt(5400, /*goto*/ 0x06) endloop(0x04) label(0x06) set_stage_flag(STAGEFLAG_TRIGGER_INTERCEPTOR) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1017_radar_terminal_noise[] = { yield assign_sound(0x8146, CHANNEL_0) play_sound_from_object(CHANNEL_0, OBJ_RADAR_TERMINAL, 0x0320, 0x044c) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1018_unhide_guards[] = { set_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) // Agent: wait until guards 0x10 and 0x11 are dead // (two guards near antenna blue door) // SA and PA: Wait until bug thrown on antenna beginloop(0x04) if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) if_objective_complete(1, /*goto*/ 0x2e) reloop(0x04) label(0x06) if_chr_death_animation_finished(0x10, /*goto*/ 0x06) if_chr_dying(0x10, /*goto*/ 0x06) if_chr_unloaded(0x10, /*goto*/ 0x06) goto_first(0x04) label(0x06) if_chr_death_animation_finished(0x11, /*goto*/ 0x2e) if_chr_dying(0x11, /*goto*/ 0x2e) if_chr_unloaded(0x11, /*goto*/ 0x2e) endloop(0x04) // Enable 4 more guards - the ones inside the blue door label(0x2e) unset_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(0x1f, FUNC_TROOPER_ALERTED) set_function(0x20, FUNC_TROOPER_ALERTED) set_function(0x21, FUNC_TROOPER_ALERTED) set_function(0x22, FUNC_TROOPER_ALERTED) // Wait until player in room 0x0044 (first hangar ramp) beginloop(0x09) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0044, /*goto*/ 0x2e) endloop(0x09) // Enable 2 more guards label(0x2e) unset_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(0x23, FUNC_DRAGON_ALERTED) set_function(0x24, FUNC_DRAGON_ALERTED) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0419_clone_spawner[] = { set_chr_dodge_rating(2, 0x0a) set_accuracy(8) set_reaction_speed(30) set_chr_health(CHR_SELF, 40) set_armor(10) set_recovery_speed(35) set_shield(0) set_self_flag_bank3(CHRFLAG3_00000002) set_self_flag_bank3(CHRFLAG3_HIDDEN) set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_self_flag_bank3(CHRFLAG3_00040000) beginloop(0x04) if_stage_flag_eq(STAGEFLAG_ENTERED_FINAL_HANGAR, TRUE, /*goto*/ 0x2e) reloop(0x04) label(0x2e) dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0, if_never_been_onscreen(/*goto*/ 0x4f) if_chr_sees_player(/*goto*/ 0x09) reloop(0x04) label(0x09) set_function(CHR_SELF, FUNC_ALERTED_SPAWNED_GUARD) label(0x4f) unset_self_flag_bank3(CHRFLAG3_HIDDEN) unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE) if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x4f) reloop(0x04) label(0x4f) try_spawn_clone2(CHR_SELF, FUNC_INIT_ALERTED_SPAWNED_GUARD, 0x00000000, /*goto*/ 0x2e) set_function(CHR_SELF, FUNC_ALERTED_SPAWNED_GUARD) label(0x2e) yield endloop(0x04) endfunction }; u8 func041a_init_alerted_spawned_guard[] = { set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) label(0x04) rebuild_teams rebuild_squadrons try_inherit_properties(0x25, /*goto*/ 0x06) label(0x06) set_function(CHR_SELF, FUNC_ALERTED_SPAWNED_GUARD) endfunction }; u8 func041b_alerted_spawned_guard[] = { set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; u8 func1019_spawn_guards_at_antenna[] = { // Agent: wait until guards 0x10 and 0x11 are dead // (two guards near antenna blue door) // SA and PA: Wait until bug thrown on antenna beginloop(0x04) dprint 'C','H','E','C','K',' ','F','O','R',' ','O','B','J','E','C','T','I','V','E','\n',0, if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) if_objective_complete(1, /*goto*/ 0x2e) reloop(0x04) label(0x06) if_chr_death_animation_finished(0x10, /*goto*/ 0x06) if_chr_dying(0x10, /*goto*/ 0x06) if_chr_unloaded(0x10, /*goto*/ 0x06) reloop(0x04) label(0x06) if_chr_death_animation_finished(0x11, /*goto*/ 0x2e) if_chr_dying(0x11, /*goto*/ 0x2e) if_chr_unloaded(0x11, /*goto*/ 0x2e) endloop(0x04) // Spawn 3 guards label(0x2e) label(0x06) set_morale(3) beginloop(0x56) dprint 'T','R','Y',' ','C','R','E','A','T','E','\n',0, if_morale_lt(1, /*goto*/ 0x06) try_spawn_chr(BODY_A51TROOPER, HEAD_RANDOM, 0x00a0, FUNC_SPAWNED_GUARD, 0x00000200, /*goto*/ 0x57) reloop(0x56) label(0x57) yield dprint 'C','R','E','A','T','E','\n',0, subtract_morale(1) restart_timer beginloop(0x09) if_timer_gt(10, /*goto*/ 0x2e) endloop(0x09) label(0x2e) endloop(0x56) label(0x06) yield yield yield yield yield unset_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(0x35, GFUNC_SEARCH_FOR_PLAYER) rebuild_teams rebuild_squadrons set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func040f_spawned_guard[] = { try_draw_weapon(MODEL_CHRLEEGUN1, WEAPON_MAGSEC4, 0x00000000, /*goto*/ 0x06) label(0x06) set_chr_team(CHR_SELF, TEAM_ENEMY) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) set_self_flag_bankx(CHRFLAG0_04000000, BANK_0) set_squadron(SQUADRON_0E) set_self_flag_bank3(CHRFLAG3_00080000) try_inherit_properties(0x35, /*goto*/ 0x06) label(0x06) restart_timer beginloop(0x0a) if_timer_gt(300, /*goto*/ 0x2e) endloop(0x0a) label(0x2e) run_to_pad(0x0095) // outside blue door beginloop(0x09) if_timer_gt(120, /*goto*/ 0x06) endloop(0x09) label(0x06) set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER) endfunction }; #define init_guard(accuracy, reaction, armor, recovery, function) \ set_accuracy(accuracy) \ set_reaction_speed(reaction) \ set_chr_health(CHR_SELF, 40) \ set_armor(armor) \ set_recovery_speed(recovery) \ set_shield(0) \ set_function(CHR_SELF, function) u8 func041d_trooper_unalerted[] = { set_chr_dodge_rating(2, 0x0a) init_guard(6, 50, 0, 0, GFUNC_UNALERTED) endfunction }; u8 func041f_trooper_alerted[] = { set_chr_dodge_rating(2, 0x0a) init_guard(6, 50, 0, 0, GFUNC_ALERTED) endfunction }; u8 func041e_dragon_unalerted[] = { init_guard(8, 30, 10, 35, GFUNC_UNALERTED) endfunction }; u8 func0420_dragon_alerted[] = { init_guard(8, 30, 10, 35, GFUNC_ALERTED) endfunction }; u8 func141f_start_lifts[] = { activate_lift(2, 0x31) activate_lift(3, 0x32) activate_lift(4, 0x33) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func101a_check_mechanic_dead[] = { yield unset_eeprom_flag(EEPROMFLAG_RESCUE_MECHANIC_DEAD) beginloop(0x04) if_chr_dying(CHR_MECHANIC, /*goto*/ 0x2e) endloop(0x04) label(0x2e) set_eeprom_flag(EEPROMFLAG_RESCUE_MECHANIC_DEAD) dprint 'D','E','L','E','T','E',' ','M','E','C','H','\n',0, set_function(CHR_SELF, GFUNC_IDLE) endfunction }; /** * @bug: This message cannot be played because the player has no way to get to * room 0x0001, which is above the bunker roof. */ u8 func101b_msg_airinterceptradar[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0001, /*goto*/ 0x2e) endloop(0x04) label(0x2e) speak(CHR_P1P2, 0x2c35, 0x817d, CHANNEL_6, COLOR_09_BLUE) // "The air intercept radar is controlled from that bu..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func101c_msg_cantthrow[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x0e) restart_timer beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0013, /*goto*/ 0x2e) endloop(0x04) label(0x2e) speak(CHR_P1P2, 0x2c36, 0x73b9, CHANNEL_6, COLOR_09_BLUE) // "There's the antenna, but... I can't throw a bug th..." label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; /** * This message is also unplayable. */ u8 func101d_msg_hangarlift[] = { // Wait for radar shut down and player in room 0x0001 (which is impossible) beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_objective_complete(0, /*goto*/ 0x2e) reloop(0x04) label(0x2e) if_chr_in_room(CHR_P1P2, 0x00, 0x0001, /*goto*/ 0x2e) endloop(0x04) label(0x2e) speak(CHR_P1P2, 0x2c37, 0x817e, CHANNEL_6, COLOR_09_BLUE) // "The hangar lift is on the other side of that huge ..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func101e_msg_triggerfinger[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_in_room(CHR_P1P2, 0x00, 0x0051, /*goto*/ 0x2e) endloop(0x04) label(0x2e) speak(CHR_P1P2, 0x2c38, 0x817f, CHANNEL_6, COLOR_09_BLUE) // "Careful with that trigger finger, Agent Dark - you..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0421_activate_autogun[] = { set_onshot_function(GFUNC_ALERTED) beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_target_chr_in_sight(/*goto*/ 0x2e) if_shot_at_close_range(/*goto*/ 0x2e) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x2e) endloop(0x04) label(0x2e) run_to_pad(0x0384) beginloop(0x09) if_object_in_good_condition(OBJ_AUTOGUN_AT_START, /*goto*/ 0x06) goto_next(0x0e) label(0x06) if_chr_stopped(/*goto*/ 0x2e) endloop(0x09) label(0x2e) animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 120, 0x1010, CHR_SELF, 2) beginloop(0x0a) if_chr_stopped(/*goto*/ 0x2e) endloop(0x0a) label(0x2e) if_object_in_good_condition(OBJ_AUTOGUN_AT_START, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) unset_object_flag_bank0(OBJ_AUTOGUN_AT_START, OBJECTFLAG0_DEACTIVATED) label(0x06) set_function(CHR_SELF, GFUNC_ALERTED) label(0x0e) say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) beginloop(0x7c) if_timer_gt(60, /*goto*/ 0x7d) endloop(0x7c) label(0x7d) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; /** * Randomly select one of two guards near the start to be the one who will * attempt to activate the autogun. */ u8 func1020_choose_autogun_guard[] = { yield call_rng if_rand_gt(128, /*goto*/ 0x2e) set_function(0x00, FUNC_ACTIVATE_AUTOGUN) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) set_function(0x01, FUNC_ACTIVATE_AUTOGUN) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1021_damage_rl_guard[] = { yield damage_chr(CHR_ROCKETLAUNCHER_GUARD, 18) yield damage_chr(CHR_ROCKETLAUNCHER_GUARD, 18) yield damage_chr(CHR_ROCKETLAUNCHER_GUARD, 18) yield damage_chr(CHR_ROCKETLAUNCHER_GUARD, 18) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1022_check_lift_switches_destroyed[] = { beginloop(0x04) if_stage_flag_eq(STAGEFLAG_LIFT1_CALLED, TRUE, /*goto*/ 0x06) if_stage_flag_eq(STAGEFLAG_LIFT2_CALLED, TRUE, /*goto*/ 0x06) if_object_in_good_condition(OBJ_LIFT1_SWITCH, /*goto*/ 0x2e) if_object_in_good_condition(OBJ_LIFT2_SWITCH, /*goto*/ 0x2e) message(CHR_BOND, 0x2c39) // "Lift access terminals destroyed." set_stage_flag(STAGEFLAG_LIFT_SWITCHES_DESTROYED) goto_next(0x06) label(0x2e) endloop(0x04) label(0x06) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1024_lift_door_sounds[] = { beginloop(0x7e) consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, 0x3c, /*goto*/ 0x0a) if_chr_activated_object(CHR_P1P2, 0x3e, /*goto*/ 0x0b) if_chr_activated_object(CHR_P1P2, 0x3d, /*goto*/ 0x41) if_chr_activated_object(CHR_P1P2, 0x3f, /*goto*/ 0x41) if_chr_activated_object(CHR_P1P2, 0x40, /*goto*/ 0x2e) if_chr_activated_object(CHR_P1P2, 0x41, /*goto*/ 0x2e) if_chr_activated_object(CHR_P1P2, 0x42, /*goto*/ 0x2e) if_chr_activated_object(CHR_P1P2, 0x43, /*goto*/ 0x2e) goto_first(0x7e) label(0x0a) if_door_locked(0x3c, 0x02, /*goto*/ 0x2f) goto_next(0x41) label(0x0b) if_door_locked(0x3e, 0x02, /*goto*/ 0x2f) goto_next(0x41) label(0x41) play_sound(0x01dc, -1) goto_next(0x06) label(0x2e) play_sound(0x81b0, -1) goto_next(0x06) label(0x2f) play_sound(0x05dd, -1) label(0x06) restart_timer beginloop(0x09) if_timer_gt(120, /*goto*/ 0x06) endloop(0x09) label(0x06) endloop(0x7e) endfunction }; u8 func1025_spawn_bunker_guards[] = { // This logic is pointless and all leads to label 0x04 anyway if_difficulty_gt(DIFF_SA, /*goto*/ 0x2e) goto_next(0x04) label(0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x0e) beginloop(0x04) yield yield yield yield if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x2e) label(0x06) endloop(0x04) label(0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, FALSE, /*goto*/ 0x0e) label(0x2e) restart_timer beginloop(0x60) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x0057, 0x0423, 0x00000300, /*goto*/ 0x0a) endloop(0x60) beginloop(0x0a) if_timer_gt(30, /*goto*/ 0x06) endloop(0x0a) label(0x06) beginloop(0x61) try_spawn_chr(BODY_A51AIRMAN, HEAD_RANDOM, 0x0050, 0x0423, 0x00000300, /*goto*/ 0x0b) endloop(0x61) beginloop(0x0b) if_timer_gt(60, /*goto*/ 0x06) endloop(0x0b) label(0x06) label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0423_a5e8[] = { try_inherit_properties(0x25, /*goto*/ 0x06) label(0x06) set_alertness(100) set_self_flag_bankx(CHRFLAG0_CAN_HEAR_ALARMS, BANK_0) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_self_flag_bankx(CHRFLAG0_CAN_HEARSPAWN, BANK_0) try_draw_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) set_chr_team(CHR_SELF, TEAM_ENEMY) yield yield yield yield yield yield yield yield yield rebuild_teams rebuild_squadrons set_function(CHR_SELF, FUNC_TROOPER_ALERTED) endfunction }; #define watch_for_laser_broken(crate1, crate2, laser) \ if_difficulty_gt(DIFF_A, /*goto*/ 0x7e) \ set_function(CHR_SELF, GFUNC_IDLE) \ \ /* SA and PA */ \ beginloop(0x7e) \ if_object_in_good_condition(crate1, /*goto*/ 0x2e) \ goto_next(0x06) \ \ label(0x2e) \ if_object_in_good_condition(crate2, /*goto*/ 0x2e) \ goto_next(0x06) \ \ label(0x2e) \ endloop(0x7e) \ \ label(0x06) \ hide_object(laser) \ set_function(CHR_SELF, FUNC_ACTIVATE_LASERS) u8 func1026_check_laser1_broken[] = { watch_for_laser_broken(0x44, 0x45, 0x1e) endfunction }; u8 func1027_check_laser2_broken[] = { watch_for_laser_broken(0x46, 0x47, 0x1f) endfunction }; u8 func1028_check_laser3_broken[] = { watch_for_laser_broken(0x48, 0x49, 0x20) endfunction }; u8 func1029_check_laser4_broken[] = { watch_for_laser_broken(0x4a, 0x4b, 0x21) endfunction }; u8 func102a_check_laser5_broken[] = { watch_for_laser_broken(0x4c, 0x4d, 0x22) endfunction }; u8 func102b_check_laser6_broken[] = { watch_for_laser_broken(0x4e, 0x4f, 0x23) endfunction }; u8 func102c_check_laser7_broken[] = { watch_for_laser_broken(0x50, 0x52, 0x24) endfunction }; u8 func0424_activate_lasers[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x2e) // PA label(0x7e) if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_ANY_LASER_DESTROYED) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x2e) message(CHR_BOND, 0x2c2f) // "Intruder detected - security system online." // A and SA label(0x2e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func0425_a7d4[] = { label(0x04) yield set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; /** * This hidden guard is used as a template for cloning others. */ u8 func041c_template_guard[] = { label(0x04) set_self_flag_bank3(CHRFLAG3_HIDDEN) set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func102d_check_antenna_switch_destroyed[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x0e) beginloop(0x04) if_object_in_good_condition(OBJ_ANTENNA_SWITCH, /*goto*/ 0x06) goto_next(0x2e) label(0x06) endloop(0x04) label(0x2e) if_stage_flag_eq(STAGEFLAG_ANTENNA_LOWERED, TRUE, /*goto*/ 0x2e) message(CHR_BOND, 0x2c2a) // "Critical mission object destroyed." set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED) label(0x2e) label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func102e_setup_rtracker[] = { yield set_object_flag_bank2(OBJ_ROCKETLAUNCHER, OBJECTFLAG2_RTRACKED_BLUE) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func142f_setup_lighting[] = { yield set_lighting(0x0000, 0x00, 0x00) set_lighting(0x0000, 0x01, 0x00) set_lighting(0x0000, 0x02, 0x00) set_lighting(0x0000, 0x03, 0x00) set_lighting(0x0000, 0x04, 0x00) set_lighting(0x0001, 0x06, 0x01) set_lighting(0x0002, 0x05, 0x01) set_lighting(0x0002, 0x06, 0x01) set_lighting(0x0003, 0x05, 0x01) set_lighting(0x0004, 0x05, 0x01) set_lighting(0x0005, 0x05, 0x01) set_lighting(0x0005, 0x06, 0x01) set_lighting(0x0006, 0x05, 0x01) set_lighting(0x0006, 0x06, 0x01) set_lighting(0x0007, 0x05, 0x01) set_lighting(0x0007, 0x06, 0x01) set_lighting(0x0008, 0x05, 0x01) set_lighting(0x0008, 0x06, 0x01) set_lighting(0x000a, 0x05, 0x01) set_lighting(0x000b, 0x05, 0x01) set_lighting(0x000e, 0x05, 0x01) set_lighting(0x0010, 0x05, 0x01) set_lighting(0x0011, 0x05, 0x01) set_lighting(0x0012, 0x05, 0x01) set_lighting(0x0013, 0x05, 0x01) set_lighting(0x0013, 0x06, 0x01) set_lighting(0x0014, 0x05, 0x01) set_lighting(0x0014, 0x06, 0x01) set_lighting(0x0015, 0x05, 0x01) set_lighting(0x0015, 0x06, 0x01) set_lighting(0x0016, 0x05, 0x01) set_lighting(0x0018, 0x05, 0x01) set_lighting(0x0019, 0x05, 0x01) set_lighting(0x001a, 0x05, 0x01) set_lighting(0x001b, 0x05, 0x01) set_lighting(0x001c, 0x05, 0x01) set_lighting(0x001d, 0x05, 0x01) set_lighting(0x001e, 0x05, 0x01) set_lighting(0x001e, 0x06, 0x01) set_lighting(0x001f, 0x05, 0x01) set_lighting(0x001f, 0x06, 0x01) set_lighting(0x0020, 0x05, 0x01) set_lighting(0x0020, 0x06, 0x01) set_lighting(0x0017, 0x05, 0x01) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; struct ailists functions[] = { { func0401_start_path00, 0x0401 }, { func0402_start_path01, 0x0402 }, { func0403_start_path02, 0x0403 }, { func0404_start_path03, 0x0404 }, { func0405_start_path04, 0x0405 }, { func0406_start_path05, 0x0406 }, { func0407_start_path06, 0x0407 }, { func0408_start_path07, 0x0408 }, { func0409_set_rotor_speed, 0x0409 }, { func040a_top_interceptor, 0x040a }, { func040b_stop_vehicle, 0x040b }, { func040c_init_bottom_interceptors, 0x040c }, { func040d_90c8, 0x040d }, { func0411_init_hangar_guard1, 0x0411 }, { func0412_init_hangar_guard2, 0x0412 }, { func0413_init_hangar_guard3, 0x0413 }, { func0414_init_hangar_guard4, 0x0414 }, { func0415_alert_when_stopped, 0x0415 }, { func0416_mechanic, 0x0416 }, { func0417_traitor, 0x0417 }, { func0418_walk_to_pad, 0x0418 }, { func040f_spawned_guard, 0x040f }, { func040e_outro, 0x040e }, { func0410_intro, 0x0410 }, { func0419_clone_spawner, 0x0419 }, { func041a_init_alerted_spawned_guard, 0x041a }, { func041c_template_guard, 0x041c }, { func041b_alerted_spawned_guard, 0x041b }, { func041d_trooper_unalerted, 0x041d }, { func041e_dragon_unalerted, 0x041e }, { func041f_trooper_alerted, 0x041f }, { func0420_dragon_alerted, 0x0420 }, { func0421_activate_autogun, 0x0421 }, { func0422_check_bug_wasted_target, 0x0422 }, { func0423_a5e8, 0x0423 }, { func0424_activate_lasers, 0x0424 }, { func0425_a7d4, 0x0425 }, { func0426_8420, 0x0426 }, { func0c00_init_intro, 0x0c00 }, { func040e_outro, 0x0c01 }, { func1400_give_bugs, 0x1400 }, { func1001_objectives_failed_msg, 0x1001 }, { func0c00_init_intro, 0x1002 }, { func1003_check_bug_wasted_bond, 0x1003 }, { func1004_check_antenna_destroyed, 0x1004 }, { func1405_antenna_switch, 0x1405 }, { func1006_lift_switches, 0x1006 }, { func1007_check_hangar_accessed, 0x1007 }, { func1008_check_end_level, 0x1008 }, { func1009_check_radar_shut_down, 0x1009 }, { func100b_final_hangar, 0x100b }, { func100c_maingate_switch, 0x100c }, { func140e_check_interceptors_destroyed, 0x140e }, { func1010_bunker_lighting, 0x1010 }, { func1011_bunker_explosives, 0x1011 }, { func1012_bunker_laser1, 0x1012 }, { func1013_bunker_lasers, 0x1013 }, { func1013_bunker_lasers234, 0x1014 }, { func1013_bunker_lasers56, 0x1015 }, { func1016_trigger_interceptor, 0x1016 }, { func1017_radar_terminal_noise, 0x1017 }, { func1018_unhide_guards, 0x1018 }, { func1019_spawn_guards_at_antenna, 0x1019 }, { func101a_check_mechanic_dead, 0x101a }, { func101b_msg_airinterceptradar, 0x101b }, { func101c_msg_cantthrow, 0x101c }, { func101d_msg_hangarlift, 0x101d }, { func101e_msg_triggerfinger, 0x101e }, { func141f_start_lifts, 0x141f }, { func1020_choose_autogun_guard, 0x1020 }, { func1021_damage_rl_guard, 0x1021 }, { func1022_check_lift_switches_destroyed, 0x1022 }, { func1023_check_bug_wasted_coop, 0x1023 }, { func1024_lift_door_sounds, 0x1024 }, { func1025_spawn_bunker_guards, 0x1025 }, { func1026_check_laser1_broken, 0x1026 }, { func1027_check_laser2_broken, 0x1027 }, { func1028_check_laser3_broken, 0x1028 }, { func1029_check_laser4_broken, 0x1029 }, { func102a_check_laser5_broken, 0x102a }, { func102b_check_laser6_broken, 0x102b }, { func102c_check_laser7_broken, 0x102c }, { func102d_check_antenna_switch_destroyed, 0x102d }, { func102e_setup_rtracker, 0x102e }, { func142f_setup_lighting, 0x142f }, { NULL, 0 }, };