Files
perfect-dark/src/setups/setupazt.c
T
2022-11-02 17:35:19 +10:00

449 lines
25 KiB
C

//
// Crash Site
//
#include "stagesetup.h"
// Characters
enum chrnum {
CHR_ELVIS,
CHR_TRENT,
#if VERSION >= VERSION_NTSC_1_0
CHR_TRENT_OUTRO,
#endif
CHR_MRBLONDE,
CHR_SKEDAR,
CHR_PRESIDENT,
CHR_PRESIDENT_OUTRO,
CHR_07,
CHR_PRES_CLONE,
CHR_09,
CHR_0A,
CHR_0B,
CHR_0C,
CHR_0D,
CHR_0E,
CHR_0F,
CHR_10,
CHR_11,
CHR_12,
CHR_13,
CHR_14,
CHR_15,
CHR_16,
CHR_17,
CHR_18,
CHR_19,
CHR_1A,
CHR_1B,
CHR_1C,
CHR_1D,
CHR_1E,
CHR_1F,
CHR_20,
CHR_21,
CHR_22,
CHR_23,
CHR_24,
CHR_25,
CHR_ROBOT1,
CHR_ROBOT2,
CHR_ROBOT3,
CHR_ROBOT4,
CHR_2A,
CHR_2B,
CHR_2C,
CHR_2D,
CHR_2E,
CHR_2F,
CHR_30,
CHR_31,
CHR_32,
CHR_33,
CHR_34,
CHR_35,
CHR_36,
CHR_37,
CHR_ELVIS_OUTRO
};
// Objects
#define OBJ_CRATE 0x00
#define OBJ_ESCAPEPOD 0x01
#define OBJ_MEDICALSCANNER 0x02
#define OBJ_SKEDAR_SHUTTLE 0x03
#define OBJ_PROXYMINE 0x08
#define OBJ_HOVERBIKE 0x09
// Stage flags
#define STAGEFLAG_BEACON_ACTIVATED 0x00000100
#define STAGEFLAG_ESCAPEPOD_DESTROYED 0x00000200
#define STAGEFLAG_SKEDAR_SHUTTLE_DESTROYED 0x00000400
#define STAGEFLAG_PRESIDENT_DEAD 0x00000800
#define STAGEFLAG_PRESIDENT_RESCUED 0x00001000
#define STAGEFLAG_CLONE_DEAD 0x00002000
#define STAGEFLAG_TRIGGER_PRESIDENT_RUNNING 0x00004000
#define STAGEFLAG_TRENT_RUNNING 0x00008000
#define STAGEFLAG_ELVIS_GAVE_PROXYMINE 0x00010000
#define STAGEFLAG_OUTRO_STARTED 0x00020000
// AI Lists
#define AILIST_OUTRO 0x0402
#define AILIST_INIT_ELVIS 0x0403
#define AILIST_ELVIS 0x0404
#define AILIST_INIT_STRIPES 0x0406
#define AILIST_INIT_BLONDE 0x0407
#define AILIST_SPAWNER 0x0414
#define AILIST_SPAWNED_GUARD 0x0416
#define AILIST_INIT_ROBOT 0x0417
#define AILIST_ROBOT 0x0418
#define AILIST_INIT_PRESIDENT 0x041b
#define AILIST_PRESIDENT_WAITING 0x041c
#define AILIST_PRESIDENT_RUNNING 0x041d
#define AILIST_TRENT_WAITING 0x041e
#define AILIST_TRENT_SHOOTING 0x041f
#define AILIST_TRENT_RUNNING 0x0420
#define AILIST_STARTING_AREA_GUARD 0x0421
#define AILIST_HIDE 0x0422
extern s32 intro[];
extern u32 props[];
extern struct path paths[];
extern struct ailist ailists[];
struct stagesetup setup = {
NULL,
NULL,
NULL,
intro,
props,
paths,
NULL,
NULL,
};
u32 props[] = {
briefing(BRIEFINGTYPE_LOCATION, L_AZT_001)
briefing(BRIEFINGTYPE_TEXT_PA, L_AZT_000)
briefing(BRIEFINGTYPE_TEXT_SA, L_AZT_002)
briefing(BRIEFINGTYPE_TEXT_A, L_AZT_003)
beginobjective(0, L_AZT_005, (DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Retrieve Presidential medical scanner"
require_object_collected(OBJ_MEDICALSCANNER)
endobjective
beginobjective(1, L_AZT_006, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Activate distress beacon"
complete_flags(STAGEFLAG_BEACON_ACTIVATED)
fail_flags(STAGEFLAG_ESCAPEPOD_DESTROYED)
endobjective
beginobjective(2, L_AZT_007, (DIFFBIT_PA | DIFFBIT_PD)) // "Shut down enemy jamming device"
complete_flags(STAGEFLAG_SKEDAR_SHUTTLE_DESTROYED)
endobjective
beginobjective(3, L_AZT_008, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Retire Presidential clone"
complete_flags(STAGEFLAG_CLONE_DEAD)
endobjective
beginobjective(4, L_AZT_009, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Locate and rescue President"
complete_flags(STAGEFLAG_PRESIDENT_RESCUED)
fail_flags(STAGEFLAG_PRESIDENT_DEAD)
endobjective
tag(0x09, 1)
hoverbike(0x0100, MODEL_HOVBIKE, PAD_AZT_0000, OBJFLAG_00000001 | OBJFLAG_00000100 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_01000000 | OBJFLAG_AISEETHROUGH, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, OBJFLAG3_PUSHABLE | OBJFLAG3_GRABBABLE | OBJFLAG3_GEOCYL, 1000)
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_ELVIS, PAD_AZT_0106, BODY_THEKING, HEAD_ELVIS, AILIST_INIT_ELVIS, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRMAIANPISTOL, CHR_ELVIS, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_PHOENIX)
#if VERSION >= VERSION_NTSC_1_0
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_ELVIS_OUTRO, PAD_AZT_011F, BODY_THEKING, HEAD_ELVIS, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0)
#else
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_ELVIS_OUTRO, PAD_AZT_011F, BODY_THEKING, HEAD_ELVIS, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
#endif
weapon(0x0100, MODEL_CHRMAIANPISTOL, CHR_ELVIS_OUTRO, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_PHOENIX)
#if VERSION >= VERSION_NTSC_1_0
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_PRESIDENT_OUTRO, PAD_AZT_0110, BODY_PRESIDENT, HEAD_PRESIDENT, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0)
chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_TRENT_OUTRO, PAD_AZT_010E, BODY_TRENT, HEAD_TRENT, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRDY357TRENT, CHR_TRENT_OUTRO, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357LX)
#else
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_PRESIDENT_OUTRO, PAD_AZT_0110, BODY_PRESIDENT, HEAD_PRESIDENT, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
#endif
chr(SPAWNFLAG_00000200, CHR_09, PAD_AZT_005A, BODY_STRIPES, HEAD_RANDOM, 0x0408, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_09, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_0A, PAD_AZT_0059, BODY_STRIPES, HEAD_RANDOM, 0x0408, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_0A, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_0B, PAD_AZT_0058, BODY_MRBLONDE, HEAD_MRBLONDE, 0x0408, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRSNIPERRIFLE, CHR_0B, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE)
chr(SPAWNFLAG_00000200, CHR_0C, PAD_AZT_00D1, BODY_STRIPES, HEAD_RANDOM, 0x0409, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_0C, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_0D, PAD_AZT_00D4, BODY_STRIPES, HEAD_RANDOM, 0x0409, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_0D, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_0E, PAD_AZT_00D5, BODY_MRBLONDE, HEAD_MRBLONDE, 0x0409, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRSNIPERRIFLE, CHR_0E, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE)
chr(SPAWNFLAG_00000200, CHR_13, PAD_AZT_004C, BODY_STRIPES, HEAD_RANDOM, 0x040a, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_13, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_14, PAD_AZT_005F, BODY_STRIPES, HEAD_RANDOM, 0x040b, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_14, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_15, PAD_AZT_004D, BODY_STRIPES, HEAD_RANDOM, 0x040c, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_15, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_16, PAD_AZT_0055, BODY_STRIPES, HEAD_RANDOM, 0x040d, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_16, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_17, PAD_AZT_0081, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_17, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_18, PAD_AZT_0079, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_18, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_19, PAD_AZT_007B, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_19, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1A, PAD_AZT_007C, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1A, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1B, PAD_AZT_016B, BODY_STRIPES, HEAD_RANDOM, 0x040e, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1B, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1C, PAD_AZT_016C, BODY_STRIPES, HEAD_RANDOM, 0x040f, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1C, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1D, PAD_AZT_0048, BODY_STRIPES, HEAD_RANDOM, 0x0410, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1D, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1E, PAD_AZT_017E, BODY_STRIPES, HEAD_RANDOM, 0x0411, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1E, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_1F, PAD_AZT_0177, BODY_STRIPES, HEAD_RANDOM, 0x0412, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_1F, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_20, PAD_AZT_0189, BODY_STRIPES, HEAD_RANDOM, 0x0413, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_20, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(0, CHR_ROBOT1, PAD_AZT_01BB, BODY_CHICROB, 0x00, AILIST_INIT_ROBOT, -1, -1, 1000, 50, CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0)
chr(0, CHR_ROBOT2, PAD_AZT_01BC, BODY_CHICROB, 0x00, AILIST_INIT_ROBOT, -1, -1, 1000, 50, CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0)
chr(0, CHR_ROBOT3, PAD_AZT_01BD, BODY_CHICROB, 0x00, AILIST_INIT_ROBOT, -1, -1, 1000, 50, CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0)
chr(0, CHR_ROBOT4, PAD_AZT_01BE, BODY_CHICROB, 0x00, AILIST_INIT_ROBOT, -1, -1, 1000, 50, CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0)
chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_TRENT, PAD_AZT_01B5, BODY_TRENT, HEAD_TRENT, AILIST_TRENT_WAITING, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRDY357TRENT, CHR_TRENT, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357LX)
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_RTRACKED | SPAWNFLAG_BLUESIGHT, CHR_PRESIDENT, PAD_AZT_01B6, BODY_PRESIDENT, HEAD_PRESIDENT, AILIST_INIT_PRESIDENT, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_RTRACKED, CHR_PRES_CLONE, PAD_AZT_0086, BODY_PRESIDENT_CLONE2, HEAD_PRESIDENT, 0x041a, -1, -1, 1000, 20, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0)
chr(SPAWNFLAG_00000200, CHR_2A, PAD_AZT_0088, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2A, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_2B, PAD_AZT_0087, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2B, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_2C, PAD_AZT_0085, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2C, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_2D, PAD_AZT_019E, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2D, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_2E, PAD_AZT_018E, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2E, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_2F, PAD_AZT_01A7, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_INIT_BLONDE, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_2F, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(0, CHR_30, PAD_AZT_002D, BODY_STRIPES, HEAD_RANDOM, AILIST_SPAWNER, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_30, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(0, CHR_31, PAD_AZT_0029, BODY_STRIPES, HEAD_RANDOM, AILIST_SPAWNER, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_31, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_32, PAD_AZT_009A, BODY_STRIPES, HEAD_RANDOM, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_32, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_33, PAD_AZT_009B, BODY_STRIPES, HEAD_RANDOM, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_33, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_34, PAD_AZT_01B7, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRSNIPERRIFLE, CHR_34, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE)
#if VERSION >= VERSION_NTSC_1_0
chr(SPAWNFLAG_00000200, CHR_35, PAD_AZT_0004, BODY_STRIPES, HEAD_RANDOM, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0)
#else
chr(SPAWNFLAG_00000200, CHR_35, PAD_AZT_01B8, BODY_STRIPES, HEAD_RANDOM, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN | CHRFLAG0_NOHEAR, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0)
#endif
weapon(0x0100, MODEL_CHRAVENGER, CHR_35, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
chr(SPAWNFLAG_00000200, CHR_36, PAD_AZT_01B9, BODY_STRIPES, HEAD_RANDOM, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0)
weapon(0x0100, MODEL_CHRAVENGER, CHR_36, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER)
#if VERSION >= VERSION_NTSC_1_0
chr(SPAWNFLAG_00000200, CHR_37, PAD_AZT_0012, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0)
#else
chr(SPAWNFLAG_00000200, CHR_37, PAD_AZT_01BA, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_STARTING_AREA_GUARD, -1, -1, 100, 13, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN | CHRFLAG0_NOHEAR, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0)
#endif
weapon(0x0100, MODEL_CHRSNIPERRIFLE, CHR_37, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE)
chr(0, CHR_MRBLONDE, PAD_AZT_0121, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
chr(SPAWNFLAG_FIXEDHEIGHT, CHR_SKEDAR, PAD_AZT_012F, BODY_SKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0)
tag(0x00, 1)
stdobject(0x0100, MODEL_A51_CRATE1, -1, OBJFLAG_00000001 | OBJFLAG_00000100 | OBJFLAG_IGNOREFLOORCOLOUR | OBJFLAG_IGNOREROOMCOLOUR | OBJFLAG_INVINCIBLE, 0, 0, 1000)
tag(0x01, 1)
stdobject(0x0100, MODEL_PRESCAPSULE, PAD_AZT_01D8, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100, OBJFLAG2_IMMUNETOANTI | OBJFLAG2_00000100, OBJFLAG3_INTERACTABLE, 12000)
tag(0x03, 1)
stdobject(0x0100, MODEL_SK_SHUTTLE, -1, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100, OBJFLAG2_00000100 | OBJFLAG2_REMOVEWHENDESTROYED, 0, 12500)
tag(0x02, 1)
weapon(0x0180, MODEL_CHRBRIEFCASE, PAD_AZT_000C, OBJFLAG_00000001, OBJFLAG2_IMMUNETOANTI, OBJFLAG3_PLAYERUNDROPPABLE, WEAPON_PRESIDENTSCANNER)
autogun(0x0100, MODEL_GROUNDGUN, PAD_AZT_0043, OBJFLAG_00000001, 0, 0, 4000, 0x003d, 0x00020000, 0xfffe0000, 0x0000016c, 0x001e0000)
autogun(0x0100, MODEL_GROUNDGUN, PAD_AZT_003B, OBJFLAG_00000001, 0, 0, 4000, 0x0038, 0x00020000, 0xfffe0000, 0x0000016c, 0x001e0000)
tag(0x06, 1)
shield(0x0100, MODEL_CHRSHIELD, PAD_AZT_0106, OBJFLAG_00000001, OBJFLAG2_EXCLUDE_SA | OBJFLAG2_EXCLUDE_PA | OBJFLAG2_EXCLUDE_PD, 0, 1000)
tag(0x07, 1)
shield(0x0100, MODEL_CHRSHIELD, PAD_AZT_0090, OBJFLAG_00000001, OBJFLAG2_EXCLUDE_PA | OBJFLAG2_EXCLUDE_PD, 0, 1000)
tag(0x08, 1)
#if VERSION >= VERSION_NTSC_1_0
weapon(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_AZT_0106, OBJFLAG_00000001 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE, OBJFLAG2_IMMUNETOANTI | OBJFLAG2_INVISIBLE, 0, WEAPON_PROXIMITYMINE)
#else
weapon(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_AZT_000C, OBJFLAG_00000001 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE, OBJFLAG2_IMMUNETOANTI | OBJFLAG2_INVISIBLE, 0, WEAPON_PROXIMITYMINE)
#endif
pad_effect(PADEFFECT_SPARKS, 0x000001db)
pad_effect(PADEFFECT_SMOKE, 0x000001dc)
pad_effect(PADEFFECT_SPARKS, 0x000001dd)
pad_effect(PADEFFECT_SPARKS, 0x000001de)
endprops
};
s32 intro[] = {
outfit(OUTFIT_SNOW)
intro_weapon(WEAPON_FALCON2_SCOPE, -1)
ammo(AMMOTYPE_PISTOL, 50)
ammo(AMMOTYPE_RIFLE, 100)
intro_weapon(WEAPON_REMOTEMINE, -1)
ammo(AMMOTYPE_REMOTE_MINE, 3)
intro_weapon(WEAPON_NIGHTVISION, -1)
intro_weapon(WEAPON_HORIZONSCANNER, -1)
spawn(PAD_AZT_00B8)
endintro
};
s32 path00[] = {
PAD_AZT_0059,
PAD_AZT_0096,
PAD_AZT_0095,
PAD_AZT_0094,
PAD_AZT_00BE,
PAD_AZT_00BD,
PAD_AZT_009E,
-1,
};
s32 path01[] = {
PAD_AZT_00D1,
PAD_AZT_00D2,
PAD_AZT_00D3,
PAD_AZT_00B1,
PAD_AZT_00CD,
PAD_AZT_00A6,
PAD_AZT_00B3,
PAD_AZT_00C3,
-1,
};
s32 path02[] = {
PAD_AZT_004C,
PAD_AZT_0057,
PAD_AZT_005E,
PAD_AZT_005D,
PAD_AZT_005B,
PAD_AZT_005F,
-1,
};
s32 path03[] = {
PAD_AZT_005F,
PAD_AZT_005B,
PAD_AZT_005C,
PAD_AZT_005D,
PAD_AZT_0066,
PAD_AZT_005D,
PAD_AZT_005C,
PAD_AZT_005B,
-1,
};
s32 path04[] = {
PAD_AZT_004D,
PAD_AZT_0051,
PAD_AZT_0050,
PAD_AZT_0053,
PAD_AZT_0054,
PAD_AZT_0056,
PAD_AZT_006E,
-1,
};
s32 path05[] = {
PAD_AZT_0055,
PAD_AZT_0052,
PAD_AZT_0054,
PAD_AZT_0056,
PAD_AZT_006E,
-1,
};
s32 path06[] = {
PAD_AZT_0030,
PAD_AZT_002F,
PAD_AZT_0167,
PAD_AZT_0166,
PAD_AZT_0165,
PAD_AZT_0164,
PAD_AZT_016A,
PAD_AZT_0169,
PAD_AZT_016B,
-1,
};
s32 path07[] = {
PAD_AZT_016C,
PAD_AZT_016D,
PAD_AZT_016E,
PAD_AZT_016F,
PAD_AZT_0170,
PAD_AZT_0171,
PAD_AZT_0172,
PAD_AZT_0173,
-1,
};
s32 path08[] = {
PAD_AZT_0048,
PAD_AZT_0049,
PAD_AZT_004A,
PAD_AZT_0182,
PAD_AZT_0183,
PAD_AZT_0180,
PAD_AZT_0181,
-1,
};
s32 path09[] = {
PAD_AZT_017E,
PAD_AZT_017F,
PAD_AZT_017B,
PAD_AZT_017C,
PAD_AZT_017D,
PAD_AZT_0034,
-1,
};
s32 path10[] = {
PAD_AZT_0177,
PAD_AZT_0175,
PAD_AZT_0176,
PAD_AZT_0189,
-1,
};
s32 path11[] = {
PAD_AZT_0189,
PAD_AZT_0188,
PAD_AZT_0187,
PAD_AZT_0186,
PAD_AZT_0185,
PAD_AZT_0184,
-1,
};
s32 path12[] = {
PAD_AZT_0106,
PAD_AZT_0107,
PAD_AZT_00F6,
PAD_AZT_0104,
-1,
};
struct path paths[] = {
{ path00, 0, 0 },
{ path01, 1, 0 },
{ path02, 2, 0 },
{ path03, 3, 0 },
{ path04, 4, 0 },
{ path05, 5, 0 },
{ path06, 6, 0 },
{ path07, 7, 0 },
{ path08, 8, 0 },
{ path09, 9, 0 },
{ path10, 10, 0 },
{ path11, 11, 0 },
{ path12, 12, 0 },
{ NULL, 0, 0 },
};