From f8a184d3bc1d8c96c0461cc5ead51cd4e3afb0b4 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 23 Dec 2021 19:10:11 +1000 Subject: [PATCH] Improve global ailists documentation and identify many more chr constants --- src/files/setup/setupame.c | 84 +- src/files/setup/setupark.c | 96 +- src/files/setup/setupate.c | 6 +- src/files/setup/setupazt.c | 104 +- src/files/setup/setupcave.c | 173 +-- src/files/setup/setupdam.c | 210 ++-- src/files/setup/setupdepo.c | 100 +- src/files/setup/setupdish.c | 42 +- src/files/setup/setupear.c | 108 +- src/files/setup/setupeld.c | 191 +-- src/files/setup/setupimp.c | 138 +- src/files/setup/setuplee.c | 126 +- src/files/setup/setuplip.c | 180 +-- src/files/setup/setuplue.c | 116 +- src/files/setup/setuppam.c | 148 +-- src/files/setup/setuppete.c | 100 +- src/files/setup/setuprit.c | 160 +-- src/files/setup/setupsev.c | 104 +- src/files/setup/setupsho.c | 153 +-- src/files/setup/setupstat.c | 37 +- src/files/setup/setuptra.c | 110 +- src/files/setup/setupwax.c | 76 +- src/game/activemenu/activemenu.c | 4 +- src/game/chr/chraction.c | 20 +- src/game/chr/chrai.c | 12 +- src/game/chr/chraicommands.c | 18 +- src/game/gailists.c | 1735 +++++++++++++++++--------- src/game/game_0147d0.c | 4 +- src/game/game_02cde0.c | 8 +- src/game/game_0b69d0.c | 54 +- src/include/commands.h | 24 +- src/include/constants.h | 132 +- src/include/game/chr/chraction.h | 2 +- src/include/game/chr/chraicommands.h | 4 +- 34 files changed, 2556 insertions(+), 2023 deletions(-) diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index ddcea35ac..6ebcba3f7 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -432,83 +432,83 @@ u32 props[] = { singlemonitor(0x0100, MODEL_PC1, PAD_AME_0230, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000, 35) singlemonitor(0x0100, MODEL_PC1, PAD_AME_0233, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000, 35) singlemonitor(0x0100, MODEL_PC1, PAD_AME_0234, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000, 3) - chr(SPAWNFLAG_00000200, 0x06, PAD_AME_0011, BODY_DD_GUARD, HEAD_RANDOM, 0x040a, 0x001d, -1, 1000, 9, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_01, -1, 3, 2, 0, 20, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_AME_0011, BODY_DD_GUARD, HEAD_RANDOM, 0x040a, 0x001d, -1, 1000, 9, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_01, -1, 3, 2, 0, 20, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x05, PAD_AME_01C0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, 0x001e, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00200000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 20, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_AME_01C0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, 0x001e, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 20, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x08, PAD_AME_0028, BODY_DD_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 500, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 2, 0, 20, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_AME_0028, BODY_DD_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 500, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 2, 0, 20, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0d, PAD_AME_006F, BODY_DD_GUARD, HEAD_RANDOM, 0x040c, -1, -1, 100, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 2, 0, 20, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_AME_006F, BODY_DD_GUARD, HEAD_RANDOM, 0x040c, -1, -1, 100, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 2, 0, 20, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x07, PAD_AME_0058, BODY_DD_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_AME_0058, BODY_DD_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0a, PAD_AME_0057, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00010000 | CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_AME_0057, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HEARSPAWN_ALERT_IF_ALARM | CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0c, PAD_AME_0060, BODY_DD_GUARD, HEAD_RANDOM, 0x0408, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_AME_0060, BODY_DD_GUARD, HEAD_RANDOM, 0x0408, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x00, PAD_AME_007D, BODY_DD_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_AME_007D, BODY_DD_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0000, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_AME_008E, BODY_DD_GUARD, HEAD_RANDOM, 0x0406, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_AME_008E, BODY_DD_GUARD, HEAD_RANDOM, 0x0406, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x09, PAD_AME_0081, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00010000 | CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_AME_0081, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HEARSPAWN_ALERT_IF_ALARM | CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x01, PAD_AME_021A, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 9, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_AME_021A, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 9, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x02, PAD_AME_021B, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 9, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_AME_021B, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 9, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0e, PAD_AME_01F6, BODY_DDSHOCK, HEAD_DDSHOCK, 0x040d, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_AME_01F6, BODY_DDSHOCK, HEAD_DDSHOCK, 0x040d, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x12, PAD_AME_0221, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_AME_0221, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0f, PAD_AME_021E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_AME_021E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x10, PAD_AME_021F, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_AME_021F, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x11, PAD_AME_0220, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_AME_0220, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x13, PAD_AME_0222, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_AME_0222, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x03, PAD_AME_021C, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_AME_021C, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x04, PAD_AME_021D, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_AME_021D, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x14, PAD_AME_020F, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_AME_020F, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x15, PAD_AME_020E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_AME_020E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x16, PAD_AME_0210, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_AME_0210, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_AME_01C6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 2000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_AME_01C6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 2000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0017, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_AME_01C7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x35, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_AME_01C7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x35, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_AME_01C8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x36, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_AME_01C8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x36, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0019, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_AME_01C9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_AME_01C9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_AME_01CA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, 0x37, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_AME_01CA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, 0x37, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_AME_01CB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, 0x38, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_AME_01CB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, 0x38, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1d, PAD_AME_01CC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1d, PAD_AME_01CC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_AME_01CE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x39, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_AME_01CE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x39, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1f, PAD_AME_01CF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0E, 0x3a, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1f, PAD_AME_01CF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0E, 0x3a, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x20, PAD_AME_01D0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0F, 0x3b, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x20, PAD_AME_01D0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_DD_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0F, 0x3b, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x21, PAD_AME_01D1, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_FALCON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0F, 0x3c, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x21, PAD_AME_01D1, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_FALCON_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0F, 0x3c, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRFALCON2SIL, 0x0021, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_INVINCIBLE | OBJFLAG_00400000, 0, 0, WEAPON_FALCON2_SILENCER) weapon(0x0100, MODEL_CHRFALCON2SIL, 0x0021, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_INVINCIBLE | OBJFLAG_00400000 | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_FALCON2_SILENCER) link_guns(-1, -2) tag(0x61, -3) tag(0x62, -3) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CASS, PAD_AME_01C2, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_SECRETARY, PAD_AME_01C3, BODY_NEGOTIATOR, HEAD_SECRETARY, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_PROGRAMMER, PAD_AME_007A, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_PROGRAMMER, -1, -1, 50, 100, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CASS, PAD_AME_01C2, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_SECRETARY, PAD_AME_01C3, BODY_NEGOTIATOR, HEAD_SECRETARY, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_PROGRAMMER, PAD_AME_007A, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_PROGRAMMER, -1, -1, 50, 100, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) tag(0x1f, 1) hovercar(0x004c, MODEL_DD_HOVCOP, PAD_AME_0144, OBJFLAG_00000008 | OBJFLAG_20000000, 0, 0, 100, AILIST_INIT_HOVERCAR) tag(0x20, 1) @@ -1436,8 +1436,8 @@ u8 func0412_init_secretary[] = { }; u8 func0411_secretary[] = { - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00100000) chr_move_to_pad(CHR_SECRETARY, PAD_AME_01C3, 0x00, /*goto*/ 0x2c) dprint 'D','E','T','E','C','T',' ','4',0, @@ -1940,7 +1940,7 @@ u8 func0414_programmer[] = { label(LABEL_PC_BROKEN) set_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) speak(CHR_TARGET, L_AME_098, MP3_SCI_YOU_VANDAL, CHANNEL_3, COLOR_03_RED) // "You vandal, you've broken it!" - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) beginloop(0xc6) if_sound_finished(CHANNEL_3, /*goto*/ 0x06) @@ -1989,7 +1989,7 @@ u8 func0413_c318[] = { label(0x06) set_chr_team(CHR_SELF, TEAM_ENEMY) set_squadron(SQUADRON_09) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) set_alertness(255) set_self_chrflag(CHRCFLAG_00000200) @@ -2402,7 +2402,7 @@ u8 func100a_alarm_guard[] = { reloop(0x04) label(0x2c) - set_chr_flag_bankx(0x09, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(0x09, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) goto_next(0xb3) // Unreachable diff --git a/src/files/setup/setupark.c b/src/files/setup/setupark.c index 9b074c7ed..d9261eac1 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -380,88 +380,88 @@ u32 props[] = { stdobject(0x0100, MODEL_CHRNIGHTSIGHT, -1, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100 | OBJFLAG_ILLUMINATED | OBJFLAG_COLLECTABLE | OBJFLAG_REACTIFSHOT | OBJFLAG_01000000, OBJFLAG2_IMMUNETOGUNFIRE, 0, 1000) rename_object(-1, WEAPON_NIGHTVISION, L_ARK_027, L_ARK_028, L_ARK_029, L_ARK_030, L_ARK_031) // "Obtain Night Vision." chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x00, PAD_ARK_0210, BODY_DRCAROLL, HEAD_RANDOM, AILIST_INIT_DRCAROLL, -1, -1, 1000, 100, 0, 0, TEAM_ALLY, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x01, PAD_ARK_0215, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 7, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_ARK_0215, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 7, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x02, PAD_ARK_021B, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 7, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_ARK_021B, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 7, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x03, PAD_ARK_0214, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_ARK_0214, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x04, PAD_ARK_0213, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_ARK_0213, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x05, PAD_ARK_0216, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_ARK_0216, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) weapon(0x0100, MODEL_CHRDY357, 0x0005, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_DY357MAGNUM) tag(0x1c, -1) - chr(SPAWNFLAG_00000200, 0x06, PAD_ARK_0211, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_ARK_0211, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x07, PAD_ARK_0212, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_ARK_0212, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x08, PAD_ARK_0217, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_ARK_0217, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 8, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x09, PAD_ARK_0218, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_ARK_0218, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0a, PAD_ARK_0219, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_ARK_0219, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_ARK_01BE, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_ARK_01BE, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0c, PAD_ARK_01BF, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_ARK_01BF, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0d, PAD_ARK_01C0, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_ARK_01C0, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x0e, PAD_ARK_01C1, BODY_DDSHOCK, HEAD_DDSHOCK, GAILIST_IDLE, -1, -1, 50, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x0e, PAD_ARK_01C1, BODY_DDSHOCK, HEAD_DDSHOCK, GAILIST_IDLE, -1, -1, 50, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x0f, PAD_ARK_01C2, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_TECH1, -1, -1, 50, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x10, PAD_ARK_01C3, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_TECH2, -1, -1, 50, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x0f, PAD_ARK_01C2, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_TECH1, -1, -1, 50, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x10, PAD_ARK_01C3, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_TECH2, -1, -1, 50, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_ARK_01C5, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_ARK_01C5, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_FORCESUNGLASSES, 0x11, PAD_ARK_01C5, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x11, PAD_ARK_01C5, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSHOTGUN, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_ARK_01C6, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_ARK_01C6, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_FORCESUNGLASSES, 0x12, PAD_ARK_01C6, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x12, PAD_ARK_01C6, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSHOTGUN, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_ARK_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_ARK_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_FORCESUNGLASSES, 0x13, PAD_ARK_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x13, PAD_ARK_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSHOTGUN, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_ARK_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_ARK_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_FORCESUNGLASSES, 0x14, PAD_ARK_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x14, PAD_ARK_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSHOTGUN, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_ARK_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_ARK_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_FORCESUNGLASSES, 0x15, PAD_ARK_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x15, PAD_ARK_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_TOP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSHOTGUN, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x1c, PAD_ARK_01C9, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_CASS, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1d, PAD_ARK_0206, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x1c, PAD_ARK_01C9, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_CASS, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1d, PAD_ARK_0206, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1e, PAD_ARK_0204, BODY_DDSHOCK, HEAD_DARLING, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, 0, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1f, PAD_ARK_0207, BODY_FEM_GUARD, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1f, PAD_ARK_0207, BODY_FEM_GUARD, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x20, PAD_ARK_0203, BODY_FEM_GUARD, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x20, PAD_ARK_0203, BODY_FEM_GUARD, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x16, PAD_ARK_0070, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_ARK_0070, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x17, PAD_ARK_0081, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_ARK_0081, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x18, PAD_ARK_0071, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_GENERAL_COMBAT, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x18, PAD_ARK_0071, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_GENERAL_COMBAT, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x19, PAD_ARK_0048, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_GENERAL_COMBAT, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_ARK_0048, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_GENERAL_COMBAT, PAD_ARK_006A, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x1a, PAD_ARK_0047, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_0044, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1a, PAD_ARK_0047, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_0044, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x1b, PAD_ARK_004A, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_0044, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_ARK_004A, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_DEFEND_PAD, PAD_ARK_0044, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x22, PAD_ARK_007E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_ARK_007E, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK, -1, -1, 1000, 9, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) key(0x0080, MODEL_KEYCARD, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, 64) rename_object(-1, WEAPON_KEYCARD4C, L_ARK_055, L_ARK_056, L_ARK_057, L_ARK_058, L_ARK_059) // "Obtain alpha key card." @@ -952,7 +952,7 @@ u8 func0406_general_combat[] = { // Just got injured label(0x00) - set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED) + set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DETECTED) restart_timer beginloop(0x0c) @@ -971,7 +971,7 @@ u8 func0406_general_combat[] = { set_self_chrflag(CHRCFLAG_00000040) label(0x14) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x00) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x00) label(0x20) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x10) label(0x00) @@ -1031,11 +1031,11 @@ u8 func0406_general_combat[] = { endloop(0x10) label(0x15) - set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2a) + set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DETECTED) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x2a) if_distance_to_target_lt(250, /*goto*/ 0x29) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x20) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x20) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) if_stage_flag_eq(STAGEFLAG_FOYER_LIGHTS_RESTORED, TRUE, /*goto*/ 0x00) say_quip(CHR_BOND, QUIP_SEARCHSUCCESS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) goto_next(0x20) @@ -1043,7 +1043,7 @@ u8 func0406_general_combat[] = { label(0x00) say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x20) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x17) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x17) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x12) goto_next(0x13) @@ -1065,8 +1065,8 @@ u8 func0406_general_combat[] = { label(0x18) restart_timer - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x1c) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x1c) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) if_stage_flag_eq(STAGEFLAG_FOYER_LIGHTS_RESTORED, TRUE, /*goto*/ 0x1c) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) @@ -2978,10 +2978,10 @@ u8 func1017_remove_special_shock[] = { u8 func1018_give_magnum[] = { beginloop(0x1f) - if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x00) + if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DETECTED, /*goto*/ 0x00) endloop(0x1f) - // This seems wrong. The magnum is actually given to the special shock... + // Player has been seen - remove Dy357 from shock trooper label(0x00) give_object_to_chr(OBJ_DY357, CHR_MRBLONDE) set_ailist(CHR_SELF, GAILIST_IDLE) diff --git a/src/files/setup/setupate.c b/src/files/setup/setupate.c index 033ef064b..f3c89fb9e 100644 --- a/src/files/setup/setupate.c +++ b/src/files/setup/setupate.c @@ -59,11 +59,11 @@ u32 props[] = { complete_flags(STAGEFLAG_TRENT_DEAD) endobjective - chr(SPAWNFLAG_00000200, 0x00, PAD_ATE_0279, BODY_DDSHOCK, HEAD_RANDOM, AILIST_GUARD_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_ATE_0279, BODY_DDSHOCK, HEAD_RANDOM, AILIST_GUARD_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, CHR_GUARD, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2_SCOPE) - chr(SPAWNFLAG_00000200, 0x01, PAD_ATE_0023, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_JON_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_ATE_0023, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_JON_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, CHR_JONATHAN, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_00000200, 0x02, PAD_ATE_0024, BODY_TRENT, HEAD_TRENT, AILIST_TRENT_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_ATE_0024, BODY_TRENT, HEAD_TRENT, AILIST_TRENT_INIT, -1, -1, 100, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357TRENT, CHR_TRENT, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357LX) door(0x0100, MODEL_DD_OFFICEDOOR, PAD_ATE_0158, OBJFLAG_ILLUMINATED, OBJFLAG2_AICANNOTUSE, 0, 1000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, DOORFLAG_0004, DOORTYPE_SLIDING, 0x00000040, 0x00000384, 0x00000000, 0x00000001, 0x00000800) door(0x0100, MODEL_DD_OFFICEDOOR, PAD_ATE_0159, OBJFLAG_ILLUMINATED, OBJFLAG2_AICANNOTUSE, 0, 1000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, DOORFLAG_0004, DOORTYPE_SLIDING, 0x00000040, 0x00000384, 0x00000000, 0xffffffff, 0x00000000) diff --git a/src/files/setup/setupazt.c b/src/files/setup/setupazt.c index e829cd76f..ac56b2f06 100644 --- a/src/files/setup/setupazt.c +++ b/src/files/setup/setupazt.c @@ -152,107 +152,107 @@ u32 props[] = { 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_GEOTYPE3, 1000) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_ELVIS, PAD_AZT_0106, BODY_THEKING, HEAD_ELVIS, AILIST_INIT_ELVIS, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + 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_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 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_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 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_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_00002000, CHRFLAG1_00100000 | CHRFLAG1_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_00002000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 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_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 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_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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, 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_00002000, CHRFLAG1_00100000 | CHRFLAG1_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_00002000, CHRFLAG1_00100000 | CHRFLAG1_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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0) + 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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0) + 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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 2, 0, 20, 0) + 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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0) + 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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0) + 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_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 2, 0, 20, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN | CHRFLAG0_NOHEAR, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 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_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN | CHRFLAG0_NOHEAR, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + 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_00002000, CHRFLAG1_00100000 | CHRFLAG1_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_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + 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_ILLUMINATED | OBJFLAG_00001000 | OBJFLAG_INVINCIBLE, 0, 0, 1000) tag(0x01, 1) @@ -1038,7 +1038,7 @@ u8 func0415_unused[] = { try_equip_weapon(MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x00000000, /*goto*/ 0x08) label(0x08) set_chr_team(CHR_SELF, TEAM_ENEMY) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_squadron(SQUADRON_0F) rebuild_teams rebuild_squadrons @@ -1122,7 +1122,7 @@ u8 func0416_spawned_guard[] = { try_equip_weapon(MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x00000000, /*goto*/ 0x08) label(0x08) set_chr_team(CHR_SELF, TEAM_ENEMY) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_squadron(SQUADRON_0E) rebuild_teams @@ -1310,7 +1310,7 @@ u8 func0404_elvis[] = { // Close to player label(0x13) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_AZT_031, MP3_02E2, CHANNEL_6, COLOR_04_ORANGE) // "Take this; you should find it useful!" give_object_to_chr(OBJ_PROXYMINE, CHR_TARGET) @@ -1401,9 +1401,9 @@ u8 func0418_robot[] = { stop_chr label(0x08) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x0a) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x0a) say_quip(CHR_BOND, 0x1f, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) beginloop(0x0a) dprint 'P','A','R','T',' ','2','\n',0, diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index b43b8fbd3..37859f0c6 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -131,133 +131,133 @@ u32 props[] = { complete_flags(STAGEFLAG_BOARDED_PLANE) endobjective - chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x00, PAD_CAVE_00C8, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x00, PAD_CAVE_00C8, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0000, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x01, PAD_CAVE_00D0, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x01, PAD_CAVE_00D0, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x38, PAD_CAVE_00D1, BODY_STEWARDESS_COAT, HEAD_ANKA, GAILIST_IDLE, -1, -1, 200, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 7, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x02, PAD_CAVE_00D3, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_ALASKAN_MOUNTAINLIFT_GUARD, 0x0135, -1, 200, 20, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x38, PAD_CAVE_00D1, BODY_STEWARDESS_COAT, HEAD_ANKA, GAILIST_IDLE, -1, -1, 200, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x02, PAD_CAVE_00D3, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_ALASKAN_MOUNTAINLIFT_GUARD, 0x0135, -1, 200, 20, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 2, 0, 7, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x03, PAD_CAVE_0012, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041b, 0x0135, -1, 200, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 2, 0, 5, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x03, PAD_CAVE_0012, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041b, 0x0135, -1, 200, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 2, 0, 5, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x04, PAD_CAVE_00CA, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, 0x0135, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x04, PAD_CAVE_00CA, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, 0x0135, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800, 0x05, PAD_CAVE_00CB, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, 0x0135, -1, 200, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME, 0x05, PAD_CAVE_00CB, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, 0x0135, -1, 200, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0005, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_CAVE_00C7, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 14, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_CAVE_00C7, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 14, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x06, PAD_CAVE_00E8, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 14, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x06, PAD_CAVE_00E8, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 14, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x39, PAD_CAVE_00C9, BODY_SECRETARY, HEAD_SECRETARY, AILIST_INIT_SECRETARY, -1, -1, 200, 14, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3c, PAD_CAVE_00C6, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_OFFICE1, -1, -1, 200, 8, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x24, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3d, PAD_CAVE_00C5, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_OFFICE2, -1, -1, 200, 8, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x25, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x08, PAD_CAVE_00C3, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x39, PAD_CAVE_00C9, BODY_SECRETARY, HEAD_SECRETARY, AILIST_INIT_SECRETARY, -1, -1, 200, 14, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3c, PAD_CAVE_00C6, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_OFFICE1, -1, -1, 200, 8, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x24, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3d, PAD_CAVE_00C5, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_INIT_OFFICE2, -1, -1, 200, 8, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x25, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x08, PAD_CAVE_00C3, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x09, PAD_CAVE_0031, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041c, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x09, PAD_CAVE_0031, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041c, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x10, PAD_CAVE_003A, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_NSA, 0x003a, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00000001 | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0a, PAD_CAVE_003D, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041d, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_CAVE_003A, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_NSA, 0x003a, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0a, PAD_CAVE_003D, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041d, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0b, PAD_CAVE_005B, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041e, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0b, PAD_CAVE_005B, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041e, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x11, PAD_CAVE_0072, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_NSA, 0x0072, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00000001 | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_05, -1, 0, 1, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x0c, PAD_CAVE_00C2, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_ALASKAN_CONSOLE_GUARD, 0x0156, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 5, 0, 0) - chr(SPAWNFLAG_00000200, 0x12, PAD_CAVE_00C1, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_INIT_TAKEOVER_LACKEY, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_06, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_CAVE_0072, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_NSA, 0x0072, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_05, -1, 0, 1, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x0c, PAD_CAVE_00C2, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_ALASKAN_CONSOLE_GUARD, 0x0156, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 5, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_CAVE_00C1, BODY_NSA_LACKEY, HEAD_RANDOM, AILIST_INIT_TAKEOVER_LACKEY, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_06, -1, 0, 2, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) tag(0x30, 2) tag(0x31, 2) weapon(0x0100, MODEL_CHRDY357, 0x0012, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_DY357MAGNUM) weapon(0x0100, MODEL_CHRDY357, 0x0012, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_DY357MAGNUM) link_guns(-1, -2) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_CAVE_00C0, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041f, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_CAVE_00C0, BODY_ALASKAN_GUARD, HEAD_RANDOM, 0x041f, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_CAVE_00BF, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_CAVE_00BF, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3a, PAD_CAVE_00BE, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_OFFICEWORKER, -1, -1, 200, 4, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_CAVE_00BC, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3a, PAD_CAVE_00BE, BODY_OFFICEWORKER, HEAD_RANDOM, AILIST_OFFICEWORKER, -1, -1, 200, 4, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_CAVE_00BC, BODY_ALASKAN_GUARD, HEAD_RANDOM, AILIST_INIT_ALASKAN_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_CAVE_00BA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_CAVE_00BA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_CAVE_0123, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_CAVE_0123, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x16, PAD_CAVE_0124, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x16, PAD_CAVE_0124, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x18, PAD_CAVE_0125, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x18, PAD_CAVE_0125, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x1a, PAD_CAVE_0126, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1a, PAD_CAVE_0126, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x1c, PAD_CAVE_0127, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_CAVE_0127, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x1b, PAD_CAVE_0090, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_CAVE_0090, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x19, PAD_CAVE_008E, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_CAVE_008E, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x1d, PAD_CAVE_0096, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_CAVE_0096, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x1e, PAD_CAVE_0128, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_CAVE_0128, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x20, PAD_CAVE_0129, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_CAVE_0129, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x21, PAD_CAVE_00B4, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x21, PAD_CAVE_00B4, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x22, PAD_CAVE_012A, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x22, PAD_CAVE_012A, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x23, PAD_CAVE_00B2, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x23, PAD_CAVE_00B2, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x24, PAD_CAVE_012B, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x24, PAD_CAVE_012B, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x25, PAD_CAVE_0026, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x25, PAD_CAVE_0026, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x26, PAD_CAVE_012C, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x26, PAD_CAVE_012C, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x27, PAD_CAVE_002C, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x27, PAD_CAVE_002C, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x28, PAD_CAVE_012D, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x28, PAD_CAVE_012D, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2a, PAD_CAVE_00D9, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2a, PAD_CAVE_00D9, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2b, PAD_CAVE_012E, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2b, PAD_CAVE_012E, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2c, PAD_CAVE_00DA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2c, PAD_CAVE_00DA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2d, PAD_CAVE_012F, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2d, PAD_CAVE_012F, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2e, PAD_CAVE_00D8, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2e, PAD_CAVE_00D8, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2f, PAD_CAVE_0130, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x2f, PAD_CAVE_0130, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x30, PAD_CAVE_00B1, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x30, PAD_CAVE_00B1, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x31, PAD_CAVE_0131, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x31, PAD_CAVE_0131, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x32, PAD_CAVE_00DC, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x32, PAD_CAVE_00DC, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x33, PAD_CAVE_0132, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x33, PAD_CAVE_0132, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x34, PAD_CAVE_00B0, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x34, PAD_CAVE_00B0, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x35, PAD_CAVE_0133, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x35, PAD_CAVE_0133, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0035, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x36, PAD_CAVE_00DB, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_WARNED | CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x36, PAD_CAVE_00DB, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0036, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x37, PAD_CAVE_0134, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x37, PAD_CAVE_0134, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0037, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x44, PAD_CAVE_0132, BODY_CIAGUY, HEAD_RANDOM, 0x0419, 0x0132, -1, 1000, 6, CHRFLAG0_00000004 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x44, PAD_CAVE_0132, BODY_CIAGUY, HEAD_RANDOM, 0x0419, 0x0132, -1, 1000, 6, CHRFLAG0_GP1 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x45, PAD_CAVE_00B1, BODY_STEWARDESS, HEAD_RANDOM, 0x0419, 0x00b1, -1, 1000, 9, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 2, 0, 0, 0) chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x46, PAD_CAVE_00E6, BODY_STEWARD, HEAD_RANDOM, 0x0419, 0x00e6, -1, 1000, 10, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 1, 0, 0, 0) - chr(0, 0x42, PAD_CAVE_0136, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x42, PAD_CAVE_0136, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0042, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x43, PAD_CAVE_0137, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x43, PAD_CAVE_0137, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0043, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x47, PAD_CAVE_0138, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x48, PAD_CAVE_0139, BODY_STEWARDESS_COAT, HEAD_ANKA, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) - chr(0, 0x49, PAD_CAVE_013A, BODY_NSA_LACKEY, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(0, 0x47, PAD_CAVE_0138, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, 0x48, PAD_CAVE_0139, BODY_STEWARDESS_COAT, HEAD_ANKA, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(0, 0x49, PAD_CAVE_013A, BODY_NSA_LACKEY, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0049, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x4a, PAD_CAVE_013B, BODY_NSA_LACKEY, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(0, 0x4a, PAD_CAVE_013B, BODY_NSA_LACKEY, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x004a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x4b, PAD_CAVE_013C, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(0, 0x4b, PAD_CAVE_013C, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x004b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x4c, PAD_CAVE_013D, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) + chr(0, 0x4c, PAD_CAVE_013D, BODY_ALASKAN_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x0135, -1, 20, 20, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 3, 0, 0, 7, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x004c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) tag(0x00, 1) weapon(0x0180, MODEL_CHRBRIEFCASE, PAD_CAVE_0113, OBJFLAG_00000001 | OBJFLAG_INVINCIBLE | OBJFLAG_00400000, OBJFLAG2_00000001, 0, WEAPON_SUITCASE) @@ -997,7 +997,7 @@ u8 func1004_guard_activation[] = { set_object_flag(0x2a, OBJFLAG_00000100) #define remove_alaskan_guard(chr) \ - set_chr_flag_bankx(chr, CHRFLAG1_WARNED, BANK_1) \ + set_chr_flag_bankx(chr, CHRFLAG1_PREWARNED, BANK_1) \ set_ailist(chr, AILIST_REMOVE_OR_UNALERT) \ set_chr_flag_bankx(chr, CHRFLAG0_AIVSAI, BANK_0) \ yield @@ -1212,7 +1212,7 @@ u8 func0407_stewardess[] = { // Loaded label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x31) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x31) walk_to_pad(PAD_CAVE_0012) // outside front door goto_next(0x00) @@ -1264,8 +1264,8 @@ u8 func0407_stewardess[] = { endloop(0x07) label(0x0b) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x31) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x31) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) chr_do_animation(ANIM_SNEEZE, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x69) @@ -1747,7 +1747,7 @@ u8 func1007_console_activation[] = { set_stage_flag(STAGEFLAG_CONSOLE_ACTIVATED) set_object_image(OBJ_CONSOLE, 0, TVCMDLIST_0F) set_object_image(OBJ_CONSOLE, 1, TVCMDLIST_0F) - set_chr_flag_bankx(0x12, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(0x12, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) show_hudmsg(CHR_P1P2, L_CAVE_035) // "System shutdown initiated..." mute_channel(CHANNEL_1) assign_sound(SFX_01B9, CHANNEL_1) @@ -2273,7 +2273,7 @@ u8 func040a_office2[] = { // Attack player label(0x02) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) set_ailist(CHR_SELF, GAILIST_ALERTED) // Unreachable @@ -2527,7 +2527,7 @@ u8 func040f_nsa[] = { label(0x02) chr_do_animation(ANIM_TALKING_0098, 0, 90, 0, 16, CHR_SELF, 2) say_quip(CHR_BOND, 0x1c, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) beginloop(0x0a) if_chr_stopped(/*goto*/ 0x02) @@ -2581,8 +2581,8 @@ u8 func040f_nsa[] = { label(0x64) label(0x02) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_returnlist(CHR_SELF, AILIST_NSA) set_ailist(CHR_SELF, GAILIST_HAND_COMBAT) @@ -2638,7 +2638,7 @@ u8 func0411_takeover_lackey[] = { label(0x31) try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x02) label(0x02) - if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ 0x31) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, FALSE, BANK_0, /*goto*/ 0x31) if_target_in_sight(/*goto*/ 0x02) label(0x31) endloop(0x00) @@ -2762,7 +2762,7 @@ u8 func0414_officeworker[] = { endloop(0x78) label(0x02) - do_preset_animation(7) + do_preset_animation(PRESETANIM_TALK7) speak(CHR_TARGET, L_CAVE_054, MP3_0338, CHANNEL_4, COLOR_08_RED) // "Stop them - they're breaking into the safe..." beginloop(0x05) @@ -3194,7 +3194,7 @@ u8 func042a_foyer_spawner[] = { }; u8 func042b_init_foyer_clone[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x00) rebuild_teams rebuild_squadrons @@ -3315,7 +3315,7 @@ u8 func0419_ba8c[] = { endloop(0x6b) label(0x02) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x33) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x33) dprint 'N','O','T',' ','A',' ','P','A','T','R','O','L','L','E','R','\n',0, stop_chr goto_next(0x00) @@ -3323,13 +3323,16 @@ u8 func0419_ba8c[] = { label(0x33) dprint 'P','A','T',' ','R','E','T','\n',0, start_patrol + label(0x00) yield - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x6c) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x6c) call_rng if_rand_gt(128, /*goto*/ 0x6c) + label(0x6d) restart_timer + label(0x07) stop_chr if_self_flag_bankx_eq(CHRFLAG1_DONE_SEARCH_ANIM, TRUE, BANK_1, /*goto*/ 0x31) @@ -3411,14 +3414,14 @@ u8 func0419_ba8c[] = { if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) goto_next(0x02) label(0x31) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x31) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x31) if_distance_to_target_gt(450, /*goto*/ 0x31) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_returnlist(CHR_SELF, 0x0419) set_ailist(CHR_SELF, GAILIST_CIVILIAN_SAY_COMMENT) label(0x31) if_timer_lt(600, /*goto*/ 0x31) - unset_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) label(0x31) dprint 'L','I','M','O',' ','R','E','A','D','Y',' ','T','O',' ','G','O','\n',0, goto_first(0x00) @@ -3481,9 +3484,9 @@ u8 func041a_draw_magnum[] = { set_chr_team(CHR_SELF, TEAM_04) try_equip_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x10000000, /*goto*/ 0x00) label(0x00) - unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + unset_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) - set_self_flag_bankx(CHRFLAG1_WARNED, BANK_1) + set_self_flag_bankx(CHRFLAG1_PREWARNED, BANK_1) rebuild_teams rebuild_squadrons set_ailist(CHR_SELF, GAILIST_UNALERTED) diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index dd7db4c78..15ff4a951 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -136,188 +136,188 @@ u32 props[] = { fail_flags(STAGEFLAG_ELVIS_DEAD) endobjective - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_DAM_0024, BODY_THEKING, HEAD_ELVIS_GOGS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_DAM_0024, BODY_THEKING, HEAD_ELVIS_GOGS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANPISTOL, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_PHOENIX) - chr(0, 0x02, PAD_DAM_0027, BODY_PELAGIC_GUARD, HEAD_MOTO, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x02, PAD_DAM_0027, BODY_PELAGIC_GUARD, HEAD_MOTO, GAILIST_IDLE, -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_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FARSIGHT) - chr(SPAWNFLAG_00000200, 0x2e, PAD_DAM_014E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2e, PAD_DAM_014E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2d, PAD_DAM_014D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0214, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2d, PAD_DAM_014D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0214, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2f, PAD_DAM_014F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2f, PAD_DAM_014F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x30, PAD_DAM_0150, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x30, PAD_DAM_0150, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x31, PAD_DAM_0151, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x31, PAD_DAM_0151, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x32, PAD_DAM_0152, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x32, PAD_DAM_0152, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0215, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x33, PAD_DAM_0153, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x33, PAD_DAM_0153, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x34, PAD_DAM_0154, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x34, PAD_DAM_0154, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x35, PAD_DAM_0155, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x35, PAD_DAM_0155, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0216, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0035, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x38, PAD_DAM_0158, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 7, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x38, PAD_DAM_0158, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 7, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0038, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x39, PAD_DAM_0159, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 7, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x39, PAD_DAM_0159, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 7, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0039, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3a, PAD_DAM_015A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3a, PAD_DAM_015A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3b, PAD_DAM_015B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3b, PAD_DAM_015B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0217, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x36, PAD_DAM_0156, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0218, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x36, PAD_DAM_0156, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0218, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0036, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x37, PAD_DAM_0157, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0218, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x37, PAD_DAM_0157, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, 0x0218, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0037, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x51, PAD_DAM_0002, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x51, PAD_DAM_0002, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0051, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x52, PAD_DAM_0027, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x52, PAD_DAM_0027, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0052, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x53, PAD_DAM_0028, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x53, PAD_DAM_0028, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0053, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x57, PAD_DAM_00DF, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x57, PAD_DAM_00DF, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0057, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x58, PAD_DAM_00DC, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x58, PAD_DAM_00DC, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0058, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x59, PAD_DAM_00EB, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x59, PAD_DAM_00EB, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0059, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x5a, PAD_DAM_00E8, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x5a, PAD_DAM_00E8, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x005a, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x5b, PAD_DAM_0142, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x5b, PAD_DAM_0142, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x005b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x5c, PAD_DAM_0143, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x5c, PAD_DAM_0143, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x005c, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x5d, PAD_DAM_0144, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x5d, PAD_DAM_0144, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x005d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x5e, PAD_DAM_0145, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x5e, PAD_DAM_0145, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, 0x0213, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x005e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x03, PAD_DAM_011F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_DAM_011F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x04, PAD_DAM_0120, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(0, 0x04, PAD_DAM_0120, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x24, PAD_DAM_0140, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x24, PAD_DAM_0140, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x25, PAD_DAM_0141, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_DAM_0141, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x05, PAD_DAM_0121, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_DAM_0121, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x06, PAD_DAM_0122, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x06, PAD_DAM_0122, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x07, PAD_DAM_0123, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_DAM_0123, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x08, PAD_DAM_0124, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x08, PAD_DAM_0124, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x09, PAD_DAM_0125, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_DAM_0125, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x0a, PAD_DAM_0126, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x0a, PAD_DAM_0126, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_DAM_0127, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_DAM_0127, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x0c, PAD_DAM_0128, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x0c, PAD_DAM_0128, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0d, PAD_DAM_0129, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_DAM_0129, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x0e, PAD_DAM_012A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x0e, PAD_DAM_012A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0f, PAD_DAM_012B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_DAM_012B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x10, PAD_DAM_012C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x10, PAD_DAM_012C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x11, PAD_DAM_012D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_DAM_012D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x12, PAD_DAM_012E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x12, PAD_DAM_012E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x13, PAD_DAM_012F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_DAM_012F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x14, PAD_DAM_0130, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x14, PAD_DAM_0130, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x15, PAD_DAM_0131, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_DAM_0131, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x16, PAD_DAM_0132, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(0, 0x16, PAD_DAM_0132, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x17, PAD_DAM_0133, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_DAM_0133, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x18, PAD_DAM_0134, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(0, 0x18, PAD_DAM_0134, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x19, PAD_DAM_0135, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_DAM_0135, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x1a, PAD_DAM_0136, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x1a, PAD_DAM_0136, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x1b, PAD_DAM_0137, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_DAM_0137, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x1c, PAD_DAM_0138, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x1c, PAD_DAM_0138, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x1d, PAD_DAM_0139, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_DAM_0139, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x1e, PAD_DAM_013A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x1e, PAD_DAM_013A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x1f, PAD_DAM_013B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_DAM_013B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x20, PAD_DAM_013C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x20, PAD_DAM_013C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x21, PAD_DAM_013D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_DAM_013D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x22, PAD_DAM_013E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x22, PAD_DAM_013E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x23, PAD_DAM_013F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x23, PAD_DAM_013F, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2c, PAD_DAM_014C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_DAM_014C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2b, PAD_DAM_014B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_DAM_014B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2a, PAD_DAM_014A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2a, PAD_DAM_014A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x29, PAD_DAM_0149, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_DAM_0149, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x54, PAD_DAM_0004, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x54, PAD_DAM_0004, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0054, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x28, PAD_DAM_0148, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_DAM_0148, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x27, PAD_DAM_0147, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x27, PAD_DAM_0147, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x26, PAD_DAM_0146, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x26, PAD_DAM_0146, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x45, PAD_DAM_0165, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x45, PAD_DAM_0165, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0045, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x46, PAD_DAM_0166, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x46, PAD_DAM_0166, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0046, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3c, PAD_DAM_015C, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3e, PAD_DAM_015E, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3f, PAD_DAM_015F, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x41, PAD_DAM_0161, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3c, PAD_DAM_015C, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3e, PAD_DAM_015E, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x3f, PAD_DAM_015F, BODY_PILOTAF1, HEAD_RANDOM, AILIST_INIT_PILOT, -1, -1, 1000, 10, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_04, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x41, PAD_DAM_0161, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0041, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x42, PAD_DAM_0162, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x42, PAD_DAM_0162, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0042, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x43, PAD_DAM_0163, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x43, PAD_DAM_0163, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0043, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x44, PAD_DAM_0164, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x44, PAD_DAM_0164, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0044, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x47, PAD_DAM_0167, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x47, PAD_DAM_0167, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0047, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x48, PAD_DAM_0168, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x48, PAD_DAM_0168, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0048, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x49, PAD_DAM_0169, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x49, PAD_DAM_0169, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0049, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x4a, PAD_DAM_016A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4a, PAD_DAM_016A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x4b, PAD_DAM_016B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4b, PAD_DAM_016B, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x4c, PAD_DAM_016C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4c, PAD_DAM_016C, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_00000200, 0x4d, PAD_DAM_016D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4d, PAD_DAM_016D, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_GUARD_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x4d, PAD_DAM_016D, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4d, PAD_DAM_016D, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_04, SQUADRON_09, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x004d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x55, PAD_DAM_0012, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_04, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x55, PAD_DAM_0012, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_04, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0055, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x56, PAD_DAM_0014, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_04, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x56, PAD_DAM_0014, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0407, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_04, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0056, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x4e, PAD_DAM_0209, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH1, 0x00d8, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x50, PAD_DAM_0055, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH2, 0x0089, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 1, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x4f, PAD_DAM_0057, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH3, 0x008b, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x4e, PAD_DAM_0209, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH1, 0x00d8, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x50, PAD_DAM_0055, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH2, 0x0089, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 1, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x4f, PAD_DAM_0057, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH3, 0x008b, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 2, 0, 0, 0) door(0x0100, MODEL_PELAGICDOOR, PAD_DAM_00F0, OBJFLAG_ILLUMINATED | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, DOORFLAG_WINDOWED, DOORTYPE_SLIDING, 0x00000000, 0x00000384, 0x012c0320, 0x00000000, 0x00000300) door(0x0100, MODEL_PELAGICDOOR, PAD_DAM_00F1, OBJFLAG_ILLUMINATED | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, DOORFLAG_WINDOWED, DOORTYPE_SLIDING, 0x00000000, 0x00000384, 0x012c0320, 0x00000000, 0x00000300) door(0x0100, MODEL_PELAGICDOOR, PAD_DAM_00F2, OBJFLAG_ILLUMINATED | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x00010000, 0x00007fff, 0x00014000, 0x00000666, DOORFLAG_WINDOWED, DOORTYPE_SLIDING, 0x00000000, 0x00000384, 0x012c0320, 0x00000000, 0x00000300) @@ -1966,7 +1966,7 @@ u8 func0401_pilot[] = { endloop(0x0c) label(0x07) - set_self_flag_bankx(CHRFLAG0_08000000, BANK_0) + set_self_flag_bankx(CHRFLAG0_COVER_TYPE2, BANK_0) if_stage_flag_eq(STAGEFLAG_SAID_SWITCHTHINGOFF, FALSE, /*goto*/ 0x07) speak(CHR_TARGET, L_DAM_045, MP3_SCI_ILL_SHUT_IT_DOWN, CHANNEL_6, COLOR_04_ORANGE) // "I'll shut it down." goto_next(0x08) @@ -1974,7 +1974,7 @@ u8 func0401_pilot[] = { label(0x07) speak(CHR_TARGET, L_DAM_046, MP3_SCI_PLEASE_DONT_HURT_ME, CHANNEL_6, COLOR_04_ORANGE) // "Please don't hurt me." label(0x08) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) beginloop(0x0f) if_sound_finished(CHANNEL_6, /*goto*/ 0x08) @@ -2106,7 +2106,7 @@ u8 func1012_choose_angry_pilot[] = { if_chr_dead(CHR_PILOT1, /*goto*/ 0x3b) if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b) if_chr_knockedout(CHR_PILOT1, /*goto*/ 0x3b) - if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3b) + if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_COVER_TYPE2, BANK_0, /*goto*/ 0x3b) set_ailist(CHR_PILOT1, AILIST_ANGRY_PILOT) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2114,7 +2114,7 @@ u8 func1012_choose_angry_pilot[] = { if_chr_dead(CHR_PILOT2, /*goto*/ 0x3c) if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c) if_chr_knockedout(CHR_PILOT2, /*goto*/ 0x3c) - if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3c) + if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_COVER_TYPE2, BANK_0, /*goto*/ 0x3c) set_ailist(CHR_PILOT2, AILIST_ANGRY_PILOT) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2122,7 +2122,7 @@ u8 func1012_choose_angry_pilot[] = { if_chr_dead(CHR_PILOT3, /*goto*/ 0x04) if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04) if_chr_knockedout(CHR_PILOT3, /*goto*/ 0x04) - if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x04) + if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_COVER_TYPE2, BANK_0, /*goto*/ 0x04) set_ailist(CHR_PILOT3, AILIST_ANGRY_PILOT) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2144,7 +2144,7 @@ u8 func0404_angry_pilot[] = { set_chr_team(CHR_SELF, TEAM_ENEMY) rebuild_teams rebuild_squadrons - unset_self_flag_bankx(CHRFLAG0_00100000, BANK_0) + unset_self_flag_bankx(CHRFLAG0_ALERT_ON_HEARSPAWN, BANK_0) set_self_chrflag(CHRCFLAG_00000040) set_shotlist(AILIST_ANGRY_PILOT) if_chr_dead(CHR_SELF, /*goto*/ 0x07) @@ -2159,7 +2159,7 @@ u8 func0404_angry_pilot[] = { // Alive label(0x04) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) speak(CHR_TARGET, L_DAM_047, MP3_04DD, CHANNEL_7, COLOR_04_ORANGE) // "Die, you traitors." chr_do_animation(ANIM_DRAW_PISTOL_0245, -1, 120, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SELF, 3) try_equip_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x00000000, /*goto*/ 0x6c) @@ -2181,7 +2181,7 @@ u8 func0404_angry_pilot[] = { if_chr_dead(CHR_PILOT1, /*goto*/ 0x3b) if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b) if_chr_knockedout(CHR_PILOT1, /*goto*/ 0x3b) - if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3b) + if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_GP1, BANK_0, /*goto*/ 0x3b) set_target_chr(CHR_PILOT1) goto_next(0x00) @@ -2189,7 +2189,7 @@ u8 func0404_angry_pilot[] = { if_chr_dead(CHR_PILOT2, /*goto*/ 0x3c) if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c) if_chr_knockedout(CHR_PILOT2, /*goto*/ 0x3c) - if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3c) + if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_GP1, BANK_0, /*goto*/ 0x3c) set_target_chr(CHR_PILOT2) goto_next(0x00) @@ -2197,7 +2197,7 @@ u8 func0404_angry_pilot[] = { if_chr_dead(CHR_PILOT3, /*goto*/ 0x04) if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04) if_chr_knockedout(CHR_PILOT3, /*goto*/ 0x04) - if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x04) + if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_GP1, BANK_0, /*goto*/ 0x04) set_target_chr(CHR_PILOT3) goto_next(0x00) @@ -2483,7 +2483,7 @@ u8 func0415_elvis_at_start[] = { endloop(0x0b) label(0x07) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DAM_032, MP3_04DC, CHANNEL_6, COLOR_06_WHITE) // "You go on ahead, Jo. I'll secure the perimeter. We..." beginloop(0x0c) @@ -2711,7 +2711,7 @@ u8 func0418_elvis_at_moonpool[] = { if_chr_dead(CHR_SELF, /*goto*/ 0x07) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x07) if_chr_knockedout(CHR_SELF, /*goto*/ 0x07) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) set_stage_flag(STAGEFLAG_MET_ELVIS) speak(CHR_P1P2, L_DAM_034, SFX_81A4, CHANNEL_6, COLOR_06_WHITE) // "Joanna... What took you so long? Follow me - let's..." diff --git a/src/files/setup/setupdepo.c b/src/files/setup/setupdepo.c index b39a2eaa7..e907c2ba1 100644 --- a/src/files/setup/setupdepo.c +++ b/src/files/setup/setupdepo.c @@ -154,12 +154,12 @@ u32 props[] = { endobjective // First cloak room - chr(SPAWNFLAG_IGNORECOLLISION, CHR_CLOAK_1A, PAD_DEPO_007E, BODY_G5_SWAT_GUARD, HEAD_RANDOM, GAILIST_IDLE, PAD_DEPO_007E, -1, 200, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, CHR_CLOAK_1A, PAD_DEPO_007E, BODY_G5_SWAT_GUARD, HEAD_RANDOM, GAILIST_IDLE, PAD_DEPO_007E, -1, 200, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, CHR_CLOAK_1A, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) weapon(0x0100, MODEL_CHRCROSSBOW, CHR_CLOAK_1A, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_CROSSBOW) tag(OBJ_CROSSBOW, -1) - chr(SPAWNFLAG_IGNORECOLLISION, CHR_CLOAK_1B, PAD_DEPO_007F, BODY_G5_SWAT_GUARD, HEAD_RANDOM, GAILIST_IDLE, PAD_DEPO_007F, -1, 200, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, CHR_CLOAK_1B, PAD_DEPO_007F, BODY_G5_SWAT_GUARD, HEAD_RANDOM, GAILIST_IDLE, PAD_DEPO_007F, -1, 200, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, CHR_CLOAK_1B, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) tag(OBJ_KEYCARD1, 1) @@ -167,20 +167,20 @@ u32 props[] = { rename_object(-1, WEAPON_KEYCARD45, L_DEPO_014, L_DEPO_015, L_DEPO_016, L_DEPO_017, L_DEPO_018) // "Obtain alpha key card." // Between cloak rooms - chr(SPAWNFLAG_00000200 | SPAWNFLAG_00000800 | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_DEPO_005F, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, PAD_DEPO_0080, -1, 2000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_DEPO_005F, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, PAD_DEPO_0080, -1, 2000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) // Second cloak room - chr(0, 0x03, PAD_DEPO_005E, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_006E, -1, 1, 15, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x03, PAD_DEPO_005E, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_006E, -1, 1, 15, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x04, PAD_DEPO_005D, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_006F, -1, 1, 15, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x04, PAD_DEPO_005D, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_006F, -1, 1, 15, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x05, PAD_DEPO_0072, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_0070, -1, 1, 10, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x05, PAD_DEPO_0072, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_0070, -1, 1, 10, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x06, PAD_DEPO_0013, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_0071, -1, 1, 10, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x06, PAD_DEPO_0013, BODY_G5_SWAT_GUARD, HEAD_RANDOM, AILIST_CLOAK2_HIDE, PAD_DEPO_0071, -1, 1, 10, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) tag(OBJ_KEYCARD2, 1) @@ -188,84 +188,84 @@ u32 props[] = { rename_object(-1, WEAPON_KEYCARD46, L_DEPO_019, L_DEPO_020, L_DEPO_021, L_DEPO_022, L_DEPO_023) // "Obtain alpha key card." // Rest of stage - chr(SPAWNFLAG_00000200, 0x08, PAD_DEPO_002F, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007B, -1, 200, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_DEPO_002F, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007B, -1, 200, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x09, PAD_DEPO_0079, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007C, -1, 200, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x09, PAD_DEPO_0079, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007C, -1, 200, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x0a, PAD_DEPO_007A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007D, -1, 200, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x0a, PAD_DEPO_007A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_007D, -1, 200, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_DEPO_0026, BODY_G5_GUARD, HEAD_RANDOM, 0x040c, PAD_DEPO_0029, -1, 100, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_DEPO_0026, BODY_G5_GUARD, HEAD_RANDOM, 0x040c, PAD_DEPO_0029, -1, 100, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_DEPO_005C, BODY_G5_GUARD, HEAD_BEAU1, 0x0409, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_DEPO_005C, BODY_G5_GUARD, HEAD_BEAU1, 0x0409, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0c, PAD_DEPO_005B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0c, PAD_DEPO_005B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_DEPO_001F, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_DEPO_001F, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_DEPO_0067, BODY_G5_GUARD, HEAD_RANDOM, 0x040a, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_DEPO_0067, BODY_G5_GUARD, HEAD_RANDOM, 0x040a, PAD_DEPO_0073, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_DEPO_0039, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_DEPO_0039, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_DEPO_0068, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_DEPO_0068, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_DEPO_0069, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_DEPO_0069, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, PAD_DEPO_0074, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_DEPO_003F, BODY_G5_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_DEPO_003F, BODY_G5_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) #else - chr(SPAWNFLAG_00000200, 0x12, PAD_DEPO_003F, BODY_G5_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_DEPO_003F, BODY_G5_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_06, -1, 0, 2, 0, 7, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_DEPO_006A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_DEPO_006A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x13, PAD_DEPO_006A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_DEPO_006A, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_DEPO_006B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_DEPO_006B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x14, PAD_DEPO_006B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_DEPO_006B, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_DEPO_006C, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_DEPO_006C, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x15, PAD_DEPO_006C, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_DEPO_006C, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x16, PAD_DEPO_006D, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x16, PAD_DEPO_006D, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x16, PAD_DEPO_006D, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_DEPO_006D, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x17, PAD_DEPO_0082, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_DEPO_0082, BODY_G5_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) tag(0x0d, 1) - chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_CASS, PAD_DEPO_0088, BODY_CASSANDRA, HEAD_CASSANDRA, 0x0410, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, 0x4a, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_BLONDE, PAD_DEPO_0087, BODY_MRBLONDE, HEAD_MRBLONDE, 0x0410, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, 0x4b, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_INTRO_VICTIM, PAD_DEPO_0009, BODY_G5_GUARD, HEAD_RANDOM, 0x0410, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_CASS, PAD_DEPO_0088, BODY_CASSANDRA, HEAD_CASSANDRA, 0x0410, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, 0x4a, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_BLONDE, PAD_DEPO_0087, BODY_MRBLONDE, HEAD_MRBLONDE, 0x0410, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, 0x4b, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, CHR_INTRO_VICTIM, PAD_DEPO_0009, BODY_G5_GUARD, HEAD_RANDOM, 0x0410, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, CHR_INTRO_VICTIM, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE, CHR_TRENT, PAD_DEPO_003B, BODY_TRENT, HEAD_TRENT, 0x0411, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE, CHR_STRIPES, PAD_DEPO_003C, BODY_STRIPES, HEAD_JON, 0x0411, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE, CHR_TRENT, PAD_DEPO_003B, BODY_TRENT, HEAD_TRENT, 0x0411, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE, CHR_STRIPES, PAD_DEPO_003C, BODY_STRIPES, HEAD_JON, 0x0411, -1, -1, 200, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) tag(OBJ_GENERATOR, 1) multimonitor(0x0100, MODEL_PD_CONSOLE, PAD_DEPO_00D0, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100, OBJFLAG2_00000001, OBJFLAG3_INTERACTABLE, 1000, 3, 3, 0, 0) tag(0x3f, 1) @@ -1077,7 +1077,7 @@ u8 func1009_spawner_during_decode[] = { #define init_swat \ set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \ - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \ + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) \ set_chr_dodge_rating(2, 0x0a) \ set_accuracy(15) \ set_reaction_speed(25) \ @@ -1090,7 +1090,7 @@ u8 func1009_spawner_during_decode[] = { set_chr_team(CHR_SELF, TEAM_ENEMY) \ set_squadron(SQUADRON_09) \ set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE) \ - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) \ + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) \ set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) \ set_alertness(90) \ set_self_chrflag(CHRCFLAG_00000200) \ @@ -2257,21 +2257,21 @@ u8 func101a_init_laser_switch_guards[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x09) // Perfect Agent - set_chr_flag_bankx(0x0c, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) - set_chr_flag_bankx(0x0d, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) - set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) + set_chr_flag_bankx(0x0c, CHRFLAG0_CAN_TRAVEL, BANK_0) + set_chr_flag_bankx(0x0d, CHRFLAG0_CAN_TRAVEL, BANK_0) + set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_TRAVEL, BANK_0) goto_next(0x06) // Agent label(0x08) - set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) - set_chr_flag_bankx(0x0e, CHRFLAG0_UNSURPRISABLE, BANK_0) + set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_TRAVEL, BANK_0) + set_chr_flag_bankx(0x0e, CHRFLAG0_SURPRISABLE, BANK_0) goto_next(0x06) // Special Agent label(0x09) - set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) - set_chr_flag_bankx(0x0d, CHRFLAG0_CAN_GO_TO_PLACES, BANK_0) + set_chr_flag_bankx(0x0e, CHRFLAG0_CAN_TRAVEL, BANK_0) + set_chr_flag_bankx(0x0d, CHRFLAG0_CAN_TRAVEL, BANK_0) label(0x06) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -3071,13 +3071,13 @@ u8 func102a_8174[] = { endloop(0x08) label(0x2c) - set_chr_hiddenflag(0x07, CHRHFLAG_08000000) - set_chr_hiddenflag(0x0c, CHRHFLAG_08000000) - set_chr_hiddenflag(0x0d, CHRHFLAG_08000000) - set_chr_hiddenflag(0x0e, CHRHFLAG_08000000) - set_chr_hiddenflag(0x0f, CHRHFLAG_08000000) - set_chr_hiddenflag(0x10, CHRHFLAG_08000000) - set_chr_hiddenflag(0x11, CHRHFLAG_08000000) + set_chr_hiddenflag(0x07, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x0c, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x0d, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x0e, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x0f, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x10, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x11, CHRHFLAG_DONTSHOOTME) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; diff --git a/src/files/setup/setupdish.c b/src/files/setup/setupdish.c index 63f009465..f376809bd 100644 --- a/src/files/setup/setupdish.c +++ b/src/files/setup/setupdish.c @@ -265,9 +265,9 @@ u32 props[] = { chr(SPAWNFLAG_NOBLOOD, 0x03, PAD_DISH_00F7, BODY_CILABTECH, HEAD_MARK2, 0x0421, -1, -1, 1000, 6, 0, 0, TEAM_20, SQUADRON_05, -1, 0, 2, 0, 0, 0) chr(SPAWNFLAG_NOBLOOD, 0x04, PAD_DISH_00F9, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0422, -1, -1, 1000, 6, 0, 0, TEAM_20, SQUADRON_05, -1, 0, 2, 0, 0, 0) chr(SPAWNFLAG_NOBLOOD, 0x05, PAD_DISH_00FB, BODY_CILABTECH, HEAD_BRIAN, 0x0423, -1, -1, 1000, 6, 0, 0, TEAM_20, SQUADRON_05, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x06, PAD_DISH_00FD, BODY_CILABTECH, HEAD_RUSS, 0x0425, -1, -1, 0, 0, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x01, 0, 0, 2, 0, 0) - chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x07, PAD_DISH_00FC, BODY_CILABTECH, HEAD_BEAU1, 0x0426, -1, -1, 0, 0, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x00, 0, 0, 2, 0, 0) - chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x08, PAD_DISH_00FE, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0427, -1, -1, 0, 0, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x02, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x06, PAD_DISH_00FD, BODY_CILABTECH, HEAD_RUSS, 0x0425, -1, -1, 0, 0, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x01, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x07, PAD_DISH_00FC, BODY_CILABTECH, HEAD_BEAU1, 0x0426, -1, -1, 0, 0, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x00, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_NOBLOOD | SPAWNFLAG_FIXEDHEIGHT, 0x08, PAD_DISH_00FE, BODY_CIFEMTECH, HEAD_SECRETARY, 0x0427, -1, -1, 0, 0, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0D, 0x02, 0, 0, 2, 0, 0) tag(0x1e, 8) tag(0x1f, 8) tag(0x20, 8) @@ -631,7 +631,7 @@ u8 func041e_colleague[] = { label(0x06) if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f) - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) goto_next(0x2f) label(0x7f) @@ -666,7 +666,7 @@ u8 func041e_colleague[] = { goto_first(0x59) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) label(0x06) play_cistaff_quip(CIQUIP_MAIN, CHANNEL_6) restart_timer @@ -705,7 +705,7 @@ u8 func041e_colleague[] = { label(0x30) if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x7f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) goto_next(0x06) label(0x7f) @@ -2530,7 +2530,7 @@ u8 func0429_grimshaw_disguise[] = { label(0x06) dprint 'I','n','i','t','i','a','l','i','s','e','c',0, - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) play_cistaff_quip(CIQUIP_GREETING, CHANNEL_6) restart_timer @@ -2566,7 +2566,7 @@ u8 func0429_grimshaw_disguise[] = { label(0x06) if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_044, MP3_0518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!" beginloop(0x5c) @@ -2579,7 +2579,7 @@ u8 func0429_grimshaw_disguise[] = { goto_next(0x0d) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_045, MP3_0519, CHANNEL_6, COLOR_05_GREEN) // "Here you go. Don't drop it now." beginloop(0x5d) @@ -2730,7 +2730,7 @@ u8 func042a_carrington_cloak[] = { endloop(0x57) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_BOND, L_DISH_049, MP3_051B, CHANNEL_6, COLOR_06_WHITE) // "Joanna, where did you spring from?" beginloop(0x59) @@ -2745,7 +2745,7 @@ u8 func042a_carrington_cloak[] = { endloop(0x5b) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_053, MP3_051C, CHANNEL_6, COLOR_06_WHITE) // "I think we can safely say your training is now complete!" beginloop(0x5c) @@ -3009,7 +3009,7 @@ u8 func042c_carrington_tour[] = { label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_INFINITESHIELD) set_savefile_flag(GAMEFILEFLAG_CI_TOUR_STARTED) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) remove_hudmsgs speak(CHR_TARGET, L_DISH_066, SFX_8029, CHANNEL_6, COLOR_06_WHITE) // "Joanna, it's good to see you." restart_timer @@ -3019,7 +3019,7 @@ u8 func042c_carrington_tour[] = { endloop(0x57) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_067, MP3_051D, CHANNEL_6, COLOR_06_WHITE) // "Come with me. I'll walk you round the training rooms." restart_timer @@ -3050,7 +3050,7 @@ u8 func042c_carrington_tour[] = { goto_first(0x5c) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) remove_hudmsgs speak(CHR_TARGET, L_DISH_068, MP3_0520, CHANNEL_6, COLOR_06_WHITE) // "The information center is through this door." restart_timer @@ -3076,7 +3076,7 @@ u8 func042c_carrington_tour[] = { endloop(0x5f) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) play_sound(SFX_802A, CHANNEL_6) set_ailist(0x03, 0x042d) restart_timer @@ -3118,7 +3118,7 @@ u8 func042c_carrington_tour[] = { #if VERSION >= VERSION_NTSC_1_0 set_ailist(0x01, GAILIST_IDLE) #endif - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_069, MP3_051F, CHANNEL_6, COLOR_06_WHITE) // "In here we have the device lab." restart_timer @@ -3135,7 +3135,7 @@ u8 func042c_carrington_tour[] = { endloop(0x65) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) play_sound(SFX_CARR_HELLO_JOANNA, CHANNEL_6) set_ailist(0x01, AILIST_DEVICEGIRL_REPLY_TO_CARRINGTON) restart_timer @@ -3174,7 +3174,7 @@ u8 func042c_carrington_tour[] = { goto_first(0x6a) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_070, MP3_0521, CHANNEL_6, COLOR_06_WHITE) // "This leads to the simulant training room." restart_timer @@ -3210,7 +3210,7 @@ u8 func042c_carrington_tour[] = { goto_first(0x6e) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_071, MP3_051E, CHANNEL_6, COLOR_06_WHITE) // "This is the firing range, Jo." restart_timer @@ -3265,7 +3265,7 @@ u8 func042c_carrington_tour[] = { goto_first(0x74) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_072, MP3_0522, CHANNEL_6, COLOR_06_WHITE) // "This corridor leads down to the hangar." restart_timer @@ -3283,7 +3283,7 @@ u8 func042c_carrington_tour[] = { endloop(0x79) label(0x2f) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_DISH_124, MP3_07DC, CHANNEL_6, COLOR_06_WHITE) // "Okay, Jo, I'll leave you to prepare for the mission." beginloop(0x7a) diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index c812c5ec6..026542168 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -304,53 +304,53 @@ u32 props[] = { singlemonitor(0x0100, MODEL_TVSCREEN, PAD_EAR_0235, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040, OBJFLAG2_00000001, 0, 1000, 3) singlemonitor(0x0100, MODEL_TVSCREEN, PAD_EAR_0236, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040, OBJFLAG2_00000001, 0, 1000, 3) singlemonitor(0x0100, MODEL_SINISTERPC, PAD_EAR_0245, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000, 35) - chr(SPAWNFLAG_00000200, 0x2f, PAD_EAR_0146, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2f, PAD_EAR_0146, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x30, PAD_EAR_0147, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x30, PAD_EAR_0147, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x31, PAD_EAR_0148, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x31, PAD_EAR_0148, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x32, PAD_EAR_0149, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x32, PAD_EAR_0149, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x33, PAD_EAR_014A, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x33, PAD_EAR_014A, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x00, PAD_EAR_001F, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH00, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_EAR_001F, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH00, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x01, PAD_EAR_0135, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0019, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, 0x3c, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x01, PAD_EAR_0135, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0019, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, 0x3c, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_EAR_0136, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x001a, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, 0x3d, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_EAR_0136, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x001a, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, 0x3d, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x3c, PAD_EAR_0134, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x3c, PAD_EAR_0134, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x03, PAD_EAR_0137, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x3e, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x03, PAD_EAR_0137, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x3e, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x04, PAD_EAR_0111, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_EAR_0111, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x05, PAD_EAR_0112, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_EAR_0112, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x06, PAD_EAR_0113, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_EAR_0113, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_00000200, 0x0a, PAD_EAR_0031, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH02, -1, -1, 200, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_00000200, 0x0b, PAD_EAR_0038, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH02, -1, -1, 200, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0c, PAD_EAR_0062, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH03, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_EAR_0062, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH03, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0d, PAD_EAR_006E, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH03, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_EAR_006E, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_PATH03, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0e, PAD_EAR_0114, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_EAR_0114, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0f, PAD_EAR_0115, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_EAR_0115, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x10, PAD_EAR_0116, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x10, PAD_EAR_0116, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x11, PAD_EAR_0117, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0065, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x11, PAD_EAR_0117, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0065, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x12, PAD_EAR_0118, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0065, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_EAR_0118, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0065, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x13, PAD_EAR_0119, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0069, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x13, PAD_EAR_0119, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0069, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x14, PAD_EAR_011A, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0069, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_EAR_011A, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0069, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_00000200, 0x15, PAD_EAR_011B, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) @@ -360,7 +360,7 @@ u32 props[] = { weapon(0x0100, MODEL_CHRCMP150, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_00000200, 0x18, PAD_EAR_011E, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x19, PAD_EAR_011F, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_EAR_011F, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_00000200, 0x1a, PAD_EAR_0120, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) @@ -370,41 +370,41 @@ u32 props[] = { weapon(0x0100, MODEL_CHRDRAGON, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x1d, PAD_EAR_0123, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 100, CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_EAR_0124, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_EAR_0124, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1f, PAD_EAR_0125, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_EAR_0125, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x20, PAD_EAR_0126, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_EAR_0126, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_INIT_BASIC_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x21, PAD_EAR_0127, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_EAR_0127, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x22, PAD_EAR_0128, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_EAR_0128, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x23, PAD_EAR_0129, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x23, PAD_EAR_0129, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x24, PAD_EAR_012A, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x24, PAD_EAR_012A, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_SHOCK_GUARD, -1, -1, 200, 20, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3b, PAD_EAR_013B, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_K7_GUARD, -1, -1, 1, 20, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3b, PAD_EAR_013B, BODY_DD_SHOCK_INF, HEAD_DDSHOCK, AILIST_K7_GUARD, -1, -1, 1, 20, CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x003b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_INVINCIBLE | OBJFLAG_00400000, 0, 0, WEAPON_K7AVENGER) tag(0x04, -1) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x38, PAD_EAR_013C, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_K7_SCIENTIST, 0x0076, -1, 1, 20, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x29, PAD_EAR_0155, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x38, PAD_EAR_013C, BODY_DD_LABTECH, HEAD_RANDOM, AILIST_K7_SCIENTIST, 0x0076, -1, 1, 20, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_EAR_0155, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2a, PAD_EAR_0156, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2a, PAD_EAR_0156, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002a, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2b, PAD_EAR_014B, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_EAR_014B, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2c, PAD_EAR_014C, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_EAR_014C, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002c, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2d, PAD_EAR_0151, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2d, PAD_EAR_0151, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x2e, PAD_EAR_0152, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2e, PAD_EAR_0152, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_BASIC_GUARD, 0x0060, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x35, PAD_EAR_0138, BODY_DD_LABTECH, HEAD_JAMIE, AILIST_INIT_SCIENTIST, 0x0076, -1, 1000, 10, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x36, PAD_EAR_0139, BODY_DD_LABTECH, HEAD_JON, AILIST_INIT_SCIENTIST, -1, -1, 1000, 10, CHRFLAG0_00004000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 1, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x35, PAD_EAR_0138, BODY_DD_LABTECH, HEAD_JAMIE, AILIST_INIT_SCIENTIST, 0x0076, -1, 1000, 10, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x36, PAD_EAR_0139, BODY_DD_LABTECH, HEAD_JON, AILIST_INIT_SCIENTIST, -1, -1, 1000, 10, CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 1, 0, 0, 0) chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x37, PAD_EAR_013A, BODY_DD_LABTECH, HEAD_DUNCAN2, AILIST_INIT_SCIENTIST, -1, -1, 1000, 10, 0, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3a, PAD_EAR_0106, BODY_DDSHOCK, HEAD_DARLING, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x39, PAD_EAR_010C, BODY_DRCAROLL, 0x00, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x3a, PAD_EAR_0106, BODY_DDSHOCK, HEAD_DARLING, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x39, PAD_EAR_010C, BODY_DRCAROLL, 0x00, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) tag(0x0b, 1) singlemonitor(0x0100, MODEL_SINISTERPC, PAD_EAR_0246, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, OBJFLAG2_00000001, OBJFLAG3_INTERACTABLE | OBJFLAG3_INTERACTSHORTRANGE, 1000, 3) tag(0x0c, 1) @@ -1077,8 +1077,8 @@ u8 func0404_scientist[] = { endloop(0x0b) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2f) set_pad_preset_to_investigation_terminal(OBJ_GOODTERM3) goto_next(0x12) @@ -1096,8 +1096,8 @@ u8 func0404_scientist[] = { endloop(0x0c) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2f) if_object_in_good_condition(OBJ_GOODTERM3, /*goto*/ 0x19) say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) show_hudmsg_top_middle(CHR_TARGET, L_EAR_044, COLOR_00_GREEN) // "It appears someone has broken my PC." @@ -1198,8 +1198,8 @@ u8 func0406_nasty_scientist[] = { endloop(0x10) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2f) set_pad_preset_to_investigation_terminal(OBJ_ALARMTERM3) goto_next(0x12) @@ -1262,8 +1262,8 @@ u8 func0406_nasty_scientist[] = { endloop(0x0c) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2f) if_object_in_good_condition(OBJ_ALARMTERM3, /*goto*/ 0x30) goto_next(0x11) @@ -1326,7 +1326,7 @@ u8 func1009_weaponscache[] = { endloop(0x04) label(0x2f) - if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x2f) + if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DETECTED, /*goto*/ 0x2f) show_hudmsg(CHR_TARGET, L_EAR_098) // "Secret weapons compartment opened." play_sound(SFX_00F7, -1) assign_sound(SFX_043B, CHANNEL_5) @@ -2022,7 +2022,7 @@ u8 func100a_spawn_alarm_responders[] = { }; u8 func0408_alarm_responder[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f) set_accuracy(20) goto_next(0x06) @@ -2037,7 +2037,7 @@ u8 func0408_alarm_responder[] = { label(0x06) set_chr_team(CHR_SELF, TEAM_ENEMY) set_squadron(SQUADRON_09) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) set_alertness(90) set_self_chrflag(CHRCFLAG_00000200) @@ -2718,7 +2718,7 @@ u8 func0409_uplink_responder[] = { label(0x06) set_chr_team(CHR_SELF, TEAM_ENEMY) set_squadron(SQUADRON_09) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) set_alertness(110) set_self_chrflag(CHRCFLAG_00000200) diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index d7eeca831..82c759d5c 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -139,15 +139,15 @@ u32 props[] = { endobjective // Note these snipers are replaced with new ones further below. - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, 0x00, PAD_ELD_0192, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, CHR_SNIPER1, PAD_ELD_0192, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, 0x01, PAD_ELD_0193, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, CHR_SNIPER2, PAD_ELD_0193, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, 0x02, PAD_ELD_0194, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, CHR_SNIPER3, PAD_ELD_0194, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, 0x05, PAD_ELD_0197, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, CHR_SNIPER6, PAD_ELD_0197, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, 0x06, PAD_ELD_0198, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA, CHR_SNIPER7, PAD_ELD_0198, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) tag(0x8e, 2) @@ -156,138 +156,138 @@ u32 props[] = { weapon(0x0100, MODEL_CHRCMP150, PAD_ELD_019A, OBJFLAG_UNCOLLECTABLE, OBJFLAG2_INVISIBLE, 0, WEAPON_CMP150) link_guns(-1, -2) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x04, PAD_ELD_0196, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, CHR_SNIPER5, PAD_ELD_0196, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x07, PAD_ELD_0199, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, CHR_SNIPER8, PAD_ELD_0199, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x03, PAD_ELD_0195, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, CHR_SNIPER4, PAD_ELD_0195, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 40, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, 0x00, PAD_ELD_0192, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, CHR_SNIPER1, PAD_ELD_0192, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, 0x01, PAD_ELD_0193, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, CHR_SNIPER2, PAD_ELD_0193, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, 0x02, PAD_ELD_0194, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, CHR_SNIPER3, PAD_ELD_0194, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, 0x05, PAD_ELD_0197, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, CHR_SNIPER6, PAD_ELD_0197, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, 0x06, PAD_ELD_0198, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONPA, CHR_SNIPER7, PAD_ELD_0198, BODY_DDSNIPER, HEAD_DDSNIPER, AILIST_INIT_SNIPER, -1, -1, 500, 80, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SNIPERRIFLE) tag(0x8e, 2) tag(0x8f, 2) weapon(0x0100, MODEL_CHRCMP150, PAD_ELD_019A, OBJFLAG_UNCOLLECTABLE, OBJFLAG2_INVISIBLE, 0, WEAPON_CMP150) weapon(0x0100, MODEL_CHRCMP150, PAD_ELD_019A, OBJFLAG_UNCOLLECTABLE, OBJFLAG2_INVISIBLE, 0, WEAPON_CMP150) link_guns(-1, -2) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_NEGOTIATOR, PAD_ELD_022B, BODY_SECRETARY, HEAD_SECRETARY, GAILIST_IDLE, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_ALLY, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x4e, PAD_ELD_0229, BODY_DD_GUARD, HEAD_JON, GAILIST_IDLE, -1, -1, 500, 150, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_NEGOTIATOR, PAD_ELD_022B, BODY_SECRETARY, HEAD_SECRETARY, GAILIST_IDLE, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_ALLY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, CHR_TAKER1, PAD_ELD_0229, BODY_DD_GUARD, HEAD_JON, GAILIST_IDLE, -1, -1, 500, 150, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES, 0x4f, PAD_ELD_022A, BODY_DD_GUARD, HEAD_BEAU1, GAILIST_IDLE, -1, -1, 500, 150, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES, CHR_TAKER2, PAD_ELD_022A, BODY_DD_GUARD, HEAD_BEAU1, GAILIST_IDLE, -1, -1, 500, 150, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x08, PAD_ELD_00B4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x08, PAD_ELD_00B4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x09, PAD_ELD_022F, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x09, PAD_ELD_022F, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0a, PAD_ELD_019B, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0a, PAD_ELD_019B, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0b, PAD_ELD_00B8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0b, PAD_ELD_00B8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0c, PAD_ELD_0231, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0c, PAD_ELD_0231, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE | CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0d, PAD_ELD_0232, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00200000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x0d, PAD_ELD_0232, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x23, PAD_ELD_01B1, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x23, PAD_ELD_01B1, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x24, PAD_ELD_01B2, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x24, PAD_ELD_01B2, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x25, PAD_ELD_01B3, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x25, PAD_ELD_01B3, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x26, PAD_ELD_01B4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x26, PAD_ELD_01B4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x27, PAD_ELD_01B5, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x27, PAD_ELD_01B5, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x28, PAD_ELD_01B6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x28, PAD_ELD_01B6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x29, PAD_ELD_01B7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x29, PAD_ELD_01B7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2a, PAD_ELD_01B8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2a, PAD_ELD_01B8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2b, PAD_ELD_01B9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2b, PAD_ELD_01B9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2c, PAD_ELD_01BA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2c, PAD_ELD_01BA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2d, PAD_ELD_01BB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2d, PAD_ELD_01BB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2e, PAD_ELD_01BC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x2e, PAD_ELD_01BC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x2f, PAD_ELD_01BD, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x2f, PAD_ELD_01BD, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x30, PAD_ELD_01BE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ONLYONA | SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x30, PAD_ELD_01BE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x31, PAD_ELD_01BF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x31, PAD_ELD_01BF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x32, PAD_ELD_01C0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x32, PAD_ELD_01C0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x33, PAD_ELD_01C1, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x33, PAD_ELD_01C1, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x34, PAD_ELD_01C2, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x34, PAD_ELD_01C2, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x35, PAD_ELD_01C3, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x35, PAD_ELD_01C3, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0035, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x36, PAD_ELD_01C4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x36, PAD_ELD_01C4, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0036, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3d, PAD_ELD_01CB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3d, PAD_ELD_01CB, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x37, PAD_ELD_01C5, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00200000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x37, PAD_ELD_01C5, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0037, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x38, PAD_ELD_01C6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00200000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x38, PAD_ELD_01C6, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0038, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x39, PAD_ELD_01C7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00200000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_00000200, 0x39, PAD_ELD_01C7, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0039, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3a, PAD_ELD_01C8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3a, PAD_ELD_01C8, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3b, PAD_ELD_01C9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3b, PAD_ELD_01C9, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3c, PAD_ELD_01CA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3c, PAD_ELD_01CA, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3e, PAD_ELD_01CC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3e, PAD_ELD_01CC, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3f, PAD_ELD_01CD, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3f, PAD_ELD_01CD, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x40, PAD_ELD_01CE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x40, PAD_ELD_01CE, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE2_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0040, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x41, PAD_ELD_01CF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x41, PAD_ELD_01CF, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0041, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x42, PAD_ELD_01D0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x42, PAD_ELD_01D0, BODY_DD_GUARD, HEAD_RANDOM, AILIST_INIT_TYPE1_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0042, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x43, PAD_ELD_01D1, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT1, PAD_ELD_01D1, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0043, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x44, PAD_ELD_01D2, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT2, PAD_ELD_01D2, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0044, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x45, PAD_ELD_01D3, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT3, PAD_ELD_01D3, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0045, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x46, PAD_ELD_01D4, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT4, PAD_ELD_01D4, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0046, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x47, PAD_ELD_01D5, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT5, PAD_ELD_01D5, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0047, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x48, PAD_ELD_01D6, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, 0x0233, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_01000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT6, PAD_ELD_01D6, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, 0x0233, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0048, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) - chr(0, 0x49, PAD_ELD_01D7, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, 0x00d2, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_01000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT7, PAD_ELD_01D7, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, 0x00d2, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0049, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x4a, PAD_ELD_01D8, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT8, PAD_ELD_01D8, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x4b, PAD_ELD_01D9, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, CHR_BASEMENT9, PAD_ELD_01D9, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_BASEMENT_GUARD, -1, -1, 500, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x51, PAD_ELD_00DC, BODY_CARRINGTON, HEAD_CARRINGTON, AILIST_CARRINGTON, -1, -1, 500, 50, 0, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, 0x52, PAD_ELD_022C, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, 0x8d, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CARRINGTON, PAD_ELD_00DC, BODY_CARRINGTON, HEAD_CARRINGTON, AILIST_CARRINGTON, -1, -1, 500, 50, 0, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, CHR_HACKER1, PAD_ELD_022C, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, 0x8d, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0052, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, 0x53, PAD_ELD_022D, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_00, 0x8b, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, CHR_HACKER2, PAD_ELD_022D, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_00, 0x8b, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0053, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, 0x54, PAD_ELD_022E, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000, 0, TEAM_20, SQUADRON_00, 0x8c, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_RTRACKED, CHR_HACKER3, PAD_ELD_022E, BODY_DD_SHOCK_INF, HEAD_RANDOM, AILIST_INIT_HACKER, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS, 0, TEAM_20, SQUADRON_00, 0x8c, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0054, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x4c, PAD_ELD_0096, BODY_DD_GUARD, HEAD_RANDOM, AILIST_PATH01, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4c, PAD_ELD_0096, BODY_DD_GUARD, HEAD_RANDOM, AILIST_PATH01, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_LOOK_AROUND, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x4d, PAD_ELD_0085, BODY_DD_GUARD, HEAD_RANDOM, AILIST_PATH02, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x4d, PAD_ELD_0085, BODY_DD_GUARD, HEAD_RANDOM, AILIST_PATH02, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x004d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x55, PAD_ELD_0234, BODY_CISOLDIER, HEAD_RANDOM, AILIST_CISOLIDER, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CISOLDIER, PAD_ELD_0234, BODY_CISOLDIER, HEAD_RANDOM, AILIST_CISOLIDER, -1, -1, 500, 50, CHRFLAG0_CAN_FLANK | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSNIPERRIFLE, 0x0055, OBJFLAG_ASSIGNEDTOCHR, OBJFLAG2_EXCLUDE_A | OBJFLAG2_EXCLUDE_SA, 0, WEAPON_SNIPERRIFLE) tinted_glass(0x0100, MODEL_WINDOW, PAD_ELD_0151, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_INVINCIBLE | OBJFLAG_DEACTIVATED, OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x012c0258) tinted_glass(0x0100, MODEL_WINDOW, PAD_ELD_0152, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_INVINCIBLE | OBJFLAG_DEACTIVATED, OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x012c0258) @@ -1490,8 +1490,8 @@ u8 func0402_taker[] = { label(0x03) if_difficulty_gt(DIFF_SA, /*goto*/ 0x2d) - if_self_flag_bankx_eq(CHRFLAG0_04000000, TRUE, BANK_0, /*goto*/ 0x6f) - set_self_flag_bankx(CHRFLAG0_04000000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_HOLD_POSITION, TRUE, BANK_0, /*goto*/ 0x6f) + set_self_flag_bankx(CHRFLAG0_HOLD_POSITION, BANK_0) label(0x2d) restart_timer if_difficulty_lt(DIFF_PA, /*goto*/ 0x63) @@ -1509,7 +1509,7 @@ u8 func0402_taker[] = { beginloop(0x05) if_distance_to_target_gt(1000, /*goto*/ 0x2e) if_distance_to_target_lt(300, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) if_chr_weapon_equipped(CHR_BOND, WEAPON_LAPTOPGUN, /*goto*/ 0x0b) label(0x2d) if_timer_gt(600, /*goto*/ 0x06) @@ -1522,19 +1522,19 @@ u8 func0402_taker[] = { // Jo got too close label(0x06) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x09) - label(0x09) - yield - if_chr_stopped(/*goto*/ 0x06) - goto_first(0x09) + + beginloop(0x09) + if_chr_stopped(/*goto*/ 0x06) + endloop(0x09) label(0x06) goto_first(0x03) // Laptop gun equipped label(0x0b) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer chr_do_animation(ANIM_SURPRISED_0202, 0, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) @@ -1557,7 +1557,7 @@ u8 func0402_taker[] = { dprint 'A','I','M','I','N','G',' ','A','T',' ','M','E','\n',0, if_chr_distance_to_pad_lt(CHR_P1P2, 200, PAD_ELD_0236, /*goto*/ 0x06) label(0x2d) - if_self_flag_bankx_eq(CHRFLAG0_00200000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_CAN_FLEESURRENDER, TRUE, BANK_0, /*goto*/ 0x06) set_target_chr(CHR_NEGOTIATOR) if_chr_death_animation_finished(CHR_NEGOTIATOR, /*goto*/ 0x10) if_chr_dead(CHR_NEGOTIATOR, /*goto*/ 0x10) @@ -1570,8 +1570,8 @@ u8 func0402_taker[] = { endloop(0x04) label(0x06) - set_chr_flag_bankx(CHR_TAKER1, CHRFLAG0_00200000, BANK_0) - set_chr_flag_bankx(CHR_TAKER2, CHRFLAG0_00200000, BANK_0) + set_chr_flag_bankx(CHR_TAKER1, CHRFLAG0_CAN_FLEESURRENDER, BANK_0) + set_chr_flag_bankx(CHR_TAKER2, CHRFLAG0_CAN_FLEESURRENDER, BANK_0) restart_timer beginloop(0x0c) @@ -1782,7 +1782,7 @@ u8 func0404_sniper[] = { set_shotlist(AILIST_SNIPER) set_target_chr(CHR_BOND) if_chr_dead(CHR_SELF, /*goto*/ 0x64) - if_self_flag_bankx_eq(CHRFLAG0_08000000, TRUE, BANK_0, /*goto*/ 0x04) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE2, TRUE, BANK_0, /*goto*/ 0x04) beginloop(0x60) if_near_miss(/*goto*/ 0x04) @@ -2393,7 +2393,10 @@ u8 func1013_check_guard_subdued[] = { beginloop(0x04) if_num_subdued(0, OPERATOR_GREATER_THAN, /*goto*/ 0x06) - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x66) + + // @bug? I think this is supposed to be if_stage_flag_eq... + // CHRFLAG0_ALERT_ON_HEARSPAWN uses the same bitmask as STAGEFLAG_GUARD_CAPTURED. + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x66) unset_stage_flag(STAGEFLAG_GUARD_CAPTURED) label(0x66) reloop(0x04) @@ -3186,20 +3189,20 @@ u8 func0411_cisoldier[] = { }; /** - * This should be investigated more. + * On PA, mark some guards so that AI buddies will not shoot at them. */ u8 func1024_set_chr_flags_on_pa[] = { yield if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d) - set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_08000000) - set_chr_hiddenflag(0x0a, CHRHFLAG_08000000) - set_chr_hiddenflag(0x23, CHRHFLAG_08000000) - set_chr_hiddenflag(0x2f, CHRHFLAG_08000000) - set_chr_hiddenflag(0x34, CHRHFLAG_08000000) - set_chr_hiddenflag(0x37, CHRHFLAG_08000000) - set_chr_hiddenflag(0x3e, CHRHFLAG_08000000) - set_chr_hiddenflag(CHR_BASEMENT6, CHRHFLAG_08000000) - set_chr_hiddenflag(CHR_BASEMENT8, CHRHFLAG_08000000) + set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x0a, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x23, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x2f, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x34, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x37, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(0x3e, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(CHR_BASEMENT6, CHRHFLAG_DONTSHOOTME) + set_chr_hiddenflag(CHR_BASEMENT8, CHRHFLAG_DONTSHOOTME) label(0x2d) set_ailist(CHR_SELF, GAILIST_IDLE) endlist diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index f2624fc28..37a21095c 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -282,96 +282,96 @@ u32 props[] = { stdobject(0x0100, MODEL_DD_CHAIR, PAD_IMP_0220, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100 | OBJFLAG_ILLUMINATED, 0, OBJFLAG3_PUSHABLE, 1000) stdobject(0x0100, MODEL_DD_DESK, PAD_IMP_0222, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100 | OBJFLAG_ILLUMINATED, OBJFLAG2_IMMUNETOGUNFIRE, OBJFLAG3_PUSHABLE, 1000) stdobject(0x0100, MODEL_GOODPC, PAD_IMP_0221, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x02, PAD_IMP_00FA, BODY_CILABTECH, HEAD_CHRIST, AILIST_INIT_HOSTAGE_FR1, 0x00b7, -1, 1000, 6, 0, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x02, PAD_IMP_00FA, BODY_CILABTECH, HEAD_CHRIST, AILIST_INIT_HOSTAGE_FR1, 0x00b7, -1, 1000, 6, 0, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x07, PAD_IMP_0013, BODY_CILABTECH, HEAD_BEAU1, AILIST_INIT_HOSTAGE_FR2, 0x00b7, -1, 0, 0, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_0D, 0x00, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x07, PAD_IMP_0013, BODY_CILABTECH, HEAD_BEAU1, AILIST_INIT_HOSTAGE_FR2, 0x00b7, -1, 0, 0, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_0D, 0x00, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x04, PAD_IMP_0103, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_HOLO, -1, -1, 1000, 6, 0, CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x01, PAD_IMP_010B, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_DEVICE_F, -1, -1, 1000, 6, 0, CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x06, PAD_IMP_00FD, BODY_CILABTECH, HEAD_RUSS, AILIST_INIT_HOSTAGE_DEVICE_M, -1, -1, 0, 0, CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_0D, 0x01, 0, 0, 2, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x03, PAD_IMP_010C, BODY_CILABTECH, HEAD_MARK2, AILIST_INIT_HOSTAGE_INFO_M, -1, -1, 1000, 6, 0, CHRFLAG1_00000001 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x08, PAD_IMP_00F7, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_INFO_F, -1, -1, 0, 0, 0, CHRFLAG1_00000001 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_0D, 0x02, 0, 0, 2, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x05, PAD_IMP_00FB, BODY_CILABTECH, HEAD_BRIAN, GAILIST_IDLE, 0x00fb, -1, 1000, 6, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x04, PAD_IMP_0103, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_HOLO, -1, -1, 1000, 6, 0, CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x01, PAD_IMP_010B, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_DEVICE_F, -1, -1, 1000, 6, 0, CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x06, PAD_IMP_00FD, BODY_CILABTECH, HEAD_RUSS, AILIST_INIT_HOSTAGE_DEVICE_M, -1, -1, 0, 0, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_0D, 0x01, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x03, PAD_IMP_010C, BODY_CILABTECH, HEAD_MARK2, AILIST_INIT_HOSTAGE_INFO_M, -1, -1, 1000, 6, 0, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x08, PAD_IMP_00F7, BODY_CIFEMTECH, HEAD_SECRETARY, AILIST_INIT_HOSTAGE_INFO_F, -1, -1, 0, 0, 0, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_0D, 0x02, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x05, PAD_IMP_00FB, BODY_CILABTECH, HEAD_BRIAN, GAILIST_IDLE, 0x00fb, -1, 1000, 6, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_05, -1, 0, 2, 0, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_IMP_0142, BODY_CARREVENINGSUIT, HEAD_CARRINGTON, GAILIST_IDLE, 0x0142, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x0c, PAD_IMP_0133, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER1, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_IMP_0142, BODY_CARREVENINGSUIT, HEAD_CARRINGTON, GAILIST_IDLE, 0x0142, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x0c, PAD_IMP_0133, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER1, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_ONLYONPA, 0x0d, PAD_IMP_0134, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA, 0x0d, PAD_IMP_0134, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x0e, PAD_IMP_0135, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x0e, PAD_IMP_0135, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x10, PAD_IMP_0137, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER3, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x10, PAD_IMP_0137, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER3, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x12, PAD_IMP_0139, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER5, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x12, PAD_IMP_0139, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER5, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x13, PAD_IMP_003A, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER4, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x13, PAD_IMP_003A, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER4, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x15, PAD_IMP_013C, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013c, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x15, PAD_IMP_013C, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013c, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x16, PAD_IMP_013D, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013d, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x16, PAD_IMP_013D, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013d, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x17, PAD_IMP_013E, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013e, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x17, PAD_IMP_013E, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013e, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x18, PAD_IMP_013F, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013f, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x18, PAD_IMP_013F, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x013f, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1b, PAD_IMP_0143, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0143, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x1b, PAD_IMP_0143, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0143, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1c, PAD_IMP_0144, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0144, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x1c, PAD_IMP_0144, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0144, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1d, PAD_IMP_0145, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x00b1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x1d, PAD_IMP_0145, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x00b1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1e, PAD_IMP_0146, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0146, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x1e, PAD_IMP_0146, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0146, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x19, PAD_IMP_0140, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0140, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x19, PAD_IMP_0140, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0140, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1a, PAD_IMP_0141, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0141, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x1a, PAD_IMP_0141, BODY_CISOLDIER, HEAD_RANDOM, GAILIST_IDLE, 0x0141, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, 0x1f, PAD_IMP_014B, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x1f, PAD_IMP_014B, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x20, PAD_IMP_014C, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x20, PAD_IMP_014C, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x21, PAD_IMP_014D, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x21, PAD_IMP_014D, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x22, PAD_IMP_014E, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x22, PAD_IMP_014E, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x23, PAD_IMP_014F, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x23, PAD_IMP_014F, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_SHOCK, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x24, PAD_IMP_0150, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_DEVICE_M, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x24, PAD_IMP_0150, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_DEVICE_M, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x25, PAD_IMP_0151, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_DEVICE_F, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_IMP_0151, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_DEVICE_F, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x26, PAD_IMP_0152, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_INFO_F, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x26, PAD_IMP_0152, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_INFO_F, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x27, PAD_IMP_0153, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_INFO_M, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x27, PAD_IMP_0153, BODY_DDSHOCK, HEAD_RANDOM, AILIST_INIT_TAKER_INFO_M, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x14, PAD_IMP_0053, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER6, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x14, PAD_IMP_0053, BODY_DDSHOCK, HEAD_RANDOM, AILIST_SPAWNER6, -1, -1, 200, 100, CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_00000200, 0x28, PAD_IMP_0148, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_IMP_0148, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x29, PAD_IMP_0149, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_IMP_0149, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2a, PAD_IMP_014A, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2a, PAD_IMP_014A, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2b, PAD_IMP_0154, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_IMP_0154, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2c, PAD_IMP_0155, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_IMP_0155, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2d, PAD_IMP_0147, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2d, PAD_IMP_0147, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE_0009, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x30, PAD_IMP_00FF, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x30, PAD_IMP_00FF, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x31, PAD_IMP_0100, BODY_SKEDAR, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x31, PAD_IMP_0100, BODY_SKEDAR, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x32, PAD_IMP_0101, BODY_SKEDAR, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x32, PAD_IMP_0101, BODY_SKEDAR, HEAD_RANDOM, GAILIST_INVINCIBLE_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x33, PAD_IMP_0102, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x33, PAD_IMP_0102, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_FIXEDHEIGHT, 0x34, PAD_IMP_003A, BODY_SKEDAR, HEAD_RANDOM, GAILIST_STOP_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_FIXEDHEIGHT, 0x34, PAD_IMP_003A, BODY_SKEDAR, HEAD_RANDOM, GAILIST_STOP_AND_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x38, PAD_IMP_0051, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_INIT_JONATHAN, PAD_IMP_0051, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x38, PAD_IMP_0051, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_INIT_JONATHAN, PAD_IMP_0051, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x38, PAD_IMP_00BA, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_INIT_JONATHAN, PAD_IMP_00BA, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x38, PAD_IMP_00BA, BODY_CISOLDIER, HEAD_JONATHAN, AILIST_INIT_JONATHAN, PAD_IMP_00BA, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRDY357, 0x0038, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) tag(0x06, 1) @@ -625,7 +625,7 @@ u8 func1400_setup_counterop[] = { add_health_or_armor(0) \ set_recovery_speed(0) \ set_shield(90) \ - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \ + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) \ set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \ label(0x04) \ try_inherit_properties(templatechr, /*goto*/ 0x08) \ @@ -1617,7 +1617,7 @@ u8 func0414_firingrange_hostage[] = { set_ailist(CHR_SELF, GAILIST_IDLE) beginloop(0x04) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x2e) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2e) endloop(0x04) label(0x2e) @@ -1687,8 +1687,8 @@ u8 func100e_setup_firingrange[] = { label(0x2e) set_ailist(CHR_TAKER_FR1, AILIST_INIT_FIRINGRANGE_TAKER) set_ailist(CHR_TAKER_FR2, AILIST_INIT_FIRINGRANGE_TAKER) - set_chr_flag_bankx(CHR_HOSTAGE_FR1, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_HOSTAGE_FR2, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_FR1, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_FR2, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) restart_timer // Wait until player in firing range entrance or door is opening @@ -2338,16 +2338,16 @@ u8 func0430_taker_device_f[] = { label(0x08) increase_squadron_alertness(100) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) restart_timer chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xbc) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x08) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x08) if_timer_lt(120, /*goto*/ 0x08) assign_sound(VERSION >= VERSION_NTSC_1_0 ? SFX_80F6 : SFX_01D9, CHANNEL_7) play_sound_from_entity(CHANNEL_7, CHR_SELF, 0x0bb8, 0x1770, 0x01) - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) label(0x08) if_chr_stopped(/*goto*/ 0x2e) endloop(0xbc) @@ -2440,7 +2440,7 @@ u8 func0433_inforoom_hostage[] = { set_ailist(CHR_SELF, GAILIST_IDLE) beginloop(0x04) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x08) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x08) endloop(0x04) label(0x08) @@ -2449,7 +2449,7 @@ u8 func0433_inforoom_hostage[] = { // This flag is assigned at random to one of the two hostages label(0x2e) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x0e) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x0e) // Flag not set - run and cower run_to_pad(PAD_IMP_010D) @@ -2476,7 +2476,7 @@ u8 func0433_inforoom_hostage[] = { goto_next(0x0d) label(0x2e) - unset_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + unset_self_flag_bankx(CHRFLAG0_GP1, BANK_0) set_shotlist(AILIST_INFOROOM_HOSTAGE) set_returnlist(CHR_SELF, AILIST_INFOROOM_HOSTAGE) set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) @@ -2501,16 +2501,16 @@ u8 func1012_info_room[] = { call_rng if_rand_gt(128, /*goto*/ 0x0a) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_00000004, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_GP1, BANK_0) set_chr_maxdamage(CHR_TAKER_INFO_M, 10) goto_next(0x2e) label(0x0a) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_00000004, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_M, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_HOSTAGE_INFO_F, CHRFLAG0_GP1, BANK_0) set_chr_maxdamage(CHR_TAKER_INFO_F, 10) label(0x2e) @@ -2521,8 +2521,8 @@ u8 func1012_info_room[] = { endloop(0x0b) label(0x08) - set_chr_flag_bankx(CHR_TAKER_INFO_F, CHRFLAG0_00002000, BANK_0) - set_chr_flag_bankx(CHR_TAKER_INFO_M, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(CHR_TAKER_INFO_F, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_chr_flag_bankx(CHR_TAKER_INFO_M, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -2549,7 +2549,7 @@ u8 func0436_taker_info_m[] = { label(0x08) beginloop(0x0a) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x08) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x08) endloop(0x0a) label(0x08) @@ -2582,7 +2582,7 @@ u8 func0438_taker_info_f[] = { label(0x08) beginloop(0x0a) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x08) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x08) endloop(0x0a) label(0x08) @@ -3052,7 +3052,7 @@ u8 func1015_firingrange_pc[] = { add_health_or_armor(0) \ set_recovery_speed(0) \ set_shield(90) \ - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \ + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) \ label(0x04) \ try_inherit_properties(templatechr, /*goto*/ 0x08) \ label(0x08) \ diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index 603e78315..7fcdb53fc 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -286,111 +286,111 @@ u32 props[] = { lift_door(-2, -4, 0) chr(SPAWNFLAG_00000200, 0x01, PAD_LEE_01CF, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_KNIFEABLE_SKEDAR, -1, -1, 1000, 8, 0, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x35, PAD_LEE_00E8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SHY_SKEDAR, -1, -1, 1000, 6, CHRFLAG0_00002000, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x35, PAD_LEE_00E8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SHY_SKEDAR, -1, -1, 1000, 6, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0035, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x05, PAD_LEE_01CD, BODY_SKEDAR, HEAD_RANDOM, 0x0401, -1, -1, 100, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 4, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_LEE_01CD, BODY_SKEDAR, HEAD_RANDOM, 0x0401, -1, -1, 100, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 4, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x06, PAD_LEE_01CE, BODY_SKEDAR, HEAD_RANDOM, 0x0402, -1, -1, 100, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 4, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_LEE_01CE, BODY_SKEDAR, HEAD_RANDOM, 0x0402, -1, -1, 100, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 4, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x07, PAD_LEE_00B1, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x07, PAD_LEE_00B1, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x08, PAD_LEE_00AE, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x08, PAD_LEE_00AE, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x09, PAD_LEE_01D0, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x09, PAD_LEE_01D0, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x0a, PAD_LEE_010D, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x0a, PAD_LEE_010D, BODY_SKEDAR, HEAD_RANDOM, AILIST_HANGARSPAWNER, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_BLUESIGHT, 0x2e, PAD_LEE_01D8, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_HANGAR_MAIAN, 0x00b4, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x2e, PAD_LEE_01D8, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_HANGAR_MAIAN, 0x00b4, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x002e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CALLISTO) - chr(SPAWNFLAG_BLUESIGHT, 0x2f, PAD_LEE_01D9, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_HANGAR_MAIAN, 0x00b4, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x2f, PAD_LEE_01D9, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_HANGAR_MAIAN, 0x00b4, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x002f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CALLISTO) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x30, PAD_LEE_01F5, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, 0x00b4, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_LEE_00FE, BODY_ELVISWAISTCOAT, HEAD_ELVIS, AILIST_ELVIS_WAIT_FOR_HANGAR_ENTRY, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_PUNCHHARDER, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_BLUESIGHT, 0x30, PAD_LEE_01F5, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, 0x00b4, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_LEE_00FE, BODY_ELVISWAISTCOAT, HEAD_ELVIS, AILIST_ELVIS_WAIT_FOR_HANGAR_ENTRY, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_PUNCHHARDER, TEAM_NONCOMBAT, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANPISTOL, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_PHOENIX) weapon(0x0100, MODEL_CHRMAIANPISTOL, 0x0000, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_PHOENIX) link_guns(-1, -2) weapon(0x0100, MODEL_CHRPCGUN, PAD_LEE_001D, 0, 0, 0, WEAPON_AR34) tag(0x18, -1) - chr(SPAWNFLAG_ONLYONPA, 0x02, PAD_LEE_00D6, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE_0009, -1, -1, 1000, 200, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA, 0x02, PAD_LEE_00D6, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE_0009, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_ONLYONPA, 0x37, PAD_LEE_00D0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA, 0x37, PAD_LEE_00D0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0037, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x0b, PAD_LEE_0020, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_LEE_0020, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x0c, PAD_LEE_001F, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_LEE_001F, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x0d, PAD_LEE_004B, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(0, 0x0d, PAD_LEE_004B, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x0e, PAD_LEE_004C, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(0, 0x0e, PAD_LEE_004C, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x0f, PAD_LEE_004D, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(0, 0x0f, PAD_LEE_004D, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x10, PAD_LEE_004E, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(0, 0x10, PAD_LEE_004E, BODY_SKEDAR, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_NONCOMBAT, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x11, PAD_LEE_0028, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_LEE_0028, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x12, PAD_LEE_0044, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_LEE_0044, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x13, PAD_LEE_0039, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_LEE_0039, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x14, PAD_LEE_0035, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_LEE_0035, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x15, PAD_LEE_0036, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_LEE_0036, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x16, PAD_LEE_0052, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_LEE_0052, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x17, PAD_LEE_0051, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_LEE_0051, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x18, PAD_LEE_0053, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x18, PAD_LEE_0053, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x19, PAD_LEE_0054, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_LEE_0054, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1a, PAD_LEE_01DB, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1a, PAD_LEE_01DB, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1b, PAD_LEE_005E, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_LEE_005E, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1c, PAD_LEE_0059, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_LEE_0059, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1d, PAD_LEE_0056, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_LEE_0056, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1e, PAD_LEE_005F, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_LEE_005F, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x1f, PAD_LEE_0055, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_LEE_0055, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x20, PAD_LEE_0060, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_LEE_0060, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x21, PAD_LEE_0068, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_LEE_0068, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x22, PAD_LEE_0069, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_LEE_0069, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x25, PAD_LEE_0089, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE1AND2, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x25, PAD_LEE_0089, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE1AND2, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x26, PAD_LEE_0088, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE1AND2, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x26, PAD_LEE_0088, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE1AND2, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x2d, PAD_LEE_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE3, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x2d, PAD_LEE_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_BRIDGE3, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAULER) weapon(0x0100, MODEL_CHRMAULER, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) link_guns(-1, -2) tag(0x43, -3) tag(0x44, -3) - chr(0, 0x31, PAD_LEE_0095, BODY_SKEDAR, HEAD_RANDOM, 0x0415, -1, -1, 1000, 200, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x31, PAD_LEE_0095, BODY_SKEDAR, HEAD_RANDOM, 0x0415, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x32, PAD_LEE_0096, BODY_SKEDAR, HEAD_RANDOM, 0x0415, -1, -1, 1000, 200, CHRFLAG0_00000004 | CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x32, PAD_LEE_0096, BODY_SKEDAR, HEAD_RANDOM, 0x0415, -1, -1, 1000, 200, CHRFLAG0_GP1 | CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x33, PAD_LEE_00DB, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x34, PAD_LEE_00E3, BODY_SKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x33, PAD_LEE_00DB, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x34, PAD_LEE_00E3, BODY_SKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR, CHRFLAG1_ADJUSTPUNCHSPEED, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x27, PAD_LEE_0002, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x27, PAD_LEE_0002, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x28, PAD_LEE_0006, BODY_SKEDAR, HEAD_RANDOM, 0x0403, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_LEE_0006, BODY_SKEDAR, HEAD_RANDOM, 0x0403, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x29, PAD_LEE_0008, BODY_SKEDAR, HEAD_RANDOM, 0x0406, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_LEE_0008, BODY_SKEDAR, HEAD_RANDOM, 0x0406, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2a, PAD_LEE_0005, BODY_SKEDAR, HEAD_RANDOM, 0x0404, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2a, PAD_LEE_0005, BODY_SKEDAR, HEAD_RANDOM, 0x0404, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2b, PAD_LEE_000D, BODY_SKEDAR, HEAD_RANDOM, 0x0405, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_LEE_000D, BODY_SKEDAR, HEAD_RANDOM, 0x0405, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_00000200, 0x2c, PAD_LEE_006B, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_LEE_006B, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_SKEDAR, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) tag(0x4a, 1) key(0x0100, MODEL_CHRCHAIN, 0x0033, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_COLLECTABLE | OBJFLAG_REACTIFSHOT | OBJFLAG_01000000, 0, 0, 8) @@ -1060,7 +1060,7 @@ u8 func0409_elvis_follow[] = { endloop(0x10) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) show_hudmsg(CHR_BOND, L_LEE_013) // "Navigational information has been retrieved." speak(CHR_PRESET, L_LEE_031, MP3_02E4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards..." restart_timer @@ -1628,7 +1628,7 @@ u8 func1008_hangar_lifts[] = { u8 func0407_init_knifeable_skedar[] = { add_health_or_armor(160) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_self_chrflag(CHRCFLAG_00040000) set_ailist(CHR_SELF, AILIST_KNIFEABLE_SKEDAR) endlist @@ -1759,7 +1759,7 @@ u8 func1009_keep_door_open_in_intro[] = { endloop(0x04) label(0x06) - set_chr_flag_bankx(CHR_KNIFEABLE_SKEDAR, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(CHR_KNIFEABLE_SKEDAR, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -1858,7 +1858,7 @@ u8 func0412_hangarspawner[] = { u8 func0413_init_hangarclone[] = { set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x04) rebuild_teams rebuild_squadrons @@ -2379,12 +2379,12 @@ u8 func0416_init_bridgeclone[] = { set_recovery_speed(0) set_shield(0) set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x04) rebuild_teams rebuild_squadrons - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2c) try_inherit_properties(CHR_BRIDGESPAWNER1, /*goto*/ 0x06) label(0x06) @@ -2425,7 +2425,7 @@ u8 func041a_bridgeclone[] = { // Alive label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2c) set_target_chr(CHR_ELVIS) goto_next(LABEL_C2) @@ -3139,7 +3139,7 @@ u8 func0421_bridge_skedar[] = { label(0x08) set_self_chrflag(CHRCFLAG_00000040) label(LABEL_C6) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) set_target_chr(CHR_BOND) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ LABEL_C7) label(0x06) @@ -3167,8 +3167,8 @@ u8 func0421_bridge_skedar[] = { label(LABEL_C8) set_view_distance(100) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2c) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2c) goto_next(LABEL_CA) @@ -3197,8 +3197,8 @@ u8 func0421_bridge_skedar[] = { label(LABEL_C9) set_view_distance(100) restart_timer - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ LABEL_CD) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ LABEL_CD) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) label(LABEL_CD) call_rng @@ -3235,7 +3235,7 @@ u8 func0421_bridge_skedar[] = { goto_first(LABEL_C8) label(LABEL_CA) - if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ LABEL_60) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, FALSE, BANK_0, /*goto*/ LABEL_60) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ LABEL_B1) label(LABEL_B1) say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index b4c7f7350..6db42bfbe 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -371,144 +371,144 @@ u32 props[] = { fail_flags(STAGEFLAG_CRATE_DESTROYED) endobjective - chr(SPAWNFLAG_00000200, 0x00, PAD_LIP_039F, BODY_A51AIRMAN, HEAD_RANDOM, 0x0401, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_LIP_039F, BODY_A51AIRMAN, HEAD_RANDOM, 0x0401, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x01, PAD_LIP_03A2, BODY_A51AIRMAN, HEAD_RANDOM, 0x0402, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_LIP_03A2, BODY_A51AIRMAN, HEAD_RANDOM, 0x0402, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x02, PAD_LIP_03A3, BODY_A51AIRMAN, HEAD_RANDOM, 0x0403, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_LIP_03A3, BODY_A51AIRMAN, HEAD_RANDOM, 0x0403, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x03, PAD_LIP_03A4, BODY_A51AIRMAN, HEAD_RANDOM, 0x0404, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_LIP_03A4, BODY_A51AIRMAN, HEAD_RANDOM, 0x0404, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x04, PAD_LIP_03A5, BODY_A51AIRMAN, HEAD_RANDOM, 0x0405, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_LIP_03A5, BODY_A51AIRMAN, HEAD_RANDOM, 0x0405, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x05, PAD_LIP_0386, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 2000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_LIP_0386, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 2000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x06, PAD_LIP_0387, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 2000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_LIP_0387, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 2000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x07, PAD_LIP_03A7, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_LIP_03A7, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x08, PAD_LIP_03A6, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_RETREAT | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x09, PAD_LIP_03A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_LIP_03A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0a, PAD_LIP_03CB, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_LIP_03CB, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0b, PAD_LIP_03A9, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_LIP_03A9, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0c, PAD_LIP_03AA, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_LIP_03AA, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0d, PAD_LIP_01BB, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_LIP_01BB, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0e, PAD_LIP_01BC, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_LIP_01BC, BODY_A51AIRMAN, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0f, PAD_LIP_03AB, BODY_AREA51GUARD, HEAD_RANDOM, 0x0407, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_LIP_03AB, BODY_AREA51GUARD, HEAD_RANDOM, 0x0407, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x10, PAD_LIP_03AC, BODY_AREA51GUARD, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_LIP_03AC, BODY_AREA51GUARD, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x11, PAD_LIP_03AE, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_LIP_03AE, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_BLUESIGHT, 0x3a, PAD_LIP_03AF, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_RECORDS, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x27, PAD_LIP_03BF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 100, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x3a, PAD_LIP_03AF, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_RECORDS, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x27, PAD_LIP_03BF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 100, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x28, PAD_LIP_03C0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 100, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_LIP_03C0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 100, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x12, PAD_LIP_03B1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_LIP_03B1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3b, PAD_LIP_03D8, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_LIGHTS, -1, -1, 1000, 6, CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_06, 0x3b, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_00000200, 0x13, PAD_LIP_03B2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x3b, PAD_LIP_03D8, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_LIGHTS, -1, -1, 1000, 6, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_06, 0x3b, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_LIP_03B2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_BLUESIGHT, 0x3c, PAD_LIP_03C9, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_DOORS, 0x03c8, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_BLUESIGHT, 0x42, PAD_LIP_03B3, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_DOORS, 0x03c9, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x14, PAD_LIP_00F7, BODY_AREA51GUARD, HEAD_RANDOM, 0x0409, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x3c, PAD_LIP_03C9, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_DOORS, 0x03c8, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x42, PAD_LIP_03B3, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH_DOORS, 0x03c9, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_LIP_00F7, BODY_AREA51GUARD, HEAD_RANDOM, 0x0409, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x15, PAD_LIP_00F0, BODY_AREA51GUARD, HEAD_RANDOM, 0x040a, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_LIP_00F0, BODY_AREA51GUARD, HEAD_RANDOM, 0x040a, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) chr(SPAWNFLAG_BLUESIGHT, 0x3d, PAD_LIP_03B4, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH, -1, -1, 1000, 100, 0, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x18, PAD_LIP_00C7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x18, PAD_LIP_00C7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1e, PAD_LIP_0130, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, 0x0132, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_LIP_0130, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, 0x0132, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x19, PAD_LIP_0131, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, 0x0136, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_LIP_0131, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, 0x0136, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x1a, PAD_LIP_013B, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, 0x013c, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1a, PAD_LIP_013B, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, 0x013c, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1d, PAD_LIP_0137, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, 0x013a, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_LIP_0137, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, 0x013a, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x1b, PAD_LIP_0123, BODY_AREA51GUARD, HEAD_RANDOM, 0x040b, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_LIP_0123, BODY_AREA51GUARD, HEAD_RANDOM, 0x040b, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1c, PAD_LIP_0124, BODY_AREA51GUARD, HEAD_RANDOM, 0x040c, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_LIP_0124, BODY_AREA51GUARD, HEAD_RANDOM, 0x040c, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(0, 0x3e, PAD_LIP_03C1, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_HARRYSMATE, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) - chr(0, 0x3f, PAD_LIP_03C2, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_KEYCARDGUY, -1, -1, 1000, 15, CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x39, PAD_LIP_0121, BODY_AREA51GUARD, HEAD_BEAU1, AILIST_INIT_DOORMAN, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(0, 0x3e, PAD_LIP_03C1, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_HARRYSMATE, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(0, 0x3f, PAD_LIP_03C2, BODY_LABTECH, HEAD_RANDOM, AILIST_LABTECH_KEYCARDGUY, -1, -1, 1000, 15, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x39, PAD_LIP_0121, BODY_AREA51GUARD, HEAD_BEAU1, AILIST_INIT_DOORMAN, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0039, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x33, PAD_LIP_03CC, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x33, PAD_LIP_03CC, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x34, PAD_LIP_03CD, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x34, PAD_LIP_03CD, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x37, PAD_LIP_03D0, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x37, PAD_LIP_03D0, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0037, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x2c, PAD_LIP_03D1, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_LIP_03D1, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x2d, PAD_LIP_03D2, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2d, PAD_LIP_03D2, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x2e, PAD_LIP_03D3, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2e, PAD_LIP_03D3, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x002e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x2f, PAD_LIP_03D4, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2f, PAD_LIP_03D4, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x30, PAD_LIP_03D5, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x30, PAD_LIP_03D5, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x31, PAD_LIP_03D6, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x31, PAD_LIP_03D6, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x32, PAD_LIP_03D7, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x32, PAD_LIP_03D7, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1f, PAD_LIP_03B5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_LIP_03B5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x20, PAD_LIP_03B6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_LIP_03B6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x21, PAD_LIP_03B7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_LIP_03B7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x22, PAD_LIP_03B8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_LIP_03B8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) #if VERSION >= VERSION_NTSC_1_0 - chr(0, 0x23, PAD_LIP_03B9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x23, PAD_LIP_03B9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x23, PAD_LIP_03B9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x23, PAD_LIP_03B9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) #if VERSION >= VERSION_NTSC_1_0 - chr(0, 0x24, PAD_LIP_03BA, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x24, PAD_LIP_03BA, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x24, PAD_LIP_03BA, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x24, PAD_LIP_03BA, BODY_BIOTECH, HEAD_BIOTECH, AILIST_BIOTECH_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRDRUGGUN, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) #if VERSION >= VERSION_NTSC_1_0 - chr(0, 0x25, PAD_LIP_03BB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_LIP_03BB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x25, PAD_LIP_03BB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x25, PAD_LIP_03BB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) #if VERSION >= VERSION_NTSC_1_0 - chr(0, 0x26, PAD_LIP_03BC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x26, PAD_LIP_03BC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200, 0x26, PAD_LIP_03BC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x26, PAD_LIP_03BC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x40, PAD_LIP_03BE, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH1, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_NONCOMBAT, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x40, PAD_LIP_03BE, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH1, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_NONCOMBAT, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x0040, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_UNCOLLECTABLE, 0, 0, WEAPON_SCREWDRIVER) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x41, PAD_LIP_03DC, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH2, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_NONCOMBAT, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x41, PAD_LIP_03DC, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH2, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_NONCOMBAT, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x0041, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_UNCOLLECTABLE, 0, 0, WEAPON_SCREWDRIVER) - chr(SPAWNFLAG_BLUESIGHT, 0x43, PAD_LIP_01DE, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_MECHANIC, -1, -1, 1000, 5, CHRFLAG0_00004000 | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x43, PAD_LIP_01DE, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_MECHANIC, -1, -1, 1000, 5, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) tag(0x2f, 1) hover_prop(0x0100, MODEL_HOVERBED, PAD_LIP_03BD, 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_HOVERBEDSHIELD, 1000, 0x00010000) - chr(0, 0x44, PAD_LIP_0196, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_HIDDENGUY, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x44, PAD_LIP_0196, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_HIDDENGUY, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0044, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x47, PAD_LIP_0119, BODY_AREA51GUARD, HEAD_RANDOM, 0x0429, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x47, PAD_LIP_0119, BODY_AREA51GUARD, HEAD_RANDOM, 0x0429, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0047, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x48, PAD_LIP_020A, BODY_A51AIRMAN, HEAD_JONATHAN, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x48, PAD_LIP_020A, BODY_A51AIRMAN, HEAD_JONATHAN, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0048, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x49, PAD_LIP_0197, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x38, PAD_LIP_0134, BODY_ELVIS1, HEAD_ELVIS, AILIST_ALIEN, -1, -1, 2000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_NONCOMBAT, SQUADRON_09, 0x1a, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x49, PAD_LIP_0197, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x38, PAD_LIP_0134, BODY_ELVIS1, HEAD_ELVIS, AILIST_ALIEN, -1, -1, 2000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_NONCOMBAT, SQUADRON_09, 0x1a, 0, 0, 1, 0, 0) door_scale(0x00008000) tag(0x35, 1) lift(0x0100, MODEL_A51_LIFT_STORE, PAD_LIP_0334, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x0334, 0x0335, -1, -1, 0x00000001, 0x00000002, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x20000000) @@ -1581,7 +1581,7 @@ u8 func0410_labtech_showers_sa_pa[] = { // Detected Jo label(LABEL_2D) label(0x03) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ LABEL_56) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_56) restart_timer label(0x08) try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x09) @@ -1671,9 +1671,9 @@ u8 func0410_labtech_showers_sa_pa[] = { // Jo is in one of many rooms with nothing equipped - attack her label(LABEL_2D) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ LABEL_2D) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_2D) speak(CHR_TARGET, L_LIP_044, MP3_0333, CHANNEL_4, COLOR_08_RED) // "Right - you've asked for it!" - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) goto_next(0x06) label(LABEL_2D) @@ -2837,7 +2837,7 @@ u8 func041f_labtech_lights[] = { goto_next(LABEL_5E) label(0x06) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) restart_timer beginloop(LABEL_55) @@ -2852,7 +2852,7 @@ u8 func041f_labtech_lights[] = { endloop(LABEL_55) label(LABEL_5E) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ LABEL_53) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_53) call_rng if_rand_lt(86, /*goto*/ LABEL_69) if_rand_lt(172, /*goto*/ LABEL_6A) @@ -2870,7 +2870,7 @@ u8 func041f_labtech_lights[] = { beginloop(0x04) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ LABEL_53) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_53) if_target_in_sight(/*goto*/ 0x03) if_chr_idle(/*goto*/ 0x06) goto_first(LABEL_5E) @@ -2882,7 +2882,7 @@ u8 func041f_labtech_lights[] = { label(0x03) object_do_animation(ANIM_025A, 0xff, 0x02, 0xffff) dprint 'T','A','L','K',' ','0','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ LABEL_53) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_53) restart_timer label(0x08) try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x09) @@ -2914,7 +2914,7 @@ u8 func041f_labtech_lights[] = { label(LABEL_2D) speak(CHR_TARGET, L_LIP_083, MP3_027F, CHANNEL_4, COLOR_08_RED) // "Should you be in here?" restart_timer - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) beginloop(LABEL_64) if_sound_finished(CHANNEL_4, /*goto*/ 0x06) @@ -2930,7 +2930,7 @@ u8 func041f_labtech_lights[] = { label(0x06) speak(CHR_TARGET, L_LIP_082, MP3_SCI_LEAVE_THIS_AREA, CHANNEL_4, COLOR_08_RED) // "Leave this area now." restart_timer - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) beginloop(LABEL_66) if_sound_finished(CHANNEL_4, /*goto*/ LABEL_53) @@ -2940,7 +2940,7 @@ u8 func041f_labtech_lights[] = { endloop(LABEL_66) label(LABEL_53) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) label(0x0a) set_target_chr(CHR_BOND) @@ -2956,7 +2956,7 @@ u8 func041f_labtech_lights[] = { goto_first(0x0a) label(LABEL_2D) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) set_returnlist(CHR_SELF, AILIST_LABTECH_LIGHTS) set_ailist(CHR_SELF, GAILIST_HAND_COMBAT) @@ -3020,7 +3020,7 @@ u8 func041f_labtech_lights[] = { label(0x0f) speak(CHR_TARGET, L_LIP_084, SFX_M1_HOLY, CHANNEL_4, COLOR_08_RED) // "Holy..." - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) chr_do_animation(ANIM_SURPRISED_0202, -1, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2) restart_timer @@ -3029,7 +3029,7 @@ u8 func041f_labtech_lights[] = { endloop(0x10) label(LABEL_2D) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) goto_first(LABEL_53) endlist @@ -3096,7 +3096,7 @@ u8 func0420_labtech_doors[] = { label(LABEL_2D) if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ LABEL_2E) if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ LABEL_2E) - if_self_flag_bankx_eq(CHRFLAG0_08000000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE2, TRUE, BANK_0, /*goto*/ 0x06) label(LABEL_2E) if_can_see_target(/*goto*/ 0x03) label(0x06) @@ -3137,15 +3137,15 @@ u8 func0420_labtech_doors[] = { goto_next(0x06) label(LABEL_2D) - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) say_quip(CHR_BOND, QUIP_GREETING, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) - set_self_flag_bankx(CHRFLAG0_08000000, BANK_0) + set_self_flag_bankx(CHRFLAG0_COVER_TYPE2, BANK_0) beginloop(LABEL_7B) if_saw_injury(0x00, /*goto*/ LABEL_89) if_saw_death(0x00, /*goto*/ LABEL_89) dprint 'T','A','L','K',' ','5','\n',0, - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ LABEL_2D) + if_chr_not_talking(CHR_SELF, /*goto*/ LABEL_2D) endloop(LABEL_7B) label(LABEL_2D) @@ -3161,7 +3161,7 @@ u8 func0420_labtech_doors[] = { endloop(LABEL_83) label(LABEL_2D) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ LABEL_2E) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ LABEL_2E) speak(CHR_BOND, L_LIP_085, MP3_M0_ITS_A_SPY, CHANNEL_4, COLOR_08_RED) // "It's a spy!" goto_next(LABEL_2D) @@ -3177,7 +3177,7 @@ u8 func0420_labtech_doors[] = { label(0x06) restart_timer - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ LABEL_2D) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ LABEL_2D) try_face_entity(ATTACKFLAG_AIMATPAD, PAD_LIP_03C6, /*goto*/ LABEL_70) label(LABEL_2D) try_face_entity(ATTACKFLAG_AIMATPAD, PAD_LIP_03C7, /*goto*/ LABEL_70) @@ -3196,7 +3196,7 @@ u8 func0420_labtech_doors[] = { if_stage_flag_eq(STAGEFLAG_AUTOGUN_ACTIVATED, TRUE, /*goto*/ 0x06) if_stage_flag_eq(STAGEFLAG_AUTOGUN_VIRUS_DONE, TRUE, /*goto*/ LABEL_2D) set_stage_flag(STAGEFLAG_AUTOGUN_ACTIVATED) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ LABEL_75) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ LABEL_75) assign_sound(SFX_043A, CHANNEL_7) control_sound_from_object(CHANNEL_7, 0x3c, TRUE) goto_next(LABEL_2D) @@ -3850,8 +3850,8 @@ u8 unregistered_function1[] = { u8 func0427_shock_clone[] = { stop_chr set_chr_id(0x46) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_equip_weapon(MODEL_CHRSUPERDRAGON, WEAPON_SUPERDRAGON, 0x10000000, /*goto*/ 0x04) label(0x04) @@ -4339,7 +4339,7 @@ u8 func0429_spawn_while_xraying[] = { }; u8 func042a_init_xray_clone[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x04) rebuild_teams rebuild_squadrons diff --git a/src/files/setup/setuplue.c b/src/files/setup/setuplue.c index a0192e234..688850479 100644 --- a/src/files/setup/setuplue.c +++ b/src/files/setup/setuplue.c @@ -167,57 +167,57 @@ u32 props[] = { door(0x0100, MODEL_A51_VERT_DOOR_ST, PAD_LUE_0331, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000e666, 0x0000e666, 0x00008e38, 0x00008e38, 0x00000444, 0, DOORTYPE_SLIDING, 0x00000000, 0x0000012c, 0x00000000, 0xffffffff, 0x00000000) lift_door(-2, -7, 1) lift_door(-2, -8, 1) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x00, PAD_LUE_0354, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 10000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x00, PAD_LUE_0354, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 10000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRGRENADE, 0x0000, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_GRENADE) - chr(SPAWNFLAG_00000200, 0x01, PAD_LUE_0355, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 10000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_LUE_0355, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 10000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0001, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x02, PAD_LUE_0029, BODY_A51TROOPER, HEAD_RANDOM, 0x0402, -1, -1, 1000, 0, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 20, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_LUE_0029, BODY_A51TROOPER, HEAD_RANDOM, 0x0402, -1, -1, 1000, 0, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 20, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRGRENADE, 0x0002, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_GRENADE) - chr(SPAWNFLAG_00000200, 0x03, PAD_LUE_0012, BODY_A51TROOPER, HEAD_RANDOM, 0x0401, -1, -1, 1000, 0, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_LUE_0012, BODY_A51TROOPER, HEAD_RANDOM, 0x0401, -1, -1, 1000, 0, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0003, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRGRENADE, 0x0003, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_GRENADE) - chr(SPAWNFLAG_00000200, 0x04, PAD_LUE_0010, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TEMPLATE_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x05, PAD_LUE_0356, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_10000000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_LUE_0010, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TEMPLATE_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x05, PAD_LUE_0356, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x06, PAD_LUE_0357, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_10000000, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x06, PAD_LUE_0357, BODY_A51TROOPER, HEAD_RANDOM, 0x040d, -1, -1, 1000, 30, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0006, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x07, PAD_LUE_0055, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0370, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_LUE_0055, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0370, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRGRENADE, 0x0007, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_GRENADE) - chr(SPAWNFLAG_00000200, 0x08, PAD_LUE_004F, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0371, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_LUE_004F, BODY_A51TROOPER, HEAD_RANDOM, 0x0403, 0x0371, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0008, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRGRENADE, 0x0008, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_GRENADE) - chr(SPAWNFLAG_00000200, 0x09, PAD_LUE_003E, BODY_A51TROOPER, HEAD_RANDOM, 0x0404, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_LUE_003E, BODY_A51TROOPER, HEAD_RANDOM, 0x0404, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x0c, PAD_LUE_036D, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 2000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_LUE_036D, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 2000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000c, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x0d, PAD_LUE_0085, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 2000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_LUE_0085, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 2000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x0e, PAD_LUE_0089, BODY_A51TROOPER, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_LUE_0089, BODY_A51TROOPER, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x0f, PAD_LUE_0092, BODY_A51TROOPER, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_LUE_0092, BODY_A51TROOPER, HEAD_RANDOM, 0x0406, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x10, PAD_LUE_036E, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_LUE_036E, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0010, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x11, PAD_LUE_036F, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_LUE_036F, BODY_A51TROOPER, HEAD_RANDOM, AILIST_TROOPER_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00008000 | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x12, PAD_LUE_035A, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_LUE_035A, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0012, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x13, PAD_LUE_035B, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_LUE_035B, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x30, PAD_LUE_0358, BODY_OVERALL, HEAD_RANDOM, AILIST_MECHANIC, -1, -1, 1000, 5, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_DRAW_PISTOL, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x30, PAD_LUE_0358, BODY_OVERALL, HEAD_RANDOM, AILIST_MECHANIC, -1, -1, 1000, 5, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_DRAW_PISTOL, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) tag(0x0a, 1) key(0x0080, MODEL_KEYCARD, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, 0) rename_object(-1, WEAPON_KEYCARD4B, L_LUE_031, L_LUE_032, L_LUE_033, L_LUE_034, L_LUE_035) // "Obtain lift key card." - chr(SPAWNFLAG_00000200, 0x14, PAD_LUE_035D, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_LUE_035D, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x15, PAD_LUE_0362, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_LUE_0362, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0015, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x16, PAD_LUE_035C, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00002000 | CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_LUE_035C, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_THROWGRENADEFIRST | CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x17, PAD_LUE_035E, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_LUE_035E, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0017, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x18, PAD_LUE_035F, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) @@ -225,43 +225,43 @@ u32 props[] = { weapon(0x0100, MODEL_CHRDRAGON, 0x0019, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x1a, PAD_LUE_0360, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 20, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1c, PAD_LUE_0363, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_LUE_0363, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001c, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1d, PAD_LUE_0364, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_LUE_0364, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_DRAGON_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1e, PAD_LUE_0365, BODY_A51AIRMAN, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_LUE_0365, BODY_A51AIRMAN, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1f, PAD_LUE_037B, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_LUE_037B, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x001f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x22, PAD_LUE_037E, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_LUE_037E, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0022, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x20, PAD_LUE_003A, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x0077, -1, 1000, 100, CHRFLAG0_01000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_LUE_003A, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x0077, -1, 1000, 100, CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0020, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x21, PAD_LUE_0033, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x0077, -1, 1000, 100, CHRFLAG0_01000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_LUE_0033, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x0077, -1, 1000, 100, CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0021, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) - chr(SPAWNFLAG_00000200, 0x23, PAD_LUE_01BA, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000, CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x23, PAD_LUE_01BA, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0023, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x24, PAD_LUE_01B2, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000, CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x24, PAD_LUE_01B2, BODY_A51AIRMAN, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0024, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(0, 0x25, PAD_LUE_01CE, BODY_A51AIRMAN, HEAD_RANDOM, 0x0419, 0x007d, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_LUE_01CE, BODY_A51AIRMAN, HEAD_RANDOM, 0x0419, 0x007d, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0025, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x31, PAD_LUE_0196, BODY_A51AIRMAN, HEAD_JONATHAN, 0x0425, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x31, PAD_LUE_0196, BODY_A51AIRMAN, HEAD_JONATHAN, 0x0425, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(0, 0x32, PAD_LUE_0197, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x32, PAD_LUE_0197, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0032, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(0, 0x33, PAD_LUE_0199, BODY_A51AIRMAN, HEAD_KEN, 0x0425, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x33, PAD_LUE_0199, BODY_A51AIRMAN, HEAD_KEN, 0x0425, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0033, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(0, 0x29, PAD_LUE_0158, BODY_LABTECH, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) - chr(0, 0x2a, PAD_LUE_0157, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x29, PAD_LUE_0158, BODY_LABTECH, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x2a, PAD_LUE_0157, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SCREWDRIVER) - chr(0, 0x2b, PAD_LUE_0156, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) + chr(0, 0x2b, PAD_LUE_0156, BODY_BIOTECH, HEAD_BIOTECH, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0A, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSONICSCREWER, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SCREWDRIVER) tag(0x2f, 1) hover_prop(0x0100, MODEL_HOVERBED, PAD_LUE_0155, 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_HOVERBEDSHIELD, 1000, 0x00010000) - chr(0, 0x34, PAD_LUE_040F, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_01000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(0, 0x34, PAD_LUE_040F, BODY_A51TROOPER, HEAD_RANDOM, GAILIST_IDLE, 0x007d, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDYROCKET, 0x0034, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_ROCKETLAUNCHER) tag(0x53, -1) - chr(0, 0x35, PAD_LUE_009F, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_FLANK | CHRFLAG0_00002000 | CHRFLAG0_04000000, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x35, PAD_LUE_009F, BODY_AREA51GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_FLANK | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0035, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAGSEC4) weapon(0x0100, MODEL_CHRLEEGUN1, 0x0035, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAGSEC4) link_guns(-1, -2) @@ -1437,11 +1437,11 @@ u8 func0411_init_hangar_guard1[] = { set_recovery_speed(35) set_shield(0) set_squadron(SQUADRON_0B) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_self_chrflag(CHRCFLAG_00000040) set_chr_id(0x2c) - set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) try_equip_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(PAD_LUE_0420) @@ -1458,12 +1458,12 @@ u8 func0412_init_hangar_guard2[] = { add_health_or_armor(10) set_recovery_speed(35) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_squadron(SQUADRON_0B) set_self_chrflag(CHRCFLAG_00000040) set_chr_id(0x2d) - set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) try_equip_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(PAD_LUE_041F) @@ -1480,12 +1480,12 @@ u8 func0413_init_hangar_guard3[] = { add_health_or_armor(10) set_recovery_speed(35) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_squadron(SQUADRON_0B) set_self_chrflag(CHRCFLAG_00000040) set_chr_id(0x2e) - set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) try_equip_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(PAD_LUE_041E) @@ -1502,12 +1502,12 @@ u8 func0414_init_hangar_guard4[] = { add_health_or_armor(10) set_recovery_speed(35) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_squadron(SQUADRON_0B) set_self_chrflag(CHRCFLAG_00000040) set_chr_id(0x2f) - set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) try_equip_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) label(0x06) jog_to_pad(PAD_LUE_041D) @@ -1537,7 +1537,7 @@ u8 func0415_alert_when_stopped[] = { */ u8 func0417_traitor[] = { set_self_chrflag(CHRCFLAG_00000040) - set_self_flag_bankx(CHRFLAG1_WARNED, BANK_1) + set_self_flag_bankx(CHRFLAG1_PREWARNED, BANK_1) set_accuracy(100) set_reaction_speed(100) restart_timer @@ -2735,7 +2735,7 @@ u8 func0419_clone_spawner[] = { }; u8 func041a_init_alerted_spawned_guard[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x04) rebuild_teams rebuild_squadrons @@ -2817,8 +2817,8 @@ u8 func040f_spawned_guard[] = { try_equip_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_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + set_self_flag_bankx(CHRFLAG0_HOLD_POSITION, BANK_0) set_squadron(SQUADRON_0E) set_self_chrflag(CHRCFLAG_RUNFASTER) try_inherit_properties(0x35, /*goto*/ 0x06) @@ -3158,7 +3158,7 @@ u8 func0423_a5e8[] = { 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_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_self_flag_bankx(CHRFLAG0_CAN_HEARSPAWN, BANK_0) try_equip_weapon(MODEL_CHRDRAGON, WEAPON_DRAGON, 0x00000000, /*goto*/ 0x06) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index 3ed0ab033..a998fc23c 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -140,116 +140,116 @@ u32 props[] = { fail_flags(STAGEFLAG_TIMER_EXPIRED) endobjective - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x40, PAD_PAM_01B3, BODY_DDSNIPER, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x40, PAD_PAM_01B3, BODY_DDSNIPER, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0040, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) #if VERSION >= VERSION_PAL_FINAL - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_PAM_002E, BODY_THEKING, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x00, PAD_PAM_002E, BODY_THEKING, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_BLUESIGHT, 0x00, PAD_PAM_002E, BODY_THEKING, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x00, PAD_PAM_002E, BODY_THEKING, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) #endif weapon(0x0100, MODEL_CHRZ2020, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FARSIGHT) tag(0x73, -1) - chr(SPAWNFLAG_00000200, 0x01, PAD_PAM_018D, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 30, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_PAM_018D, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 30, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x02, PAD_PAM_019A, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_PAM_019A, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x03, PAD_PAM_019B, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_PAM_019B, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x04, PAD_PAM_0006, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_PAM_0006, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x05, PAD_PAM_019C, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_PAM_019C, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x06, PAD_PAM_0190, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_PAM_0190, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x07, PAD_PAM_0191, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_PAM_0191, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x08, PAD_PAM_0008, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_PAM_0008, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x09, PAD_PAM_000A, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_PAM_000A, BODY_DDSNIPER, HEAD_RANDOM, AILIST_INIT_SNIPER, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x0a, PAD_PAM_019D, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0421, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_PAM_019D, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0421, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_PAM_019E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_PAM_019E, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0c, PAD_PAM_009A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_PAM_009A, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_INIT_PELAGIC_GUARD, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0d, PAD_PAM_001E, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0422, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_PAM_001E, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0422, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0e, PAD_PAM_001B, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0423, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_PAM_001B, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0423, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0f, PAD_PAM_0022, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0425, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_PAM_0022, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0425, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x10, PAD_PAM_0021, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0424, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_PAM_0021, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0424, -1, -1, 1000, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x11, PAD_PAM_002C, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_UNALERTED, 0x0027, -1, 3000, 10, CHRFLAG0_00000004 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_PAM_002C, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_UNALERTED, 0x0027, -1, 3000, 10, CHRFLAG0_GP1 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x12, PAD_PAM_0029, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, 0x0024, -1, 3000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_PAM_0029, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, 0x0024, -1, 3000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x13, PAD_PAM_002B, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, 0x0026, -1, 3000, 100, CHRFLAG0_00000004 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_PAM_002B, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, 0x0026, -1, 3000, 100, CHRFLAG0_GP1 | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x14, PAD_PAM_01B3, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b3, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_PAM_01B3, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b3, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x15, PAD_PAM_01B4, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b4, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_PAM_01B4, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b4, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x16, PAD_PAM_01B5, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b5, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_PAM_01B5, BODY_DDSNIPER, HEAD_RANDOM, AILIST_CLOAK_AND_HIDE, 0x01b5, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAP | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x25, PAD_PAM_0064, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x26, PAD_PAM_0079, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x27, PAD_PAM_0067, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x28, PAD_PAM_0075, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x29, PAD_PAM_0080, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x2a, PAD_PAM_0085, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x2b, PAD_PAM_007C, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x17, PAD_PAM_00C5, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0426, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_PAM_0064, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x26, PAD_PAM_0079, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x27, PAD_PAM_0067, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x28, PAD_PAM_0075, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x29, PAD_PAM_0080, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x2a, PAD_PAM_0085, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x2b, PAD_PAM_007C, BODY_MINISKEDAR, 0x00, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x17, PAD_PAM_00C5, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0426, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x18, PAD_PAM_00C7, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0427, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x18, PAD_PAM_00C7, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0427, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x19, PAD_PAM_00CB, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0428, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x19, PAD_PAM_00CB, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0428, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1a, PAD_PAM_01B8, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1a, PAD_PAM_01B8, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1b, PAD_PAM_01B7, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1b, PAD_PAM_01B7, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1c, PAD_PAM_00BE, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0429, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1c, PAD_PAM_00BE, BODY_PELAGIC_GUARD, HEAD_RANDOM, 0x0429, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1d, PAD_PAM_01B9, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1d, PAD_PAM_01B9, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1e, PAD_PAM_01BA, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1e, PAD_PAM_01BA, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1f, PAD_PAM_01BB, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x1f, PAD_PAM_01BB, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x20, PAD_PAM_01BC, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x20, PAD_PAM_01BC, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_IGNORECOLLISION, 0x22, PAD_PAM_0192, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_BLONDE, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x22, PAD_PAM_0192, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_BLONDE, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x24, PAD_PAM_0193, BODY_DRCAROLL, 0x00, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x24, PAD_PAM_0193, BODY_DRCAROLL, 0x00, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x23, PAD_PAM_0194, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_BLONDE, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x23, PAD_PAM_0194, BODY_MRBLONDE, HEAD_MRBLONDE, AILIST_BLONDE, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x2f, PAD_PAM_01A6, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x30, PAD_PAM_01A7, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x31, PAD_PAM_01A8, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x32, PAD_PAM_01A9, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x33, PAD_PAM_01AA, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x34, PAD_PAM_01AB, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x35, PAD_PAM_01AC, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x36, PAD_PAM_01AD, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x37, PAD_PAM_01AE, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x38, PAD_PAM_01AF, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x39, PAD_PAM_01B0, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x3a, PAD_PAM_01B1, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x3b, PAD_PAM_01B2, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x3c, PAD_PAM_01C0, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(0, 0x2f, PAD_PAM_01A6, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x30, PAD_PAM_01A7, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x31, PAD_PAM_01A8, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x32, PAD_PAM_01A9, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x33, PAD_PAM_01AA, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x34, PAD_PAM_01AB, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x35, PAD_PAM_01AC, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x36, PAD_PAM_01AD, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x37, PAD_PAM_01AE, BODY_MINISKEDAR, 0x00, AILIST_MINISKEDAR_UNALERTED, -1, -1, 1000, 12, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x38, PAD_PAM_01AF, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x39, PAD_PAM_01B0, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x3a, PAD_PAM_01B1, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x3b, PAD_PAM_01B2, BODY_MINISKEDAR, 0x00, GAILIST_IDLE, -1, -1, 1000, 11, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3c, PAD_PAM_01C0, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3d, PAD_PAM_01C1, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3d, PAD_PAM_01C1, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x3e, PAD_PAM_01C2, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x3e, PAD_PAM_01C2, BODY_PELAGIC_GUARD, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 5, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x003e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x3f, PAD_PAM_0012, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 100, 30, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x3f, PAD_PAM_0012, BODY_PELAGIC_GUARD, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 100, 30, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x003f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x21, PAD_PAM_0117, BODY_SKEDAR, HEAD_RANDOM, AILIST_DEAD_SKEDAR, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x21, PAD_PAM_0117, BODY_SKEDAR, HEAD_RANDOM, AILIST_DEAD_SKEDAR, -1, -1, 100, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_07, -1, 0, 0, 0, 0, 0) tag(0x75, 1) door(0x0100, MODEL_CETANDOOR, PAD_PAM_0157, OBJFLAG_DEACTIVATED, OBJFLAG2_LOCKEDBACK | OBJFLAG2_AICANNOTUSE, 0, 1000, 0x00007333, 0x00006666, 0x00035555, 0x00035555, 0x00000222, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000002, 0x0000012c, 0x00000000, 0x00000000, 0x00001700) tag(0xae, 1) @@ -490,8 +490,8 @@ u32 props[] = { glass(0x0100, MODEL_CETANWINDOW3, PAD_PAM_024D, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1500) stdobject(0x0100, MODEL_CHRREMOTEMINE, PAD_PAM_0299, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_COLLECTABLE | OBJFLAG_REACTIFSHOT | OBJFLAG_01000000, OBJFLAG2_00002000 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_INVISIBLE, 0, 1000) tag(0xa5, -1) - chr(SPAWNFLAG_IGNORECOLLISION, 0x41, PAD_PAM_024E, BODY_MINISKEDAR, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_IGNORECOLLISION, 0x42, PAD_PAM_025A, BODY_MINISKEDAR, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x41, PAD_PAM_024E, BODY_MINISKEDAR, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x42, PAD_PAM_025A, BODY_MINISKEDAR, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) tag(0x5b, 12) tag(0x5c, 12) tag(0x5d, 12) @@ -788,7 +788,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { // Not injured label(0x06) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x2e) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) goto_next(0x06) @@ -814,7 +814,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { try_run_to_target(/*goto*/ 0x04) beginloop(0x04) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x2e) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) goto_next(0x06) label(0x2e) @@ -836,7 +836,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { stop_chr beginloop(0x09) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2e) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x2e) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) goto_next(0x06) label(0x2e) @@ -932,7 +932,7 @@ u8 func0433_unused[] = { endloop(0x04) label(0x2e) - unset_self_flag_bankx(CHRFLAG0_UNSURPRISABLE, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SURPRISABLE, BANK_0) set_ailist(CHR_SELF, GAILIST_ALERTED) endlist }; @@ -943,7 +943,7 @@ u8 func0433_unused[] = { */ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { set_self_chrflag(CHRCFLAG_RUNFASTER) - unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOOP_00200000, BANK_1) set_shotlist(AILIST_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON) set_target_chr(CHR_PRESET) if_chr_dead(CHR_SELF, /*goto*/ 0x2e) @@ -1084,7 +1084,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { */ u8 func0405_elvis_follow_nocombat[] = { set_self_chrflag(CHRCFLAG_RUNFASTER) - unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOOP_00200000, BANK_1) set_shotlist(0x0405) set_target_chr(CHR_PRESET) if_chr_dead(CHR_SELF, /*goto*/ 0x2e) @@ -1390,7 +1390,7 @@ u8 func0403_elvis_give_farsight[] = { label(0x06) stop_chr label(0x09) - do_preset_animation(5) + do_preset_animation(PRESETANIM_TALK5) speak(CHR_TARGET, L_PAM_018, MP3_02EA, CHANNEL_6, COLOR_04_ORANGE) // "Here, take this gun and keep those Skedar off my b..." give_object_to_chr(0x73, CHR_TARGET) yield @@ -1405,7 +1405,7 @@ u8 func0403_elvis_give_farsight[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x06) // PA - unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOOP_00200000, BANK_1) yield try_equip_weapon(MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x2f) label(0x2f) @@ -2301,7 +2301,7 @@ u8 func1008_msg_theresdrcaroll[] = { goto_next(0x0d) label(0x2e) - if_chr_propsoundcount_zero(CHR_ELVIS, /*goto*/ 0x2e) + if_chr_not_talking(CHR_ELVIS, /*goto*/ 0x2e) endloop(0x04) label(0x2e) diff --git a/src/files/setup/setuppete.c b/src/files/setup/setuppete.c index 595459851..79dc97f09 100644 --- a/src/files/setup/setuppete.c +++ b/src/files/setup/setuppete.c @@ -145,60 +145,60 @@ u32 props[] = { fail_flags(STAGEFLAG_ELEVATOR_SEALED) endobjective - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x1a, PAD_PETE_00A9, BODY_CIAGUY, HEAD_RANDOM, AILIST_INIT_CIA1, -1, -1, 1000, 6, CHRFLAG0_00004000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x00, PAD_PETE_00AA, BODY_G5_GUARD, HEAD_RANDOM, 0x0414, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x1a, PAD_PETE_00A9, BODY_CIAGUY, HEAD_RANDOM, AILIST_INIT_CIA1, -1, -1, 1000, 6, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_PETE_00AA, BODY_G5_GUARD, HEAD_RANDOM, 0x0414, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA, 0x17, PAD_PETE_00AB, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 800, 30, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x01, PAD_PETE_00AC, BODY_G5_GUARD, HEAD_RANDOM, 0x0415, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA, 0x17, PAD_PETE_00AB, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 800, 30, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_PETE_00AC, BODY_G5_GUARD, HEAD_RANDOM, 0x0415, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONPA, 0x18, PAD_PETE_00AF, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 1, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x02, PAD_PETE_00AD, BODY_G5_GUARD, HEAD_RANDOM, 0x0416, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA, 0x18, PAD_PETE_00AF, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 500, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 1, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_PETE_00AD, BODY_G5_GUARD, HEAD_RANDOM, 0x0416, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x03, PAD_PETE_00AE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_PETE_00AE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x04, PAD_PETE_00B0, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_PETE_00B0, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x05, PAD_PETE_00B1, BODY_G5_GUARD, HEAD_RANDOM, 0x0417, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_PETE_00B1, BODY_G5_GUARD, HEAD_RANDOM, 0x0417, -1, -1, 1000, 50, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x19, PAD_PETE_00B3, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 500, 20, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x06, PAD_PETE_00B4, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x19, PAD_PETE_00B3, BODY_FBIGUY, HEAD_RANDOM, 0x0411, -1, -1, 500, 20, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_PETE_00B4, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x0a, PAD_PETE_00B6, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, 0x0a, PAD_PETE_00B6, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x07, PAD_PETE_00B5, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_PETE_00B5, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0b, PAD_PETE_00B7, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_PETE_00B7, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x08, PAD_PETE_00CB, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_00000200, 0x08, PAD_PETE_00CB, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x09, PAD_PETE_00CC, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_10000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x09, PAD_PETE_00CC, BODY_G5_GUARD, HEAD_RANDOM, 0x040f, -1, -1, 1000, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CAN_USE_COVER | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0c, PAD_PETE_00B8, BODY_G5_GUARD, HEAD_RANDOM, 0x0418, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_PETE_00B8, BODY_G5_GUARD, HEAD_RANDOM, 0x0418, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x1c, PAD_PETE_00B9, BODY_CIAGUY, HEAD_RANDOM, AILIST_CIA, -1, -1, 1000, 6, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 1, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x1d, PAD_PETE_0042, BODY_CIAGUY, HEAD_RANDOM, AILIST_CIA, -1, -1, 1000, 6, CHRFLAG0_00002000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 2, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_PETE_00BF, BODY_G5_GUARD, HEAD_RANDOM, AILIST_SEALER1, -1, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x1c, PAD_PETE_00B9, BODY_CIAGUY, HEAD_RANDOM, AILIST_CIA, -1, -1, 1000, 6, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 1, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x1d, PAD_PETE_0042, BODY_CIAGUY, HEAD_RANDOM, AILIST_CIA, -1, -1, 1000, 6, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_05, -1, 0, 2, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_PETE_00BF, BODY_G5_GUARD, HEAD_RANDOM, AILIST_SEALER1, -1, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_PETE_00BC, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c5, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_PETE_00BC, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c5, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_PETE_00BD, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c6, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_PETE_00BD, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c6, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_PETE_00BE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c7, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_PETE_00BE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, 0x00c7, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_00000800 | SPAWNFLAG_BLUESIGHT, 0x1b, PAD_PETE_00B2, BODY_CIAGUY, HEAD_RANDOM, AILIST_BUGSPOTTER, -1, -1, 1000, 6, CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x11, PAD_PETE_00C9, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x00c9, -1, 1000, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_01000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_DONTSHOOTME | SPAWNFLAG_BLUESIGHT, 0x1b, PAD_PETE_00B2, BODY_CIAGUY, HEAD_RANDOM, AILIST_BUGSPOTTER, -1, -1, 1000, 6, CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x11, PAD_PETE_00C9, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x00c9, -1, 1000, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(0, 0x12, PAD_PETE_00CA, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x00ca, -1, 1000, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00002000 | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_01000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x12, PAD_PETE_00CA, BODY_G5_GUARD, HEAD_RANDOM, GAILIST_IDLE, 0x00ca, -1, 1000, 30, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOACCURACYAFTERJAM | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x1f, PAD_PETE_0020, BODY_CHICROB, 0x00, AILIST_INIT_ROBOT, -1, -1, 1000, 15, 0, 0, TEAM_20, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(0, 0x1e, PAD_PETE_0063, BODY_G5_GUARD, HEAD_RANDOM, AILIST_HIDDENGUY, 0x00c8, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x13, PAD_PETE_00CD, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x1e, PAD_PETE_0063, BODY_G5_GUARD, HEAD_RANDOM, AILIST_HIDDENGUY, 0x00c8, -1, 1000, 15, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR, 0, TEAM_20, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_PETE_00CD, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x14, PAD_PETE_00CE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_PETE_00CE, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x15, PAD_PETE_00CF, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_PETE_00CF, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 500, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x16, PAD_PETE_00D1, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_PETE_00D1, BODY_G5_GUARD, HEAD_RANDOM, 0x040e, -1, -1, 1, 10, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_20, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) tag(0x00, 1) stdobject(0x0100, MODEL_TAXICAB, -1, OBJFLAG_00000001 | OBJFLAG_00000100 | OBJFLAG_ILLUMINATED | OBJFLAG_00001000 | OBJFLAG_INVINCIBLE, 0, 0, 1000) @@ -1326,7 +1326,7 @@ u8 func0412_cia[] = { // Idle + 3 seconds label(0x04) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x54) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x54) dprint 'N','O','T',' ','A',' ','P','A','T','R','O','L','L','E','R','\n',0, stop_chr goto_next(0x10) @@ -1341,7 +1341,7 @@ u8 func0412_cia[] = { yield chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x37) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x37) call_rng if_rand_gt(128, /*goto*/ 0x37) label(0x2d) @@ -1426,15 +1426,15 @@ u8 func0412_cia[] = { goto_next(0x04) label(0x03) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x03) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x03) if_distance_to_target_gt(450, /*goto*/ 0x03) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_returnlist(CHR_SELF, AILIST_CIA) set_ailist(CHR_SELF, GAILIST_CIVILIAN_SAY_COMMENT) label(0x03) if_timer_lt(600, /*goto*/ 0x03) - unset_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) label(0x03) dprint 'L','I','M','O',' ','R','E','A','D','Y',' ','T','O',' ','G','O','\n',0, goto_first(0x10) @@ -1527,8 +1527,8 @@ u8 func0412_cia[] = { set_chr_team(CHR_SELF, TEAM_NONCOMBAT) rebuild_teams rebuild_squadrons - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x2d) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2d) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2f) run_to_pad(PAD_PETE_00C8) goto_next(0x07) @@ -1714,7 +1714,7 @@ u8 func0413_bugspotter[] = { label(0x04) unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) yield drop_gun_and_fade_out set_ailist(CHR_SELF, GAILIST_IDLE) @@ -1885,7 +1885,7 @@ u8 func041d_fbi[] = { beginloop(0x0e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x03) - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ 0x04) + if_chr_not_talking(CHR_SELF, /*goto*/ 0x04) label(0x03) if_chr_stopped(/*goto*/ 0x04) endloop(0x0e) @@ -1928,7 +1928,7 @@ u8 func1009_check_cia1_dead[] = { */ u8 func100a_check_cia2_dead[] = { beginloop(0x10) - if_chr_has_flag_bankx(CHR_CIA2, CHRFLAG0_00002000, BANK_0, /*goto*/ 0x03) + if_chr_has_flag_bankx(CHR_CIA2, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0, /*goto*/ 0x03) if_chr_dead(CHR_CIA2, /*goto*/ 0x05) endloop(0x10) @@ -2013,17 +2013,17 @@ u8 func041a_robot[] = { label(0x08) restart_timer stop_chr - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x05) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x05) play_sound(MP3_ROBOT_STOP_WHERE_YOU_ARE, -1) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) label(0x05) if_chr_shield_damaged(CHR_SELF, /*goto*/ 0x03) goto_next(0x05) label(0x03) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x05) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x05) play_sound(MP3_ROBOT_ALERT_UNDER_ATTACK, -1) - set_self_flag_bankx(CHRFLAG0_00004000, BANK_0) + set_self_flag_bankx(CHRFLAG0_FORCESAFETYCHECKS, BANK_0) beginloop(0x05) set_target_chr(CHR_HIDDENGUY) @@ -2036,7 +2036,7 @@ u8 func041a_robot[] = { set_target_chr(CHR_P1P2) if_stage_flag_eq(STAGEFLAG_TRIGGER_CRASH, TRUE, /*goto*/ 0x01) if_timer_gt(120, /*goto*/ 0x04) - if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ 0x2a) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, FALSE, BANK_0, /*goto*/ 0x2a) if_target_in_sight(/*goto*/ 0x03) label(0x2a) endloop(0x05) @@ -2056,7 +2056,7 @@ u8 func041a_robot[] = { endloop(0x09) label(0x04) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) start_patrol endloop(0x02) @@ -2361,7 +2361,7 @@ u8 func100d_spawn_alarm_responders[] = { }; u8 func041f_alarm_responder[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0) set_chr_dodge_rating(2, 0x0a) set_accuracy(14) @@ -2374,7 +2374,7 @@ u8 func041f_alarm_responder[] = { label(0x04) set_chr_team(CHR_SELF, TEAM_20) set_squadron(GROUP_ALARM_RESPONDER) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) set_alertness(90) set_self_chrflag(CHRCFLAG_00000200) @@ -3103,7 +3103,7 @@ u8 func1021_check_topstairs_guy[] = { label(0x04) set_chr_special_death_animation(CHR_TOPSTAIRS, SPECIALDIE_NONE) unset_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION) - unset_chr_flag_bankx(CHR_TOPSTAIRS, CHRFLAG1_00001000, BANK_1) + unset_chr_flag_bankx(CHR_TOPSTAIRS, CHRFLAG1_NOHANDCOMBAT, BANK_1) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index c301d1896..1b809b471 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -163,89 +163,89 @@ u32 props[] = { fail_flags(STAGEFLAG_PLANE_CRASHED) endobjective - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x32, PAD_RIT_00BE, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, -1, -1, 200, 8, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x32, PAD_RIT_00BE, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, -1, -1, 200, 8, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357TRENT, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357LX) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x33, PAD_RIT_00BC, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x33, PAD_RIT_00BC, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x34, PAD_RIT_00BD, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x34, PAD_RIT_00BD, BODY_MRBLONDE, HEAD_MRBLONDE, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_NONCOMBAT, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x01, PAD_RIT_008B, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008b, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_RIT_008C, BODY_STEWARDESS, HEAD_RANDOM, AILIST_STEWARDESS, 0x00b2, -1, 2000, 5, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000001 | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_RIT_00C1, BODY_STEWARD, HEAD_RANDOM, AILIST_STEWARD, 0x001f, -1, 2000, 5, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000001 | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x01, PAD_RIT_008B, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008b, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_RIT_008C, BODY_STEWARDESS, HEAD_RANDOM, AILIST_STEWARDESS, 0x00b2, -1, 2000, 5, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_RIT_00C1, BODY_STEWARD, HEAD_RANDOM, AILIST_STEWARD, 0x001f, -1, 2000, 5, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) #else - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x01, PAD_RIT_008B, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008b, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_RIT_008C, BODY_STEWARDESS, HEAD_RANDOM, AILIST_STEWARDESS, -1, -1, 2000, 5, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000001 | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_RIT_00C1, BODY_STEWARD, HEAD_RANDOM, AILIST_STEWARD, -1, -1, 2000, 5, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000001 | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x01, PAD_RIT_008B, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008b, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_RIT_008C, BODY_STEWARDESS, HEAD_RANDOM, AILIST_STEWARDESS, -1, -1, 2000, 5, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_RIT_00C1, BODY_STEWARD, HEAD_RANDOM, AILIST_STEWARD, -1, -1, 2000, 5, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 1, 0, 0) #endif - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x04, PAD_RIT_008E, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008e, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00000001 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x05, PAD_RIT_008F, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008f, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00000001 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x06, PAD_RIT_0090, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0090, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_RIT_0091, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0426, 0x0091, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x08, PAD_RIT_0092, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0092, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x09, PAD_RIT_0093, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0093, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0a, PAD_RIT_0094, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0094, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0b, PAD_RIT_0095, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0002, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0c, PAD_RIT_0096, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0002, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_RIT_0097, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0097, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x04, PAD_RIT_008E, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008e, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x05, PAD_RIT_008F, BODY_OVERALL, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x008f, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_HANDCOMBATONLY | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x06, PAD_RIT_0090, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0090, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x07, PAD_RIT_0091, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0426, 0x0091, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x08, PAD_RIT_0092, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0092, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x09, PAD_RIT_0093, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0093, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0a, PAD_RIT_0094, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0094, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0b, PAD_RIT_0095, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0002, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0c, PAD_RIT_0096, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0002, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0d, PAD_RIT_0097, BODY_PRES_SECURITY, HEAD_RANDOM, GAILIST_IDLE, 0x0097, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_RIT_0098, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0003, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_RIT_0099, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0427, 0x0002, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_RIT_0098, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0003, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_RIT_0099, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0427, 0x0002, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_RIT_0098, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0003, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_RIT_0099, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0427, 0x0002, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0e, PAD_RIT_0098, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0003, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x0f, PAD_RIT_0099, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0427, 0x0002, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) #endif - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_RIT_009A, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x009a, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_RIT_009B, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0004, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x18, PAD_RIT_00A0, BODY_PRESIDENT, HEAD_PRESIDENT, GAILIST_IDLE, 0x00a0, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_RIT_009C, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0428, 0x0003, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_RIT_009D, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0002, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_RIT_009E, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0020, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_RIT_009F, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x00bb, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x10, PAD_RIT_009A, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x009a, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x11, PAD_RIT_009B, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0004, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x18, PAD_RIT_00A0, BODY_PRESIDENT, HEAD_PRESIDENT, GAILIST_IDLE, 0x00a0, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x12, PAD_RIT_009C, BODY_PRES_SECURITY, HEAD_RANDOM, 0x0428, 0x0003, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x13, PAD_RIT_009D, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0002, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x14, PAD_RIT_009E, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x0020, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_ANTINONINTERACTABLE, 0x15, PAD_RIT_009F, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_INIT_NEUTRAL, 0x00bb, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) #if VERSION >= VERSION_NTSC_1_0 - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_RIT_00CA, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_TYPING_GUY, 0x00b2, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x11, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_RIT_00C9, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_SITTING_GUY, 0x001f, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x10, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_RIT_00CA, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_TYPING_GUY, 0x00b2, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x11, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_RIT_00C9, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_SITTING_GUY, 0x001f, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x10, 0, 0, 0, 0, 0) #else - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_RIT_00CA, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_TYPING_GUY, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x10, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_RIT_00C9, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_SITTING_GUY, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x11, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_RIT_00CA, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_TYPING_GUY, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x10, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_RIT_00C9, BODY_PRES_SECURITY, HEAD_RANDOM, AILIST_SITTING_GUY, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0A, 0x11, 0, 0, 0, 0, 0) #endif - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x19, PAD_RIT_00C7, BODY_PILOTAF1, HEAD_ROSS, AILIST_TYPING_GUY, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, 0x12, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x1a, PAD_RIT_00C8, BODY_PILOTAF1, HEAD_WONG, AILIST_SITTING_GUY, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, 0x13, 0, 0, 0, 0, 0) - chr(0, 0x1d, PAD_RIT_00A5, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x19, PAD_RIT_00C7, BODY_PILOTAF1, HEAD_ROSS, AILIST_TYPING_GUY, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, 0x12, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FORCESUNGLASSES | SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_FIXEDHEIGHT | SPAWNFLAG_BLUESIGHT, 0x1a, PAD_RIT_00C8, BODY_PILOTAF1, HEAD_WONG, AILIST_SITTING_GUY, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0B, 0x13, 0, 0, 0, 0, 0) + chr(0, 0x1d, PAD_RIT_00A5, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x1e, PAD_RIT_00A6, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, 0x1e, PAD_RIT_00A6, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x1f, PAD_RIT_00A7, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(0, 0x1f, PAD_RIT_00A7, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x20, PAD_RIT_00A8, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x20, PAD_RIT_00A8, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x21, PAD_RIT_00A9, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x21, PAD_RIT_00A9, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x22, PAD_RIT_00AA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(0, 0x22, PAD_RIT_00AA, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x24, PAD_RIT_00AC, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(0, 0x24, PAD_RIT_00AC, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x25, PAD_RIT_00AD, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_RIT_00AD, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x26, PAD_RIT_0006, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(0, 0x26, PAD_RIT_0006, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x27, PAD_RIT_0089, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x27, PAD_RIT_0089, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x28, PAD_RIT_000D, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(0, 0x28, PAD_RIT_000D, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x29, PAD_RIT_00AE, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x29, PAD_RIT_00AE, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2a, PAD_RIT_00AF, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2a, PAD_RIT_00AF, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2b, PAD_RIT_00B0, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2b, PAD_RIT_00B0, BODY_STRIPES, HEAD_RANDOM, AILIST_INIT_STRIPES, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x30, PAD_RIT_006A, BODY_STRIPES, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x30, PAD_RIT_006A, BODY_STRIPES, HEAD_RANDOM, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAVENGER, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_K7AVENGER) - chr(0, 0x31, PAD_RIT_0069, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) - chr(0, 0x00, PAD_RIT_008A, BODY_THEKING, HEAD_ELVIS, AILIST_INIT_ELVIS, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_WARNED | CHRFLAG1_00000800 | CHRFLAG1_00001000 | CHRFLAG1_00100000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) - chr(0, 0x35, PAD_RIT_0088, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER1, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00080000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(0, 0x36, PAD_RIT_00B5, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER2, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00080000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) - chr(0, 0x37, PAD_RIT_00B6, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER3, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00080000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x31, PAD_RIT_0069, BODY_TRENT, HEAD_TRENT, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x00, PAD_RIT_008A, BODY_THEKING, HEAD_ELVIS, AILIST_INIT_ELVIS, -1, -1, 200, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR, CHRFLAG1_PREWARNED | CHRFLAG1_PUNCHAIEXTRADAMAGE | CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(0, 0x35, PAD_RIT_0088, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER1, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_NOIDLEANIMS | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x36, PAD_RIT_00B5, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER2, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_NOIDLEANIMS | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x37, PAD_RIT_00B6, BODY_STRIPES, HEAD_RANDOM, AILIST_CLONER3, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_NOIDLEANIMS | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) tag(0x1b, 1) lift(0x0100, MODEL_A51_LIFT_THINWALL, PAD_RIT_010B, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE | OBJFLAG_80000000, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x010b, 0x010a, -1, -1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x15000000) tag(0x1f, 1) @@ -867,7 +867,7 @@ u8 func0403_stripes[] = { // No target nearby yield - unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOHANDCOMBAT, BANK_1) stop_chr set_ailist(CHR_SELF, GAILIST_UNALERTED) @@ -882,7 +882,7 @@ u8 func0403_stripes[] = { set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) label(0x06) - unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOHANDCOMBAT, BANK_1) set_ailist(CHR_SELF, GAILIST_UNALERTED) set_returnlist(CHR_SELF, GAILIST_UNALERTED) @@ -1241,7 +1241,7 @@ u8 func0405_president_in_room[] = { endloop(0x09) label(0x06) - do_preset_animation(0) + do_preset_animation(PRESETANIM_TALK0) speak(CHR_TARGET, L_RIT_035, MP3_02C5, CHANNEL_6, COLOR_08_RED) // "Who are you, young lady?" restart_timer @@ -1284,7 +1284,7 @@ u8 func0405_president_in_room[] = { endloop(0x78) label(0x06) - do_preset_animation(1) + do_preset_animation(PRESETANIM_TALK1) speak(CHR_TARGET, L_RIT_040, MP3_02C6, CHANNEL_6, COLOR_08_RED) // "You can't make accusations like that without evide..." restart_timer @@ -1375,7 +1375,7 @@ u8 func0405_president_in_room[] = { goto_first(0x0b) label(0x06) - do_preset_animation(2) + do_preset_animation(PRESETANIM_TALK2) speak(CHR_TARGET, L_RIT_042, MP3_02C7, CHANNEL_6, COLOR_08_RED) // "Seems overwhelming... I'm in your hands. What do w..." restart_timer @@ -1418,7 +1418,7 @@ u8 func0405_president_in_room[] = { endloop(0x7b) label(0x06) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) speak(CHR_TARGET, L_RIT_038, SFX_816E, CHANNEL_6, COLOR_08_RED) // "What the hell was that!" restart_timer @@ -1684,7 +1684,7 @@ u8 func0409_unused[] = { endloop(0x04) label(0x06) - unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOHANDCOMBAT, BANK_1) set_ailist(CHR_SELF, GAILIST_UNALERTED) set_returnlist(CHR_SELF, GAILIST_UNALERTED) endlist @@ -1726,7 +1726,7 @@ u8 func100c_cockpit_stripes[] = { endloop(0x04) label(0x06) - unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOHANDCOMBAT, BANK_1) set_ailist(CHR_SELF, GAILIST_UNALERTED) set_returnlist(CHR_SELF, GAILIST_UNALERTED) endlist @@ -1826,7 +1826,7 @@ u8 func0413_taker[] = { label(0x11) label(0x06) - unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOHANDCOMBAT, BANK_1) set_ailist(CHR_SELF, GAILIST_UNALERTED) endlist }; @@ -2499,7 +2499,7 @@ u8 func0415_cloner1[] = { // Player is in UFO area, or interval has passed label(0x2d) - unset_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_spawn_clone2(CHR_SELF, AILIST_INIT_CLONE1, 0, /*goto*/ 0x2d) label(0x2d) yield @@ -2519,7 +2519,7 @@ u8 func0416_init_clone1[] = { add_health_or_armor(0) set_recovery_speed(30) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_equip_weapon(MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04) label(0x04) rebuild_teams @@ -2595,7 +2595,7 @@ u8 func0418_cloner2[] = { // Player is in UFO area, or interval has passed label(0x2d) - unset_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_spawn_clone2(CHR_SELF, AILIST_INIT_CLONE2, 0, /*goto*/ 0x2d) label(0x2d) yield @@ -2615,7 +2615,7 @@ u8 func0419_init_clone2[] = { add_health_or_armor(0) set_recovery_speed(30) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_equip_weapon(MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04) label(0x04) rebuild_teams @@ -2679,7 +2679,7 @@ u8 func041b_cloner3[] = { reloop(0x04) label(0x4f) - if_self_flag_bankx_eq(CHRFLAG1_00080000, TRUE, BANK_1, /*goto*/ 0x2d) + if_self_flag_bankx_eq(CHRFLAG1_NOIDLEANIMS, TRUE, BANK_1, /*goto*/ 0x2d) restart_timer beginloop(0x0b) @@ -2688,7 +2688,7 @@ u8 func041b_cloner3[] = { endloop(0x0b) label(0x2d) - unset_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_spawn_clone2(CHR_SELF, AILIST_INIT_CLONE3, 0, /*goto*/ 0x2d) label(0x2d) yield @@ -2707,7 +2707,7 @@ u8 func041c_init_clone3[] = { add_health_or_armor(0) set_recovery_speed(30) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) try_equip_weapon(MODEL_CHRAVENGER, WEAPON_K7AVENGER, 0x10000000, /*goto*/ 0x04) label(0x04) rebuild_teams @@ -2778,7 +2778,7 @@ u8 func041e_blonde[] = { label(0x08) set_self_chrflag(CHRCFLAG_00000040) label(0x68) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x75) label(0x06) kneel @@ -2798,8 +2798,8 @@ u8 func041e_blonde[] = { endloop(0x75) label(0x6a) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2d) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2d) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x6c) @@ -2818,11 +2818,11 @@ u8 func041e_blonde[] = { chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0x66) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x06) if_timer_lt(120, /*goto*/ 0x06) assign_sound(VERSION >= VERSION_NTSC_1_0 ? SFX_80F6 : SFX_01D9, CHANNEL_7) play_sound_from_entity(CHANNEL_7, CHR_SELF, 0x0bb8, 0x1770, 0x01) - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) label(0x06) if_chr_stopped(/*goto*/ 0x2d) endloop(0x66) @@ -2833,8 +2833,8 @@ u8 func041e_blonde[] = { label(0x6b) restart_timer - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x6f) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x6f) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) label(0x6f) call_rng @@ -3272,7 +3272,7 @@ u8 func0407_steward[] = { label(0x06) increase_squadron_alertness(100) set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) restart_timer speak(CHR_P1P2, L_RIT_043, MP3_02BB, CHANNEL_4, COLOR_04_ORANGE) // "Hey, that's not..." diff --git a/src/files/setup/setupsev.c b/src/files/setup/setupsev.c index a7975eda8..39bee7faa 100644 --- a/src/files/setup/setupsev.c +++ b/src/files/setup/setupsev.c @@ -76,152 +76,152 @@ u32 props[] = { fail_flags(STAGEFLAG_TRAPPED_AT_START) endobjective - chr(SPAWNFLAG_FIXEDHEIGHT, CHR_LABTECH1, PAD_SEV_03DC, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 4, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, CHR_LABTECH1, PAD_SEV_03DC, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 4, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, CHR_LABTECH2, PAD_SEV_012D, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, CHR_LABTECH2, PAD_SEV_012D, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_LABTECH, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, CHR_LABTECH2, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2) - chr(SPAWNFLAG_00000200, 0x00, PAD_SEV_0128, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_SEV_0128, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x01, PAD_SEV_0126, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_SEV_0126, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_SEV_0399, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x3f, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x02, PAD_SEV_0399, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x3f, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x03, PAD_SEV_039A, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x40, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x03, PAD_SEV_039A, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_02, 0x40, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x04, PAD_SEV_0393, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_SEV_0393, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x07, PAD_SEV_0394, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x08, PAD_SEV_0395, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_SEV_0395, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x09, PAD_SEV_0115, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_SEV_0115, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0b, PAD_SEV_013A, BODY_AREA51GUARD, HEAD_KEN, AILIST_INIT_LX_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_SEV_013A, BODY_AREA51GUARD, HEAD_KEN, AILIST_INIT_LX_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357TRENT, 0x000b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_WEAPON_40000000, 0, 0, WEAPON_DY357LX) weapon(0x0100, MODEL_CHRDY357TRENT, 0x000b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED | OBJFLAG_WEAPON_40000000, 0, 0, WEAPON_DY357LX) link_guns(-1, -2) - chr(SPAWNFLAG_00000200, 0x0c, PAD_SEV_013D, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_SEV_013D, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x0f, PAD_SEV_010D, BODY_AREA51GUARD, HEAD_RANDOM, 0x0407, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_SEV_010D, BODY_AREA51GUARD, HEAD_RANDOM, 0x0407, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x10, PAD_SEV_0100, BODY_AREA51GUARD, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_SEV_0100, BODY_AREA51GUARD, HEAD_RANDOM, 0x0408, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x11, PAD_SEV_03BF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 100, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_SEV_03BF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 100, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x12, PAD_SEV_03C0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 100, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_SEV_03C0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 100, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x13, PAD_SEV_03B1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_SEV_03B1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x14, PAD_SEV_03B2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_SEV_03B2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x15, PAD_SEV_03C9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, 0x03c8, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 4, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x15, PAD_SEV_03C9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, 0x03c8, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 4, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0015, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_SEV_03B3, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, 0x03c9, -1, 1000, 100, CHRFLAG0_00000004 | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 4, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x16, PAD_SEV_03B3, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, 0x03c9, -1, 1000, 100, CHRFLAG0_GP1 | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 4, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0016, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_TRANQUILIZER) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0016, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_PSYCHOSISGUN) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_SEV_039E, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x41, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_SEV_039E, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x41, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_SEV_039B, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x42, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_SEV_039B, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x42, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_SEV_039D, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x43, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_SEV_039D, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x43, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_SEV_039C, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x44, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_SEV_039C, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0A, 0x44, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x46, PAD_SEV_03C2, BODY_LABTECH, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x46, PAD_SEV_03C2, BODY_LABTECH, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0046, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0046, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_PSYCHOSISGUN) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x47, PAD_SEV_011C, BODY_LABTECH, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 4, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x47, PAD_SEV_011C, BODY_LABTECH, HEAD_RANDOM, GAILIST_UNALERTED, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_CAN_DRAW_PISTOL, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 4, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0047, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0047, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_20000000, 0, 0, WEAPON_PSYCHOSISGUN) - chr(SPAWNFLAG_00000200, 0x1b, PAD_SEV_00DB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_SEV_00DB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1c, PAD_SEV_00CA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_SEV_00CA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1d, PAD_SEV_00C7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_SEV_00C7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1e, PAD_SEV_03E4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_SEV_03E4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x1f, PAD_SEV_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_SEV_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x20, PAD_SEV_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_SEV_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0020, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x21, PAD_SEV_03E7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_SEV_03E7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_80HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x22, PAD_SEV_039F, BODY_A51AIRMAN, HEAD_RANDOM, 0x0401, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_SEV_039F, BODY_A51AIRMAN, HEAD_RANDOM, 0x0401, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x23, PAD_SEV_03A2, BODY_A51AIRMAN, HEAD_RANDOM, 0x0402, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x23, PAD_SEV_03A2, BODY_A51AIRMAN, HEAD_RANDOM, 0x0402, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0023, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x24, PAD_SEV_03A3, BODY_A51AIRMAN, HEAD_RANDOM, 0x0403, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x24, PAD_SEV_03A3, BODY_A51AIRMAN, HEAD_RANDOM, 0x0403, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0024, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x25, PAD_SEV_03A4, BODY_A51AIRMAN, HEAD_RANDOM, 0x0404, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x25, PAD_SEV_03A4, BODY_A51AIRMAN, HEAD_RANDOM, 0x0404, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0025, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x26, PAD_SEV_03A5, BODY_A51AIRMAN, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x26, PAD_SEV_03A5, BODY_A51AIRMAN, HEAD_RANDOM, 0x0405, -1, -1, 1000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x27, PAD_SEV_0386, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x27, PAD_SEV_0386, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0027, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x28, PAD_SEV_0387, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_SEV_0387, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x29, PAD_SEV_03A7, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_SEV_03A7, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0029, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x2a, PAD_SEV_03A6, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x2b, PAD_SEV_03A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_SEV_03A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x2c, PAD_SEV_03CB, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2c, PAD_SEV_03CB, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_AIVSAI | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x2d, PAD_SEV_035D, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2d, PAD_SEV_035D, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x2e, PAD_SEV_0362, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2e, PAD_SEV_0362, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002e, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x2f, PAD_SEV_035C, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00002000 | CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2f, PAD_SEV_035C, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_THROWGRENADEFIRST | CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(SPAWNFLAG_00000200, 0x30, PAD_SEV_035E, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00004000, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x30, PAD_SEV_035E, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_ALLOWSOFTCOVER, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0030, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, 0x31, PAD_SEV_035F, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_CAN_SNIPE, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) @@ -254,19 +254,19 @@ u32 props[] = { chr(SPAWNFLAG_00000200, 0x3a, PAD_SEV_0392, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_50HP_GUARD, -1, -1, 1000, 20, CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x003a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(0, 0x4e, PAD_SEV_0118, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x4e, PAD_SEV_0118, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x004e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x4f, PAD_SEV_0212, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x4f, PAD_SEV_0212, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x004f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x50, PAD_SEV_00F3, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x50, PAD_SEV_00F3, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0050, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x51, PAD_SEV_01A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x51, PAD_SEV_01A8, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0051, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) - chr(0, 0x52, PAD_SEV_01A2, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_00001000 | CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(0, 0x52, PAD_SEV_01A2, BODY_A51AIRMAN, HEAD_RANDOM, AILIST_CLONE_SPAWNER2, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CANLOSEGUN, CHRFLAG1_NOHANDCOMBAT | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRAGON, 0x0052, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DRAGON) chr(SPAWNFLAG_00000200, CHR_OUTRO_GUARD, PAD_SEV_01A3, BODY_LABTECH, HEAD_RANDOM, AILIST_INIT_OUTRO_GUARD, -1, -1, 1000, 20, CHRFLAG0_AIVSAI | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_NONCOMBAT, SQUADRON_00, -1, 0, 0, 0, 0, 0) @@ -1254,7 +1254,7 @@ u8 func0411_init_clone[] = { add_health_or_armor(0) set_recovery_speed(0) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) label(0x04) try_inherit_properties(0x4e, /*goto*/ 0x06) diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index ecb864901..e16f102ea 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -151,80 +151,80 @@ u32 props[] = { fail_flags(STAGEFLAG_GRENADES_WASTED) endobjective - chr(SPAWNFLAG_00000200, 0x05, PAD_SHO_00A0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x06, PAD_SHO_00A1, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x07, PAD_SHO_00A2, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d9, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x08, PAD_SHO_00A3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d9, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x17, PAD_SHO_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 15, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_SHO_00A0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_SHO_00A1, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_SHO_00A2, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d9, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_SHO_00A3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00d9, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x17, PAD_SHO_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 15, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x09, PAD_SHO_00A5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00da, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0a, PAD_SHO_00A6, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00da, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0b, PAD_SHO_00A7, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00db, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0c, PAD_SHO_00A8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00db, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0d, PAD_SHO_00A9, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dc, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0e, PAD_SHO_00AA, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dc, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x0f, PAD_SHO_00AB, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dd, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x10, PAD_SHO_00AC, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dd, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x1c, PAD_SHO_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 15, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_SHO_00A5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00da, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_SHO_00A6, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00da, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_SHO_00A7, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00db, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_SHO_00A8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00db, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_SHO_00A9, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dc, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_SHO_00AA, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dc, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_SHO_00AB, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dd, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_SHO_00AC, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00dd, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_SHO_00A4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 15, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x18, PAD_SHO_00AE, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x18, PAD_SHO_00AE, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x19, PAD_SHO_00AF, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x19, PAD_SHO_00AF, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x1a, PAD_SHO_00B0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1a, PAD_SHO_00B0, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 50, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x11, PAD_SHO_00B1, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x12, PAD_SHO_00B2, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x13, PAD_SHO_00B3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x14, PAD_SHO_00B4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x1b, PAD_SHO_00B5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_SHO_00B1, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_SHO_00B2, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_SHO_00B3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_SHO_00B4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00de, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_SHO_00B5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x1d, PAD_SHO_00B6, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_SHO_00B6, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x15, PAD_SHO_00B7, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00df, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x16, PAD_SHO_00B8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00df, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x1e, PAD_SHO_00B9, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_SHO_00B7, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00df, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_SHO_00B8, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_CLOAKED_SKEDAR, 0x00df, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_SHO_00B9, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_00000200, 0x1f, PAD_SHO_00BA, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, CHRFLAG1_00000010, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_SHO_00BA, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(0, 0x23, PAD_SHO_00BB, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e0, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x24, PAD_SHO_00BC, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x25, PAD_SHO_00BD, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x26, PAD_SHO_00BE, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_PUZZLEROOM_MINISKEDAR_WAITING, -1, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x28, PAD_SHO_00BF, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e2, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x29, PAD_SHO_00C0, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e3, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(0, 0x2a, PAD_SHO_00C2, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e4, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x20, PAD_SHO_00C3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) + chr(0, 0x23, PAD_SHO_00BB, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e0, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x24, PAD_SHO_00BC, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x25, PAD_SHO_00BD, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x26, PAD_SHO_00BE, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_PUZZLEROOM_MINISKEDAR_WAITING, -1, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x28, PAD_SHO_00BF, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e2, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x29, PAD_SHO_00C0, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e3, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x2a, PAD_SHO_00C2, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_MINISKEDAR_SPAWNER, 0x00e4, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_SHO_00C3, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) weapon(0x0100, MODEL_CHRSKROCKET, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SLAYER) - chr(SPAWNFLAG_00000200, 0x21, PAD_SHO_00C4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) + chr(SPAWNFLAG_00000200, 0x21, PAD_SHO_00C4, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 5, 0) weapon(0x0100, MODEL_CHRSKROCKET, 0x0021, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SLAYER) - chr(SPAWNFLAG_00000200, 0x22, PAD_SHO_00C5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 10, 0) + chr(SPAWNFLAG_00000200, 0x22, PAD_SHO_00C5, BODY_SKEDAR, HEAD_RANDOM, AILIST_INIT_REAPER_SLAYER_SKEDAR, -1, -1, 1000, 30, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 2, 0, 10, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0022, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2c, PAD_SHO_00C6, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2c, PAD_SHO_00C6, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2d, PAD_SHO_00C7, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2d, PAD_SHO_00C7, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2e, PAD_SHO_00C8, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2e, PAD_SHO_00C8, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x2f, PAD_SHO_00C9, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x2f, PAD_SHO_00C9, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x002f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x30, PAD_SHO_00CA, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x30, PAD_SHO_00CA, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0030, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x31, PAD_SHO_00CB, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x31, PAD_SHO_00CB, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0031, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(SPAWNFLAG_IGNORECOLLISION, 0x32, PAD_SHO_00CC, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_04000000, CHRFLAG1_40000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION, 0x32, PAD_SHO_00CC, BODY_SKEDAR, HEAD_RANDOM, AILIST_MAULER_SKEDAR, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, CHRFLAG1_IGNORECOVER, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0032, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_MAULER) - chr(0, 0x33, PAD_SHO_00CD, BODY_SKEDARKING, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_04000000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x33, PAD_SHO_00CD, BODY_SKEDARKING, HEAD_RANDOM, AILIST_HIDE, -1, -1, 1000, 9, CHRFLAG0_HOLD_POSITION, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_KINGSCEPTRE, 0x0033, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_ROCKETLAUNCHER_34) - chr(0, 0x34, PAD_SHO_00CE, BODY_SKEDAR, HEAD_RANDOM, AILIST_KING_SKEDAR_SPAWNER, -1, -1, 1000, 9, CHRFLAG0_00000004, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x34, PAD_SHO_00CE, BODY_SKEDAR, HEAD_RANDOM, AILIST_KING_SKEDAR_SPAWNER, -1, -1, 1000, 9, CHRFLAG0_GP1, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) ammocrate(0x0100, MODEL_CHRUZI, 0x0034, OBJFLAG_ASSIGNEDTOCHR, 0, 0, 1000, AMMOTYPE_FARSIGHT) - chr(0, 0x35, PAD_SHO_00CF, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_KING_MINISKEDAR_SPAWNER, -1, -1, 1000, 9, CHRFLAG0_00000004, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_BLUESIGHT, 0x36, PAD_SHO_00D9, BODY_ELVISWAISTCOAT, HEAD_ELVIS, AILIST_HIDE, -1, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00100000 | CHRFLAG1_00200000, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x37, PAD_SHO_000F, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x38, PAD_SHO_0010, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x39, PAD_SHO_0011, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x3a, PAD_SHO_0012, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x3b, PAD_SHO_0018, BODY_SKEDARKING, HEAD_RANDOM, GAILIST_IDLE, 0x00d8, -1, 1000, 9, CHRFLAG0_00002000, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, 0x35, PAD_SHO_00CF, BODY_MINISKEDAR, HEAD_RANDOM, AILIST_KING_MINISKEDAR_SPAWNER, -1, -1, 1000, 9, CHRFLAG0_GP1, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_BLUESIGHT, 0x36, PAD_SHO_00D9, BODY_ELVISWAISTCOAT, 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) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x37, PAD_SHO_000F, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x38, PAD_SHO_0010, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x39, PAD_SHO_0011, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x3a, PAD_SHO_0012, BODY_SKEDAR, HEAD_RANDOM, AILIST_HIDE, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x3b, PAD_SHO_0018, BODY_SKEDARKING, HEAD_RANDOM, GAILIST_IDLE, 0x00d8, -1, 1000, 9, CHRFLAG0_SKIPSAFETYCHECKS, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_KINGSCEPTRE, 0x003b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_NONE) conditional_scenery(1, 0, 2) debris(0x0100, MODEL_SKCREV_UNEXP1, PAD_SHO_00E5, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_00000100 | OBJFLAG_ILLUMINATED | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, OBJFLAG3_INFRARED, 1000) @@ -533,7 +533,7 @@ u8 func0402_unarmed_skedar[] = { label(0x06) set_action(MA_NORMAL, TRUE) stop_chr - if_self_flag_bankx_eq(CHRFLAG0_00000004, FALSE, BANK_0, /*goto*/ 0x03) + if_self_flag_bankx_eq(CHRFLAG0_GP1, FALSE, BANK_0, /*goto*/ 0x03) set_action(MA_TRACKING, TRUE) try_run_to_target(/*goto*/ 0x03) @@ -547,7 +547,7 @@ u8 func0402_unarmed_skedar[] = { if_can_see_target(/*goto*/ 0x2d) set_target_chr(CHR_COOP) if_can_see_target(/*goto*/ 0x2d) - if_self_flag_bankx_eq(CHRFLAG0_00000004, FALSE, BANK_0, /*goto*/ 0x2e) + if_self_flag_bankx_eq(CHRFLAG0_GP1, FALSE, BANK_0, /*goto*/ 0x2e) if_just_injured(CHR_SELF, /*goto*/ 0x2d) label(0x2e) @@ -588,7 +588,7 @@ u8 func0402_unarmed_skedar[] = { label(0x09) label(0x0a) - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ 0x2d) + if_chr_not_talking(CHR_SELF, /*goto*/ 0x2d) goto_next(0x2d) label(0x06) @@ -664,7 +664,7 @@ u8 func0402_unarmed_skedar[] = { // Killed target label(0x10) stop_chr - unset_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + unset_self_flag_bankx(CHRFLAG0_GP1, BANK_0) goto_first(0x03) // At ledge near Phoenix @@ -680,7 +680,7 @@ u8 func0402_unarmed_skedar[] = { endloop(0x5c) label(0x2d) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) goto_first(0x03) // At ledge prior to grenadable wall @@ -696,7 +696,7 @@ u8 func0402_unarmed_skedar[] = { endloop(0x5c) label(0x2d) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) goto_first(0x03) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -776,14 +776,14 @@ u8 func0404_miniskedar[] = { // Injured or detected enemy label(0x2d) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) if_distance_to_target_lt(400, /*goto*/ 0x2f) label(0x54) restart_timer label(0x09) restart_timer - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ 0x2d) + if_chr_not_talking(CHR_SELF, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) @@ -1427,9 +1427,10 @@ u8 func101b_bug_throws_coop[] = { label(0x06) set_stage_flag(STAGEFLAG_COOP_BUGS_WASTED) - if_self_flag_bankx_eq(CHRFLAG0_00000010, FALSE, BANK_0, /*goto*/ 0x0f) + if_self_flag_bankx_eq(CHRFLAG0_UNDERCOVER, FALSE, BANK_0, /*goto*/ 0x0f) set_stage_flag(STAGEFLAG_BUG_WASTED) show_hudmsg(CHR_COOP, L_SHO_026) // "Target Amplifier placed incorrectly." + label(0x2d) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -1703,7 +1704,7 @@ u8 func0409_reaper_slayer_skedar[] = { label(0x08) set_self_chrflag(CHRCFLAG_00000040) label(0x5e) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x06) set_target_chr(CHR_BOND) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x5f) label(0x06) @@ -1741,8 +1742,8 @@ u8 func0409_reaper_slayer_skedar[] = { label(0x58) label(0x2d) set_view_distance(100) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2d) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x2d) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x71) @@ -1773,8 +1774,8 @@ u8 func0409_reaper_slayer_skedar[] = { label(0x61) set_view_distance(100) restart_timer - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x6a) - set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x6a) + set_self_flag_bankx(CHRFLAG0_GP1, BANK_0) label(0x6a) call_rng @@ -1811,7 +1812,7 @@ u8 func0409_reaper_slayer_skedar[] = { goto_first(0x60) label(0x71) - if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ 0x72) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, FALSE, BANK_0, /*goto*/ 0x72) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x70) label(0x70) say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) @@ -1896,7 +1897,7 @@ u8 func040b_mauler_skedar[] = { set_shield(0) beginloop(0x04) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x2d) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x2d) endloop(0x04) label(0x2d) @@ -1920,7 +1921,7 @@ u8 func100e_wake_skedar_army[] = { #define enable_army_skedar(chr, loopid) \ restart_timer \ - set_chr_flag_bankx(chr, CHRFLAG0_00002000, BANK_0) \ + set_chr_flag_bankx(chr, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) \ beginloop(loopid) \ if_timer_gt(500, /*goto*/ 0x2d) \ endloop(loopid) \ @@ -2094,7 +2095,7 @@ u8 func040d_king_combat[] = { endloop(0x66) label(0x2d) - set_chr_flag_bankx(CHR_KING_SKEDAR_SPAWNER, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(CHR_KING_SKEDAR_SPAWNER, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) goto_first(LABEL_MAINLOOP) // @@ -2113,7 +2114,7 @@ u8 func040d_king_combat[] = { endloop(0x67) label(0x2d) - set_chr_flag_bankx(CHR_KING_MINISKEDAR_SPAWNER, CHRFLAG0_00002000, BANK_0) + set_chr_flag_bankx(CHR_KING_MINISKEDAR_SPAWNER, CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) goto_first(LABEL_MAINLOOP) // @@ -2317,7 +2318,7 @@ u8 func040e_king_skedar_spawner[] = { unset_stage_flag(STAGEFLAG_KING_SKEDAR_CLONE_EXISTS) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x4f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x4f) reloop(0x04) label(0x4f) @@ -2333,7 +2334,7 @@ u8 func040e_king_skedar_spawner[] = { reloop(0x04) label(0x2d) - unset_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_stage_flag(STAGEFLAG_KING_SKEDAR_CLONE_EXISTS) yield endloop(0x04) @@ -2379,7 +2380,7 @@ u8 func0411_king_miniskedar_spawner[] = { label(0x2d) unset_stage_flag(STAGEFLAG_KING_MINISKEDAR_CLONE_EXISTS) label(0x06) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x4f) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x4f) reloop(0x04) // Clone dead and flag set @@ -2398,7 +2399,7 @@ u8 func0411_king_miniskedar_spawner[] = { reloop(0x04) label(0x2d) - unset_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) set_stage_flag(STAGEFLAG_KING_MINISKEDAR_CLONE_EXISTS) yield endloop(0x04) diff --git a/src/files/setup/setupstat.c b/src/files/setup/setupstat.c index e1d942b77..c6c9028e7 100644 --- a/src/files/setup/setupstat.c +++ b/src/files/setup/setupstat.c @@ -89,44 +89,44 @@ u32 props[] = { complete_flags(STAGEFLAG_KING3_DEAD) endobjective - chr(0, CHR_MAIAN_LEADER, PAD_STAT_004F, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_LEADER, 0x004e, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN_LEADER, PAD_STAT_004F, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_INIT_LEADER, 0x004e, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x003d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CALLISTO) - chr(0, CHR_MAIAN_TEMPLATE, PAD_STAT_0045, BODY_CISOLDIER, HEAD_RANDOM, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN_TEMPLATE, PAD_STAT_0045, BODY_CISOLDIER, HEAD_RANDOM, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x003e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, CHR_KING1, PAD_STAT_007C, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x007c, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00000008 | CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, CHR_KING1, PAD_STAT_007C, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x007c, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_WARFIRSTKING | CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0040, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_REAPER) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA, CHR_KING2, PAD_STAT_0110, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x0091, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA, CHR_KING2, PAD_STAT_0110, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x0091, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSKROCKET, 0x0041, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SLAYER) - chr(SPAWNFLAG_ONLYONPA, CHR_KING3, PAD_STAT_0094, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x0094, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONPA, CHR_KING3, PAD_STAT_0094, BODY_SKEDARKING, HEAD_RANDOM, AILIST_INIT_KING, 0x0094, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) #if VERSION >= VERSION_NTSC_1_0 weapon(0x0100, MODEL_KINGSCEPTRE, 0x0042, OBJFLAG_AIUNDROPPABLE | OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_ROCKETLAUNCHER_34) #else weapon(0x0100, MODEL_KINGSCEPTRE, 0x0042, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_ROCKETLAUNCHER_34) #endif - chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, CHR_BLONDE, PAD_STAT_0077, BODY_SKEDAR, HEAD_MRBLONDE, AILIST_KING1_SKEDAR, 0x0022, -1, 1000, 200, CHRFLAG0_00002000, CHRFLAG1_00004000 | CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_IGNORECOLLISION | SPAWNFLAG_00000200, CHR_BLONDE, PAD_STAT_0077, BODY_SKEDAR, HEAD_MRBLONDE, AILIST_KING1_SKEDAR, 0x0022, -1, 1000, 200, CHRFLAG0_SKIPSAFETYCHECKS, CHRFLAG1_ALLOWSOFTCOVER | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAULER, 0x0043, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_MAULER) - chr(0, CHR_SKEDAR_TEMPLATE, PAD_STAT_007D, BODY_CISOLDIER, HEAD_RANDOM, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(0, CHR_SKEDAR_TEMPLATE, PAD_STAT_007D, BODY_CISOLDIER, HEAD_RANDOM, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRAR34, 0x003f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_AR34) - chr(0, CHR_MAIAN1, PAD_STAT_0009, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN1, PAD_STAT_0009, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x0044, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CALLISTO) - chr(0, CHR_MAIAN2, PAD_STAT_00A4, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN2, PAD_STAT_00A4, BODY_ELVIS1, HEAD_MAIAN_S, GAILIST_IDLE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_ALLY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x0045, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CALLISTO) - chr(0, CHR_MAIAN3, PAD_STAT_0008, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN3, PAD_STAT_0008, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x0046, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CALLISTO) - chr(0, CHR_MAIAN4, PAD_STAT_000C, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN4, PAD_STAT_000C, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x0047, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CALLISTO) - chr(0, CHR_MAIAN5, PAD_STAT_000D, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_00002000 | CHRFLAG0_AIVSAI, CHRFLAG1_00100000 | CHRFLAG1_00200000 | CHRFLAG1_40000000 | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(0, CHR_MAIAN5, PAD_STAT_000D, BODY_ELVIS1, HEAD_MAIAN_S, AILIST_HIDE, -1, -1, 200, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_AIVSAI, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_NOOP_00200000 | CHRFLAG1_IGNORECOVER | CHRFLAG1_PUNCHHARDER, TEAM_01, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRMAIANSMG, 0x0048, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CALLISTO) conditional_scenery(1, 0, 2) @@ -393,8 +393,11 @@ u8 func0401_defend[] = { goto_first(0x03) // Line of sight to enemy + // The first king attacks immediately, while the other kings and Maian + // leader have a 2 second delay. Suspect this is a @bug; the logic would + // make more sense if it were the other way around. label(0x08) - if_self_flag_bankx_eq(CHRFLAG1_00000008, TRUE, BANK_1, /*goto*/ 0x2d) + if_self_flag_bankx_eq(CHRFLAG1_WARFIRSTKING, TRUE, BANK_1, /*goto*/ 0x2d) restart_timer beginloop(0x8f) @@ -516,7 +519,7 @@ u8 func0405_init_maian[] = { add_health_or_armor(0) set_recovery_speed(100) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) rebuild_teams rebuild_squadrons set_ailist(CHR_SELF, AILIST_MAIAN) @@ -840,7 +843,7 @@ u8 func0407_king1_skedar[] = { add_health_or_armor(80) set_recovery_speed(100) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) rebuild_teams rebuild_squadrons set_ailist(CHR_SELF, AILIST_SKEDAR) @@ -861,7 +864,7 @@ u8 func0408_king2_skedar[] = { add_health_or_armor(80) set_recovery_speed(100) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) rebuild_teams rebuild_squadrons set_ailist(CHR_SELF, AILIST_SKEDAR) @@ -882,7 +885,7 @@ u8 func0409_king3_skedar[] = { add_health_or_armor(80) set_recovery_speed(100) set_shield(0) - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) rebuild_teams rebuild_squadrons set_ailist(CHR_SELF, AILIST_SKEDAR) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index 822aead57..4b4ece8dc 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -139,95 +139,95 @@ u32 props[] = { fail_flags(STAGEFLAG_ELVIS_DEAD) endobjective - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x23, PAD_TRA_03BE, BODY_BIOTECH, HEAD_DUNCAN2, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x24, PAD_TRA_012E, BODY_BIOTECH, HEAD_JAMIE, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_00000200, 0x00, PAD_TRA_03E0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x23, PAD_TRA_03BE, BODY_BIOTECH, HEAD_DUNCAN2, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE, 0x24, PAD_TRA_012E, BODY_BIOTECH, HEAD_JAMIE, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_TRA_03E0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x01, PAD_TRA_03E1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_TRA_03E1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0001, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x02, PAD_TRA_03E2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_TRA_03E2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x03, PAD_TRA_03DF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_TRA_03DF, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0003, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x04, PAD_TRA_03E3, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_TRA_03E3, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x05, PAD_TRA_03E4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_TRA_03E4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0005, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x06, PAD_TRA_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_TRA_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x07, PAD_TRA_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_TRA_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0007, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x08, PAD_TRA_03E7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_TRA_03E7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_INIT_SUPERDRAGON_GUARD, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x09, PAD_TRA_03E9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x09, PAD_TRA_03E9, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0009, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0a, PAD_TRA_03EA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0a, PAD_TRA_03EA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0b, PAD_TRA_03EB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0b, PAD_TRA_03EB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0c, PAD_TRA_03EC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0c, PAD_TRA_03EC, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_SPAWN_DURING_FOLLOW, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_05, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x0d, PAD_TRA_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_TRA_03E6, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x0e, PAD_TRA_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_TRA_03E5, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0f, PAD_TRA_03FA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONSA | SPAWNFLAG_ONLYONPA | SPAWNFLAG_00000200, 0x0f, PAD_TRA_03FA, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) #if VERSION < VERSION_NTSC_1_0 // Same chr as above but only appears on Agent, and at a different pad - chr(SPAWNFLAG_ONLYONA | SPAWNFLAG_00000200, 0x0f, PAD_TRA_0153, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ONLYONA | SPAWNFLAG_00000200, 0x0f, PAD_TRA_0153, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x000f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) #endif - chr(SPAWNFLAG_00000200, 0x10, PAD_TRA_03F1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_TRA_03F1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x11, PAD_TRA_03F2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_TRA_03F2, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0011, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x12, PAD_TRA_03F3, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_TRA_03F3, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x13, PAD_TRA_03F4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_WARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_TRA_03F4, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1, 8, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_PREWARNED, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0013, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x14, PAD_TRA_016A, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_TRA_016A, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x15, PAD_TRA_03F7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_TRA_03F7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0015, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x16, PAD_TRA_03F8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_TRA_03F8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE1, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0C, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x21, PAD_TRA_03F9, BODY_A51AIRMAN, HEAD_JONATHAN, AILIST_INIT_JONATHAN, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_08000000, CHRFLAG1_00100000 | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x21, PAD_TRA_03F9, BODY_A51AIRMAN, HEAD_JONATHAN, AILIST_INIT_JONATHAN, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2, CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_PUNCHHARDER, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0021, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x22, PAD_TRA_010A, BODY_ELVIS1, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_04000000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(0, 0x17, PAD_TRA_0119, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, 0x22, PAD_TRA_010A, BODY_ELVIS1, HEAD_ELVIS, GAILIST_IDLE, -1, -1, 1000, 100, CHRFLAG0_HOLD_POSITION | CHRFLAG0_CANLOSEGUN, 0, TEAM_ALLY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(0, 0x17, PAD_TRA_0119, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0017, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(0, 0x18, PAD_TRA_0111, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, 0x18, PAD_TRA_0111, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(0, 0x19, PAD_TRA_010C, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, 0x19, PAD_TRA_010C, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0019, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(0, 0x1a, PAD_TRA_00ED, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) + chr(0, 0x1a, PAD_TRA_00ED, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0D, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1b, PAD_TRA_00E1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1b, PAD_TRA_00E1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001b, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1c, PAD_TRA_00DB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1c, PAD_TRA_00DB, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1d, PAD_TRA_00B7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1d, PAD_TRA_00B7, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001d, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1e, PAD_TRA_00A8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1e, PAD_TRA_00A8, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x1f, PAD_TRA_00A1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x1f, PAD_TRA_00A1, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x001f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x20, PAD_TRA_00A0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x20, PAD_TRA_00A0, BODY_AREA51GUARD, HEAD_RANDOM, AILIST_HIDDEN_GUARDTYPE2, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0F, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) - chr(SPAWNFLAG_00000200, 0x25, PAD_TRA_013A, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x25, PAD_TRA_013A, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0025, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x26, PAD_TRA_013C, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x26, PAD_TRA_013C, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0026, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x27, PAD_TRA_013A, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x27, PAD_TRA_013A, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0027, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x28, PAD_TRA_0134, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x28, PAD_TRA_0134, BODY_BIOTECH, HEAD_BIOTECH, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0028, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x29, PAD_TRA_0118, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH, -1, -1, 1000, 6, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x29, PAD_TRA_0118, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH, -1, -1, 1000, 6, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x0029, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x2a, PAD_TRA_0115, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH, -1, -1, 1000, 6, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2a, PAD_TRA_0115, BODY_BIOTECH, HEAD_BIOTECH, AILIST_INIT_BIOTECH, -1, -1, 1000, 6, CHRFLAG0_AIVSAI | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_00, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDRUGGUN, 0x002a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_TRANQUILIZER) - chr(SPAWNFLAG_00000200, 0x2b, PAD_TRA_03BC, BODY_AREA51GUARD, HEAD_BEAU1, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_04000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x2b, PAD_TRA_03BC, BODY_AREA51GUARD, HEAD_BEAU1, AILIST_HIDDEN_BIOTECH, -1, -1, 1000, 100, CHRFLAG0_AIVSAI | CHRFLAG0_HOLD_POSITION | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_0E, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSUPERDRAGON, 0x002b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SUPERDRAGON) tag(0x00, 1) hover_prop(0x0100, MODEL_HOVERBED, PAD_TRA_03BD, 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_INTERACTABLE | OBJFLAG3_HOVERBEDSHIELD, 1000, 0x00010000) @@ -835,7 +835,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x67) - set_self_flag_bankx(CHRFLAG0_10000000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) set_self_chrflag(CHRCFLAG_RUNFASTER) beginloop(0x04) @@ -851,7 +851,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = { speak(CHR_P1P2, L_TRA_025, MP3_02B3, CHANNEL_4, COLOR_03_RED) // "Joanna - over here." label(0x08) restart_timer - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) beginloop(0x09) if_within_targets_fovx_by_angle(10, /*goto*/ 0x06) @@ -875,7 +875,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = { label(0x06) speak(CHR_P1P2, L_TRA_026, MP3_02B4, CHANNEL_4, COLOR_03_RED) // "We need to get back to our friend." set_stage_flag(STAGEFLAG_MET_JON) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) restart_timer beginloop(0x0c) @@ -1283,7 +1283,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) set_stage_flag(STAGEFLAG_HANGAR_CONVERSATION_FINISHED) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) restart_timer jog_to_pad(PAD_TRA_016F) @@ -1328,7 +1328,7 @@ u8 func0413_jonathan_hangar[] = { show_hudmsg(CHR_P1P2, L_TRA_039) // "Inner hangar door is opening." label(0x32) - set_self_flag_bankx(CHRFLAG0_00004000, BANK_0) + set_self_flag_bankx(CHRFLAG0_FORCESAFETYCHECKS, BANK_0) run_to_pad(PAD_TRA_0171) beginloop(0x1e) @@ -1584,7 +1584,7 @@ u8 func1008_spawngroup1_guard[] = { try_equip_weapon(MODEL_CHRSUPERDRAGON, WEAPON_SUPERDRAGON, 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_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_squadron(SPAWNGROUP1) run_to_pad(PAD_TRA_013E) @@ -1659,7 +1659,7 @@ u8 func1013_spawngroup2_guard[] = { try_equip_weapon(MODEL_CHRSUPERDRAGON, WEAPON_SUPERDRAGON, 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_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_squadron(SPAWNGROUP2) rebuild_teams @@ -1778,7 +1778,7 @@ u8 func1014_spawngroup3_guard[] = { try_equip_weapon(MODEL_CHRSUPERDRAGON, WEAPON_SUPERDRAGON, 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_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_squadron(SPAWNGROUP3) rebuild_teams @@ -1862,7 +1862,7 @@ u8 func1015_spawngroup4_guard[] = { try_equip_weapon(MODEL_CHRSUPERDRAGON, WEAPON_SUPERDRAGON, 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_SKIPSAFETYCHECKS, BANK_0) set_self_flag_bankx(CHRFLAG0_AIVSAI, BANK_0) set_squadron(SPAWNGROUP4) rebuild_teams @@ -3330,7 +3330,7 @@ u8 func0416_spawn_during_follow[] = { }; u8 func0417_init_follower_clone[] = { - set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) + set_self_flag_bankx(CHRFLAG1_NOIDLEANIMS, BANK_1) label(0x04) rebuild_teams rebuild_squadrons diff --git a/src/files/setup/setupwax.c b/src/files/setup/setupwax.c index 339118e14..1cbb0178a 100644 --- a/src/files/setup/setupwax.c +++ b/src/files/setup/setupwax.c @@ -342,105 +342,105 @@ u32 props[] = { stdobject(0x0100, MODEL_PC1, PAD_WAX_0230, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000) stdobject(0x0100, MODEL_PC1, PAD_WAX_0233, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000) stdobject(0x0100, MODEL_PC1, PAD_WAX_0234, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED, 0, 0, 1000) - chr(SPAWNFLAG_00000200, 0x01, PAD_WAX_01E9, BODY_FEM_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x01, PAD_WAX_01E9, BODY_FEM_GUARD, HEAD_RANDOM, 0x040b, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0001, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x14, PAD_WAX_020F, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_00100000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x14, PAD_WAX_020F, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0014, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x15, PAD_WAX_020E, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x15, PAD_WAX_020E, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0015, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x16, PAD_WAX_0210, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x16, PAD_WAX_0210, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0016, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x02, PAD_WAX_01EB, BODY_FEM_GUARD, HEAD_RANDOM, 0x040c, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x02, PAD_WAX_01EB, BODY_FEM_GUARD, HEAD_RANDOM, 0x040c, -1, -1, 1000, 100, CHRFLAG0_CANT_ALERT_GROUP | CHRFLAG0_CAN_BACKOFF | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0002, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0f, PAD_WAX_021E, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00100000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0f, PAD_WAX_021E, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) weapon(0x0100, MODEL_CHRCMP150, 0x000f, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_CMP150) link_guns(-1, -2) - chr(SPAWNFLAG_00000200, 0x10, PAD_WAX_021F, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x10, PAD_WAX_021F, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0010, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x11, PAD_WAX_0220, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x11, PAD_WAX_0220, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0011, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x13, PAD_WAX_0222, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x13, PAD_WAX_0222, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, -1, -1, 500, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_02, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0013, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x0e, PAD_WAX_01FE, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_SEARCHING_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0e, PAD_WAX_01FE, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_SEARCHING_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x000e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x12, PAD_WAX_01FC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_SEARCHING_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_10000000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x12, PAD_WAX_01FC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_SEARCHING_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_SEARCHSAMEROOM, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0012, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x03, PAD_WAX_021C, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x03, PAD_WAX_021C, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0003, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x04, PAD_WAX_021D, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CAN_GO_TO_PLACES | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x04, PAD_WAX_021D, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_40HP_GUARD, 0x0218, -1, 1000, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_TRAVEL | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRCMP150, 0x0004, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_CMP150) - chr(SPAWNFLAG_00000200, 0x00, PAD_WAX_007D, BODY_FEM_GUARD, HEAD_RANDOM, 0x0402, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_04000000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x00, PAD_WAX_007D, BODY_FEM_GUARD, HEAD_RANDOM, 0x0402, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_HOLD_POSITION | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0000, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x0b, PAD_WAX_008E, BODY_FEM_GUARD, HEAD_RANDOM, 0x0403, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0b, PAD_WAX_008E, BODY_FEM_GUARD, HEAD_RANDOM, 0x0403, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x000b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x09, PAD_WAX_0081, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00100000 | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x09, PAD_WAX_0081, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 100, 100, CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_04, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0009, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_WAX_01CE, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00100000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x39, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1e, PAD_WAX_01CE, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x39, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001e, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1f, PAD_WAX_01CF, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x3a, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1f, PAD_WAX_01CF, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x3a, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001f, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x20, PAD_WAX_01D0, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_00100000 | CHRFLAG0_08000000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x3b, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x20, PAD_WAX_01D0, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_05, 0x3b, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0020, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x07, PAD_WAX_0058, BODY_FEM_GUARD, HEAD_RANDOM, 0x0404, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x07, PAD_WAX_0058, BODY_FEM_GUARD, HEAD_RANDOM, 0x0404, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0007, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x0a, PAD_WAX_0057, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0a, PAD_WAX_0057, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_CAN_HEAR_ALARMS | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x000a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x0c, PAD_WAX_0060, BODY_FEM_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 100, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_02000000, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0c, PAD_WAX_0060, BODY_FEM_GUARD, HEAD_RANDOM, 0x0405, -1, -1, 100, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_STOPTRACKINGIFLOOKEDAT, TEAM_ENEMY, SQUADRON_06, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x000c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_WAX_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, 0x35, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x18, PAD_WAX_01C7, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, 0x35, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0018, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_WAX_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, 0x36, 0, 0, 2, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x19, PAD_WAX_01C8, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, 0x36, 0, 0, 2, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x0019, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_WAX_01C9, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00002000 | CHRFLAG0_00100000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1a, PAD_WAX_01C9, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_07, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001a, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_WAX_01CA, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, 0x37, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1b, PAD_WAX_01CA, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, 0x37, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001b, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_WAX_01CB, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, 0x38, 0, 0, 3, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, 0x1c, PAD_WAX_01CB, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, 0x38, 0, 0, 3, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001c, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1d, PAD_WAX_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00100000 | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x1d, PAD_WAX_01CC, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_60HP_GUARD, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_ALERT_ON_HEARSPAWN | CHRFLAG0_CAN_HEARSPAWN | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_08, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRSHOTGUN, 0x001d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_SHOTGUN) - chr(SPAWNFLAG_00000200, 0x08, PAD_WAX_0028, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0408, -1, -1, 500, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x08, PAD_WAX_0028, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0408, -1, -1, 500, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, 0, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0008, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_00000200, 0x0d, PAD_WAX_006F, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0409, -1, -1, 100, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x0d, PAD_WAX_006F, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0409, -1, -1, 100, 100, CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x000d, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_WAX_01C6, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_40HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 1, 0, 0) + chr(SPAWNFLAG_00000200 | SPAWNFLAG_FIXEDHEIGHT, 0x17, PAD_WAX_01C6, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_40HP_GUARD, -1, -1, 2000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, CHRFLAG1_DOINGIDLEANIMATION | CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_09, -1, 0, 0, 1, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0017, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_00000200, 0x06, PAD_WAX_0011, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0407, 0x001d, -1, 1000, 9, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_00002000 | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x06, PAD_WAX_0011, BODY_DDSHOCK, HEAD_DDSHOCK, 0x0407, 0x001d, -1, 1000, 9, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_NOHEAR, CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_THROWGRENADEFIRST | CHRFLAG1_LONG_CAMSPY_OBSERVATION, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0006, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_00000200, 0x05, PAD_WAX_01C0, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_40HP_GUARD, 0x001e, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_UNSURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_00200000 | CHRFLAG0_08000000 | CHRFLAG0_NOHEAR, CHRFLAG1_00002000, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_00000200, 0x05, PAD_WAX_01C0, BODY_DDSHOCK, HEAD_DDSHOCK, AILIST_INIT_40HP_GUARD, 0x001e, -1, 1000, 100, CHRFLAG0_CAN_EXAMINE_BODY | CHRFLAG0_CHUCKNORRIS | CHRFLAG0_CAN_RETREAT | CHRFLAG0_SURPRISABLE | CHRFLAG0_CAN_THROW_GRENADES | CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CAN_FLEESURRENDER | CHRFLAG0_COVER_TYPE2 | CHRFLAG0_NOHEAR, CHRFLAG1_THROWGRENADEFIRST, TEAM_ENEMY, SQUADRON_01, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRDY357, 0x0005, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_DY357MAGNUM) - chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CASS, PAD_WAX_0133, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 100, CHRFLAG0_UNSURPRISABLE | CHRFLAG0_00004000 | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) - chr(SPAWNFLAG_FIXEDHEIGHT, CHR_CHIEF, PAD_WAX_0223, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_CHIEF, -1, -1, 1000, 100, CHRFLAG0_00002000 | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_ANTINONINTERACTABLE | SPAWNFLAG_BLUESIGHT, CHR_CASS, PAD_WAX_0133, BODY_CASSANDRA, HEAD_CASSANDRA, AILIST_INIT_CASS, -1, -1, 1000, 100, CHRFLAG0_SURPRISABLE | CHRFLAG0_FORCESAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_CANLOSEGUN, 0, TEAM_ENEMY, SQUADRON_03, -1, 0, 0, 0, 0, 0) + chr(SPAWNFLAG_FIXEDHEIGHT, CHR_CHIEF, PAD_WAX_0223, BODY_FEM_GUARD, HEAD_RANDOM, AILIST_INIT_CHIEF, -1, -1, 1000, 100, CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_00008000 | CHRFLAG0_SQUADALERTANYDIST | CHRFLAG0_NOHEAR | CHRFLAG0_CANLOSEGUN, CHRFLAG1_DOINGIDLEANIMATION, TEAM_ENEMY, SQUADRON_0B, -1, 0, 0, 0, 0, 0) weapon(0x0100, MODEL_CHRFALCON2, CHR_CHIEF, OBJFLAG_ASSIGNEDTOCHR, 0, 0, WEAPON_FALCON2) weapon(0x0100, MODEL_CHRFALCON2, CHR_CHIEF, OBJFLAG_ASSIGNEDTOCHR | OBJFLAG_DEACTIVATED, 0, 0, WEAPON_FALCON2) @@ -1330,7 +1330,7 @@ u8 func0411_cass_in_office[] = { // Waiting for player to enter office label(0x2c) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x5a) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x5a) set_shotlist(AILIST_CASS_IN_OFFICE) set_self_chrflag(CHRCFLAG_00040000) if_chr_dead(CHR_CASS, /*goto*/ 0x06) @@ -1360,7 +1360,7 @@ u8 func0411_cass_in_office[] = { // Draw weapon label(0x57) - set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) chr_do_animation(ANIM_DRAW_PISTOL_0245, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) try_equip_weapon(MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x2c) label(0x2c) @@ -1463,7 +1463,7 @@ u8 func0413_cass_running[] = { // Consider saying something label(0x2c) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) restart_timer if_stage_flag_eq(STAGEFLAG_CASS_SAID_YWSM, FALSE, /*goto*/ 0x06) say_quip(CHR_TARGET, 0x2b, 0xff, 0x00, 0xff, BANK_1, 0x0a, 0x04) diff --git a/src/game/activemenu/activemenu.c b/src/game/activemenu/activemenu.c index 571f413ea..6be8a823f 100644 --- a/src/game/activemenu/activemenu.c +++ b/src/game/activemenu/activemenu.c @@ -573,12 +573,12 @@ void amSetAiBuddyStealth(void) if (chr && chr->prop && !chrIsDead(chr) - && chr->ailist != ailistFindById(GAILIST_AIBUDDY_STEALTH) + && chr->ailist != ailistFindById(GAILIST_BUDDY_STEALTH) && chr->actiontype != ACT_DRUGGEDDROP && chr->actiontype != ACT_DRUGGEDKO && chr->actiontype != ACT_DRUGGEDCOMINGUP) { chrStopFiring(chr); - chr->ailist = ailistFindById(GAILIST_AIBUDDY_STEALTH); + chr->ailist = ailistFindById(GAILIST_BUDDY_STEALTH); chr->aioffset = 0; } } diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index dcc923500..40aa30ee2 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -5144,7 +5144,7 @@ void chrDie(struct chrdata *chr, s32 aplayernum) chr->act_die.thudframe2 = -1; chr->act_die.timeextra = 0; - chr->ailist = ailistFindById(GAILIST_AI_BOT_DEAD); + chr->ailist = ailistFindById(GAILIST_AIBOT_DEAD); chr->aioffset = 0; mpstatsRecordDeath(aplayernum, mpPlayerGetIndex(chr)); @@ -7012,7 +7012,7 @@ bool chrCanSeePos(struct chrdata *chr, struct coord *pos, s16 *rooms) // This check is pointless because chrHasLineOfSightToPos is called // with the same arguments regardless. if ((diffangle < 1.7450513839722f || diffangle > 4.5371336936951f) - && chrHasFlag(chr, CHRFLAG1_00200000, BANK_1) == false) { + && chrHasFlag(chr, CHRFLAG1_NOOP_00200000, BANK_1) == false) { return chrHasLineOfSightToPos(chr, pos, rooms); } @@ -7548,7 +7548,7 @@ bool chrGoToPad(struct chrdata *chr, s32 padnum, u32 speed) #if VERSION >= VERSION_NTSC_1_0 && (var80062cbc <= 8 || (chr->hidden & CHRHFLAG_00400000) == 0 - || (chr->flags & CHRFLAG0_CAN_GO_TO_PLACES)) + || (chr->flags & CHRFLAG0_CAN_TRAVEL)) #else && var80062cbc <= 9 #endif @@ -7619,7 +7619,7 @@ bool chrGoToTarget(struct chrdata *chr, u32 speed) #if VERSION >= VERSION_NTSC_1_0 var80062cbc <= 8 || (chr->hidden & CHRHFLAG_00400000) == 0 || - (chr->flags & CHRFLAG0_CAN_GO_TO_PLACES) + (chr->flags & CHRFLAG0_CAN_TRAVEL) #else var80062cbc <= 9 #endif @@ -7642,7 +7642,7 @@ bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed) #if VERSION >= VERSION_NTSC_1_0 var80062cbc <= 8 || (chr->hidden & CHRHFLAG_00400000) == 0 || - (chr->flags & CHRFLAG0_CAN_GO_TO_PLACES) + (chr->flags & CHRFLAG0_CAN_TRAVEL) #else var80062cbc <= 9 #endif @@ -21134,7 +21134,7 @@ void chrTickGoPos(struct chrdata *chr) #if VERSION >= VERSION_NTSC_1_0 if (var80062cbc >= 9 && (chr->hidden & CHRHFLAG_00400000) - && (chr->flags & CHRFLAG0_CAN_GO_TO_PLACES) == 0) { + && (chr->flags & CHRFLAG0_CAN_TRAVEL) == 0) { chrStop(chr); return; } @@ -24940,7 +24940,7 @@ bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 angle, return result; } -bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool arg2) +bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool soft) { struct cover cover; struct prop *target; @@ -24957,8 +24957,8 @@ bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool arg2) return false; } - if (arg2) { - targetcanseecover = cd0002db98(&target->pos, target->rooms, cover.pos, 35, 8); + if (soft) { + targetcanseecover = cd0002db98(&target->pos, target->rooms, cover.pos, CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_BG, 8); } else { targetcanseecover = cd0002f450(&target->pos, target->rooms, cover.pos, 50, 35); } @@ -25511,7 +25511,7 @@ glabel chrAssignCoverByCriteria // // // Assign the first out of sight cover // for (i = 0; i < numcandidates; i++) { -// if (chrCheckCoverOutOfSight(chr, g_CoverCandidates[i].covernum, criteria & COVERCRITERIA_8000)) { +// if (chrCheckCoverOutOfSight(chr, g_CoverCandidates[i].covernum, criteria & COVERCRITERIA_ALLOWSOFT)) { // chr->cover = g_CoverCandidates[i].covernum; // // if (oldcover != -1) { diff --git a/src/game/chr/chrai.c b/src/game/chr/chrai.c index 1f0f93c40..ef8d55021 100644 --- a/src/game/chr/chrai.c +++ b/src/game/chr/chrai.c @@ -81,7 +81,7 @@ bool (*g_CommandPointers[])(void) = { /*0x0044*/ aiIfHeardTargetRecently, /*0x0045*/ ai0045, /*0x0046*/ aiIfNeverBeenOnScreen, - /*0x0047*/ ai0047, + /*0x0047*/ aiIfOnScreen, /*0x0048*/ aiIfChrInActiveRoom, /*0x0049*/ aiIfRoomActive, /*0x004a*/ ai004a, @@ -433,7 +433,7 @@ bool (*g_CommandPointers[])(void) = { /*0x01a4*/ aiShowHudmsgMiddle, /*0x01a5*/ aiIfUsingLift, /*0x01a6*/ aiIfTargetYDifferenceLessThan, - /*0x01a7*/ aiIfChrPropsoundcountZero, + /*0x01a7*/ aiIfChrNotTalking, /*0x01a8*/ NULL, /*0x01a9*/ NULL, /*0x01aa*/ ai01aa, @@ -729,7 +729,7 @@ void chraiExecute(void *entity, s32 proptype) if (g_Vars.chrdata->aishootingatmelist >= 0 && ailistFindById(g_Vars.chrdata->aishootingatmelist) != g_Vars.chrdata->ailist && g_Vars.chrdata->dodgerating > (u32)random() % 100 - && chrHasFlag(g_Vars.chrdata, CHRFLAG1_00000400, BANK_1) == 0 + && chrHasFlag(g_Vars.chrdata, CHRFLAG1_INDARKROOM, BANK_1) == 0 && chrHasFlag(g_Vars.chrdata, CHRFLAG0_AIVSAI, BANK_0) == 0 && ailistFindById(g_Vars.chrdata->aishootingatmelist) != g_Vars.chrdata->ailist && g_Vars.chrdata->actiontype != ACT_ATTACK @@ -753,7 +753,7 @@ void chraiExecute(void *entity, s32 proptype) } } else if (g_Vars.chrdata && g_Vars.chrdata->darkroomthing - && chrHasFlag(g_Vars.chrdata, CHRFLAG1_00000400, BANK_1) == 0 + && chrHasFlag(g_Vars.chrdata, CHRFLAG1_INDARKROOM, BANK_1) == 0 && ailistFindById(g_Vars.chrdata->aidarkroomlist) != g_Vars.chrdata->ailist && g_Vars.stagenum != STAGE_CRASHSITE) { g_Vars.chrdata->darkroomthing = 0; @@ -763,8 +763,8 @@ void chraiExecute(void *entity, s32 proptype) && g_Vars.chrdata->actiontype != ACT_DEAD && g_Vars.chrdata->actiontype != ACT_ARGH) { // Set darkroom list - chrSetFlags(g_Vars.chrdata, CHRFLAG1_00000400, BANK_1); - chrSetFlags(g_Vars.chrdata, CHRFLAG1_10000000, BANK_1); + chrSetFlags(g_Vars.chrdata, CHRFLAG1_INDARKROOM, BANK_1); + chrSetFlags(g_Vars.chrdata, CHRFLAG1_SEARCHSAMEROOM, BANK_1); g_Vars.chrdata->alertness = 0; g_Vars.ailist = ailistFindById(g_Vars.chrdata->aidarkroomlist); g_Vars.aioffset = 0; diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 216e29bb8..534dc76b7 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -1484,9 +1484,9 @@ bool aiIfNeverBeenOnScreen(void) /** * @cmd 0047 */ -bool ai0047(void) +bool aiIfOnScreen(void) { - if (g_Vars.chrdata->prop->flags & 0xc2) { + if (g_Vars.chrdata->prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); } else { @@ -7065,7 +7065,7 @@ bool aiDetectEnemyOnSameFloor(void) && y - chr->prop->pos.y < 200 && ((g_Vars.chrdata->hidden & CHRHFLAG_PSYCHOSISED) == 0 || (chr->hidden & CHRHFLAG_ANTINONINTERACTABLE) == 0 - || chr->hidden & CHRHFLAG_08000000) + || (chr->hidden & CHRHFLAG_DONTSHOOTME)) && g_Vars.chrdata->chrnum != chr->chrnum) { distance = chrGetDistanceToChr(g_Vars.chrdata, chr->chrnum); @@ -7148,7 +7148,7 @@ bool aiDetectEnemy(void) && ( (g_Vars.chrdata->hidden & CHRHFLAG_PSYCHOSISED) == 0 || (chr->hidden & CHRHFLAG_ANTINONINTERACTABLE) == 0 - || chr->hidden & CHRHFLAG_08000000)) { + || (chr->hidden & CHRHFLAG_DONTSHOOTME))) { f32 distance = chrGetDistanceToChr(g_Vars.chrdata, chr->chrnum); if (distance < maxdist && distance != 0 && distance < closestdist @@ -9812,7 +9812,7 @@ glabel var7f1a9d64 // } else { // g_Vars.chrdata->soundtimer = 0; // g_Vars.chrdata->soundgap = cmd[5]; -// chrUnsetFlags(g_Vars.chrdata, CHRFLAG1_DISSPEE, BANK_1); +// chrUnsetFlags(g_Vars.chrdata, CHRFLAG1_TALKINGTODISGUISE, BANK_1); // } // } // } @@ -9835,7 +9835,7 @@ void func0f05abdc(struct prop *prop) /** * @cmd 01a7 */ -bool aiIfChrPropsoundcountZero(void) +bool aiIfChrNotTalking(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; struct chrdata *chr = chrFindByLiteralId(cmd[2]); @@ -12363,8 +12363,8 @@ bool aiShowCutsceneChrs(void) if (show) { for (i = chrsGetNumSlots() - 1; i >= 0; i--) { - if (g_ChrSlots[i].chrnum >= 0 && g_ChrSlots[i].prop && (g_ChrSlots[i].hidden2 & CHRH2FLAG_0001)) { - g_ChrSlots[i].hidden2 &= ~CHRH2FLAG_0001; + if (g_ChrSlots[i].chrnum >= 0 && g_ChrSlots[i].prop && (g_ChrSlots[i].hidden2 & CHRH2FLAG_HIDDENFORCUTSCENE)) { + g_ChrSlots[i].hidden2 &= ~CHRH2FLAG_HIDDENFORCUTSCENE; g_ChrSlots[i].chrflags &= ~CHRCFLAG_HIDDEN; } } @@ -12372,7 +12372,7 @@ bool aiShowCutsceneChrs(void) for (i = chrsGetNumSlots() - 1; i >= 0; i--) { if (g_ChrSlots[i].chrnum >= 0 && g_ChrSlots[i].prop && (g_ChrSlots[i].chrflags & (CHRCFLAG_UNPLAYABLE | CHRCFLAG_HIDDEN)) == 0) { - g_ChrSlots[i].hidden2 |= CHRH2FLAG_0001; + g_ChrSlots[i].hidden2 |= CHRH2FLAG_HIDDENFORCUTSCENE; g_ChrSlots[i].chrflags |= CHRCFLAG_HIDDEN; } } diff --git a/src/game/gailists.c b/src/game/gailists.c index a50ae8dee..bd76724a9 100644 --- a/src/game/gailists.c +++ b/src/game/gailists.c @@ -16,6 +16,9 @@ * guard combat. */ +/** + * @ailist GAILIST_IDLE + */ u8 func0000_idle[] = { dprint 'd','y','e','n','g',0, beginloop(0x0d) @@ -24,45 +27,63 @@ u8 func0000_idle[] = { endlist }; +/** + * @ailist GAILIST_END_CINEMA + */ u8 func0005_end_cinema[] = { enter_firstperson set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; +/** + * @ailist GAILIST_UNALERTED_0001 + */ u8 func0001_unalerted_0001[] = { set_ailist(CHR_SELF, GAILIST_UNALERTED) endlist }; -// Never used +/** + * @ailist GAILIST_STOP_UNALERTED + */ u8 func0003_stop_unalerted[] = { stop_chr set_ailist(CHR_SELF, GAILIST_UNALERTED) endlist }; +/** + * @ailist GAILIST_UNALERTED_0002 + */ u8 func0002_unalerted_0002[] = { set_ailist(CHR_SELF, GAILIST_UNALERTED) endlist }; +/** + * @ailist GAILIST_UNALERTED_0004 + */ u8 func0004_unalerted_0004[] = { set_ailist(CHR_SELF, GAILIST_UNALERTED_0002) endlist }; -u8 func0006_unalerted[] = { -#define LABEL_AIVSAIFAIL 0x16 +#define LABEL_AIVSAIFAIL 0x16 #define LABEL_DISGUISE_UNCOVERED 0x16 -#define LABEL_SCAN_START 0x1a -#define LABEL_SEE_DETECT 0x1e -#define LABEL_HEAR_DETECT 0x1f -#define LABEL_NEAR_MISS 0x20 -#define LABEL_SEEFRIENDDIE 0x21 -#define LABEL_HEARD_ALARM 0x23 -#define LABEL_HEARSPAWN 0xda +#define LABEL_SCAN_START 0x1a +#define LABEL_SEE_DETECT 0x1e +#define LABEL_HEAR_DETECT 0x1f +#define LABEL_NEAR_MISS 0x20 +#define LABEL_SEEFRIENDDIE 0x21 +#define LABEL_HEARD_ALARM 0x23 +#define LABEL_HEARSPAWN 0xda +/** + * @ailist GAILIST_UNALERTED + */ +u8 func0006_unalerted[] = { + // Handle psychosis if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13) goto_next(0x16) @@ -70,6 +91,7 @@ u8 func0006_unalerted[] = { set_returnlist(CHR_SELF, GAILIST_INIT_PSYCHOSIS) set_ailist(CHR_SELF, GAILIST_INIT_PSYCHOSIS) + // Check state of chr label(0x16) set_target_chr(CHR_P1P2) set_shotlist(GAILIST_UNALERTED) @@ -81,6 +103,7 @@ u8 func0006_unalerted[] = { dprint 'N','O','G','U','N','\n',0, goto_next(0x16) + // Has gun label(0x13) goto_next(LABEL_SCAN_START) @@ -90,7 +113,7 @@ u8 func0006_unalerted[] = { set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) - // Injured or has no gun + // Injured or gun has just been shot out of hand label(0x16) say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) dprint 'N','O','G','U','N',',','\n',0, @@ -100,7 +123,7 @@ u8 func0006_unalerted[] = { if_chr_idle_action_eq(IDLEACTION_SITTING_DORMANT, /*goto*/ 0x05) goto_next(0x06) - // Stand up from sitting + // Injured or gun dropped while sitting -> stand up label(0x05) dprint 'N','O','G','U','N','2','\n',0, dprint 'A','N','I','M',' ','O','B','J','E','C','T',' ','N','O','W','\n',0, @@ -112,19 +135,19 @@ u8 func0006_unalerted[] = { dprint 'B','4',' ','W','A','T','\n',0, goto_next(0x0c) + // Injured or gun dropped while standing label(0x06) dprint 'B','E','E','N',' ','S','H','O','T','\n',0, - // if 01000000, set 04000000 - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x14) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ASKEDABOUTGUN, /*goto*/ 0x14) goto_next(0x13) + // Has asked about gun label(0x14) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_04000000) - // Stop chr, either immediately or by waiting for their animation to end. - // I think the animation is their injured animation. + // Wait for the chr's injured animation to end label(0x13) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) if_chr_idle(/*goto*/ 0x13) goto_next(0x03) @@ -138,12 +161,13 @@ u8 func0006_unalerted[] = { // If warned already, go straight to scan label(0x16) - if_self_flag_bankx_eq(CHRFLAG1_WARNED, TRUE, BANK_1, /*goto*/ LABEL_SCAN_START) + if_self_flag_bankx_eq(CHRFLAG1_PREWARNED, TRUE, BANK_1, /*goto*/ LABEL_SCAN_START) say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ 0x13) increase_squadron_alertness(100) + label(0x13) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, set_ailist(CHR_SELF, GAILIST_WAKEUP) @@ -157,22 +181,27 @@ u8 func0006_unalerted[] = { dprint 'S','2',0, chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0x13) if_alertness(100, OPERATOR_LESS_THAN, /*goto*/ 0x16) + + // Chr is already alert dprint 'A','L','E','R','T',' ','F','A','I','\n',0, goto_next(0x78) - // Not alert + // If not alert, check for witnessing death or injury label(0x16) - if_self_flag_bankx_eq(CHRFLAG1_WARNED, TRUE, BANK_1, /*goto*/ 0x13) - if_saw_death(0x01, /*goto*/ LABEL_SEEFRIENDDIE) - if_saw_injury(0x01, /*goto*/ LABEL_NEAR_MISS) + if_self_flag_bankx_eq(CHRFLAG1_PREWARNED, TRUE, BANK_1, /*goto*/ 0x13) + if_saw_death(1, /*goto*/ LABEL_SEEFRIENDDIE) + if_saw_injury(1, /*goto*/ LABEL_NEAR_MISS) - // Warned + // Check if target is in sight label(0x13) dprint 'A','1','\n',0, if_target_outside_my_yvisang(/*goto*/ 0x16) if_target_in_sight(/*goto*/ LABEL_SEE_DETECT) + + // Check if AIVSAI is enabled and can see AI enemy label(0x16) dprint 'B','4',' ','A','I','V','S','A','I','\n',0, if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ LABEL_AIVSAIFAIL) @@ -186,7 +215,7 @@ u8 func0006_unalerted[] = { if_target_is_player(/*goto*/ LABEL_AIVSAIFAIL) goto_next(0x12) - // Check see and hear + // Check for near miss and hear label(LABEL_AIVSAIFAIL) dprint 'S','4',0, if_near_miss(/*goto*/ LABEL_SEE_DETECT) @@ -196,9 +225,11 @@ u8 func0006_unalerted[] = { if_can_see_target(/*goto*/ 0x16) goto_next(0x13) + // Hear enabled, or hear disabled but can see target label(0x16) dprint 'C','H','E','K','H','E','A','R','\n',0, if_heard_target_recently(/*goto*/ LABEL_HEAR_DETECT) + label(0x13) dprint 'N','O','T','H','E','A','R','D','\n',0, @@ -208,16 +239,18 @@ u8 func0006_unalerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CAN_HEAR_ALARMS, FALSE, BANK_0, /*goto*/ 0x16) dprint 'N','3','\n',0, if_alarm_active(/*goto*/ LABEL_HEARD_ALARM) + + // Hear alarm is disabled for this chr, or alarm is off label(0x16) dprint 'N','1','\n',0, if_alarm_active(/*goto*/ 0x13) goto_next(0x16) - // Can hear alarm + // Alarm on but chr is not allowed to hear it label(0x13) dprint 'A','L',' ','O','N','A','R','D','\n',0, if_stage_is_not(STAGE_PELAGIC, /*goto*/ 0x16) - if_bitcheck_in_prop_struct(/*goto*/ LABEL_HEARD_ALARM) + if_onscreen(/*goto*/ LABEL_HEARD_ALARM) // Check if can see camspy label(0x16) @@ -234,25 +267,26 @@ u8 func0006_unalerted[] = { // Patroller seeing camspy label(0x15) - set_returnlist(CHR_SELF, GAILIST_DISGUISE_DETECTION) + set_returnlist(CHR_SELF, GAILIST_PATROLLER_DIS_TALKING) set_ailist(CHR_SELF, GAILIST_OBSERVE_CAMSPY) // Can't see camspy label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00080000, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_NOIDLEANIMS, TRUE, BANK_1, /*goto*/ 0x16) if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_DISSPEE, FALSE, BANK_1, /*goto*/ 0x15) - dprint 'C','H','E','C','K',' ','S','O','U','F','I','\n',0, // checks outfit? - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ 0x28) + if_self_flag_bankx_eq(CHRFLAG1_TALKINGTODISGUISE, FALSE, BANK_1, /*goto*/ 0x15) + dprint 'C','H','E','C','K',' ','S','O','U','F','I','\n',0, // check sound finished + if_chr_not_talking(CHR_SELF, /*goto*/ 0x28) if_timer_gt(60, /*goto*/ 0x28) goto_next(0x15) - // chr field 0x332 was zero + // Chr is not talking label(0x28) - unset_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1) + unset_self_flag_bankx(CHRFLAG1_TALKINGTODISGUISE, BANK_1) stop_chr - // Disspee is false, or timer not at 1 second yet + // CHRFLAG1_TALKINGTODISGUISE was off, or timer not at 1 second yet + // Consider doing an idle animation label(0x15) if_chr_idle(/*goto*/ 0x16) call_rng @@ -264,7 +298,7 @@ u8 func0006_unalerted[] = { set_ailist(CHR_SELF, GAILIST_DO_BORED_ANIMATION) label(0x15) - set_returnlist(CHR_SELF, GAILIST_DISGUISE_DETECTION) + set_returnlist(CHR_SELF, GAILIST_PATROLLER_DIS_TALKING) set_ailist(CHR_SELF, GAILIST_DO_BORED_ANIMATION) // Consider looking around @@ -279,13 +313,17 @@ u8 func0006_unalerted[] = { set_ailist(CHR_SELF, GAILIST_LOOK_AROUND) label(0x15) - set_returnlist(CHR_SELF, GAILIST_DISGUISE_DETECTION) + set_returnlist(CHR_SELF, GAILIST_PATROLLER_DIS_TALKING) set_ailist(CHR_SELF, GAILIST_LOOK_AROUND) + // Go back to scan start label(0x16) goto_first(LABEL_SCAN_START) - // Idle animations + /*************************************************************************** + * Idle animations + **************************************************************************/ + label(0x13) dprint 'N','A','T',' ','A','N','I','M','S','\n',0, if_chr_idle(/*goto*/ 0x16) @@ -296,12 +334,16 @@ u8 func0006_unalerted[] = { dprint 'I','N',' ','A','N','I','M','S','\n',0, goto_first(LABEL_SCAN_START) - // Handle seeing player + /*************************************************************************** + * Seeing player + **************************************************************************/ + label(LABEL_SEE_DETECT) dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0, if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED) + label(0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0x14) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED, /*goto*/ 0x14) goto_next(0x13) label(0x14) @@ -333,8 +375,8 @@ u8 func0006_unalerted[] = { goto_next(0xea) label(0x14) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0xe8) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED, /*goto*/ 0xe8) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ASKEDABOUTGUN, /*goto*/ 0xe8) label(0xea) if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0xe6) @@ -348,6 +390,7 @@ u8 func0006_unalerted[] = { label(0xe6) if_distance_to_target_gt(450, /*goto*/ 0x15) + label(0xe8) if_can_see_target(/*goto*/ 0xe9) goto_next(LABEL_DISGUISE_UNCOVERED) @@ -361,23 +404,32 @@ u8 func0006_unalerted[] = { if_patrolling(/*goto*/ 0x14) set_returnlist(CHR_SELF, GAILIST_UNALERTED) set_ailist(CHR_SELF, GAILIST_CIVILIAN_SAY_COMMENT) + label(0x14) - set_returnlist(CHR_SELF, GAILIST_DISGUISE_DETECTION) + set_returnlist(CHR_SELF, GAILIST_PATROLLER_DIS_TALKING) set_ailist(CHR_SELF, GAILIST_CIVILIAN_SAY_COMMENT) + label(0x15) goto_first(LABEL_SCAN_START) - // Disguise broken + /*************************************************************************** + * Disguise uncovered + **************************************************************************/ + label(LABEL_DISGUISE_UNCOVERED) dprint 'D','I','S','B','R','O','K','E','N','\n',0, if_near_miss(/*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, TRUE, BANK_0, /*goto*/ 0x94) + if_self_flag_bankx_eq(CHRFLAG0_SURPRISABLE, TRUE, BANK_0, /*goto*/ 0x94) + + // Near miss or cannot be surprised label(0x16) if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14) if_chr_in_squadron_doing_action(MA_GOTOALARM, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_CAN_GO_TO_PLACES, TRUE, BANK_0, /*goto*/ 0x9f) + if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAVEL, TRUE, BANK_0, /*goto*/ 0x9f) + label(0x16) say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + label(0x9f) increase_squadron_alertness(100) goto_next(0x77) @@ -397,9 +449,10 @@ u8 func0006_unalerted[] = { increase_squadron_alertness(100) goto_next(0x77) + // Surprised due to disguise broken label(0x94) label(0x16) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_DETECTED) dprint 'S','U','R','P','R','I','S','E','D','!','\n',0, say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer @@ -424,12 +477,14 @@ u8 func0006_unalerted[] = { set_alertness(255) if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ 0x13) increase_squadron_alertness(100) + label(0x13) set_ailist(CHR_SELF, GAILIST_WAKEUP) - // - // HEAR DETECT - // + /*************************************************************************** + * Hearing player + **************************************************************************/ + label(LABEL_HEAR_DETECT) yield dprint 'S','7',0, @@ -446,17 +501,18 @@ u8 func0006_unalerted[] = { endloop(0x80) label(0x81) - if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_01000000, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_GP1, TRUE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_LOOKINGFORTARGET, TRUE, BANK_1, /*goto*/ 0x13) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) label(0x13) increase_squadron_alertness(100) set_ailist(CHR_SELF, GAILIST_WAKEUP) - // - // HEAR SPAWN - // + /*************************************************************************** + * Hearing player + spawn clone + **************************************************************************/ + label(LABEL_HEARSPAWN) dprint 'H','E','A','R','S','P','A','W','N','\n',0, if_never_been_onscreen(/*goto*/ 0x0e) @@ -469,8 +525,9 @@ u8 func0006_unalerted[] = { // Never been on screen label(0x13) - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x13) set_alertness(100) + label(0x13) dprint 'C','H','E','C','K',' ','D','U','P','E','\n',0, if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x0e) @@ -481,15 +538,16 @@ u8 func0006_unalerted[] = { dprint 'C','R','E','A','T','E',' ','S','P','A','W','N','\n',0, try_spawn_clone2(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER, 0, /*goto*/ 0x13) dprint 'C','R','E','A','T','E',' ','F','A','I','L','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00100000, TRUE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, TRUE, BANK_0, /*goto*/ 0x13) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) label(0x13) set_ailist(CHR_SELF, GAILIST_UNALERTED_0001) - // - // NEAR MISS - // + /*************************************************************************** + * Near miss + **************************************************************************/ + label(LABEL_NEAR_MISS) increase_self_alertness(100) say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) @@ -502,7 +560,7 @@ u8 func0006_unalerted[] = { goto_next(0x16) label(0x13) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_next(0x94) label(0x16) @@ -516,18 +574,21 @@ u8 func0006_unalerted[] = { goto_next(0x16) label(0x13) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_next(0x94) label(0x16) goto_next(0x94) - // - // SEE FRIEND DIE - // + /*************************************************************************** + * Seeing another chr die + **************************************************************************/ + label(LABEL_SEEFRIENDDIE) dprint 'S','E','E','F','R','I','E','N','D','D','I','E','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, FALSE, BANK_0, /*goto*/ 0x17) + if_self_flag_bankx_eq(CHRFLAG0_SURPRISABLE, FALSE, BANK_0, /*goto*/ 0x17) + + // Surprised due to seeing friend die label(0x94) label(0x16) dprint 'S','U','R','P','R','I','S','E','D','!','\n',0, @@ -541,6 +602,7 @@ u8 func0006_unalerted[] = { if_timer_gt(60, /*goto*/ 0x17) endloop(0x76) + // Go to body label(0x17) if_self_flag_bankx_eq(CHRFLAG0_CAN_EXAMINE_BODY, FALSE, BANK_0, /*goto*/ 0x7d) try_jog_to_chr(CHR_SEEDIE, /*goto*/ 0x7e) @@ -554,6 +616,7 @@ u8 func0006_unalerted[] = { set_target_chr(CHR_P1P2) if_target_outside_my_yvisang(/*goto*/ 0x13) if_target_in_sight(/*goto*/ 0x16) + label(0x13) if_distance_to_chr_lt(150, CHR_SEEDIE, /*goto*/ 0x7f) if_chr_stopped(/*goto*/ 0x7f) @@ -562,7 +625,7 @@ u8 func0006_unalerted[] = { label(0x16) goto_first(LABEL_SEE_DETECT) - // At friend + // At body label(0x7f) restart_timer kneel @@ -570,18 +633,20 @@ u8 func0006_unalerted[] = { beginloop(0x7c) dprint 'T','1',0, dprint 'E','X','A','M',' ','B','O','D','Y','\n',0, - if_saw_injury(0x00, /*goto*/ 0x16) + if_saw_injury(0, /*goto*/ 0x16) set_hear_distance(10000) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) if_hears_target(/*goto*/ 0x16) if_target_outside_my_yvisang(/*goto*/ 0x13) if_target_in_sight(/*goto*/ 0x17) + label(0x13) if_self_flag_bankx_eq(CHRFLAG0_CAN_EXAMINE_BODY, FALSE, BANK_0, /*goto*/ 0x13) if_timer_lt(120, /*goto*/ 0x13) say_quip(CHR_BOND, QUIP_INSPECTBODY, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) unset_self_flag_bankx(CHRFLAG0_CAN_EXAMINE_BODY, BANK_0) + label(0x13) if_timer_gt(600, /*goto*/ 0x7d) endloop(0x7c) @@ -589,13 +654,13 @@ u8 func0006_unalerted[] = { // Heard gunfire label(0x16) set_alertness(100) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_first(LABEL_SCAN_START) // Saw player label(0x17) set_alertness(100) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_first(LABEL_SCAN_START) // Examination finished @@ -607,10 +672,10 @@ u8 func0006_unalerted[] = { label(0x13) set_alertness(100) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_first(0xdb) - // Can't see Jonna + // Can't see Joanna label(0x16) if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x16) set_target_chr(CHR_COOP) @@ -619,7 +684,7 @@ u8 func0006_unalerted[] = { label(0x13) set_alertness(100) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) goto_first(0xdb) label(0x16) @@ -636,13 +701,15 @@ u8 func0006_unalerted[] = { dprint 'S','E','E',' ','O','B','J','E','C','T','\n',0, goto_next(0x16) - // - // HEARD ALARM - // + /*************************************************************************** + * Hearing alarm + **************************************************************************/ + label(LABEL_HEARD_ALARM) dprint 'H','E','A','R','D',' ','A','L','A','R','M','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00010000, FALSE, BANK_1, /*goto*/ 0x13) - set_self_flag_bankx(CHRFLAG0_00100000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG1_HEARSPAWN_ALERT_IF_ALARM, FALSE, BANK_1, /*goto*/ 0x13) + set_self_flag_bankx(CHRFLAG0_ALERT_ON_HEARSPAWN, BANK_0) + label(0x13) if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ LABEL_HEARSPAWN) restart_timer @@ -659,9 +726,10 @@ u8 func0006_unalerted[] = { set_alertness(255) set_ailist(CHR_SELF, GAILIST_WAKEUP) - // - // HEAR SPAWN 2 - // + /*************************************************************************** + * Hearing alarm + spawn clone + **************************************************************************/ + label(LABEL_HEARSPAWN) yield dprint 'H','E','A','R','S','P','A','W','N','\n',0, @@ -677,7 +745,7 @@ u8 func0006_unalerted[] = { dprint 'C','H','E','C','K',' ','D','U','P','E','\n',0, if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x0e) if_chr_knockedout(CHR_CLONE, /*goto*/ 0x0e) - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x13) goto_first(LABEL_HEARSPAWN) label(0x13) @@ -687,14 +755,14 @@ u8 func0006_unalerted[] = { dprint 'C','R','E','A','T','E',' ','S','P','A','W','N','\n',0, try_spawn_clone2(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER, 0, /*goto*/ 0x13) dprint 'C','R','E','A','T','E',' ','F','A','I','L','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x16) goto_first(LABEL_HEARSPAWN) label(0x16) goto_first(LABEL_SCAN_START) label(0x13) - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x13) goto_first(LABEL_HEARSPAWN) label(0x13) @@ -707,11 +775,12 @@ u8 func0006_unalerted[] = { label(0x16) goto_first(LABEL_SCAN_START) - // - // ALERT FAIL (alertness < 100) - // + /*************************************************************************** + * Warned by friend + **************************************************************************/ + label(0x78) - if_self_flag_bankx_eq(CHRFLAG0_00100000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_ALERT_ON_HEARSPAWN, FALSE, BANK_0, /*goto*/ 0x13) goto_first(0x0e) // create spawn label(0x13) @@ -737,20 +806,26 @@ u8 func0006_unalerted[] = { set_ailist(CHR_SELF, GAILIST_WAKEUP) // Unreachable - nothing jumps here + // Likely a copy/paste error as this code appears in another ailist label(0xe4) set_returnlist(CHR_SELF, GAILIST_UNALERTED) set_ailist(CHR_SELF, GAILIST_FLEE_FROM_GRENADE) - // - // AIVSAI pass - // + /*************************************************************************** + * AI vs AI + **************************************************************************/ + + // When two AIs engage each other, the one with CHRFLAG1_AIVSAI_ADVANTAGED + // will attack first and the other will go unalert until they are attacked. + // This allows the good AI to get the drop on the enemy AI. label(0x12) - if_self_flag_bankx_eq(CHRFLAG1_00100000, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_AIVSAI_ADVANTAGED, TRUE, BANK_1, /*goto*/ 0x13) set_returnlist(CHR_SELF, GAILIST_UNALERTED) + // Surprised at seeing another enemy AI? label(0x13) dprint 'W','A','R','N','E','D','B','E','N','D','3','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, FALSE, BANK_0, /*goto*/ 0x77) + if_self_flag_bankx_eq(CHRFLAG0_SURPRISABLE, FALSE, BANK_0, /*goto*/ 0x77) say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x75) @@ -763,15 +838,18 @@ u8 func0006_unalerted[] = { label(0x77) if_chr_in_squadron_doing_action(MA_GOTOALARM, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_CAN_GO_TO_PLACES, TRUE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAVEL, TRUE, BANK_0, /*goto*/ 0x13) + label(0x16) set_ailist(CHR_SELF, GAILIST_INIT_COMBAT) label(0x13) set_ailist(CHR_SELF, GAILIST_WAKEUP) - // Wait until chr finished animation, then become alert. - // Used when standing up from sitting. + /*************************************************************************** + * Standing up from sitting + **************************************************************************/ + label(0x0c) dprint 'G','O','T',' ','W','A','T','\n',0, yield @@ -789,12 +867,17 @@ u8 unregistered_function1[] = { endlist }; +/** + * @ailist GAILIST_WAKEUP + */ u8 func0008_wakeup[] = { - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED) + // Mark target as detected + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_DETECTED) + + // Handle psychosis if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13) goto_next(0x16) - // Psychosised label(0x13) set_returnlist(CHR_SELF, GAILIST_INIT_PSYCHOSIS) set_ailist(CHR_SELF, GAILIST_INIT_PSYCHOSIS) @@ -851,19 +934,37 @@ u8 func0008_wakeup[] = { endlist }; -u8 func0007_alerted[] = { -#define LABEL_DRAW_PISTOL 0xe7 -#define LABEL_GETGUN_FAILED 0xaf -#define LABEL_CLOAKED 0xeb -#define LABEL_RUN_FOR_ALARM 0x9f +#define LABEL_TARGETGONE 0x01 +#define LABEL_DODGE 0x18 +#define LABEL_MAINLOOP 0x1b +#define LABEL_TRACK 0x34 +#define LABEL_WAITTIMEOUT 0x3d +#define LABEL_THROWGRENADE 0x48 +#define LABEL_GUNJAMMED 0x57 +#define LABEL_COVERINVALID 0x5b +#define LABEL_ATTACKING 0x60 #define LABEL_RETREAT 0x6b +#define LABEL_SURRENDER 0x70 #define LABEL_FLANK_LEFT 0x8f #define LABEL_FLANK_RIGHT 0x90 -#define LABEL_TRACK 0x34 +#define LABEL_WARNFRIENDS 0x95 +#define LABEL_RUN_FOR_ALARM 0x9f +#define LABEL_GETGUN_FAILED 0xaf #define LABEL_SNIPE 0xde #define LABEL_FLEE_GRENADE 0xe4 +#define LABEL_DRAW_PISTOL 0xe7 +#define LABEL_TARGETCLOAKED 0xeb - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED) +/** + * @ailist GAILIST_ALERTED + * + * This ailist handles the main logic for alerted chrs. + */ +u8 func0007_alerted[] = { + // Mark target as detected + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_DETECTED) + + // Handle psychosis if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13) goto_next(0x16) @@ -876,16 +977,16 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x13) set_chr_special_death_animation(CHR_SELF, SPECIALDIE_NONE) - // If something, jump to combat + // If Skedar, just do combat label(0x13) - unset_self_flag_bankx(CHRFLAG1_01000000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_LOOKINGFORTARGET, BANK_1) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x13) goto_next(0x16) label(0x13) set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) - // is_chr_is_dead_maybe (named wrong) was false + // Human/Maian label(0x16) set_shotlist(GAILIST_ALERTED) set_aishootingatmelist(GAILIST_DODGE) @@ -900,7 +1001,7 @@ u8 func0007_alerted[] = { // Dying label(0x16) - set_chr_dodge_rating(2, 0x00) + set_chr_dodge_rating(2, 0) set_shotlist(GAILIST_IDLE) restart_timer @@ -925,12 +1026,12 @@ u8 func0007_alerted[] = { // Not injured and has gun label(0x13) if_self_flag_bankx_eq(CHRFLAG1_CAN_DRAW_PISTOL, TRUE, BANK_1, /*goto*/ LABEL_DRAW_PISTOL) - goto_next(0x1b) + goto_next(LABEL_MAINLOOP) // Injured or no gun label(0x16) restart_timer - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) unset_self_flag_bankx(CHRFLAG1_CAN_DRAW_PISTOL, BANK_1) dprint 'C','H','E','C','K','I','N','J','U','R','Y','\n',0, @@ -943,6 +1044,7 @@ u8 func0007_alerted[] = { say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) + label(0x16) #if VERSION >= VERSION_NTSC_1_0 if_timer_gt(180, /*goto*/ 0x13) @@ -957,10 +1059,11 @@ u8 func0007_alerted[] = { #endif if_self_flag_bankx_eq(CHRFLAG1_CAN_DRAW_PISTOL, TRUE, BANK_1, /*goto*/ LABEL_DRAW_PISTOL) dprint 'B','4',' ','G','U','N','\n',0, - if_has_gun(CHR_SELF, /*goto*/ 0x1b) + if_has_gun(CHR_SELF, /*goto*/ LABEL_MAINLOOP) dprint 'L','O','S','T',' ','M','Y',' ','G','U','N','\n',0, + label(0xac) - set_chr_dodge_rating(2, 0x00) + set_chr_dodge_rating(2, 0) say_quip(CHR_BOND, QUIP_LOSTGUN, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) stop_chr restart_timer @@ -968,7 +1071,7 @@ u8 func0007_alerted[] = { // Wait for gun to land. If it disappears (eg. falls out of geometry), is // picked up by the player, or we've been waiting for 5 seconds then go to - // GETFUN_FAILED. + // GETGUN_FAILED. label(0xb0) dprint 'W','A','I','T','I','N','G','\n',0, yield @@ -991,6 +1094,7 @@ u8 func0007_alerted[] = { if_timer_gt(300, /*goto*/ LABEL_GETGUN_FAILED) if_gun_unclaimed(-1, TRUE, /*goto*/ 0x13) goto_next(LABEL_GETGUN_FAILED) + label(0x13) if_distance_to_gun_lt(100, /*goto*/ 0x16) if_chr_stopped(/*goto*/ 0x16) @@ -1014,11 +1118,12 @@ u8 func0007_alerted[] = { goto_next(LABEL_GETGUN_FAILED) label(0x16) - goto_next(0x1b) + goto_next(LABEL_MAINLOOP) + + /*************************************************************************** + * Get gun failed + **************************************************************************/ - // - // GETGUN FAILED - // label(LABEL_GETGUN_FAILED) stop_chr dprint 'G','E','T','G','U','N',' ','F','A','I','L','E','D','\n',0, @@ -1027,20 +1132,21 @@ u8 func0007_alerted[] = { if_rand_lt(100, /*goto*/ LABEL_DRAW_PISTOL) set_self_flag_bankx(CHRFLAG0_CAN_RETREAT, BANK_0) set_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) - set_self_flag_bankx(CHRFLAG0_00200000, BANK_0) - unset_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - unset_self_flag_bankx(CHRFLAG0_00004000, BANK_0) + set_self_flag_bankx(CHRFLAG0_CAN_FLEESURRENDER, BANK_0) + unset_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0) + unset_self_flag_bankx(CHRFLAG0_FORCESAFETYCHECKS, BANK_0) unset_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0) - set_self_flag_bankx(CHRFLAG1_00000002, BANK_1) - goto_next(0x1b) + set_self_flag_bankx(CHRFLAG1_LOSTGUN, BANK_1) + goto_next(LABEL_MAINLOOP) label(0xe6) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) - goto_next(0x1b) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) + goto_next(LABEL_MAINLOOP) + + /*************************************************************************** + * Draw pistol + **************************************************************************/ - // - // DRAW PISTOL - // label(LABEL_DRAW_PISTOL) call_rng if_rand_lt(82, /*goto*/ 0x13) @@ -1058,6 +1164,7 @@ u8 func0007_alerted[] = { label(0x16) if_stage_is_not(STAGE_AIRFORCEONE, /*goto*/ 0x13) try_equip_weapon(MODEL_CHRCYCLONE, WEAPON_CYCLONE, 0x00000000, /*goto*/ 0xe5) + label(0x13) try_equip_weapon(MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0xe5) @@ -1068,31 +1175,36 @@ u8 func0007_alerted[] = { label(0x16) if_self_flag_bankx_eq(CHRFLAG1_CAN_DRAW_PISTOL, TRUE, BANK_1, /*goto*/ 0x13) unset_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0) + label(0x13) unset_self_flag_bankx(CHRFLAG1_CAN_DRAW_PISTOL, BANK_1) + label(0x16) - // - // Lots of things go here - // - label(0x1b) + /*************************************************************************** + * Main loop + **************************************************************************/ + + label(LABEL_MAINLOOP) yield + label(0x16) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_UNTARGETABLE, /*goto*/ 0x01) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_UNTARGETABLE, /*goto*/ LABEL_TARGETGONE) + label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ LABEL_TRACK) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ LABEL_TRACK) dprint 'C','H','E','C','K','I','N','J','U','R','Y','E','N','D','\n',0, // Consider warning others in team dprint 'B','4',' ','T','E','A','M',' ','C','H','E','C','K','\n',0, if_alarm_active(/*goto*/ 0x16) if_chr_in_squadron_doing_action(MA_GOTOALARM, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_CAN_GO_TO_PLACES, TRUE, BANK_0, /*goto*/ LABEL_RUN_FOR_ALARM) + if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAVEL, TRUE, BANK_0, /*goto*/ LABEL_RUN_FOR_ALARM) // No need to warn label(0x16) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) goto_next(0x16) // Unreachable - nothing jumps here @@ -1101,10 +1213,6 @@ u8 func0007_alerted[] = { set_alertness(0) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) - // This flag appears to control whether the chr can declare that they're - // attempting to surround the player. These quips are never said though, so - // either the flag is never set for anyone or the field_0x201 values are - // something different. label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x93) if_orders_eq(MA_FLANKLEFT, /*goto*/ 0x13) @@ -1119,12 +1227,16 @@ u8 func0007_alerted[] = { say_quip(CHR_BOND, QUIP_FLANK, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(LABEL_FLANK_RIGHT) - // Attempt trap (hide and ambush when player gets near) + /*************************************************************************** + * Trap (hide and ambush when player gets near) + **************************************************************************/ + label(0x93) if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ LABEL_RETREAT) if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAP, TRUE, BANK_0, /*goto*/ 0x13) dprint 'T','R','A','P',' ','N','O','T',' ','S','E','T','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00000004, FALSE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_GP1, FALSE, BANK_0, /*goto*/ 0x16) + label(0x13) dprint 'V','I','S','\n',0, if_can_see_attack_target(/*goto*/ 0x16) @@ -1132,15 +1244,17 @@ u8 func0007_alerted[] = { label(0x16) dprint 'T','R','A','P',' ','F','A','I','L','E','D','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_02000000, TRUE, BANK_0, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_01000000, FALSE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_SAID_AMBUSH_QUIP, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_NOACCURACYAFTERJAM, FALSE, BANK_0, /*goto*/ 0x16) + label(0x13) dprint 'V','I','S','\n',0, if_can_see_attack_target(/*goto*/ 0x16) goto_next(0xa1) label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_10000000, FALSE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_CAN_USE_COVER, FALSE, BANK_0, /*goto*/ 0x16) + label(0x13) dprint 'I','M',' ','G','O','I','N','G',' ','T','O',' ','P','O','P','\n',0, goto_next(0xa4) @@ -1148,6 +1262,7 @@ u8 func0007_alerted[] = { // Not popping label(0x16) if_self_flag_bankx_eq(CHRFLAG1_CAN_SNIPE, FALSE, BANK_1, /*goto*/ 0x16) + label(0x13) dprint 'I','M',' ','G','O','I','N','G',' ','T','O',' ','S','N','I','P','E','\n',0, goto_next(LABEL_SNIPE) @@ -1158,17 +1273,21 @@ u8 func0007_alerted[] = { if_num_times_shot_lt(1, /*goto*/ 0x16) if_calculated_safety2_lt(3, /*goto*/ LABEL_RETREAT) dprint 'R','I','S','K',' ','F','A','I','L','E','D','\n',0, + label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x92) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x92) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x52) + label(0x92) goto_next(0x68) - // - // TRAP/AMBUSH - // + /*************************************************************************** + * Go to trap pad + **************************************************************************/ + label(0x98) dprint 'G','O','I','N','G',' ','T','O',' ','T','R','A','P',' ','P','A','D','\n',0, go_to_target_pad(SPEED_JOG) @@ -1180,8 +1299,9 @@ u8 func0007_alerted[] = { label(0x16) dprint 'A','T',' ','T','R','A','P',' ','P','A','D','\n',0, + label(0x9b) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x03) beginloop(0x03) @@ -1194,9 +1314,11 @@ u8 func0007_alerted[] = { if_chr_target_eq(CHR_SELF, CHR_P1P2, FALSE, /*goto*/ 0xee) set_target_chr(CHR_P1P2) if_can_see_attack_target(/*goto*/ 0x9a) + label(0xee) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0xef) endloop(0x03) @@ -1211,12 +1333,13 @@ u8 func0007_alerted[] = { label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAP, TRUE, BANK_0, /*goto*/ 0x16) if_distance_to_target_lt(800, /*goto*/ 0x9c) + label(0x16) goto_first(0x9b) label(0x9c) - unset_self_flag_bankx(CHRFLAG0_00000004, BANK_0) - goto_first(0x1b) + unset_self_flag_bankx(CHRFLAG0_GP1, BANK_0) + goto_first(LABEL_MAINLOOP) label(0xa1) kneel @@ -1251,9 +1374,11 @@ u8 func0007_alerted[] = { set_target_chr(CHR_P1P2) if_can_see_attack_target(0xa3) if_distance_from_target_to_pad_lt(200, PAD_PRESET, /*goto*/ 0x13) + label(0xee) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0xef) endloop(0xa2) #endif @@ -1261,31 +1386,33 @@ u8 func0007_alerted[] = { label(0x13) dprint 'A','M','B','U','S','H',' ','P','L','A','Y','E','R','\n',0, set_accuracy(30) - set_self_flag_bankx(CHRFLAG0_02000000, BANK_0) + set_self_flag_bankx(CHRFLAG0_SAID_AMBUSH_QUIP, BANK_0) say_quip(CHR_BOND, QUIP_ATTACK2, 0x50, 0x02, 0x01, BANK_0, 0x00, 0x00) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0xa3) #if VERSION >= VERSION_NTSC_1_0 dprint 'S','E','E','N','T','A','R','G','\n',0, // seen target #endif - unset_self_flag_bankx(CHRFLAG0_01000000, BANK_0) - goto_first(0x1b) + unset_self_flag_bankx(CHRFLAG0_NOACCURACYAFTERJAM, BANK_0) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Pop (cover) + **************************************************************************/ - // - // POP - // label(0xa4) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0xa8) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_2000 | COVERCRITERIA_8000, /*goto*/ 0xa5) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0xa8) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_2000 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0xa5) dprint 'P','O','P','P','E','R',' ','F','A','I','L','E','D','\n',0, goto_next(0x52) label(0xa5) dprint 'G','O',' ','T','O',' ','P','O','P','P','E','R','\n',0, set_action(MA_COVERGOTO, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) + label(0x16) go_to_cover(SPEED_RUN) @@ -1295,8 +1422,9 @@ u8 func0007_alerted[] = { label(0xa7) dprint 'U','N','D','E','R',' ','P','O','P','P','E','R','\n',0, + label(0xa8) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0xa9) beginloop(0xa9) @@ -1316,6 +1444,7 @@ u8 func0007_alerted[] = { label(0x16) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0xaa) + label(0x13) kneel restart_timer @@ -1323,8 +1452,8 @@ u8 func0007_alerted[] = { beginloop(0xab) set_target_chr(CHR_P1P2) if_distance_to_target_gt(300, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG0_10000000, BANK_0) - goto_first(0x1b) + unset_self_flag_bankx(CHRFLAG0_CAN_USE_COVER, BANK_0) + goto_first(LABEL_MAINLOOP) label(0x13) call_rng @@ -1333,7 +1462,7 @@ u8 func0007_alerted[] = { endloop(0xab) label(0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x13) goto_first(0xa8) @@ -1354,9 +1483,10 @@ u8 func0007_alerted[] = { label(0x16) goto_first(0xa8) - // - // SNIPE - // + /*************************************************************************** + * Snipe + **************************************************************************/ + label(LABEL_SNIPE) unset_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0) yield @@ -1386,9 +1516,11 @@ u8 func0007_alerted[] = { if_chr_target_eq(CHR_SELF, CHR_P1P2, FALSE, /*goto*/ 0xee) set_target_chr(CHR_P1P2) if_can_see_attack_target(/*goto*/ 0x13) + label(0xee) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0xef) goto_first(LABEL_SNIPE) @@ -1405,7 +1537,7 @@ u8 func0007_alerted[] = { label(0x13) restart_timer - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_lie(ATTACKFLAG_AIMFORWARD | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0xdf) beginloop(0xdf) @@ -1417,7 +1549,7 @@ u8 func0007_alerted[] = { if_can_see_attack_target(/*goto*/ 0x13) set_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0) stop_chr - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x13) restart_timer @@ -1447,11 +1579,12 @@ u8 func0007_alerted[] = { endloop(0xbd) label(0x13) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Popper/ambush failed + **************************************************************************/ - // - // POPPER/AMBUSH FAILED - // label(0x52) dprint 'A','M','B','U','S','H',' ','F','A','I','L','E','D','3','\n',0, if_within_targets_fovx_by_angle(60, /*goto*/ 0x16) @@ -1459,16 +1592,18 @@ u8 func0007_alerted[] = { label(0x16) dprint 'A','M','B','U','S','H',' ','F','A','I','L','E','D','4','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00000010, TRUE, BANK_0, /*goto*/ 0x16) - goto_next(0x5b) + if_self_flag_bankx_eq(CHRFLAG0_UNDERCOVER, TRUE, BANK_0, /*goto*/ 0x16) + goto_next(LABEL_COVERINVALID) label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CHUCKNORRIS, TRUE, BANK_0, /*goto*/ 0x13) call_rng if_rand_gt(100, /*goto*/ 0x13) if_within_targets_fovx_by_angle(30, /*goto*/ 0x16) + label(0x13) if_nearly_in_targets_sight(30, /*goto*/ 0x5f) + label(0x16) if_nearly_in_targets_sight(30, /*goto*/ 0x16) if_player_using_cmp150_or_ar34(/*goto*/ 0x69) @@ -1477,18 +1612,19 @@ u8 func0007_alerted[] = { label(0x69) if_distance_to_target_gt(4000, /*goto*/ 0x61) + label(0x16) dprint 'O','K','F','O','R','C','O','V','E','R','\n',0, - if_can_see_attack_target(/*goto*/ 0x5b) - if_nearly_in_targets_sight(30, /*goto*/ 0x5b) - if_chr_in_view(/*goto*/ 0x5b) + if_can_see_attack_target(/*goto*/ LABEL_COVERINVALID) + if_nearly_in_targets_sight(30, /*goto*/ LABEL_COVERINVALID) + if_chr_in_view(/*goto*/ LABEL_COVERINVALID) goto_next(0x56) - label(0x5b) + label(LABEL_COVERINVALID) dprint 'C','O','V','E','R',' ','I','N','V','A','L','I','D','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00004000, TRUE, BANK_1, /*goto*/ 0x15) - if_self_flag_bankx_eq(CHRFLAG0_00000040, TRUE, BANK_0, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_08000000, FALSE, BANK_0, /*goto*/ 0x5c) + if_self_flag_bankx_eq(CHRFLAG1_ALLOWSOFTCOVER, TRUE, BANK_1, /*goto*/ 0x15) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE1, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE2, FALSE, BANK_0, /*goto*/ 0x5c) find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000, /*goto*/ 0x53) goto_next(0x14) @@ -1502,17 +1638,17 @@ u8 func0007_alerted[] = { label(0x15) dprint 'S','O','F','T',' ','C','O','V','E','R','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00000040, TRUE, BANK_0, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG0_08000000, FALSE, BANK_0, /*goto*/ 0x5c) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000 | COVERCRITERIA_8000, /*goto*/ 0x53) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE1, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE2, FALSE, BANK_0, /*goto*/ 0x5c) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0x53) goto_next(0x14) label(0x5c) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_1000 | COVERCRITERIA_8000, /*goto*/ 0x53) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_1000 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0x53) goto_next(0x14) label(0x16) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_8000, /*goto*/ 0x53) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0x53) goto_next(0x14) label(0x14) @@ -1521,10 +1657,11 @@ u8 func0007_alerted[] = { label(0x53) dprint 'G','O',' ','T','O',' ','C','O','V','E','R','\n',0, set_action(MA_COVERGOTO, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_SHOOTING, /*goto*/ 0x16) + label(0x16) say_quip(CHR_BOND, QUIP_GOTOCOVER1, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer @@ -1532,13 +1669,14 @@ u8 func0007_alerted[] = { beginloop(0x55) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -1553,15 +1691,16 @@ u8 func0007_alerted[] = { endloop(0x55) label(0x56) - set_self_flag_bankx(CHRFLAG0_00000010, BANK_0) + set_self_flag_bankx(CHRFLAG0_UNDERCOVER, BANK_0) dprint 'U','N','D','E','R',' ','C','O','V','E','R','\n',0, + label(0x58) set_chrpreset(CHR_TARGET) restart_timer set_action(MA_COVERWAIT, TRUE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x59) beginloop(0x59) @@ -1572,6 +1711,7 @@ u8 func0007_alerted[] = { if_timer_gt(240, /*goto*/ 0x61) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x93) if_has_orders(/*goto*/ 0x84) + label(0x93) label(0x5a) endloop(0x59) @@ -1580,6 +1720,7 @@ u8 func0007_alerted[] = { set_target_chr(CHR_PRESET) dprint 'B','R','E','A','K',' ','C','O','V','E','R','\n',0, if_self_flag_bankx_eq(CHRFLAG0_00008000, TRUE, BANK_0, /*goto*/ 0x66) + label(0x16) goto_next(0x16) @@ -1590,15 +1731,18 @@ u8 func0007_alerted[] = { label(0x69) if_distance_to_target_gt(4000, /*goto*/ 0x16) + label(0x6a) if_within_targets_fovx_by_angle(17, /*goto*/ 0x63) + label(0x16) label(0x64) set_action(MA_COVERBREAK, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_COVERBREAK, /*goto*/ 0x16) + label(0x16) cmd012f restart_timer @@ -1613,8 +1757,10 @@ u8 func0007_alerted[] = { label(0x69) if_distance_to_target_gt(4000, /*goto*/ 0x65) + label(0x16) if_timer_gt(120, /*goto*/ 0x63) + label(0x65) endloop(0x62) @@ -1624,7 +1770,7 @@ u8 func0007_alerted[] = { goto_first(0x64) label(0x13) - set_self_flag_bankx(CHRFLAG1_01000000, BANK_1) + set_self_flag_bankx(CHRFLAG1_LOOKINGFORTARGET, BANK_1) goto_next(LABEL_TRACK) label(0x16) @@ -1638,24 +1784,27 @@ u8 func0007_alerted[] = { cmd012f dprint 'S','E','E','C','O','V','E','R','\n',0, set_action(MA_COVERSEEN, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_COVERSEEN, /*goto*/ 0x16) + label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x93) if_has_orders(/*goto*/ 0x84) + label(0x93) if_can_see_attack_target(/*goto*/ 0x26) goto_next(0x87) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -1665,24 +1814,44 @@ u8 func0007_alerted[] = { set_ailist(CHR_SELF, GAILIST_HAND_COMBAT) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00002000, FALSE, BANK_1, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00002000, BANK_1) - goto_next(0x48) + if_self_flag_bankx_eq(CHRFLAG1_THROWGRENADEFIRST, FALSE, BANK_1, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_THROWGRENADEFIRST, BANK_1) + goto_next(LABEL_THROWGRENADE) + /** + * Pseudocode for the below logic: + * + * rand = random() + * if rand < 10 + * gun jammed + * else if rand <= 64 + * if CHRFLAG1_CAN_ATTACKAMOUNTRELOAD is set: + * attackamount then reload + * else if CHRFLAG1_CAN_ATTACKAMOUNT is set: + * attackamount + * else + * goto regular_attack + * else + * regular_attack: + * if random() > 50 + * stand or kneel attack (50% chance each) + * else + * walk or roll attack (50% chance each) + */ label(0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) call_rng - if_rand_lt(10, /*goto*/ 0x57) + if_rand_lt(10, /*goto*/ LABEL_GUNJAMMED) if_rand_gt(64, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000010, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(90, 100) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) - goto_next(0x60) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) + goto_next(LABEL_ATTACKING) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000004, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNT, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(20, 30) - goto_next(0x60) + goto_next(LABEL_ATTACKING) label(0x13) label(0x16) @@ -1690,40 +1859,46 @@ u8 func0007_alerted[] = { if_rand_gt(50, /*goto*/ 0x13) call_rng if_rand_gt(128, /*goto*/ 0x16) + label(0xbe) - try_attack_roll(/*goto*/ 0x60) + try_attack_roll(/*goto*/ LABEL_ATTACKING) + label(0x16) - try_attack_walk(/*goto*/ 0x60) + try_attack_walk(/*goto*/ LABEL_ATTACKING) + label(0x13) call_rng if_rand_gt(128, /*goto*/ 0x8c) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x8c) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) - label(0x16) - try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x60) - beginloop(0x60) + label(0x16) + try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ LABEL_ATTACKING) + + beginloop(LABEL_ATTACKING) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) if_chr_stopped(/*goto*/ 0x5e) - endloop(0x60) + endloop(LABEL_ATTACKING) - label(0x57) + label(LABEL_GUNJAMMED) say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) - do_preset_animation(-2) + do_preset_animation(PRESETANIM_GUNJAM) goto_next(0xe8) label(0x5e) call_rng if_rand_lt(20, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x13) + label(0x16) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) restart_timer chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) beginloop(0xe8) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x16) if_timer_lt(120, /*goto*/ 0x16) #if VERSION >= VERSION_NTSC_1_0 assign_sound(SFX_80F6, CHANNEL_7) @@ -1731,22 +1906,26 @@ u8 func0007_alerted[] = { assign_sound(SFX_01D9, CHANNEL_7) #endif play_sound_from_entity(CHANNEL_7, CHR_SELF, 0x0bb8, 0x1770, 0x01) - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) + label(0x16) if_chr_stopped(/*goto*/ 0x13) endloop(0xe8) label(0x13) - if_self_flag_bankx_eq(CHRFLAG0_01000000, FALSE, BANK_0, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG0_01000000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_NOACCURACYAFTERJAM, FALSE, BANK_0, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG0_NOACCURACYAFTERJAM, BANK_0) set_accuracy(0) + label(0x13) check_cover_out_of_sight(/*goto*/ 0x16) + label(0x16) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x54) dprint 'N','O',' ','C','O','V','E','R','A','V','A','I','L','A','B','L','E','\n',0, + label(0x68) if_can_see_attack_target(/*goto*/ 0x24) goto_next(0x25) @@ -1761,31 +1940,40 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ LABEL_RETREAT) if_num_times_shot_lt(1, /*goto*/ 0x16) if_calculated_safety2_lt(3, /*goto*/ LABEL_RETREAT) + label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x4d) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x4d) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x32) goto_next(0x4d) label(0x4d) - if_self_flag_bankx_eq(CHRFLAG1_00040000, TRUE, BANK_1, /*goto*/ 0x32) + if_self_flag_bankx_eq(CHRFLAG1_FLANKED, TRUE, BANK_1, /*goto*/ 0x32) call_rng if_within_targets_fovx_by_angle(30, /*goto*/ 0x16) goto_next(0x32) + /*************************************************************************** + * Flank + **************************************************************************/ + label(0x16) if_rand_lt(128, /*goto*/ 0x32) + label(0x31) dprint 'F','L','A','N','K','\n',0, + label(0x16) label(0x13) dprint 'F','L','A','N','K',' ','B','E','S','T','\n',0, - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) cmd0139(25, 0x02, TRUE) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_FLANKLEFT, /*goto*/ 0x16) set_team_orders(MA_FLANKRIGHT, /*goto*/ 0x16) + label(0x16) goto_next(0x33) @@ -1795,6 +1983,7 @@ u8 func0007_alerted[] = { cmd0139(335, 0x02, FALSE) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_FLANKLEFT, /*goto*/ 0x16) + label(0x16) goto_next(0x33) @@ -1803,21 +1992,24 @@ u8 func0007_alerted[] = { set_action(MA_FLANKRIGHT, FALSE) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_FLANKRIGHT, /*goto*/ 0x16) + label(0x16) cmd0139(25, 0x02, FALSE) + label(0x33) - set_self_flag_bankx(CHRFLAG1_00040000, BANK_1) + set_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) restart_timer beginloop(0x30) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -1832,8 +2024,11 @@ u8 func0007_alerted[] = { endloop(0x30) // Unreachable - no label + // This would have prevented consecutive or multiple dodges, or allowed + // other parts of the AI list to more finely control when a dodge can occur. goto_next(0x2f) - if_self_flag_bankx_eq(CHRFLAG1_00020000, TRUE, BANK_1, /*goto*/ 0x2f) + if_self_flag_bankx_eq(CHRFLAG1_DODGED, TRUE, BANK_1, /*goto*/ 0x2f) + // End unreachable label(0x32) if_within_targets_fovx_by_angle(20, /*goto*/ 0x16) @@ -1842,7 +2037,8 @@ u8 func0007_alerted[] = { label(0x16) call_rng if_rand_gt(100, /*goto*/ 0x2f) - if_chr_in_view(/*goto*/ 0x18) + if_chr_in_view(/*goto*/ LABEL_DODGE) + label(0x2f) dprint 'C',' ','1','\n',0, if_distance_to_target_gt(1300, /*goto*/ LABEL_TRACK) @@ -1852,31 +2048,37 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ LABEL_RETREAT) if_num_times_shot_lt(1, /*goto*/ 0x16) if_calculated_safety2_lt(3, /*goto*/ LABEL_RETREAT) + label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x4d) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x4d) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x51) + label(0x4d) dprint 'C',' ','3','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_00008000, TRUE, BANK_0, /*goto*/ 0x48) + if_self_flag_bankx_eq(CHRFLAG0_00008000, TRUE, BANK_0, /*goto*/ LABEL_THROWGRENADE) goto_next(LABEL_TRACK) label(0x51) if_within_targets_fovx_by_angle(21, /*goto*/ 0x16) goto_next(LABEL_TRACK) - // - // GRENADE THROWING - // + /*************************************************************************** + * Grenades + **************************************************************************/ + label(0x16) dprint 'C',' ','4','\n',0, kneel yield if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - label(0x48) + + label(LABEL_THROWGRENADE) dprint 'G','R','E','N','A','D','E','P','\n',0, set_grenade_probability_out_of_255(255) + label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_THROW_GRENADES, TRUE, BANK_0, /*goto*/ 0x16) goto_next(0x4c) @@ -1888,8 +2090,8 @@ u8 func0007_alerted[] = { if_chr_in_squadron_doing_action(MA_GRENADE, /*goto*/ 0x4c) dprint 'A','C','T','I','O','N',' ','G','R','E','N','A','D','E','\n',0, set_action(MA_GRENADE, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) consider_throwing_grenade(0x0200, 0x0000, /*goto*/ 0x46) goto_next(0x4c) @@ -1912,8 +2114,8 @@ u8 func0007_alerted[] = { if_timer_lt(60, /*goto*/ 0x49) dprint 'G','R','E','N','A','D','E','S','T','O','P','\n',0, set_action(MA_GRENADEWAIT, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) restart_timer try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x4b) @@ -1929,50 +2131,64 @@ u8 func0007_alerted[] = { set_target_chr(CHR_P1P2) if_nearly_in_targets_sight(30, /*goto*/ 0x42) if_chr_in_view(/*goto*/ 0x42) + label(0xee) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0xef) if_timer_gt(240, /*goto*/ 0x49) endloop(0x4b) + /*************************************************************************** + * Waiting + **************************************************************************/ + label(0x49) label(0x4c) restart_timer dprint 'W','A','I','T','I','N','G','\n',0, set_action(MA_WAITING, TRUE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x40) beginloop(0x40) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x16) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x41) + label(0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x93) if_has_orders(/*goto*/ 0x84) + label(0x93) if_nearly_in_targets_sight(30, /*goto*/ 0x42) if_chr_target_eq(CHR_SELF, CHR_P1P2, FALSE, /*goto*/ 0xee) goto_next(0xef) + label(0xee) chr_toggle_p1p2(CHR_SELF) if_chr_target_eq(CHR_SELF, CHR_P1P2, FALSE, /*goto*/ 0xee) set_target_chr(CHR_P1P2) if_nearly_in_targets_sight(30, /*goto*/ 0x42) + label(0xee) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) + label(0xef) - if_timer_gt(600, /*goto*/ 0x3d) + if_timer_gt(600, /*goto*/ LABEL_WAITTIMEOUT) if_timer_gt(60, /*goto*/ 0x16) + label(0x16) if_within_targets_fovx_by_angle(21, /*goto*/ 0x16) goto_next(LABEL_TRACK) + label(0x16) if_distance_to_target_gt(2000, /*goto*/ 0x41) endloop(0x40) @@ -1980,11 +2196,12 @@ u8 func0007_alerted[] = { label(0x42) dprint 'S','E','E','W','A','I','T','\n',0, set_action(MA_WAITSEEN, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) dprint 'S','E','E','W','A','I','T','2','\n',0, if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_WAITSEEN, /*goto*/ 0x16) + label(0x16) dprint 'S','E','E','W','A','I','T','3','\n',0, if_can_see_attack_target(/*goto*/ 0x8a) @@ -1993,23 +2210,26 @@ u8 func0007_alerted[] = { beginloop(0x89) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x16) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x41) + label(0x16) if_can_see_attack_target(/*goto*/ 0x8a) if_timer_gt(60, /*goto*/ 0x29) endloop(0x89) label(0x8a) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -2019,22 +2239,22 @@ u8 func0007_alerted[] = { set_ailist(CHR_SELF, GAILIST_HAND_COMBAT) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00002000, FALSE, BANK_1, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00002000, BANK_1) - goto_first(0x48) + if_self_flag_bankx_eq(CHRFLAG1_THROWGRENADEFIRST, FALSE, BANK_1, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_THROWGRENADEFIRST, BANK_1) + goto_first(LABEL_THROWGRENADE) label(0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) call_rng - if_rand_lt(10, /*goto*/ 0x57) + if_rand_lt(10, /*goto*/ LABEL_GUNJAMMED) if_rand_gt(64, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000010, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(90, 100) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) goto_next(0x43) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000004, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNT, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(20, 30) goto_next(0x43) @@ -2044,16 +2264,21 @@ u8 func0007_alerted[] = { if_rand_gt(50, /*goto*/ 0x13) call_rng if_rand_gt(128, /*goto*/ 0x16) + label(0xbe) try_attack_roll(/*goto*/ 0x43) + label(0x16) try_attack_walk(/*goto*/ 0x43) + label(0x13) call_rng if_rand_gt(128, /*goto*/ 0x8c) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x8c) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x16) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x43) @@ -2062,15 +2287,16 @@ u8 func0007_alerted[] = { if_chr_stopped(/*goto*/ 0x29) endloop(0x43) - label(0x57) + label(LABEL_GUNJAMMED) say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) - do_preset_animation(-2) + do_preset_animation(PRESETANIM_GUNJAM) goto_next(0xe9) label(0x29) - if_self_flag_bankx_eq(CHRFLAG0_01000000, FALSE, BANK_0, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG0_01000000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_NOACCURACYAFTERJAM, FALSE, BANK_0, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG0_NOACCURACYAFTERJAM, BANK_0) set_accuracy(0) + label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) @@ -2080,30 +2306,39 @@ u8 func0007_alerted[] = { label(0x13) say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + + // Reload label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x13) + label(0x16) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) restart_timer chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) - label(0xe9) - yield - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) - if_timer_lt(120, /*goto*/ 0x16) + + beginloop(0xe9) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x16) + if_timer_lt(120, /*goto*/ 0x16) #if VERSION >= VERSION_NTSC_1_0 - assign_sound(SFX_80F6, CHANNEL_6) + assign_sound(SFX_80F6, CHANNEL_6) #else - assign_sound(SFX_01D9, CHANNEL_6) + assign_sound(SFX_01D9, CHANNEL_6) #endif - play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) - label(0x16) - if_chr_stopped(/*goto*/ 0x13) - goto_first(0xe9) + play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) + + label(0x16) + if_chr_stopped(/*goto*/ 0x13) + endloop(0xe9) label(0x13) + + /*************************************************************************** + * Back off + **************************************************************************/ + label(0x8b) dprint 'B','A','C','K','O','F','F','\n',0, if_within_targets_fovx_by_angle(20, /*goto*/ 0x13) @@ -2115,8 +2350,8 @@ u8 func0007_alerted[] = { label(0x16) set_action(MA_WITHDRAW, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) restart_timer retreat(0x02, 0x01) cmd012f @@ -2128,13 +2363,14 @@ u8 func0007_alerted[] = { endloop(0x4f) label(0x50) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -2145,7 +2381,7 @@ u8 func0007_alerted[] = { label(0x13) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) goto_next(0x16) label(0x13) @@ -2153,25 +2389,30 @@ u8 func0007_alerted[] = { set_alertness(0) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) - if_self_flag_bankx_eq(CHRFLAG0_04000000, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_HOLD_POSITION, TRUE, BANK_0, /*goto*/ 0x16) call_rng if_rand_gt(196, /*goto*/ 0x16) goto_next(LABEL_TRACK) label(0x16) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) - label(0x3d) + /*************************************************************************** + * Wait timeout + **************************************************************************/ + + label(LABEL_WAITTIMEOUT) dprint 'W','A','I','T','T','I','M','E','O','U','T','\n',0, if_self_flag_bankx_eq(CHRFLAG0_CAN_TRAP, FALSE, BANK_0, /*goto*/ 0x13) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x13) set_action(MA_WAITTIMEOUT, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_WAITTIMEOUT, /*goto*/ 0x16) + label(0x16) goto_next(0x3f) @@ -2185,33 +2426,40 @@ u8 func0007_alerted[] = { endloop(0x3e) label(0x3f) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x41) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Track (go towards target) + **************************************************************************/ label(LABEL_TRACK) set_chrpreset(CHR_TARGET) dprint 'T','R','A','C','K','\n',0, set_action(MA_TRACKING, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) restart_timer + label(0xf7) try_run_to_target(/*goto*/ 0x35) beginloop(0x35) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_UNTARGETABLE, /*goto*/ 0x01) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_UNTARGETABLE, /*goto*/ LABEL_TARGETGONE) + label(0x13) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -2224,17 +2472,19 @@ u8 func0007_alerted[] = { chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) if_distance_to_target_gt(1300, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_01000000, TRUE, BANK_1, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_02000000, FALSE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_LOOKINGFORTARGET, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_STOPTRACKINGIFLOOKEDAT, FALSE, BANK_1, /*goto*/ 0x16) if_within_targets_fovx_by_angle(21, /*goto*/ 0x3b) goto_next(0x16) + // Unreachable - nothing jumps to here label(0xc8) - unset_self_flag_bankx(CHRFLAG1_02000000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_STOPTRACKINGIFLOOKEDAT, BANK_1) goto_first(0x31) label(0x16) if_can_see_attack_target(/*goto*/ 0x26) + label(0x13) dprint 'N','O','S','E','E','P','L','A','Y','E','R','\n',0, if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x13) @@ -2254,28 +2504,32 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ LABEL_RETREAT) if_num_times_shot_lt(1, /*goto*/ 0x16) if_calculated_safety2_lt(3, /*goto*/ LABEL_RETREAT) + label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x91) - if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x4d) + if_self_flag_bankx_eq(CHRFLAG0_FORCESAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x91) + if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ 0x4d) + label(0x91) if_calculated_safety2_lt(5, /*goto*/ 0x39) + label(0x4d) if_self_flag_bankx_eq(CHRFLAG0_00008000, TRUE, BANK_0, /*goto*/ 0x3a) goto_next(0x3c) label(0x39) - if_self_flag_bankx_eq(CHRFLAG1_01000000, TRUE, BANK_1, /*goto*/ 0x3c) + if_self_flag_bankx_eq(CHRFLAG1_LOOKINGFORTARGET, TRUE, BANK_1, /*goto*/ 0x3c) if_within_targets_fovx_by_angle(21, /*goto*/ 0x3b) if_distance_to_target_lt(1300, /*goto*/ 0x3b) goto_next(0x17) label(0x3a) - if_self_flag_bankx_eq(CHRFLAG1_01000000, TRUE, BANK_1, /*goto*/ 0x3c) + if_self_flag_bankx_eq(CHRFLAG1_LOOKINGFORTARGET, TRUE, BANK_1, /*goto*/ 0x3c) if_within_targets_fovx_by_angle(21, /*goto*/ 0x3b) goto_next(0x3c) label(0x3c) dprint 'N','O','A','N','G','\n',0, + label(0x17) if_chr_stopped(/*goto*/ 0x13) if_timer_gt(600, /*goto*/ 0x36) @@ -2292,35 +2546,37 @@ u8 func0007_alerted[] = { set_alertness(0) set_returnlist(CHR_SELF, GAILIST_ALERTED) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x3b) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x37) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Sync shoot + **************************************************************************/ - // - // SYNC SHOOT - // label(0x87) dprint 'S','Y','N','C',' ','S','H','O','O','T','\n',0, cmd012f set_action(MA_SHOOTING, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) restart_timer try_run_to_target(/*goto*/ 0x85) beginloop(0x85) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -2335,17 +2591,18 @@ u8 func0007_alerted[] = { endloop(0x85) label(0x86) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x26) dprint 'I','C','A','N','S','E',' ','P','L','A','Y','E','R','\n',0, - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -2359,24 +2616,24 @@ u8 func0007_alerted[] = { restart_timer stop_chr set_action(MA_SHOOTING, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - if_self_flag_bankx_eq(CHRFLAG1_00002000, FALSE, BANK_1, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00002000, BANK_1) - goto_first(0x48) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) + if_self_flag_bankx_eq(CHRFLAG1_THROWGRENADEFIRST, FALSE, BANK_1, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_THROWGRENADEFIRST, BANK_1) + goto_first(LABEL_THROWGRENADE) label(0x13) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_TARGETCLOAKED) call_rng - if_rand_lt(10, /*goto*/ 0x57) + if_rand_lt(10, /*goto*/ LABEL_GUNJAMMED) if_rand_gt(64, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000010, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(90, 100) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) goto_next(0x44) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000004, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNT, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(20, 30) goto_next(0x44) @@ -2386,14 +2643,18 @@ u8 func0007_alerted[] = { if_rand_gt(50, /*goto*/ 0x13) call_rng if_rand_gt(128, /*goto*/ 0x16) + label(0xbe) try_attack_roll(/*goto*/ 0x44) + label(0x16) try_attack_walk(/*goto*/ 0x44) + label(0x13) call_rng if_rand_gt(128, /*goto*/ 0x8c) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x28) + label(0x8c) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x28) dprint 'S','H','O','O','T','F','A','I','L','E','D','\n',0, @@ -2414,14 +2675,16 @@ u8 func0007_alerted[] = { if_chr_stopped(/*goto*/ 0x2a) endloop(0x45) - label(0x57) + label(LABEL_GUNJAMMED) say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) - do_preset_animation(-2) + do_preset_animation(PRESETANIM_GUNJAM) goto_next(0xea) + label(0x2a) - if_self_flag_bankx_eq(CHRFLAG0_01000000, FALSE, BANK_0, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG0_01000000, BANK_0) + if_self_flag_bankx_eq(CHRFLAG0_NOACCURACYAFTERJAM, FALSE, BANK_0, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG0_NOACCURACYAFTERJAM, BANK_0) set_accuracy(0) + label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) @@ -2431,28 +2694,31 @@ u8 func0007_alerted[] = { label(0x13) say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x13) + label(0x16) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) restart_timer chr_do_animation(ANIM_RELOAD_0209, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) - label(0xea) - yield - if_self_flag_bankx_eq(CHRFLAG1_00000020, FALSE, BANK_1, /*goto*/ 0x16) - if_timer_lt(120, /*goto*/ 0x16) + + beginloop(0xea) + if_self_flag_bankx_eq(CHRFLAG1_CAN_RELOAD, FALSE, BANK_1, /*goto*/ 0x16) + if_timer_lt(120, /*goto*/ 0x16) #if VERSION >= VERSION_NTSC_1_0 - assign_sound(SFX_80F6, CHANNEL_6) + assign_sound(SFX_80F6, CHANNEL_6) #else - assign_sound(SFX_01D9, CHANNEL_6) + assign_sound(SFX_01D9, CHANNEL_6) #endif - play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - unset_self_flag_bankx(CHRFLAG1_00000020, BANK_1) - label(0x16) - if_chr_stopped(/*goto*/ 0x13) - goto_first(0xea) + play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) + unset_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) + + label(0x16) + if_chr_stopped(/*goto*/ 0x13) + endloop(0xea) label(0x13) dprint 'L','E','F','T','S','H','O','O','T','\n',0, @@ -2460,19 +2726,22 @@ u8 func0007_alerted[] = { label(0x67) dprint 'S','H','O','T','N','O','W','O','R','K','\n',0, + label(0x2b) goto_first(0x8b) - // - // DODGE - // - label(0x18) + /*************************************************************************** + * Dodge + **************************************************************************/ + + label(LABEL_DODGE) dprint 'D','o','d','g','e','\n',0, set_action(MA_DODGE, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - set_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + set_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_DODGE, /*goto*/ 0x16) + label(0x16) call_rng if_rand_lt(128, /*goto*/ 0x2d) @@ -2484,7 +2753,7 @@ u8 func0007_alerted[] = { goto_next(0x2e) label(0x13) - set_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + set_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) beginloop(0x2c) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) @@ -2498,39 +2767,39 @@ u8 func0007_alerted[] = { goto_first(0x87) label(0x16) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Retreat + **************************************************************************/ - // - // RETREAT - // label(LABEL_RETREAT) - set_chr_dodge_rating(0, 0x00) - set_chr_dodge_rating(1, 0x00) + set_chr_dodge_rating(0, 0) + set_chr_dodge_rating(1, 0) dprint 'R','O','U','T','E','D','\n',0, set_action(MA_RETREAT, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) say_quip(CHR_BOND, QUIP_RETREAT1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) - try_set_chrpreset_to_unalerted_teammate(0, /*goto*/ 0x95) - if_self_flag_bankx_eq(CHRFLAG1_00000002, TRUE, BANK_1, /*goto*/ 0x16) + try_set_chrpreset_to_unalerted_teammate(0, /*goto*/ LABEL_WARNFRIENDS) + if_self_flag_bankx_eq(CHRFLAG1_LOSTGUN, TRUE, BANK_1, /*goto*/ 0x16) + label(0x16) - if_self_flag_bankx_eq(CHRFLAG0_00200000, TRUE, BANK_0, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG0_CAN_FLEESURRENDER, TRUE, BANK_0, /*goto*/ 0x16) unset_self_flag_bankx(CHRFLAG0_CAN_RETREAT, BANK_0) unset_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) - // - // RUNNING - // label(0x16) dprint 'R','U','N','N','I','N','G','\n',0, set_target_chr(CHR_P1P2) - retreat(0x02, 0x01) + retreat(2, 1) beginloop(0x6c) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) if_distance_to_target_gt(300, /*goto*/ 0x16) - if_chr_in_view(/*goto*/ 0x70) + if_chr_in_view(/*goto*/ LABEL_SURRENDER) + label(0x16) if_distance_to_target_gt(3000, /*goto*/ 0x6d) endloop(0x6c) @@ -2548,14 +2817,15 @@ u8 func0007_alerted[] = { label(0x6f) goto_first(LABEL_RETREAT) - // - // SURRENDER - // - label(0x70) + /*************************************************************************** + * Surrender + **************************************************************************/ + + label(LABEL_SURRENDER) if_chr_dead(CHR_SELF, /*goto*/ 0x88) set_action(MA_SURRENDER, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) say_quip(CHR_BOND, QUIP_SURRENDER, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) restart_timer surrender @@ -2566,7 +2836,7 @@ u8 func0007_alerted[] = { chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) if_chr_in_view(/*goto*/ 0x72) - if_bitcheck_in_prop_struct(/*goto*/ 0x13) + if_onscreen(/*goto*/ 0x13) endloop(0x71) // Out of view for 5 seconds - remove @@ -2574,6 +2844,8 @@ u8 func0007_alerted[] = { drop_concealed_items(CHR_SELF) yield remove_chr(CHR_SELF) + + // Still on screen label(0x13) restart_timer goto_first(0x71) @@ -2583,7 +2855,11 @@ u8 func0007_alerted[] = { restart_timer goto_first(0x71) - label(0x95) + /*************************************************************************** + * Warn friends + **************************************************************************/ + + label(LABEL_WARNFRIENDS) unset_self_flag_bankx(CHRFLAG0_CAN_RETREAT, BANK_0) unset_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) try_run_to_chr(CHR_PRESET, /*goto*/ 0x96) @@ -2600,19 +2876,21 @@ u8 func0007_alerted[] = { dprint 'W','A','R','N',' ','F','R','I','E','N','D','S','\n',0, say_quip(CHR_BOND, QUIP_WARNFRIENDS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) increase_squadron_alertness(100) + label(0x84) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) label(0x88) set_ailist(CHR_SELF, GAILIST_IDLE) - // - // RUN FOR ALARM - // + /*************************************************************************** + * Run for alarm + **************************************************************************/ + label(LABEL_RUN_FOR_ALARM) set_action(MA_GOTOALARM, FALSE) - unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) - unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + unset_self_flag_bankx(CHRFLAG1_FLANKED, BANK_1) + unset_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) say_quip(CHR_BOND, QUIP_GOFORALARM, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) go_to_target_pad(SPEED_JOG) @@ -2638,24 +2916,30 @@ u8 func0007_alerted[] = { endloop(0x9e) label(0x16) - goto_first(0x1b) + goto_first(LABEL_MAINLOOP) + + /*************************************************************************** + * Flee grenade + **************************************************************************/ - // - // FLEE GRENADE - // label(LABEL_FLEE_GRENADE) set_returnlist(CHR_SELF, GAILIST_ALERTED) set_ailist(CHR_SELF, GAILIST_FLEE_FROM_GRENADE) - // - // CLOAKED - // - label(LABEL_CLOAKED) + /*************************************************************************** + * Target is cloaked + **************************************************************************/ + + label(LABEL_TARGETCLOAKED) set_alertness(0) set_returnlist(CHR_SELF, GAILIST_ALERTED) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) - label(0x01) + /*************************************************************************** + * Target is gone (disguised on Rescue or just warped) + **************************************************************************/ + + label(LABEL_TARGETGONE) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00002000) stop_chr if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x16) @@ -2663,31 +2947,39 @@ u8 func0007_alerted[] = { if_chr_knockedout(CHR_SELF, /*goto*/ 0x16) if_can_see_target(/*goto*/ 0x13) set_alertness(0) - set_self_flag_bankx(CHRFLAG1_10000000, BANK_1) + set_self_flag_bankx(CHRFLAG1_SEARCHSAMEROOM, BANK_1) set_returnlist(CHR_SELF, GAILIST_UNALERTED) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) label(0x13) set_ailist(CHR_SELF, GAILIST_ALERTED) + // Unreachable - nothing jumps to here label(0x0a) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; -u8 func000a_do_idle_animation[] = { +/** + * @ailist GAILIST_BUSY + * + * Do one animation of operating equipment, typing etc. + */ +u8 func000a_do_busy_animation[] = { set_chr_chrflag(CHR_SELF, CHRCFLAG_CANFACEWALL) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) if_chr_idle_action_eq(IDLEACTION_SITTING_TYPING, /*goto*/ 0x16) if_chr_idle_action_eq(IDLEACTION_SITTING_DORMANT, /*goto*/ 0x16) goto_next(0x13) + // Sitting label(0x16) set_chr_maxdamage(CHR_SELF, 1) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP) label(0x13) set_shotlist(GAILIST_UNALERTED) + label(0x00) if_chr_idle_action_eq(IDLEACTION_STANDING, /*goto*/ 0x03) if_chr_idle_action_eq(IDLEACTION_SITTING_TYPING, /*goto*/ 0x04) @@ -2698,23 +2990,27 @@ u8 func000a_do_idle_animation[] = { return set_ailist(CHR_SELF, GAILIST_IDLE) + // Standing and operating something label(0x03) dprint 'S','T','A','N','D','I','N','G','\n',0, chr_do_animation(ANIM_OPERATE_0204, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) goto_next(0x0c) + // Sitting and typing label(0x04) dprint 'S','I','T','T','I','N','G',' ','T','Y','P','I','N','G','\n',0, set_chr_special_death_animation(CHR_SELF, SPECIALDIE_ONCHAIR) chr_do_animation(ANIM_SITTING_TYPING, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) + // Sitting dormantly label(0x05) dprint 'S','I','T','T','I','N','G','\n',0, set_chr_special_death_animation(CHR_SELF, SPECIALDIE_ONCHAIR) chr_do_animation(ANIM_SITTING_DORMANT, 0, -1, CHRANIMFLAG_PAUSEATEND | CHRANIMFLAG_SLOWUPDATE, 0, CHR_SELF, 2) goto_next(0x0c) + // Operating something with a pad label(0x07) dprint 'N','A','T',' ','5','\n',0, restart_timer @@ -2724,6 +3020,7 @@ u8 func000a_do_idle_animation[] = { if_timer_gt(60, /*goto*/ 0x06) endloop(0xfa) + // Operating something without a pad label(0x06) dprint 'O','P','E','R','A','T','I','N','G','\n',0, call_rng @@ -2777,6 +3074,8 @@ u8 func000a_do_idle_animation[] = { }; /** + * @ailist GAILIST_CHOOSE_TARGET + * * Attempts to set the target chr and engage in combat with them. * * - If current chr has been shot, say something, raise group alertness, then @@ -2792,6 +3091,8 @@ u8 func000a_do_idle_animation[] = { * on a per chr basis. * * If both fail, the function yields and continues checking. + * + * This is used only for spawned guards in Escape in the first spawn group. */ u8 func000b_choose_target_chr[] = { set_shotlist(GAILIST_CHOOSE_TARGET) @@ -2817,22 +3118,22 @@ u8 func000b_choose_target_chr[] = { // Hasn't been shot, or can't engage target chr label(0xd3) - set_action(MA_NORMAL, FALSE) - yield - dprint 'S','C','A','N','\n',0, + set_action(MA_NORMAL, FALSE) + yield + dprint 'S','C','A','N','\n',0, - if_self_flag_bankx_eq(CHRFLAG0_NOHEAR, TRUE, BANK_0, /*goto*/ 0x13) - set_target_to_enemy_on_same_floor(/*goto*/ 0x16) - goto_next(0x04) + if_self_flag_bankx_eq(CHRFLAG0_NOHEAR, TRUE, BANK_0, /*goto*/ 0x13) + set_target_to_enemy_on_same_floor(/*goto*/ 0x16) + goto_next(0x04) - // No hear - only see - label(0x13) - if_enemy_distance_lt_and_los(2540, /*goto*/ 0x16) + // No hear - only see + label(0x13) + if_enemy_distance_lt_and_los(2540, /*goto*/ 0x16) - // Scan failed - label(0x04) - if_saw_injury(0x00, /*goto*/ 0x13) - if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x13) + // Scan failed + label(0x04) + if_saw_injury(0x00, /*goto*/ 0x13) + if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x13) goto_first(0xd3) // Found @@ -2840,6 +3141,8 @@ u8 func000b_choose_target_chr[] = { dprint 'F','O','U','N','D','\n',0, increase_squadron_alertness(100) set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) + + // Unreachable set_returnlist(CHR_SELF, GAILIST_CHOOSE_TARGET) label(0x13) @@ -2847,6 +3150,7 @@ u8 func000b_choose_target_chr[] = { if_enemy_distance_lt_and_los(2540, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG0_NOHEAR, TRUE, BANK_0, /*goto*/ 0x16) set_target_to_enemy_on_same_floor(/*goto*/ 0x13) + label(0x16) goto_first(0xd3) @@ -2855,6 +3159,9 @@ u8 func000b_choose_target_chr[] = { endlist }; +/** + * @ailist GAILIST_INIT_COMBAT + */ u8 func000d_init_combat[] = { set_shotlist(GAILIST_COMBAT_WITH_TARGET) @@ -2886,11 +3193,15 @@ u8 func000d_init_combat[] = { endlist }; +/** + * @ailist GAILIST_COMBAT_WITH_TARGET + */ u8 func000c_combat_with_target_chr[] = { if_chr_is_skedar(CHR_SELF, /*goto*/ 0x16) dprint 'S','E','E',' ','E','N','E','M','Y','\n',0, #if VERSION >= VERSION_NTSC_1_0 if_num_human_players_lt(2, /*goto*/ 0x16) + label(0x13) #endif if_target_is_player(/*goto*/ 0x13) @@ -2991,7 +3302,7 @@ u8 func000c_combat_with_target_chr[] = { if_just_injured(CHR_SELF, /*goto*/ 0x16) #if VERSION >= VERSION_NTSC_1_0 if_has_gun(CHR_SELF, /*goto*/ 0xb2) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) #endif goto_next(0xb2) @@ -3008,6 +3319,7 @@ u8 func000c_combat_with_target_chr[] = { say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0xff, BANK_0, 0x00, 0x00) say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) + label(0x16) if_chr_stopped(/*goto*/ 0x13) #if VERSION >= VERSION_NTSC_1_0 @@ -3017,14 +3329,22 @@ u8 func000c_combat_with_target_chr[] = { label(0x13) dprint 'D','E','T','E','C','T','3','\n',0, + + // Chrs can have CHRHFLAG_DONTSHOOTME, which I think is used for coop. + // If an enemy has this flag, the AI buddy will not shoot the chr but will + // engage in hand combat. It's mainly used on guards where killing them + // fails an objective but knocking them out is OK. It's also used on the G5 + // guard between the two cloak rooms, because having the buddy fire shots in + // this area will alert the guards later in the stage which is undesirable. label(0xb2) yield - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DONTSHOOTME, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) goto_next(0x16) label(0x13) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) + label(0x16) dprint 'T','E','A','M','D','\n',0, if_alertness(100, OPERATOR_LESS_THAN, /*goto*/ 0xb3) @@ -3036,6 +3356,7 @@ u8 func000c_combat_with_target_chr[] = { label(0x13) if_chrpresets_target_is_different(/*goto*/ 0xb3) + label(0x16) dprint 'N','O',' ','T','A','R','G','E','T','\n',0, set_target_chr(-1) @@ -3043,6 +3364,7 @@ u8 func000c_combat_with_target_chr[] = { label(0xb3) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x16) + #if VERSION >= VERSION_NTSC_1_0 label(0x13) #endif @@ -3112,8 +3434,8 @@ u8 func000c_combat_with_target_chr[] = { // Target's field 0x17e is different label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, FALSE, BANK_1, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, FALSE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x16) @@ -3131,8 +3453,9 @@ u8 func000c_combat_with_target_chr[] = { beginloop(0xb4) dprint 'F','O','U','N','D',' ','1','\n',0, if_timer_gt(600, /*goto*/ 0xba) - if_self_flag_bankx_eq(CHRFLAG1_00000001, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, FALSE, BANK_1, /*goto*/ 0x13) if_timer_gt(20, /*goto*/ 0x09) + label(0x13) if_chr_dead(CHR_TARGET, /*goto*/ 0xba) if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xba) @@ -3142,12 +3465,13 @@ u8 func000c_combat_with_target_chr[] = { label(0x13) dprint 'F','O','U','N','D',' ','2','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) dprint 'N','O','U','N','A','R','M','\n',0, @@ -3196,6 +3520,7 @@ u8 func000c_combat_with_target_chr[] = { if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x13) #endif if_can_see_attack_target(/*goto*/ 0xbf) + #if VERSION >= VERSION_NTSC_1_0 label(0x13) #endif @@ -3232,13 +3557,15 @@ u8 func000c_combat_with_target_chr[] = { if_chr_in_squadron_doing_action(MA_GRENADE, /*goto*/ 0xc2) set_action(MA_GRENADE, FALSE) consider_throwing_grenade(0x0200, 0x0000, /*goto*/ 0x16) + label(0x16) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -3250,13 +3577,15 @@ u8 func000c_combat_with_target_chr[] = { label(0x13) yield dprint 'G','R','E','N','A','D','E',' ','E','N','D','\n',0, + label(0xc2) - if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) + if_self_flag_bankx_eq(CHRFLAG1_NOHANDCOMBAT, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x16) if_distance_to_target_lt(120, /*goto*/ 0x16) call_rng if_rand_lt(128, /*goto*/ 0x13) if_distance_to_target_gt(250, /*goto*/ 0x13) + label(0x16) if_can_see_attack_target(/*goto*/ 0x16) goto_next(0x13) @@ -3267,16 +3596,16 @@ u8 func000c_combat_with_target_chr[] = { label(0x13) label(0x13) - dprint 'C','H','O','S','E',' ','S','H','T','N','D','\n',0, // choose... ? + dprint 'C','H','O','S','E',' ','S','H','T','N','D','\n',0, // chose shoot call_rng if_rand_gt(64, /*goto*/ 0x16) - if_self_flag_bankx_eq(CHRFLAG1_00000010, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNTRELOAD, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(90, 100) - set_self_flag_bankx(CHRFLAG1_00000020, BANK_1) + set_self_flag_bankx(CHRFLAG1_CAN_RELOAD, BANK_1) goto_next(0xc3) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000004, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_CAN_ATTACKAMOUNT, FALSE, BANK_1, /*goto*/ 0x13) try_attack_amount(20, 30) goto_next(0xc3) @@ -3287,21 +3616,27 @@ u8 func000c_combat_with_target_chr[] = { label(0x17) say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + label(0x16) call_rng if_rand_gt(50, /*goto*/ 0x13) call_rng if_rand_gt(128, /*goto*/ 0x16) + label(0xbe) try_attack_roll(/*goto*/ 0xc3) + label(0x16) try_attack_walk(/*goto*/ 0xc3) + label(0x13) call_rng if_rand_gt(128, /*goto*/ 0x8c) try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x8c) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x16) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0xc3) @@ -3345,6 +3680,7 @@ u8 func000c_combat_with_target_chr[] = { label(0xba) dprint 'F','O','U','N','D',' ','3','\n',0, + label(0xc1) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) dprint 'P','U','N','C','H','M','I','S','S','E','D','\n',0, @@ -3359,10 +3695,11 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) dprint 'B','O','N','N','D',' ','3','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00000800, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_PUNCHAIEXTRADAMAGE, FALSE, BANK_1, /*goto*/ 0x13) if_target_is_player(/*goto*/ 0x13) damage_chr(CHR_TARGET, WEAPON_SUPERDRAGON) - unset_self_flag_bankx(CHRFLAG1_00000800, BANK_1) + unset_self_flag_bankx(CHRFLAG1_PUNCHAIEXTRADAMAGE, BANK_1) + label(0x13) if_chr_dead(CHR_TARGET, /*goto*/ 0xc5) if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc5) @@ -3371,22 +3708,24 @@ u8 func000c_combat_with_target_chr[] = { goto_next(0xc5) label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_40000000, TRUE, BANK_1, /*goto*/ 0xc5) + if_self_flag_bankx_eq(CHRFLAG1_IGNORECOVER, TRUE, BANK_1, /*goto*/ 0xc5) + label(0xb8) label(0xc6) - if_self_flag_bankx_eq(CHRFLAG0_08000000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_COVER_TYPE2, FALSE, BANK_0, /*goto*/ 0x13) goto_first(0xb3) label(0x13) dprint 'L','O','O','K',' ','F','O','R',' ','C','O','V','E','R','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00004000, TRUE, BANK_1, /*goto*/ 0x15) + if_self_flag_bankx_eq(CHRFLAG1_ALLOWSOFTCOVER, TRUE, BANK_1, /*goto*/ 0x15) find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_1000, /*goto*/ 0x53) find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000, /*goto*/ 0x53) goto_next(0x16) label(0x15) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_1000 | COVERCRITERIA_8000, /*goto*/ 0x53) - find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000 | COVERCRITERIA_8000, /*goto*/ 0x53) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_0020 | COVERCRITERIA_1000 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0x53) + find_cover(COVERCRITERIA_0001 | COVERCRITERIA_DISTTOME | COVERCRITERIA_FORCENEWCOVER | COVERCRITERIA_ALLOWNEIGHBOURINGROOMS | COVERCRITERIA_1000 | COVERCRITERIA_ALLOWSOFT, /*goto*/ 0x53) + label(0x16) goto_next(0x54) @@ -3410,6 +3749,7 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) dprint 'G','O','T',' ','T','O',' ','C','O','V','E','R','\n',0, + label(0xc8) restart_timer try_attack_kneel(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0xc9) @@ -3435,6 +3775,7 @@ u8 func000c_combat_with_target_chr[] = { if_enemy_distance_lt_and_los(400, /*goto*/ 0x13) #endif if_can_see_attack_target(/*goto*/ 0xca) + #if VERSION >= VERSION_NTSC_1_0 label(0x13) #endif @@ -3468,6 +3809,7 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + label(0x17) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0xcb) #if VERSION >= VERSION_NTSC_1_0 @@ -3519,7 +3861,7 @@ u8 func000c_combat_with_target_chr[] = { label(0xc5) dprint 'F','O','U','N','D',' ','4','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00100000, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_AIVSAI_ADVANTAGED, FALSE, BANK_1, /*goto*/ 0x13) dprint 'F','O','U','N','D',' ','5','\n',0, return @@ -3528,6 +3870,7 @@ u8 func000c_combat_with_target_chr[] = { #if VERSION < VERSION_NTSC_1_0 set_target_to_enemy_on_same_floor(/*goto*/ 0x16) #endif + label(0x13) goto_next(0xcf) @@ -3535,7 +3878,7 @@ u8 func000c_combat_with_target_chr[] = { dprint 'K','I','L','L','E','D',' ','T','A','R','G','E','T','\n',0, restart_timer call_rng - if_self_flag_bankx_eq(CHRFLAG1_00100000, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_AIVSAI_ADVANTAGED, FALSE, BANK_1, /*goto*/ 0x13) return label(0x13) @@ -3570,14 +3913,14 @@ u8 func000c_combat_with_target_chr[] = { // End unreachable label(0xc4) - if_self_flag_bankx_eq(CHRFLAG0_10000000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_CAN_USE_COVER, FALSE, BANK_0, /*goto*/ 0x13) return label(0x13) goto_first(0xb3) label(0xcf) - if_self_flag_bankx_eq(CHRFLAG0_10000000, FALSE, BANK_0, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG0_CAN_USE_COVER, FALSE, BANK_0, /*goto*/ 0x13) #if VERSION >= VERSION_NTSC_1_0 if_target_is_player(/*goto*/ 0x16) goto_next(0x13) @@ -3600,6 +3943,7 @@ u8 func000c_combat_with_target_chr[] = { label(0xd7) say_quip(CHR_BOND, QUIP_KILLEDPLAYER1, 0x28, 0x00, 0x01, BANK_0, 0x00, 0x00) try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x16) + label(0x16) if_chr_is_skedar(CHR_SELF, /*goto*/ 0xd9) chr_do_animation(ANIM_YAWN, 0, 193, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2) @@ -3615,6 +3959,7 @@ u8 func000c_combat_with_target_chr[] = { u8 unregistered_function2[] = { stop_chr + label(0x19) stop_chr yield @@ -3636,6 +3981,8 @@ u8 unregistered_function3[] = { }; /** + * @ailist GAILIST_IDLE_0009 + * * This is the initial function for Defense blondes and some chr in * Attack Ship. */ @@ -3652,6 +3999,8 @@ u8 func0000_idle_0009[] = { }; /** + * @ailist GAILIST_SEE_THEN_ATTACK + * * Not used. */ u8 func000e_see_then_attack[] = { @@ -3669,6 +4018,8 @@ u8 func000e_see_then_attack[] = { }; /** + * @ailist GAILIST_SHOW_OBJ_FAILED_MSG + * * Waits for an objective to fail, then shows the objectives failed messages * periodically. */ @@ -3688,6 +4039,7 @@ u8 func0016_show_objective_failed_msg[] = { label(0x16) restart_timer yield + label(0x13) if_timer_gt(1800, /*goto*/ 0x13) goto_first(0x0c) @@ -3757,6 +4109,9 @@ u8 func0016_show_objective_failed_msg[] = { endlist }; +/** + * @ailist GAILIST_REBUILD_GROUPS + */ u8 func0017_rebuild_groups[] = { rebuild_teams rebuild_squadrons @@ -3764,6 +4119,9 @@ u8 func0017_rebuild_groups[] = { endlist }; +/** + * @ailist GAILIST_DO_BORED_ANIMATION + */ u8 func0018_do_bored_animation[] = { call_rng if_rand_gt(50, /*goto*/ 0x13) @@ -3796,6 +4154,9 @@ u8 func0018_do_bored_animation[] = { endlist }; +/** + * @ailist GAILIST_LOOK_AROUND + */ u8 func001e_look_around[] = { call_rng if_rand_gt(50, /*goto*/ 0x13) @@ -3830,6 +4191,9 @@ u8 func001e_look_around[] = { endlist }; +/** + * @ailist GAILIST_DO_SITTING_ANIMATION + */ u8 func0019_do_sitting_animation[] = { call_rng if_rand_gt(128, /*goto*/ 0x13) @@ -3847,65 +4211,76 @@ u8 func0019_do_sitting_animation[] = { }; /** - * This function is only used by other global functions. + * @ailist GAILIST_PATROLLER_DIS_TALKING * - * It appears the purpose is to unset CHRFLAG1_DISSPEE in certain conditions. + * This function is assigned to patrollers when they are talking to a disguised + * player. It puts them into combat mode or makes them resume their patrol after + * their talk has finished. */ -u8 func001a_maybe_unset_disspee[] = { +u8 func001a_patroller_dis_talking[] = { restart_timer - // If target has both DISGUISED and chrflag2_02000000 - // then they must not have a gun equipped. - label(0x00) - yield - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14) - goto_next(0x13) + beginloop(0x00) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14) + goto_next(0x13) - label(0x14) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8) - goto_next(0x13) + // Target is disguised + label(0x14) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED, /*goto*/ 0xe8) + goto_next(0x13) - label(0xe8) - if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x13) - if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x13) - if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x13) - if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x13) - if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x13) - set_ailist(CHR_SELF, GAILIST_UNALERTED_0004) + // Target is disguised and almost uncovered + label(0xe8) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x13) - // Not disguised, or - // disguised but not 02000000, or - // disguised and 02000000 and has no weapon equipped. - // Wait 1 second, or for some field in the current chr to change. - label(0x13) - if_timer_lt(60, /*goto*/ 0x15) - if_chr_propsoundcount_zero(CHR_SELF, /*goto*/ 0x28) - goto_next(0x15) + // Target is disguised, almost uncovered and has weapon equipped... + // While it appears the patroller goes unalert here, it's likely that + // something in the unalert ailist makes him alert immediately. + set_ailist(CHR_SELF, GAILIST_UNALERTED_0004) - // Field changed - label(0x28) - unset_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1) - stop_chr + // Not disguised, or disguised good enough - // Field changed (follow through from above) or 1 second elapsed - label(0x15) - if_chr_idle(/*goto*/ 0x13) - goto_next(0x16) + // @bug: I'd say the intention here is to wait 1 second, then wait for + // the talk and anim to finish, then resume the patrol. But the idle + // check is inverted, and the chr is surely not idle on the first check, + // so they'll resume patrolling immediately. + label(0x13) + if_timer_lt(60, /*goto*/ 0x15) + if_chr_not_talking(CHR_SELF, /*goto*/ 0x28) + goto_next(0x15) - label(0x13) - goto_first(0x00) + // Not talking + label(0x28) + unset_self_flag_bankx(CHRFLAG1_TALKINGTODISGUISE, BANK_1) + stop_chr - // Resume walking a path + // Not talking (follow through from above) or less than 1 second + // Wait until no longer idle (@bug?) then resume patrol + label(0x15) + if_chr_idle(/*goto*/ 0x13) + goto_next(0x16) + + label(0x13) + endloop(0x00) + + // Resume patrol label(0x16) start_patrol set_ailist(CHR_SELF, GAILIST_UNALERTED_0004) endlist }; -u8 func000f_hand_combat[] = { #define LABEL_FACE_TARGET 0x16 #define LABEL_PUNCH 0x16 +/** + * @ailist GAILIST_HAND_COMBAT + */ +u8 func000f_hand_combat[] = { #if VERSION >= VERSION_NTSC_1_0 if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) if_chr_dead(CHR_SELF, /*goto*/ 0x13) @@ -3924,7 +4299,7 @@ u8 func000f_hand_combat[] = { restart_timer // If current chr doesn't have this flag and isn't idle, stop them - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x0c) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x0c) #if VERSION >= VERSION_NTSC_1_0 if_chr_idle(/*goto*/ 0x0c) #endif @@ -3941,9 +4316,10 @@ u8 func000f_hand_combat[] = { if_chrpresets_target_is_different(/*goto*/ 0x13) dprint 'L','2','\n',0, + label(0x13) dprint 'L','O','O','K',' ','F','O','R',' ','T','A','R','G','E','T','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x13) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x0f) if_distance_to_target_gt(120, /*goto*/ 0x13) goto_next(0x10) @@ -3958,8 +4334,9 @@ u8 func000f_hand_combat[] = { label(0x13) if_target_is_player(/*goto*/ 0x0a) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x13) if_distance_to_target_gt(400, /*goto*/ 0x0b) + label(0x13) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x0f) if_distance_to_target_lt(120, /*goto*/ LABEL_FACE_TARGET) @@ -3967,6 +4344,7 @@ u8 func000f_hand_combat[] = { label(0x0f) if_distance_to_target_lt(150, /*goto*/ LABEL_FACE_TARGET) + label(0x10) label(0xe3) restart_timer @@ -3977,11 +4355,13 @@ u8 func000f_hand_combat[] = { if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xfa) if_chr_dead(CHR_TARGET, /*goto*/ 0xfa) if_chr_knockedout(CHR_TARGET, /*goto*/ 0xfa) + label(0x13) if_timer_gt(90, /*goto*/ 0x0b) if_target_is_player(/*goto*/ 0x09) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x13) if_distance_to_target_gt(400, /*goto*/ 0x0b) + label(0x13) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x0f) if_distance_to_target_lt(120, /*goto*/ LABEL_FACE_TARGET) @@ -3989,6 +4369,7 @@ u8 func000f_hand_combat[] = { label(0x0f) if_distance_to_target_lt(150, /*goto*/ LABEL_FACE_TARGET) + label(0x10) endloop(0x03) @@ -3999,9 +4380,11 @@ u8 func000f_hand_combat[] = { label(0x0f) if_distance_to_target_lt(150, /*goto*/ LABEL_FACE_TARGET) + label(0x10) - if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_HANDCOMBATONLY, TRUE, BANK_1, /*goto*/ 0x13) if_distance_to_target_gt(400, /*goto*/ 0x0b) + label(0x13) goto_first(0x03) @@ -4012,6 +4395,7 @@ u8 func000f_hand_combat[] = { label(0x0f) if_distance_to_target_lt(150, /*goto*/ LABEL_FACE_TARGET) + label(0x10) if_distance_to_target_gt(400, /*goto*/ 0x0b) goto_first(0xe3) @@ -4032,6 +4416,7 @@ u8 func000f_hand_combat[] = { if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xfa) if_chr_dead(CHR_TARGET, /*goto*/ 0xfa) if_chr_knockedout(CHR_TARGET, /*goto*/ 0xfa) + label(0x13) if_distance_to_target_gt(400, /*goto*/ 0x0b) if_target_in_fov_left(15, /*goto*/ LABEL_PUNCH) @@ -4086,9 +4471,11 @@ u8 func000f_hand_combat[] = { // Finished attack label(0x0b) dprint 'F','U','N',' ',' ','H','I','T','\n',0, + label(0x15) if_self_flag_bankx_eq(CHRFLAG1_PUNCH_THEN_GENERAL_COMBAT, TRUE, BANK_1, /*goto*/ 0x13) dprint 'R','E','T',' ','H','H','I','T','\n',0, + label(0x17) return @@ -4099,7 +4486,9 @@ u8 func000f_hand_combat[] = { }; /** - * Used in Chicago, Air Base, and some other global functions. + * @ailist GAILIST_CIVILIAN_SAY_COMMENT + * + * Used in Chicago, Air Base, and some other global ailists. * * There is special logic for Chicago, where they don't care if you have a gun * and say different things. @@ -4109,9 +4498,11 @@ u8 func000f_hand_combat[] = { u8 func0010_civilian_say_comment[] = { set_self_chrflag(CHRCFLAG_00040000) set_shotlist(GAILIST_SURPRISED) + label(0x0c) yield dprint 'L','O','O','K',' ','F','O','R',' ','T','A','R','G','E','T','\n',0, + label(0x16) restart_timer dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0, @@ -4135,7 +4526,7 @@ u8 func0010_civilian_say_comment[] = { // Not Chicago label(0x16) label(0x16) - set_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1) + set_self_flag_bankx(CHRFLAG1_TALKINGTODISGUISE, BANK_1) dprint 'S','E','T',' ','D','I','S','S','P','E','E','\n',0, if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x07) if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x07) @@ -4144,30 +4535,30 @@ u8 func0010_civilian_say_comment[] = { if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x07) goto_next(0x05) - // Unarmed + // Player is unarmed label(0x07) restart_timer - if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_01000000, /*goto*/ 0x13) - do_preset_animation(-1) + if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_ASKEDABOUTGUN, /*goto*/ 0x13) + do_preset_animation(PRESETANIM_TALKRANDOM) say_quip(CHR_BOND, QUIP_GREETING, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) yield // Set a do-once flag, so chr is only stopped the first time dprint 'R','E','T','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_DISSPEE, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_TALKINGTODISGUISE, TRUE, BANK_1, /*goto*/ 0x13) stop_chr - set_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1) + set_self_flag_bankx(CHRFLAG1_TALKINGTODISGUISE, BANK_1) label(0x13) - set_chr_hiddenflag(CHR_SELF, CHRHFLAG_01000000) + set_chr_hiddenflag(CHR_SELF, CHRHFLAG_ASKEDABOUTGUN) return - // Armed + // Player is armed label(0x05) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x06) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_01000000) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_ASKEDABOUTGUN, /*goto*/ 0x06) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ASKEDABOUTGUN) say_quip(CHR_BOND, QUIP_ASKWEAPON1, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) - do_preset_animation(6) + do_preset_animation(PRESETANIM_TALK6) restart_timer beginloop(0x08) @@ -4185,10 +4576,10 @@ u8 func0010_civilian_say_comment[] = { return label(0x13) - set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) + set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_ALMOSTUNCOVERED) dprint 'D','O','N','T',' ','P','O','I','N','T','\n',0, say_quip(CHR_BOND, QUIP_ASKWEAPON2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) restart_timer // Wait 3 seconds, or for see/hear gunfire @@ -4201,6 +4592,7 @@ u8 func0010_civilian_say_comment[] = { // Timer expired label(0x16) return + label(0x15) // Special Chicago logic @@ -4217,8 +4609,9 @@ u8 func0010_civilian_say_comment[] = { // 50% chance of this happening label(0x16) say_quip(CHR_BOND, 0x17, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + label(0x13) - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) return // Not Chicago @@ -4228,8 +4621,9 @@ u8 func0010_civilian_say_comment[] = { label(0x16) say_quip(CHR_BOND, 0x23, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + label(0x13) - do_preset_animation(3) + do_preset_animation(PRESETANIM_TALK3) return label(0x83) @@ -4239,7 +4633,10 @@ u8 func0010_civilian_say_comment[] = { }; /** - * This function is only used by civilians while they say comments...? + * @ailist GAILIST_SURPRISED + * + * This function is only used by civilians, + * and only when they get shot while talking. */ u8 func001c_surprised[] = { set_shotlist(GAILIST_ALERTED) @@ -4260,6 +4657,9 @@ u8 func001c_surprised[] = { endlist }; +/** + * @ailist GAILIST_FLEE_FROM_GRENADE + */ u8 func0011_flee_from_grenade[] = { set_action(MA_RUNFROMGRENADE, FALSE) dprint 'N','E','A','R',' ','D','A','N','G','E','R','\n',0, @@ -4281,6 +4681,9 @@ u8 func0011_flee_from_grenade[] = { endlist }; +/** + * @ailist GAILIST_OBSERVE_CAMSPY + */ u8 func001b_observe_camspy[] = { stop_chr set_shotlist(GAILIST_ALERTED) @@ -4304,6 +4707,7 @@ u8 func001b_observe_camspy[] = { set_target_chr(CHR_P1P2) if_target_outside_my_yvisang(/*goto*/ 0x16) if_target_in_sight(/*goto*/ 0x0b) + label(0x16) set_target_chr(CHR_PRESET) endloop(0x0c) @@ -4324,6 +4728,7 @@ u8 func001b_observe_camspy[] = { set_target_chr(CHR_P1P2) if_target_outside_my_yvisang(/*goto*/ 0x16) if_target_in_sight(/*goto*/ 0x0b) + label(0x16) set_target_chr(CHR_PRESET) endloop(0x03) @@ -4334,18 +4739,20 @@ u8 func001b_observe_camspy[] = { // Timer expired label(0x04) - do_preset_animation(-1) + do_preset_animation(PRESETANIM_TALKRANDOM) say_quip(CHR_BOND, QUIP_SEEEYESPY, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // Wait another 5 seconds with same logic as previous timer beginloop(0x05) if_chr_idle(/*goto*/ 0x13) if_timer_gt(300, /*goto*/ 0x06) + label(0x13) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) if_target_outside_my_yvisang(/*goto*/ 0x16) if_target_in_sight(/*goto*/ 0x0b) + label(0x16) set_target_chr(CHR_PRESET) endloop(0x05) @@ -4368,6 +4775,7 @@ u8 func001b_observe_camspy[] = { label(0x09) set_self_chrflag(CHRCFLAG_00000040) try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x16) + label(0x16) try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0xc3) @@ -4403,11 +4811,14 @@ u8 func001b_observe_camspy[] = { label(0x13) set_target_chr(CHR_BOND) dprint 'E','8','\n',0, - set_self_flag_bankx(CHRFLAG1_10000000, BANK_1) + set_self_flag_bankx(CHRFLAG1_SEARCHSAMEROOM, BANK_1) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) endlist }; +/** + * @ailist GAILIST_SEARCH_FOR_PLAYER + */ u8 func001d_search_for_player[] = { if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) if_chr_dead(CHR_SELF, /*goto*/ 0x13) @@ -4423,16 +4834,19 @@ u8 func001d_search_for_player[] = { label(0x16) if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x13) set_chr_special_death_animation(CHR_SELF, SPECIALDIE_NONE) + label(0x13) dprint 'S','E','A','R','C','H',' ','R','O','O','M','\n',0, - set_chr_dodge_rating(2, 0x00) + set_chr_dodge_rating(2, 0) + label(0x00) set_target_chr(CHR_PRESET) - set_self_flag_bankx(CHRFLAG1_01000000, BANK_1) - if_self_flag_bankx_eq(CHRFLAG1_10000000, TRUE, BANK_1, /*goto*/ 0x16) + set_self_flag_bankx(CHRFLAG1_LOOKINGFORTARGET, BANK_1) + if_self_flag_bankx_eq(CHRFLAG1_SEARCHSAMEROOM, TRUE, BANK_1, /*goto*/ 0x16) set_chr_roomtosearch if_distance_to_target_gt(1000, /*goto*/ 0x13) try_jog_to_target(/*goto*/ 0x03) + label(0x13) try_run_to_target(/*goto*/ 0x03) @@ -4443,6 +4857,7 @@ u8 func001d_search_for_player[] = { if_target_in_sight(/*goto*/ 0x12) if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x13) if_enemy_distance_lt_and_los(2540, /*goto*/ 0xc3) + label(0x13) if_chr_in_room(CHR_SELF, 0x01, 0x0001, /*goto*/ 0x16) endloop(0x03) @@ -4454,14 +4869,15 @@ u8 func001d_search_for_player[] = { beginloop(0x0a) dprint 'P','O','I','N','T',' ','S','R','C','H','\n',0, if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000400, TRUE, BANK_1, /*goto*/ 0x15) + if_self_flag_bankx_eq(CHRFLAG1_INDARKROOM, TRUE, BANK_1, /*goto*/ 0x15) if_enemy_distance_lt_and_los(2540, /*goto*/ 0xc3) goto_next(0x13) label(0x15) if_enemy_distance_lt_and_los(100, /*goto*/ 0xc3) + label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000400, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_INDARKROOM, FALSE, BANK_1, /*goto*/ 0x13) if_distance_to_target_lt(500, /*goto*/ 0x13) goto_next(0x05) @@ -4470,12 +4886,14 @@ u8 func001d_search_for_player[] = { set_target_chr(CHR_P1P2) if_target_outside_my_yvisang(/*goto*/ 0x15) if_target_in_sight(/*goto*/ 0x12) + label(0x15) if_timer_gt(30, /*goto*/ 0x05) endloop(0x0a) label(0x05) restart_timer + label(0x06) if_distance_to_target_lt(1000, /*goto*/ 0x13) goto_first(0x00) @@ -4512,10 +4930,13 @@ u8 func001d_search_for_player[] = { if_rand_lt(128, /*goto*/ 0x29) if_rand_lt(196, /*goto*/ 0x2a) try_set_target_pad_to_something(0x08, /*goto*/ 0x13) + label(0x28) try_set_target_pad_to_something(0x02, /*goto*/ 0x13) + label(0x29) try_set_target_pad_to_something(0x04, /*goto*/ 0x13) + label(0x2a) try_set_target_pad_to_something(0x08, /*goto*/ 0x13) goto_next(0x04) @@ -4527,9 +4948,11 @@ u8 func001d_search_for_player[] = { dprint 'W','A','L','K',' ','P','A','D','\n',0, if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x13) if_enemy_distance_lt_and_los(2540, /*goto*/ 0xc3) + label(0x13) - if_self_flag_bankx_eq(CHRFLAG1_00000400, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_INDARKROOM, FALSE, BANK_1, /*goto*/ 0x13) if_distance_to_target_lt(500, /*goto*/ 0x13) + label(0x13) chr_toggle_p1p2(CHR_SELF) set_target_chr(CHR_P1P2) @@ -4544,12 +4967,14 @@ u8 func001d_search_for_player[] = { dprint '1','\n',0, if_near_miss(/*goto*/ 0x12) dprint '1','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00000400, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_INDARKROOM, FALSE, BANK_1, /*goto*/ 0x13) if_distance_to_target_gt(500, /*goto*/ 0x15) + label(0x13) dprint 'C','H','E','K',' ','V','I','S','\n',0, if_target_outside_my_yvisang(/*goto*/ 0x15) if_target_in_sight(/*goto*/ 0x12) + label(0x15) if_saw_death(0x00, /*goto*/ 0x28) endloop(0x04) @@ -4560,6 +4985,7 @@ u8 func001d_search_for_player[] = { // Saw death? label(0x28) dprint 'E','Y','E',' ','S','P','Y','\n',0, + label(0x12) if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13) goto_next(0x16) @@ -4572,10 +4998,12 @@ u8 func001d_search_for_player[] = { label(0x16) set_alertness(100) dprint 'S','E','E',' ','P','L','A','Y','\n',0, - if_self_flag_bankx_eq(CHRFLAG1_00000400, FALSE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_INDARKROOM, FALSE, BANK_1, /*goto*/ 0x13) say_quip(CHR_BOND, QUIP_SEARCHSUCCESS, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + label(0x13) set_ailist(CHR_SELF, GAILIST_ALERTED) + label(0x0b) say_quip(CHR_BOND, QUIP_SEARCHFAIL, 0x32, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_first(0x05) @@ -4596,6 +5024,9 @@ u8 func001d_search_for_player[] = { endlist }; +/** + * @ailist GAILIST_RELATED_TO_SPAWNING + */ u8 func001f_related_to_spawning[] = { dprint 'S','E','E',' ','P','L','A','Y','\n',0, if_chr_dead(CHR_SELF, /*goto*/ 0x13) @@ -4614,6 +5045,7 @@ u8 func001f_related_to_spawning[] = { set_target_chr(CHR_P1P2) set_shotlist(GAILIST_RELATED_TO_SPAWNING) if_num_times_shot_lt(1, /*goto*/ 0x1a) // pointless check + label(0x1a) set_action(MA_NORMAL, TRUE) yield @@ -4628,6 +5060,7 @@ u8 func001f_related_to_spawning[] = { if_saw_injury(0x01, /*goto*/ 0x1e) if_target_outside_my_yvisang(/*goto*/ 0x16) if_target_in_sight(/*goto*/ 0x1e) + label(0x16) if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x16) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x13) @@ -4645,15 +5078,18 @@ u8 func001f_related_to_spawning[] = { label(0x16) if_heard_target_recently(/*goto*/ 0x1f) + label(0x13) if_self_flag_bankx_eq(CHRFLAG0_CAN_HEAR_ALARMS, FALSE, BANK_0, /*goto*/ 0x16) if_alarm_active(/*goto*/ 0x23) + label(0x16) goto_first(0x1a) label(0x1e) dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0, say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + label(0x9f) increase_squadron_alertness(100) set_alertness(255) @@ -4698,7 +5134,7 @@ u8 func001f_related_to_spawning[] = { set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) label(0x12) - if_self_flag_bankx_eq(CHRFLAG1_00100000, TRUE, BANK_1, /*goto*/ 0x13) + if_self_flag_bankx_eq(CHRFLAG1_AIVSAI_ADVANTAGED, TRUE, BANK_1, /*goto*/ 0x13) set_returnlist(CHR_SELF, GAILIST_RELATED_TO_SPAWNING) label(0x13) @@ -4709,14 +5145,14 @@ u8 func001f_related_to_spawning[] = { }; /** - * Not used? + * @ailist GAILIST_INIT_DEFAULT_BUDDY */ -u8 func0012_init_coop_100[] = { +u8 func0012_init_default_buddy[] = { set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PASSIVE) set_self_chrflag(CHRCFLAG_00040000) set_chr_team(CHR_SELF, TEAM_ALLY) set_self_chrflag(CHRCFLAG_PUSHABLE) - set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED) + set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DETECTED) set_alertness(100) set_chrpreset(CHR_BOND) yield @@ -4749,10 +5185,11 @@ u8 func0012_init_coop_100[] = { // Set stage flag 00000080 for Air Force One and Skedar Ruins if_stage_is_not(STAGE_AIRFORCEONE, /*goto*/ 0x15) set_stage_flag(0x00000080) - label(0x15) + label(0x15) if_stage_is_not(STAGE_SKEDARRUINS, /*goto*/ 0x15) set_stage_flag(0x00000080) + label(0x15) #endif @@ -4778,22 +5215,21 @@ u8 func0012_init_coop_100[] = { set_stage_flag(0x00000080) label(0x15) - set_ailist(CHR_SELF, GAILIST_COOP_BUDDY) + set_ailist(CHR_SELF, GAILIST_BUDDY_MAIN) endlist }; /** - * Similar to the previous function, but with minor differences. - * Alertness is 200 for example. + * @ailist GAILIST_INIT_PUGILIST_BUDDY * - * Not used? + * Used to initialise the Pugilist buddy on all stages except MBR. */ -u8 func0013_init_coop_200[] = { +u8 func0013_init_pugilist_buddy[] = { set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PASSIVE) set_chr_team(CHR_SELF, TEAM_ALLY) set_self_chrflag(CHRCFLAG_00040000) set_self_chrflag(CHRCFLAG_PUSHABLE) - set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED) + set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DETECTED) set_alertness(200) yield yield @@ -4838,20 +5274,25 @@ u8 func0013_init_coop_200[] = { set_stage_flag(0x00000080) label(0x15) - set_ailist(CHR_SELF, GAILIST_COOP_BUDDY) + set_ailist(CHR_SELF, GAILIST_BUDDY_MAIN) endlist }; -u8 func0014_coop_buddy[] = { #define LABEL_PLACE_BUDDY 0x0a - set_returnlist(CHR_SELF, GAILIST_COOP_BUDDY) - set_shotlist(GAILIST_COOP_BUDDY) +/** + * @ailist GAILIST_BUDDY_MAIN + * + * Main loop for coop buddies. + */ +u8 func0014_buddy_main[] = { + set_returnlist(CHR_SELF, GAILIST_BUDDY_MAIN) + set_shotlist(GAILIST_BUDDY_MAIN) dprint 'B','A','C','K',' ','T','O',' ','B','U','D','D','Y','\n',0, unset_self_chrflag(CHRCFLAG_00040000) - set_self_flag_bankx(CHRFLAG1_00100000, BANK_1) + set_self_flag_bankx(CHRFLAG1_AIVSAI_ADVANTAGED, BANK_1) set_morale(0) - set_shotlist(GAILIST_COOP_BUDDY) + set_shotlist(GAILIST_BUDDY_MAIN) set_target_chr(CHR_BOND) if_chr_dead(CHR_SELF, /*goto*/ 0x13) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) @@ -4888,15 +5329,17 @@ u8 func0014_coop_buddy[] = { // Healthy label(0x16) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DONTSHOOTME, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) goto_next(0x16) label(0x13) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) + label(0x16) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PASSIVE, /*goto*/ 0xdc) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) + label(0xdc) set_target_chr(CHR_BOND) if_distance_to_target_lt(200, /*goto*/ 0x16) @@ -4908,6 +5351,7 @@ u8 func0014_coop_buddy[] = { restart_timer if_distance_to_target_gt(300, /*goto*/ 0x16) try_jog_to_target(/*goto*/ 0x0c) + label(0x16) try_run_to_target(/*goto*/ 0x0c) @@ -4926,12 +5370,15 @@ u8 func0014_coop_buddy[] = { label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED) + label(0x07) set_target_chr(CHR_BOND) if_can_see_target(/*goto*/ 0xdd) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PASSIVE, /*goto*/ 0xdc) + label(0xdd) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) + label(0xdc) set_target_chr(CHR_BOND) if_distance_to_target_lt(200, /*goto*/ 0x16) @@ -4962,6 +5409,7 @@ u8 func0014_coop_buddy[] = { label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED) + label(0x07) if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PASSIVE, /*goto*/ 0xdc) if_stage_is_not(STAGE_G5BUILDING, /*goto*/ 0x15) @@ -5000,29 +5448,33 @@ u8 func0014_coop_buddy[] = { label(0xf3) say_quip(CHR_BOND, QUIP_HITPLAYER, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) + label(0x13) // Found chr in group from non G5 or Deep Sea stage label(0x0b) - if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13) - unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DONTSHOOTME, /*goto*/ 0x13) + unset_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) goto_next(0x16) label(0x13) - set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) + set_self_flag_bankx(CHRFLAG1_HANDCOMBATONLY, BANK_1) + label(0x16) - set_returnlist(CHR_SELF, GAILIST_COOP_BUDDY) + set_returnlist(CHR_SELF, GAILIST_BUDDY_MAIN) set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET) label(LABEL_PLACE_BUDDY) - set_ailist(CHR_SELF, GAILIST_PLACE_COOP_BUDDY) + set_ailist(CHR_SELF, GAILIST_BUDDY_WARP) endlist }; /** - * Not used? + * @ailist GAILIST_AVOID + * + * Not used. */ -u8 func002b_do_something_and_wait[] = { +u8 func002b_avoid[] = { avoid beginloop(0x03) @@ -5035,6 +5487,8 @@ u8 func002b_do_something_and_wait[] = { }; /** + * @ailist GAILIST_COMMENT_ON_PLAYER_DEAD + * * Not used. */ u8 func0022_comment_on_player_dead[] = { @@ -5076,6 +5530,8 @@ u8 func0022_comment_on_player_dead[] = { }; /** + * @ailist GAILIST_DODGE + * * Do a sideways dodge, then assign GAILIST_ALERTED. */ u8 func0023_dodge[] = { @@ -5091,7 +5547,7 @@ u8 func0023_dodge[] = { label(0x13) dprint 'D','O','D','O','\n',0, - set_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + set_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) // 50% chance of hop vs jump call_rng @@ -5117,17 +5573,19 @@ u8 func0023_dodge[] = { // Unable to hop sideways, or follow-through from above label(0x2e) - set_self_flag_bankx(CHRFLAG1_00020000, BANK_1) + set_self_flag_bankx(CHRFLAG1_DODGED, BANK_1) set_ailist(CHR_SELF, GAILIST_ALERTED) endlist }; #if VERSION >= VERSION_NTSC_1_0 /** + * @ailist GAILIST_BUDDY_STEALTH + * * In co-op mode with an AI buddy, this ailist is applied to the buddy when you * give them the Stealth command. */ -u8 func0015_aibuddy_stealth[] = { +u8 func0015_buddy_stealth[] = { stop_chr set_chr_cloaked(CHR_SELF, TRUE, TRUE) @@ -5151,6 +5609,8 @@ u8 func0015_aibuddy_stealth[] = { if_timer_gt(180, /*goto*/ 0x16) endloop(0x04) + label(0x16) + // Wait for intro to finish and for 1 second to have passed // (in case intro was cut by player) #define wait_intro(loopid) \ @@ -5162,10 +5622,6 @@ u8 func0015_aibuddy_stealth[] = { endloop(loopid) \ label(0x16) - - - label(0x16) - wait_intro(0x05) cmd01b4_if_something(/*goto*/ 0x17) @@ -5199,24 +5655,28 @@ u8 func0015_aibuddy_stealth[] = { unset_self_chrflag(CHRCFLAG_INVINCIBLE) unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000200 | CHRHFLAG_00100000) set_chr_cloaked(CHR_SELF, FALSE, TRUE) - set_returnlist(CHR_SELF, GAILIST_COOP_BUDDY) - set_shotlist(GAILIST_COOP_BUDDY) - set_ailist(CHR_SELF, GAILIST_COOP_BUDDY) + set_returnlist(CHR_SELF, GAILIST_BUDDY_MAIN) + set_shotlist(GAILIST_BUDDY_MAIN) + set_ailist(CHR_SELF, GAILIST_BUDDY_MAIN) endlist }; #endif /** + * @ailist GAILIST_INIT_SEARCH + * * Not used. */ u8 func002c_init_search_unused[] = { - set_self_flag_bankx(CHRFLAG1_00000400, BANK_1) - set_self_flag_bankx(CHRFLAG1_10000000, BANK_1) + set_self_flag_bankx(CHRFLAG1_INDARKROOM, BANK_1) + set_self_flag_bankx(CHRFLAG1_SEARCHSAMEROOM, BANK_1) set_ailist(CHR_SELF, GAILIST_SEARCH_FOR_PLAYER) endlist }; /** + * @ailist GAILIST_FOLLOW_BOND + * * Not used. */ u8 func0024_follow_bond[] = { @@ -5254,6 +5714,8 @@ u8 func0024_follow_bond[] = { }; /** + * @ailist GAILIST_POINTLESS + * * Not used. */ u8 func0025_pointless[] = { @@ -5263,29 +5725,34 @@ u8 func0025_pointless[] = { if_chr_dead(CHR_TARGET, /*goto*/ 0x03) endloop(0x0c) - // Wait 10 seconds label(0x03) - restart_timer + // Wait 10 seconds + restart_timer - beginloop(0x04) - if_timer_gt(600, /*goto*/ 0x13) - endloop(0x04) + beginloop(0x04) + if_timer_gt(600, /*goto*/ 0x13) + endloop(0x04) - // Continue waiting 10 seconds indefinitely - label(0x13) + // Continue waiting 10 seconds indefinitely + label(0x13) goto_first(0x03) endlist }; +/** + * @ailist GAILIST_POINTLESS + * + * Handle a chr being shot with the psychosis gun. + */ u8 func0026_init_psychosis[] = { set_shotlist(GAILIST_INIT_PSYCHOSIS) set_chr_team(CHR_SELF, TEAM_NONCOMBAT) set_self_flag_bankx(CHRFLAG1_PUNCHHARDER, BANK_1) set_self_chrflag(CHRCFLAG_00040000) set_self_chrflag(CHRCFLAG_PUSHABLE) - set_self_flag_bankx(CHRFLAG1_00100000, BANK_1) - set_self_flag_bankx(CHRFLAG1_40000000, BANK_1) + set_self_flag_bankx(CHRFLAG1_AIVSAI_ADVANTAGED, BANK_1) + set_self_flag_bankx(CHRFLAG1_IGNORECOVER, BANK_1) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED) set_alertness(100) set_chrpreset(CHR_BOND) @@ -5319,6 +5786,11 @@ u8 func0026_init_psychosis[] = { endlist }; +/** + * @ailist GAILIST_PSYCHOSISED + * + * Main loop for a chr who is psychosised. + */ u8 func0027_psychosised[] = { set_morale(0) set_shotlist(GAILIST_PSYCHOSISED) @@ -5358,6 +5830,7 @@ u8 func0027_psychosised[] = { restart_timer if_distance_to_target_gt(300, /*goto*/ 0x16) try_jog_to_target(/*goto*/ 0x0c) + label(0x16) if_distance_to_target_lt(200, /*goto*/ 0x16) try_run_to_target(/*goto*/ 0x0c) @@ -5368,6 +5841,7 @@ u8 func0027_psychosised[] = { label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED) + label(0x07) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) set_target_chr(CHR_PRESET) @@ -5388,6 +5862,7 @@ u8 func0027_psychosised[] = { label(0x06) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED) + label(0x07) set_target_to_enemy_on_same_floor(/*goto*/ 0x03) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) @@ -5420,6 +5895,11 @@ u8 func0027_psychosised[] = { endlist }; +/** + * @ailist GAILIST_INVINCIBLE_AND_IDLE + * + * Default ailist for some cutscene chrs. + */ u8 func002d_invincible_and_idle[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE) set_self_chrflag(CHRCFLAG_UNEXPLODABLE) @@ -5427,7 +5907,13 @@ u8 func002d_invincible_and_idle[] = { endlist }; -u8 func0020_place_coop_buddy[] = { +/** + * @ailist GAILIST_BUDDY_WARP + * + * Warp the coop buddy to be near the player again. + * Used when using teleports in Deep Sea, probably Attack Ship lifts and more. + */ +u8 func0020_buddy_warp[] = { set_self_chrflag(CHRCFLAG_INVINCIBLE) set_self_chrflag(CHRCFLAG_00040000) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED) @@ -5450,33 +5936,36 @@ u8 func0020_place_coop_buddy[] = { yield // Try to move chr to one of four pads until it works - label(0x03) - yield - try_set_padpreset_to_target_quadrant(QUADRANT_BACK, /*goto*/ 0xfa) - goto_next(0xf3) + beginloop(0x03) + try_set_padpreset_to_target_quadrant(QUADRANT_BACK, /*goto*/ 0xfa) + goto_next(0xf3) - label(0xfa) - chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xf3) - try_set_padpreset_to_target_quadrant(QUADRANT_SIDE1, /*goto*/ 0xfa) - goto_next(0xf3) + label(0xfa) + chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xfa) - chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xf3) - try_set_padpreset_to_target_quadrant(QUADRANT_SIDE2, /*goto*/ 0xfa) - goto_next(0xf3) + label(0xf3) + try_set_padpreset_to_target_quadrant(QUADRANT_SIDE1, /*goto*/ 0xfa) + goto_next(0xf3) - label(0xfa) - chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xf3) - try_set_padpreset_to_target_quadrant(QUADRANT_FRONT, /*goto*/ 0xfa) - goto_next(0xf3) + label(0xfa) + chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xfa) - chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) - label(0xf3) - goto_first(0x03) + label(0xf3) + try_set_padpreset_to_target_quadrant(QUADRANT_SIDE2, /*goto*/ 0xfa) + goto_next(0xf3) + + label(0xfa) + chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) + + label(0xf3) + try_set_padpreset_to_target_quadrant(QUADRANT_FRONT, /*goto*/ 0xfa) + goto_next(0xf3) + + label(0xfa) + chr_move_to_pad(CHR_SELF, PAD_PRESET, 0x01, /*goto*/ 0x13) + + label(0xf3) + endloop(0x03) // Move to pad worked label(0x13) @@ -5485,8 +5974,8 @@ u8 func0020_place_coop_buddy[] = { stop_chr set_chr_cloaked(CHR_SELF, FALSE, TRUE) set_chr_hiddenflag(CHR_SELF, CHRHFLAG_UNTARGETABLE) - set_returnlist(CHR_SELF, GAILIST_COOP_BUDDY) - set_ailist(CHR_SELF, GAILIST_COOP_BUDDY) + set_returnlist(CHR_SELF, GAILIST_BUDDY_MAIN) + set_ailist(CHR_SELF, GAILIST_BUDDY_MAIN) // Not Deep Sea nor Air Force One label(0x15) @@ -5536,11 +6025,14 @@ u8 func0020_place_coop_buddy[] = { unset_self_chrflag(CHRCFLAG_INVINCIBLE) stop_chr set_chr_cloaked(CHR_SELF, FALSE, TRUE) - set_returnlist(CHR_SELF, GAILIST_COOP_BUDDY) - set_ailist(CHR_SELF, GAILIST_COOP_BUDDY) + set_returnlist(CHR_SELF, GAILIST_BUDDY_MAIN) + set_ailist(CHR_SELF, GAILIST_BUDDY_MAIN) endlist }; +/** + * @ailist GAILIST_STOP_AND_IDLE + */ u8 func0021_stop_and_idle[] = { set_shotlist(GAILIST_STOP_AND_IDLE) stop_chr @@ -5549,18 +6041,20 @@ u8 func0021_stop_and_idle[] = { }; /** - * Assigned at start of match, then switches to GAILIST_AI_BOT_ALIVE. + * @ailist GAILIST_AIBOT_INIT + * + * Assigned at start of match, then switches to GAILIST_AIBOT_MAIN. * * Also assigned the moment the aibot dies, but this jumps out immediately to - * FAILIST_AI_BOT_DEAD while their death animation is happening. + * GAILIST_AIBOT_DEAD while their death animation is happening. * * Also assigned upon respawn. */ -u8 func0029_ai_bot_init[] = { +u8 func0029_aibot_init[] = { dprint 'l','i','s','t',':',' ','a','i','b','o','t','i','n','i','t',0, set_chr_maxdamage(CHR_SELF, 80) set_reaction_speed(100) - set_returnlist(CHR_SELF, GAILIST_AI_BOT_ALIVE) + set_returnlist(CHR_SELF, GAILIST_AIBOT_MAIN) beginloop(0x19) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) @@ -5570,14 +6064,16 @@ u8 func0029_ai_bot_init[] = { endloop(0x19) label(0x16) - set_ailist(CHR_SELF, GAILIST_AI_BOT_ALIVE) + set_ailist(CHR_SELF, GAILIST_AIBOT_MAIN) endlist }; /** + * @ailist GAILIST_AIBOT_DEAD + * * Assigned while the aibot is doing their death animation. Stops after fadeout. */ -u8 func0028_ai_bot_dead[] = { +u8 func0028_aibot_dead[] = { dprint 'l','i','s','t',':',' ','a','i','d','e','a','d',0, beginloop(0x0d) @@ -5585,24 +6081,25 @@ u8 func0028_ai_bot_dead[] = { endloop(0x0d) label(0x16) - set_ailist(CHR_SELF, GAILIST_AI_BOT_INIT) + set_ailist(CHR_SELF, GAILIST_AIBOT_INIT) endlist }; /** + * @ailist GAILIST_AIBOT_MAIN + * * Assigned while the aibot is alive. */ -u8 func002a_ai_bot_alive[] = { +u8 func002a_aibot_main[] = { beginloop(0xf8) if_chr_dead(CHR_SELF, /*goto*/ 0xf9) endloop(0xf8) label(0xf9) - set_ailist(CHR_SELF, GAILIST_AI_BOT_DEAD) + set_ailist(CHR_SELF, GAILIST_AIBOT_DEAD) endlist }; -// 20c78 struct ailist g_GlobalAilists[] = { { func0000_idle, GAILIST_IDLE }, { func0001_unalerted_0001, GAILIST_UNALERTED_0001 }, @@ -5613,7 +6110,7 @@ struct ailist g_GlobalAilists[] = { { func0006_unalerted, GAILIST_UNALERTED }, { func0007_alerted, GAILIST_ALERTED }, { func0008_wakeup, GAILIST_WAKEUP }, - { func000a_do_idle_animation, GAILIST_BUSY }, + { func000a_do_busy_animation, GAILIST_BUSY }, { func000b_choose_target_chr, GAILIST_CHOOSE_TARGET }, { func000c_combat_with_target_chr, GAILIST_COMBAT_WITH_TARGET }, { func000d_init_combat, GAILIST_INIT_COMBAT }, @@ -5623,15 +6120,15 @@ struct ailist g_GlobalAilists[] = { { func0018_do_bored_animation, GAILIST_DO_BORED_ANIMATION }, { func0019_do_sitting_animation, GAILIST_DO_SITTING_ANIMATION }, { func0000_idle_0009, GAILIST_IDLE_0009 }, - { func001a_maybe_unset_disspee, GAILIST_DISGUISE_DETECTION }, + { func001a_patroller_dis_talking, GAILIST_PATROLLER_DIS_TALKING }, { func000f_hand_combat, GAILIST_HAND_COMBAT }, { func0010_civilian_say_comment, GAILIST_CIVILIAN_SAY_COMMENT }, { func0011_flee_from_grenade, GAILIST_FLEE_FROM_GRENADE }, { func001b_observe_camspy, GAILIST_OBSERVE_CAMSPY }, - { func0020_place_coop_buddy, GAILIST_PLACE_COOP_BUDDY }, - { func0012_init_coop_100, GAILIST_INIT_COOP_100 }, - { func0013_init_coop_200, GAILIST_INIT_COOP_200 }, - { func0014_coop_buddy, GAILIST_COOP_BUDDY }, + { func0020_buddy_warp, GAILIST_BUDDY_WARP }, + { func0012_init_default_buddy, GAILIST_INIT_DEFAULT_BUDDY }, + { func0013_init_pugilist_buddy, GAILIST_INIT_PUGILIST_BUDDY }, + { func0014_buddy_main, GAILIST_BUDDY_MAIN }, { func001d_search_for_player, GAILIST_SEARCH_FOR_PLAYER }, { func001e_look_around, GAILIST_LOOK_AROUND }, { func001f_related_to_spawning, GAILIST_RELATED_TO_SPAWNING }, @@ -5646,11 +6143,11 @@ struct ailist g_GlobalAilists[] = { { func002d_invincible_and_idle, GAILIST_INVINCIBLE_AND_IDLE }, { func0021_stop_and_idle, GAILIST_STOP_AND_IDLE }, #if VERSION >= VERSION_NTSC_1_0 - { func0015_aibuddy_stealth, GAILIST_AIBUDDY_STEALTH }, + { func0015_buddy_stealth, GAILIST_BUDDY_STEALTH }, #endif - { func0028_ai_bot_dead, GAILIST_AI_BOT_DEAD }, - { func0029_ai_bot_init, GAILIST_AI_BOT_INIT }, - { func002a_ai_bot_alive, GAILIST_AI_BOT_ALIVE }, - { func002b_do_something_and_wait, GAILIST_DO_SOMETHING_AND_WAIT }, - { NULL, 0 }, + { func0028_aibot_dead, GAILIST_AIBOT_DEAD }, + { func0029_aibot_init, GAILIST_AIBOT_INIT }, + { func002a_aibot_main, GAILIST_AIBOT_MAIN }, + { func002b_avoid, GAILIST_AVOID }, + { NULL }, }; diff --git a/src/game/game_0147d0.c b/src/game/game_0147d0.c index a9302615e..4fbc6c92e 100644 --- a/src/game/game_0147d0.c +++ b/src/game/game_0147d0.c @@ -70,7 +70,7 @@ void aibotAllocate(s32 chrnum, s32 aibotnum) struct coord pos = {0.0f, 0.0f, 0.0f}; u32 stack; - prop = chrAllocate(model, &pos, rooms, 0.0f, ailistFindById(GAILIST_AI_BOT_INIT)); + prop = chrAllocate(model, &pos, rooms, 0.0f, ailistFindById(GAILIST_AIBOT_INIT)); if (prop != NULL) { propActivate(prop); @@ -88,7 +88,7 @@ void aibotAllocate(s32 chrnum, s32 aibotnum) chr->headnum = headnum; chr->bodynum = bodynum; chr->race = bodyGetRace(chr->bodynum); - chr->flags = CHRFLAG0_CAN_EXAMINE_BODY; // likely reused flag + chr->flags = CHRFLAG0_CAN_EXAMINE_BODY; // reused flag? chr->flags2 = 0; chr->team = 1 << g_MpSimulants[aibotnum].base.team; chr->squadron = 0; diff --git a/src/game/game_02cde0.c b/src/game/game_02cde0.c index 3f3a03a21..58747ff74 100644 --- a/src/game/game_02cde0.c +++ b/src/game/game_02cde0.c @@ -798,8 +798,8 @@ void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex) chr->hidden |= CHRHFLAG_ANTINONINTERACTABLE; } - if (packed->spawnflags & SPAWNFLAG_00000800) { - chr->hidden |= CHRHFLAG_08000000; + if (packed->spawnflags & SPAWNFLAG_DONTSHOOTME) { + chr->hidden |= CHRHFLAG_DONTSHOOTME; } if (packed->spawnflags & SPAWNFLAG_HIDDEN) { @@ -822,8 +822,8 @@ void chrUnpack(s32 stagenum, struct packedchr *packed, s32 cmdindex) chr->flags2 = packed->flags2; if (cheatIsActive(CHEAT_MARQUIS)) { - chr->flags2 &= ~CHRFLAG1_00001000; - chr->flags2 |= CHRFLAG1_00000001; + chr->flags2 &= ~CHRFLAG1_NOHANDCOMBAT; + chr->flags2 |= CHRFLAG1_HANDCOMBATONLY; } chr->team = packed->team; diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index 204a7c2a6..6f800759e 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -13210,7 +13210,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta / 2), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else if (stageGetIndex(g_Vars.stagenum) == STAGEINDEX_MBR) { // // d64 @@ -13218,7 +13218,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else { // // db4 @@ -13226,17 +13226,17 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta / 2), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } // // if (prop) { // struct chrdata *chr = prop->chr; -// chr->flags |= CHRFLAG0_00002000; -// chr->flags2 |= CHRFLAG1_40000000 | CHRFLAG1_00200000 | CHRFLAG1_00100000; +// chr->flags |= CHRFLAG0_SKIPSAFETYCHECKS; +// chr->flags2 |= CHRFLAG1_IGNORECOVER | CHRFLAG1_NOOP_00200000 | CHRFLAG1_AIVSAI_ADVANTAGED; // chr->team = TEAM_ALLY; // chr->squadron = SQUADRON_01; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->voicebox = VOICEBOX_FEMALE; // chr->teamscandist = 50; // chr->accuracyrating = 100; @@ -13266,7 +13266,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else { // // ef34 @@ -13274,18 +13274,18 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_200), +// ailistFindById(GAILIST_INIT_PUGILIST_BUDDY), // 0); // } // // if (prop) { // struct chrdata *chr = prop->chr; -// chr->flags |= CHRFLAG0_00002000 | CHRFLAG0_CHUCKNORRIS; -// chr->flags2 |= CHRFLAG1_40000000 | CHRFLAG1_00200000 | CHRFLAG1_00100000 | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_00000001; +// chr->flags |= CHRFLAG0_SKIPSAFETYCHECKS | CHRFLAG0_CHUCKNORRIS; +// chr->flags2 |= CHRFLAG1_IGNORECOVER | CHRFLAG1_NOOP_00200000 | CHRFLAG1_AIVSAI_ADVANTAGED | CHRFLAG1_ADJUSTPUNCHSPEED | CHRFLAG1_HANDCOMBATONLY; // chr->team = TEAM_ALLY; // chr->squadron = SQUADRON_01; // chr->teamscandist = 100; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->voicebox = VOICEBOX_MALE1; // chr->accuracyrating = 100; // chr->speedrating = 100; @@ -13298,7 +13298,7 @@ glabel var7f1ad6ac // // chr->cloakfadefinished = true; // chr->chrflags |= CHRCFLAG_00040000; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->cloakfadefrac = 0; // // chrSetMaxDamage(chr, 20); @@ -13312,7 +13312,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else { // // f0a0 @@ -13320,17 +13320,17 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } // // if (prop) { // struct chrdata *chr = prop->chr; -// chr->flags |= CHRFLAG0_00002000; -// chr->flags2 |= CHRFLAG1_PUNCHHARDER | CHRFLAG1_00200000 | CHRFLAG1_00100000; +// chr->flags |= CHRFLAG0_SKIPSAFETYCHECKS; +// chr->flags2 |= CHRFLAG1_PUNCHHARDER | CHRFLAG1_NOOP_00200000 | CHRFLAG1_AIVSAI_ADVANTAGED; // chr->team = TEAM_ALLY; // chr->squadron = SQUADRON_01; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->voicebox = VOICEBOX_MALE2; // chr->teamscandist = 50; // chr->accuracyrating = 50; @@ -13360,7 +13360,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else { // // f224 @@ -13368,17 +13368,17 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } // // if (prop) { // struct chrdata *chr = prop->chr; -// chr->flags |= CHRFLAG0_00002000; -// chr->flags2 |= CHRFLAG1_40000000 | CHRFLAG1_00200000 | CHRFLAG1_00100000; +// chr->flags |= CHRFLAG0_SKIPSAFETYCHECKS; +// chr->flags2 |= CHRFLAG1_IGNORECOVER | CHRFLAG1_NOOP_00200000 | CHRFLAG1_AIVSAI_ADVANTAGED; // chr->team = TEAM_ALLY; // chr->squadron = SQUADRON_01; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->voicebox = VOICEBOX_MALE0; // chr->teamscandist = 100; // chr->accuracyrating = 50; @@ -13409,7 +13409,7 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } else { // // f3b8 @@ -13417,17 +13417,17 @@ glabel var7f1ad6ac // &g_Vars.currentplayer->prop->pos, // g_Vars.currentplayer->prop->rooms, // BADDEG2RAD(g_Vars.currentplayer->vv_theta), -// ailistFindById(GAILIST_INIT_COOP_100), +// ailistFindById(GAILIST_INIT_DEFAULT_BUDDY), // 0); // } // // if (prop) { // struct chrdata *chr = prop->chr; -// chr->flags |= CHRFLAG0_00002000; -// chr->flags2 |= CHRFLAG1_PUNCHHARDER | CHRFLAG1_40000000 | CHRFLAG1_00200000 | CHRFLAG1_00100000; +// chr->flags |= CHRFLAG0_SKIPSAFETYCHECKS; +// chr->flags2 |= CHRFLAG1_PUNCHHARDER | CHRFLAG1_IGNORECOVER | CHRFLAG1_NOOP_00200000 | CHRFLAG1_AIVSAI_ADVANTAGED; // chr->team = TEAM_ALLY; // chr->squadron = SQUADRON_01; -// chr->hidden |= CHRHFLAG_PSYCHOSISED; +// chr->hidden |= CHRHFLAG_DETECTED; // chr->voicebox = VOICEBOX_MALE0; // chr->teamscandist = 150; // chr->accuracyrating = 100; diff --git a/src/include/commands.h b/src/include/commands.h index 1ffe6dc24..1bfbc06fa 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -670,7 +670,11 @@ mkshort(0x0046), \ label, -#define if_bitcheck_in_prop_struct(label) \ +/** + * Checks if the chr is on any player's screen, + * either on this tick or on the prev tick. + */ +#define if_onscreen(label) \ mkshort(0x0047), \ label, @@ -3268,8 +3272,13 @@ amount, \ operation, -// Likely related to being disarmed. -// Not sure what this does if the chr had no gun to begin with. +/** + * Follow the label if the given chr is holding their original gun + * or never had a gun to begin with. + * + * Do not follow the label if the gun is on the ground, + * has been collected by the player, or if the chr has drawn a backup gun. + */ #define if_has_gun(chr, label) \ mkshort(0x016f), \ chr, \ @@ -3676,10 +3685,12 @@ channel, /** - * If value is 0-2 or 4-14, do talking animation from g_PresetAnimations array. + * If value is 0-2 or 4-14, do talking animation from a hard coded array. * If value is 3, choose a random talking anim out of 2. * If value is 254, do a gun jam animation. * If value is 255, choose a random talking anim out of 8. + * + * See the PRESETANIM constants. */ #define do_preset_animation(value) \ mkshort(0x01a3), \ @@ -3717,7 +3728,10 @@ distance / 10, \ label -#define if_chr_propsoundcount_zero(chr, label) \ +/** + * Checks if the chr is not currently talking. + */ +#define if_chr_not_talking(chr, label) \ mkshort(0x01a7), \ chr, \ label, diff --git a/src/include/constants.h b/src/include/constants.h index c5280e71e..430b221e1 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -369,70 +369,70 @@ // chr->flags #define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware -#define CHRFLAG0_00000002 0x00000002 // Not used in scripts -#define CHRFLAG0_00000004 0x00000004 // Can search for player when heard? +#define CHRFLAG0_UNUSED_00000002 0x00000002 +#define CHRFLAG0_GP1 0x00000004 // General purpose #define CHRFLAG0_CAN_EXAMINE_BODY 0x00000008 -#define CHRFLAG0_00000010 0x00000010 // Globals, Skedar Ruins +#define CHRFLAG0_UNDERCOVER 0x00000010 // Chr is hiding behind cover #define CHRFLAG0_SAID_INJURY_QUIP 0x00000020 -#define CHRFLAG0_00000040 0x00000040 // Globals - related to cover? +#define CHRFLAG0_COVER_TYPE1 0x00000040 // Use a certain type of cover - never set though #define CHRFLAG0_CHUCKNORRIS 0x00000080 // Makes punch animation faster, and damage is multiplied by the chr's morale then doubled. Must also have CHRFLAG1_ADJUSTPUNCHSPEED #define CHRFLAG0_CAN_BACKOFF 0x00000100 #define CHRFLAG0_CAN_RETREAT 0x00000200 -#define CHRFLAG0_UNSURPRISABLE 0x00000400 // may also be "can uncover disguise" +#define CHRFLAG0_SURPRISABLE 0x00000400 #define CHRFLAG0_CAN_THROW_GRENADES 0x00000800 #define CHRFLAG0_CAN_FLANK 0x00001000 -#define CHRFLAG0_00002000 0x00002000 // Used quite a lot -#define CHRFLAG0_00004000 0x00004000 // Patroller - if set, overrides the 00002000 flag (interprets 00002000 as off) +#define CHRFLAG0_SKIPSAFETYCHECKS 0x00002000 +#define CHRFLAG0_FORCESAFETYCHECKS 0x00004000 // Overrides CHRFLAG0_SKIPSAFETYCHECKS #define CHRFLAG0_00008000 0x00008000 // Something to do with breaking cover or grenades? -#define CHRFLAG0_AIVSAI 0x00010000 +#define CHRFLAG0_AIVSAI 0x00010000 // Allow chr to fight with other AI #define CHRFLAG0_CAN_TRAP 0x00020000 -#define CHRFLAG0_CAN_GO_TO_PLACES 0x00040000 +#define CHRFLAG0_CAN_TRAVEL 0x00040000 #define CHRFLAG0_SQUADALERTANYDIST 0x00080000 -#define CHRFLAG0_00100000 0x00100000 // Become alert when hearing player and never on screen -#define CHRFLAG0_00200000 0x00200000 // Globals, Villa hostage takers -#define CHRFLAG0_00400000 0x00400000 // Not used in scripts +#define CHRFLAG0_ALERT_ON_HEARSPAWN 0x00100000 // Become alert when hearing player and never on screen +#define CHRFLAG0_CAN_FLEESURRENDER 0x00200000 // When unarmed, chr can run from player and surrender if caught up +#define CHRFLAG0_UNUSED_00400000 0x00400000 #define CHRFLAG0_CAN_HEAR_ALARMS 0x00800000 -#define CHRFLAG0_01000000 0x01000000 // Globals -#define CHRFLAG0_02000000 0x02000000 // Globals - set when ambushing -#define CHRFLAG0_04000000 0x04000000 // If set, chr can't follow player (ie. stays)? -#define CHRFLAG0_08000000 0x08000000 // Globals, Villa, Infiltration, Pelagic -#define CHRFLAG0_10000000 0x10000000 // If set, "IM GOING TO POP" +#define CHRFLAG0_NOACCURACYAFTERJAM 0x01000000 +#define CHRFLAG0_SAID_AMBUSH_QUIP 0x02000000 +#define CHRFLAG0_HOLD_POSITION 0x04000000 // Chr can't track (follow) player +#define CHRFLAG0_COVER_TYPE2 0x08000000 +#define CHRFLAG0_CAN_USE_COVER 0x10000000 // Flag is turned off permanently if player gets too close #define CHRFLAG0_CAN_HEARSPAWN 0x20000000 -#define CHRFLAG0_NOHEAR 0x40000000 // Globals, Villa -#define CHRFLAG0_CANLOSEGUN 0x80000000 // Globals, Villa, Chicago, CI Training +#define CHRFLAG0_NOHEAR 0x40000000 +#define CHRFLAG0_CANLOSEGUN 0x80000000 // chr->flags2 -#define CHRFLAG1_00000001 0x00000001 // Globals, Extraction, Air Base, Deep Sea -#define CHRFLAG1_00000002 0x00000002 // Globals -#define CHRFLAG1_00000004 0x00000004 // Globals - If set, avoids try_attack_amount -#define CHRFLAG1_00000008 0x00000008 // Only used in WAR. If set, chr waits 2 seconds before attacking while defending -#define CHRFLAG1_00000010 0x00000010 // Globals - If set, avoids try_attack_amount -#define CHRFLAG1_00000020 0x00000020 // Globals, AF1, Defense - related to reload animation +#define CHRFLAG1_HANDCOMBATONLY 0x00000001 +#define CHRFLAG1_LOSTGUN 0x00000002 // Chr has dropped their gun and can no longer recover it +#define CHRFLAG1_CAN_ATTACKAMOUNT 0x00000004 // Can use ACT_ATTACKAMOUNT as part of general attack anims +#define CHRFLAG1_WARFIRSTKING 0x00000008 // Specific to WAR only +#define CHRFLAG1_CAN_ATTACKAMOUNTRELOAD 0x00000010 // Same as CHRFLAG1_CAN_ATTACKAMOUNT, but reload afterwards +#define CHRFLAG1_CAN_RELOAD 0x00000020 #define CHRFLAG1_CAN_SNIPE 0x00000040 #define CHRFLAG1_ADJUSTPUNCHSPEED 0x00000080 // Makes chr punch slower, unless chr also has CHRFLAG0_CHUCKNORRIS #define CHRFLAG1_DOINGIDLEANIMATION 0x00000100 -#define CHRFLAG1_WARNED 0x00000200 -#define CHRFLAG1_00000400 0x00000400 // Globals -#define CHRFLAG1_00000800 0x00000800 // Globals - related to punch damage -#define CHRFLAG1_00001000 0x00001000 // Globals, Chicago, Infiltration -#define CHRFLAG1_00002000 0x00002000 // Globals - triggers grenade throw -#define CHRFLAG1_00004000 0x00004000 // Globals - related to cover +#define CHRFLAG1_PREWARNED 0x00000200 +#define CHRFLAG1_INDARKROOM 0x00000400 // Lights are out - chr has poor visibility +#define CHRFLAG1_PUNCHAIEXTRADAMAGE 0x00000800 // Punch does extra damage if target is AI - once only +#define CHRFLAG1_NOHANDCOMBAT 0x00001000 // Chr will not use hand combat +#define CHRFLAG1_THROWGRENADEFIRST 0x00002000 // Chr will throw grenade as first attack +#define CHRFLAG1_ALLOWSOFTCOVER 0x00004000 #define CHRFLAG1_LONG_CAMSPY_OBSERVATION 0x00008000 -#define CHRFLAG1_00010000 0x00010000 // Globals - if set, prevents setting of chrflag0_00100000 -#define CHRFLAG1_00020000 0x00020000 // Globals -#define CHRFLAG1_00040000 0x00040000 // Globals - seems related to 00020000 -#define CHRFLAG1_00080000 0x00080000 // Set in many places, read in globals and AF1 -#define CHRFLAG1_00100000 0x00100000 // Globals -#define CHRFLAG1_00200000 0x00200000 // Deep Sea (Elvis) +#define CHRFLAG1_HEARSPAWN_ALERT_IF_ALARM 0x00010000 // After hearing an alarm, if the chr spawns a clone due to hearing you the chr themself will become alert +#define CHRFLAG1_DODGED 0x00020000 // Has no effect +#define CHRFLAG1_FLANKED 0x00040000 +#define CHRFLAG1_NOIDLEANIMS 0x00080000 // Don't yawn etc +#define CHRFLAG1_AIVSAI_ADVANTAGED 0x00100000 // Chr will attack other AI first +#define CHRFLAG1_NOOP_00200000 0x00200000 #define CHRFLAG1_PUNCH_THEN_GENERAL_COMBAT 0x00400000 // If unset, return after punching. If set, assign general combat #define CHRFLAG1_DONE_SEARCH_ANIM 0x00800000 -#define CHRFLAG1_01000000 0x01000000 // Can search for player when heard? -#define CHRFLAG1_02000000 0x02000000 // Globals +#define CHRFLAG1_LOOKINGFORTARGET 0x01000000 // Chr is tracking/searching for their target +#define CHRFLAG1_STOPTRACKINGIFLOOKEDAT 0x02000000 #define CHRFLAG1_CAN_LOOK_AROUND 0x04000000 -#define CHRFLAG1_DISSPEE 0x08000000 -#define CHRFLAG1_10000000 0x10000000 // Some kind of param for searching +#define CHRFLAG1_TALKINGTODISGUISE 0x08000000 +#define CHRFLAG1_SEARCHSAMEROOM 0x10000000 // Search for player in chr's current room rather than player's current room #define CHRFLAG1_CAN_DRAW_PISTOL 0x20000000 -#define CHRFLAG1_40000000 0x40000000 // Globals +#define CHRFLAG1_IGNORECOVER 0x40000000 #define CHRFLAG1_PUNCHHARDER 0x80000000 // Punches deal 6x the usual damage. Must not have CHRFLAG0_CHUCKNORRIS // chr->hidden @@ -448,7 +448,7 @@ #define CHRHFLAG_00000200 0x00000200 // Not used in scripts #define CHRHFLAG_PASSIVE 0x00000400 #define CHRHFLAG_00000800 0x00000800 -#define CHRHFLAG_UNTARGETABLE 0x00001000 +#define CHRHFLAG_UNTARGETABLE 0x00001000 // Player is disgused on Rescue, or just warped #define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised #define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000 #define CHRHFLAG_PERFECTACCURACY 0x00008000 @@ -460,17 +460,18 @@ #define CHRHFLAG_NEEDANIM 0x00200000 #define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR #define CHRHFLAG_00800000 0x00800000 // Not used in scripts -#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?") -#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set +#define CHRHFLAG_ASKEDABOUTGUN 0x01000000 +#define CHRHFLAG_ALMOSTUNCOVERED 0x02000000 #define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection -#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5 +#define CHRHFLAG_DONTSHOOTME 0x08000000 // Globals, Villa and G5 #define CHRHFLAG_INFINITESHIELD 0x10000000 #define CHRHFLAG_CLOAKED 0x20000000 #define CHRHFLAG_ANTINONINTERACTABLE 0x40000000 -#define CHRHFLAG_PSYCHOSISED 0x80000000 +#define CHRHFLAG_DETECTED 0x80000000 // If set on player +#define CHRHFLAG_PSYCHOSISED 0x80000000 // If set on AI // chr->hidden2 -#define CHRH2FLAG_0001 0x0001 +#define CHRH2FLAG_HIDDENFORCUTSCENE 0x0001 #define CHRH2FLAG_SHIELDHIT 0x0002 // Turns off when shield no longer visible #define CHRH2FLAG_0004 0x0004 #define CHRH2FLAG_BLUESIGHT 0x0008 @@ -592,7 +593,7 @@ #define COVERCRITERIA_1000 0x1000 #define COVERCRITERIA_2000 0x2000 #define COVERCRITERIA_DISTTOFETCHPROP 0x4000 -#define COVERCRITERIA_8000 0x8000 +#define COVERCRITERIA_ALLOWSOFT 0x8000 #define COVERFLAG_0001 0x0001 #define COVERFLAG_INUSE 0x0002 @@ -916,21 +917,21 @@ #define GAILIST_HAND_COMBAT 0x000f #define GAILIST_CIVILIAN_SAY_COMMENT 0x0010 #define GAILIST_FLEE_FROM_GRENADE 0x0011 -#define GAILIST_INIT_COOP_100 0x0012 -#define GAILIST_INIT_COOP_200 0x0013 -#define GAILIST_COOP_BUDDY 0x0014 -#define GAILIST_AIBUDDY_STEALTH 0x0015 +#define GAILIST_INIT_DEFAULT_BUDDY 0x0012 +#define GAILIST_INIT_PUGILIST_BUDDY 0x0013 +#define GAILIST_BUDDY_MAIN 0x0014 +#define GAILIST_BUDDY_STEALTH 0x0015 #define GAILIST_SHOW_OBJ_FAILED_MSG (VERSION >= VERSION_NTSC_1_0 ? 0x0016 : 0x0015) #define GAILIST_REBUILD_GROUPS (VERSION >= VERSION_NTSC_1_0 ? 0x0017 : 0x0016) #define GAILIST_DO_BORED_ANIMATION (VERSION >= VERSION_NTSC_1_0 ? 0x0018 : 0x0017) #define GAILIST_DO_SITTING_ANIMATION (VERSION >= VERSION_NTSC_1_0 ? 0x0019 : 0x0018) -#define GAILIST_DISGUISE_DETECTION (VERSION >= VERSION_NTSC_1_0 ? 0x001a : 0x0019) +#define GAILIST_PATROLLER_DIS_TALKING (VERSION >= VERSION_NTSC_1_0 ? 0x001a : 0x0019) #define GAILIST_OBSERVE_CAMSPY (VERSION >= VERSION_NTSC_1_0 ? 0x001b : 0x001a) #define GAILIST_SURPRISED (VERSION >= VERSION_NTSC_1_0 ? 0x001c : 0x001b) #define GAILIST_SEARCH_FOR_PLAYER (VERSION >= VERSION_NTSC_1_0 ? 0x001d : 0x001c) #define GAILIST_LOOK_AROUND (VERSION >= VERSION_NTSC_1_0 ? 0x001e : 0x001d) #define GAILIST_RELATED_TO_SPAWNING (VERSION >= VERSION_NTSC_1_0 ? 0x001f : 0x001e) -#define GAILIST_PLACE_COOP_BUDDY (VERSION >= VERSION_NTSC_1_0 ? 0x0020 : 0x001f) +#define GAILIST_BUDDY_WARP (VERSION >= VERSION_NTSC_1_0 ? 0x0020 : 0x001f) #define GAILIST_STOP_AND_IDLE (VERSION >= VERSION_NTSC_1_0 ? 0x0021 : 0x0020) #define GAILIST_COMMENT_ON_PLAYER_DEAD (VERSION >= VERSION_NTSC_1_0 ? 0x0022 : 0x0021) // unused #define GAILIST_DODGE (VERSION >= VERSION_NTSC_1_0 ? 0x0023 : 0x0022) @@ -938,10 +939,10 @@ #define GAILIST_POINTLESS (VERSION >= VERSION_NTSC_1_0 ? 0x0025 : 0x0024) // unused #define GAILIST_INIT_PSYCHOSIS (VERSION >= VERSION_NTSC_1_0 ? 0x0026 : 0x0025) #define GAILIST_PSYCHOSISED (VERSION >= VERSION_NTSC_1_0 ? 0x0027 : 0x0026) -#define GAILIST_AI_BOT_DEAD (VERSION >= VERSION_NTSC_1_0 ? 0x0028 : 0x0027) // unused -#define GAILIST_AI_BOT_INIT (VERSION >= VERSION_NTSC_1_0 ? 0x0029 : 0x0028) // unused -#define GAILIST_AI_BOT_ALIVE (VERSION >= VERSION_NTSC_1_0 ? 0x002a : 0x0029) // unused -#define GAILIST_DO_SOMETHING_AND_WAIT (VERSION >= VERSION_NTSC_1_0 ? 0x002b : 0x002a) // unused +#define GAILIST_AIBOT_DEAD (VERSION >= VERSION_NTSC_1_0 ? 0x0028 : 0x0027) // unused +#define GAILIST_AIBOT_INIT (VERSION >= VERSION_NTSC_1_0 ? 0x0029 : 0x0028) // unused +#define GAILIST_AIBOT_MAIN (VERSION >= VERSION_NTSC_1_0 ? 0x002a : 0x0029) // unused +#define GAILIST_AVOID (VERSION >= VERSION_NTSC_1_0 ? 0x002b : 0x002a) // unused #define GAILIST_INIT_SEARCH (VERSION >= VERSION_NTSC_1_0 ? 0x002c : 0x002b) // unused #define GAILIST_INVINCIBLE_AND_IDLE (VERSION >= VERSION_NTSC_1_0 ? 0x002d : 0x002c) @@ -3146,6 +3147,17 @@ #define PORTALMODE_SHOW 0 #define PORTALMODE_HIDE 1 +#define PRESETANIM_TALK0 0 +#define PRESETANIM_TALK1 1 +#define PRESETANIM_TALK2 2 +#define PRESETANIM_TALK3 3 +#define PRESETANIM_TALK4 4 +#define PRESETANIM_TALK5 5 +#define PRESETANIM_TALK6 6 +#define PRESETANIM_TALK7 7 +#define PRESETANIM_GUNJAM 254 +#define PRESETANIM_TALKRANDOM 255 + #define PROFILE_MAINTICK_END 0x10000 #define PROFILE_RSP_END 0x10001 #define PROFILE_RDP_END 0x10002 @@ -3498,7 +3510,7 @@ #define SPAWNFLAG_IGNORECOLLISION 0x00000100 // For initial chr placement only #define SPAWNFLAG_00000200 0x00000200 #define SPAWNFLAG_ANTINONINTERACTABLE 0x00000400 -#define SPAWNFLAG_00000800 0x00000800 +#define SPAWNFLAG_DONTSHOOTME 0x00000800 #define SPAWNFLAG_HIDDEN 0x00001000 #define SPAWNFLAG_NOBLOOD 0x00002000 #define SPAWNFLAG_FIXEDHEIGHT 0x00004000 // By default, chr heights vary slightly. This disables it. diff --git a/src/include/game/chr/chraction.h b/src/include/game/chr/chraction.h index f14dd491b..cf216fdb8 100644 --- a/src/include/game/chr/chraction.h +++ b/src/include/game/chr/chraction.h @@ -214,7 +214,7 @@ bool chrAdjustPosForSpawn(f32 chrwidth, struct coord *pos, s16 *rooms, f32 angle struct prop *chrSpawnAtCoord(s32 body, s32 head, struct coord *pos, s16 *room, f32 angle, u8 *ailist, u32 spawnflags); bool func0f04b658(struct chrdata *chr); bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle, bool allowonscreen); -bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool arg2); +bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool soft); s32 chrAssignCoverByCriteria(struct chrdata *chr, u16 arg1, s32 arg2); s32 chrAssignCoverAwayFromDanger(struct chrdata *chr, s32 mindist, s32 maxdist); bool chrRunFromPos(struct chrdata *chr, u32 speed, f32 distance, struct coord *frompos); diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index f08d0d60a..33f412286 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -75,7 +75,7 @@ /*0x0044*/ bool aiIfHeardTargetRecently(void); /*0x0045*/ bool ai0045(void); /*0x0046*/ bool aiIfNeverBeenOnScreen(void); -/*0x0047*/ bool ai0047(void); +/*0x0047*/ bool aiIfOnScreen(void); /*0x0048*/ bool aiIfChrInActiveRoom(void); /*0x0049*/ bool aiIfRoomActive(void); /*0x004a*/ bool ai004a(void); @@ -391,7 +391,7 @@ /*0x01a4*/ bool aiShowHudmsgMiddle(void); /*0x01a5*/ bool aiIfUsingLift(void); /*0x01a6*/ bool aiIfTargetYDifferenceLessThan(void); -/*0x01a7*/ bool aiIfChrPropsoundcountZero(void); +/*0x01a7*/ bool aiIfChrNotTalking(void); /*0x01aa*/ bool ai01aa(void); /*0x01ab*/ bool aiIfNumKnockedOutChrs(void); /*0x01ad*/ bool aiReleaseObject(void);