3362 lines
170 KiB
C
3362 lines
170 KiB
C
//
|
|
// 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 },
|
|
};
|
|
|