mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-11 05:07:54 -04:00
Remove dprint AI command
This commit is contained in:
+3
-20
@@ -664,7 +664,7 @@ u32 chraiGoToLabel(u8 *ailist, u32 aioffset, u8 label)
|
||||
return 0;
|
||||
}
|
||||
|
||||
aioffset += chraiGetCommandLength(ailist, aioffset);
|
||||
aioffset += g_CommandLengths[type];
|
||||
} while (true);
|
||||
}
|
||||
|
||||
@@ -779,15 +779,8 @@ void chraiExecute(void *entity, s32 proptype)
|
||||
u8 *cmd = g_Vars.aioffset + g_Vars.ailist;
|
||||
s32 type = (cmd[0] << 8) + cmd[1];
|
||||
|
||||
if (type >= 0 && type < ARRAYCOUNT(g_CommandPointers)) {
|
||||
if (g_CommandPointers[type]()) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// This is attempting to handle situations where the command
|
||||
// type is invalid by passing over them and continuing
|
||||
// execution. This would very likely result in a crash though.
|
||||
g_Vars.aioffset += chraiGetCommandLength(g_Vars.ailist, g_Vars.aioffset);
|
||||
if (g_CommandPointers[type]()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -798,16 +791,6 @@ u32 chraiGetCommandLength(u8 *ailist, u32 aioffset)
|
||||
u8 *cmd = aioffset + ailist;
|
||||
s32 type = (cmd[0] << 8) + cmd[1];
|
||||
|
||||
if (type == CMD_PRINT) {
|
||||
u32 prop = aioffset + 2;
|
||||
|
||||
while (ailist[prop] != 0) {
|
||||
++prop;
|
||||
}
|
||||
|
||||
return (prop - aioffset) + 1;
|
||||
}
|
||||
|
||||
if (type >= 0 && type < ARRAYCOUNT(g_CommandLengths)) {
|
||||
return g_CommandLengths[type];
|
||||
}
|
||||
|
||||
@@ -3811,21 +3811,6 @@ bool aiChrCopyPadPreset(void)
|
||||
*/
|
||||
bool aiPrint(void)
|
||||
{
|
||||
u32 len;
|
||||
u32 result = dprint();
|
||||
|
||||
if (result) {
|
||||
result = 2;
|
||||
}
|
||||
|
||||
if (result == 2) {
|
||||
// empty
|
||||
}
|
||||
|
||||
len = chraiGetCommandLength(g_Vars.ailist, g_Vars.aioffset);
|
||||
|
||||
g_Vars.aioffset += len;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1728,14 +1728,6 @@
|
||||
srcchr, \
|
||||
dstchr,
|
||||
|
||||
/**
|
||||
* This command would have printed a message to the developer's console.
|
||||
*
|
||||
* It has no purpose in the retail game.
|
||||
*/
|
||||
#define dprint \
|
||||
mkshort(0x00b5),
|
||||
|
||||
/**
|
||||
* Resets the current chr's timer to zero and starts it.
|
||||
*/
|
||||
|
||||
@@ -1081,7 +1081,6 @@ u8 func0403_shielded_guard[] = {
|
||||
};
|
||||
|
||||
u8 func0404_init_hovercar[] = {
|
||||
dprint 'h','o','v','\n',0,
|
||||
begin_hovercar_path(0)
|
||||
set_vehicle_speed(0x0c00, 120)
|
||||
|
||||
@@ -1442,7 +1441,6 @@ u8 func0411_secretary[] = {
|
||||
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,
|
||||
label(0x2c)
|
||||
stop_chr
|
||||
label(0x06)
|
||||
@@ -3827,7 +3825,6 @@ u8 func042f_surrendering_guard[] = {
|
||||
|
||||
// Wait 1 second
|
||||
beginloop(0x08)
|
||||
dprint 'S','4',0,
|
||||
if_timer_gt(60, /*goto*/ 0x2c)
|
||||
endloop(0x08)
|
||||
|
||||
@@ -3850,7 +3847,6 @@ u8 func042f_surrendering_guard[] = {
|
||||
|
||||
// Warn
|
||||
label(0x57)
|
||||
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)
|
||||
|
||||
|
||||
@@ -611,7 +611,6 @@ u8 func0401_drcaroll_following[] = {
|
||||
set_shield(100)
|
||||
set_chr_maxdamage(CHR_SELF, 100)
|
||||
label(0x20)
|
||||
dprint 'b','4',' ','s','h','i','e','l','d',' ','c','h','e','c','k','\n',0,
|
||||
if_chr_shield_damaged(CHR_SELF, /*goto*/ 0x00)
|
||||
goto_next(0x02)
|
||||
|
||||
@@ -633,7 +632,6 @@ u8 func0401_drcaroll_following[] = {
|
||||
beginloop(0x03)
|
||||
if_chr_y(CHR_TARGET, -1910, OPERATOR_LESS_THAN, /*goto*/ 0x20)
|
||||
label(0x20)
|
||||
dprint 't','a','r','g','e','t','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x00)
|
||||
goto_next(0x04)
|
||||
|
||||
@@ -701,12 +699,10 @@ u8 func0401_drcaroll_following[] = {
|
||||
// Unreachable
|
||||
// Attempts to teleport Dr Caroll up the elevator shaft from foyer
|
||||
label(0x5c)
|
||||
dprint 'D','R',' ','C','H','A','N','G','E','L','I','S','T','\n',0,
|
||||
if_chr_death_animation_finished(CHR_DRCAROLL, /*goto*/ 0x20)
|
||||
if_chr_dead(CHR_DRCAROLL, /*goto*/ 0x20)
|
||||
if_chr_knockedout(CHR_DRCAROLL, /*goto*/ 0x20)
|
||||
chr_move_to_pad(CHR_DRCAROLL, PAD_ARK_0079, 0x00, /*goto*/ 0x00)
|
||||
dprint 'T','E','L','E','P','O','R','T',' ','F','A','I','L','\n',0,
|
||||
label(0x00)
|
||||
goto_first(0x02)
|
||||
|
||||
@@ -728,10 +724,8 @@ u8 func0405_drcaroll_waiting[] = {
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
label(0x00)
|
||||
dprint 'D','R',' ','C','H','A','N','G','E','L','I','S','T','\n',0,
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00100000)
|
||||
chr_move_to_pad(CHR_DRCAROLL, PAD_ARK_01CA, 0x00, /*goto*/ 0x00)
|
||||
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
|
||||
label(0x00)
|
||||
stop_chr
|
||||
|
||||
@@ -1117,7 +1111,6 @@ u8 func0406_general_combat[] = {
|
||||
label(0x29)
|
||||
try_jog_to_target(/*goto*/ 0x20)
|
||||
label(0x20)
|
||||
dprint 'U','N',' ','E','N','T','R','Y','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_GENERAL_COMBAT)
|
||||
set_ailist(CHR_SELF, GAILIST_HAND_COMBAT)
|
||||
|
||||
@@ -1157,7 +1150,6 @@ u8 func0408_hovercopter[] = {
|
||||
begin_hovercar_path(0x00)
|
||||
|
||||
beginloop(0x22)
|
||||
dprint 'L','O','W','\n',0,
|
||||
if_chr_y(CHR_TARGET, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x00)
|
||||
if_chr_y(CHR_TARGET, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53)
|
||||
if_stage_flag_eq(STAGEFLAG_CHOPPER_GO_TO_ROOF, FALSE, /*goto*/ 0x00)
|
||||
@@ -1178,20 +1170,14 @@ u8 func0408_hovercopter[] = {
|
||||
begin_hovercar_path(0x01)
|
||||
|
||||
beginloop(0x24)
|
||||
dprint 'M','I','D','\n',0,
|
||||
if_chr_y(CHR_TARGET, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52)
|
||||
dprint 'M','I','D','0','\n',0,
|
||||
if_chr_y(CHR_TARGET, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x00)
|
||||
dprint 'M','I','D','1','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_CHOPPER_GO_TO_ROOF, FALSE, /*goto*/ 0x00)
|
||||
dprint 'M','I','D','2','\n',0,
|
||||
goto_next(0x54)
|
||||
|
||||
label(0x00)
|
||||
dprint 'M','I','D','3','\n',0,
|
||||
set_target_chr(CHR_BOND)
|
||||
if_can_see_target(/*goto*/ 0x48)
|
||||
dprint 'N','O','T','V','I','S','\n',0,
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x20)
|
||||
set_target_chr(CHR_COOP)
|
||||
|
||||
@@ -1210,7 +1196,6 @@ u8 func0408_hovercopter[] = {
|
||||
|
||||
beginloop(0x26)
|
||||
set_target_chr(CHR_BOND)
|
||||
dprint 'T','O','P','\n',0,
|
||||
if_chr_y(CHR_TARGET, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52)
|
||||
if_chr_y(CHR_TARGET, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53)
|
||||
set_target_chr(CHR_BOND)
|
||||
@@ -1225,7 +1210,6 @@ u8 func0408_hovercopter[] = {
|
||||
|
||||
// Change to high
|
||||
label(0x54)
|
||||
dprint 'C','H','A','N','G','E',' ','T','O',' ','H','I','G','H','\n',0,
|
||||
label(0x27)
|
||||
yield
|
||||
goto_next(0x00)
|
||||
@@ -1237,7 +1221,6 @@ u8 func0408_hovercopter[] = {
|
||||
|
||||
// Change to low
|
||||
label(0x52)
|
||||
dprint 'C','H','A','N','G','E',' ','T','O',' ','L','O','W','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x20)
|
||||
move_object_to_pad(OBJ_HOVERCOPTER, PAD_ARK_0190)
|
||||
label(0x20)
|
||||
@@ -1245,7 +1228,6 @@ u8 func0408_hovercopter[] = {
|
||||
|
||||
// Change to mid
|
||||
label(0x53)
|
||||
dprint 'C','H','A','N','G','E',' ','T','O',' ','M','I','D','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x20)
|
||||
move_object_to_pad(OBJ_HOVERCOPTER, PAD_ARK_0195)
|
||||
label(0x20)
|
||||
@@ -1278,7 +1260,6 @@ u8 func0408_hovercopter[] = {
|
||||
|
||||
// Mid shooting
|
||||
label(0x48)
|
||||
dprint 'S','H','O','O','T',' ','M','I','D','\n',0,
|
||||
try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x49)
|
||||
goto_first(0x24)
|
||||
|
||||
@@ -1675,7 +1656,6 @@ u8 func0409_tech_conversation[] = {
|
||||
if_chr_activated_object(CHR_TARGET, 0x11, /*goto*/ 0x00)
|
||||
if_door_state(0x11, DOORSTATE_OPEN, /*goto*/ 0x00)
|
||||
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x33)
|
||||
dprint 'T','E','C','H',' ','1',' ','L','O','O','P','\n',0,
|
||||
set_chr_chrflag(CHR_TECH1, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_TECH2, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE)
|
||||
@@ -1703,7 +1683,6 @@ u8 func0409_tech_conversation[] = {
|
||||
endloop(0x28)
|
||||
|
||||
label(0x20)
|
||||
dprint 'T','E','C','H',' ','2',' ','L','O','O','P','\n',0,
|
||||
chr_do_animation(ANIM_TALKING_00A0, 0, -1, CHRANIMFLAG_SLOWUPDATE, 20, CHR_SELF, 2)
|
||||
speak(CHR_PRESET, L_ARK_037, SFX_811D, CHANNEL_7, COLOR_06_WHITE) // "That's not how it goes."
|
||||
restart_timer
|
||||
@@ -1824,7 +1803,6 @@ u8 func0409_tech_conversation[] = {
|
||||
|
||||
label(0x20)
|
||||
label(0x33)
|
||||
dprint 'C','H','O','P','P','E','R',' ','C','A','N',' ','G','O','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_TECHS_RUNNING, TRUE, /*goto*/ 0x00)
|
||||
set_stage_flag(STAGEFLAG_TECHS_RUNNING)
|
||||
label(0x00)
|
||||
@@ -1905,7 +1883,6 @@ u8 func040a_tech2[] = {
|
||||
|
||||
label(0x00)
|
||||
label(0x33)
|
||||
dprint 'C','H','O','P','P','E','R',' ','C','A','N',' ','G','O','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_TECHS_RUNNING, TRUE, /*goto*/ 0x00)
|
||||
set_stage_flag(STAGEFLAG_TECHS_RUNNING)
|
||||
label(0x00)
|
||||
@@ -2140,9 +2117,7 @@ u8 func040d_cass[] = {
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00100000)
|
||||
chr_toggle_modelpart(CHR_CASS, MODELPART_CHR_NECKLACE)
|
||||
chr_move_to_pad(CHR_CASS, PAD_ARK_0205, 0x00, /*goto*/ 0x00)
|
||||
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
|
||||
label(0x00)
|
||||
dprint 'M','O','V','E',' ','G','O','O','D','\n',0,
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x20)
|
||||
label(0x20)
|
||||
@@ -2466,7 +2441,6 @@ u8 func0412_outro[] = {
|
||||
set_ailist(CHR_P1P2, GAILIST_IDLE)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2_OPPOSITE, CHRCFLAG_HIDDEN)
|
||||
dprint 'c','u','t',' ','s','c','e','n','e',' ','2',0,
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_INVINCIBLE)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE)
|
||||
chr_toggle_modelpart(CHR_CASS, MODELPART_CHR_NECKLACE)
|
||||
|
||||
@@ -1002,10 +1002,8 @@ u8 unregistered_function1[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x67)
|
||||
dprint 'T','I','M','E','\n',0,
|
||||
if_timer_lt(1800, /*goto*/ 0x98)
|
||||
label(0x31)
|
||||
dprint 'S','Q','U','A','D','\n',0,
|
||||
if_num_chrs_in_squadron_gt(1, 0x0f, /*goto*/ 0x98)
|
||||
call_rng
|
||||
if_rand_gt(64, /*goto*/ 0x69)
|
||||
@@ -1057,10 +1055,8 @@ u8 func100c_spawn_dd_guards[] = {
|
||||
endloop(0x67)
|
||||
|
||||
label(0x31)
|
||||
dprint 'T','I','M','E','\n',0,
|
||||
if_timer_lt(3600, /*goto*/ 0x98)
|
||||
label(0x31)
|
||||
dprint 'S','Q','U','A','D','\n',0,
|
||||
if_num_chrs_in_squadron_gt(1, 0x0e, /*goto*/ 0x98)
|
||||
call_rng
|
||||
if_rand_gt(64, /*goto*/ 0x69)
|
||||
@@ -1231,7 +1227,6 @@ u8 func0404_elvis[] = {
|
||||
restart_timer
|
||||
start_patrol
|
||||
label(0x31)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
set_target_chr(CHR_BOND)
|
||||
set_chrpreset(CHR_BOND)
|
||||
if_stage_flag_eq(STAGEFLAG_ELVIS_GAVE_PROXYMINE, TRUE, /*goto*/ 0x31)
|
||||
@@ -1280,7 +1275,6 @@ u8 func0404_elvis[] = {
|
||||
|
||||
// Detected enemy
|
||||
label(0x0a)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_INIT_ELVIS)
|
||||
set_shotlist(AILIST_INIT_ELVIS)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -1291,7 +1285,6 @@ u8 func0404_elvis[] = {
|
||||
try_run_to_target(/*goto*/ 0x12)
|
||||
|
||||
beginloop(0x12)
|
||||
dprint 'G','O',' ','T','O','W','A','R','D','S','\n',0,
|
||||
if_distance_to_target_lt(300, /*goto*/ 0x13)
|
||||
if_timer_gt(180, /*goto*/ 0x08)
|
||||
endloop(0x12)
|
||||
@@ -1352,7 +1345,6 @@ u8 func0418_robot[] = {
|
||||
goto_first(0x66)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'P','A','R','T',' ','1','\n',0,
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x0d)
|
||||
@@ -1402,10 +1394,8 @@ u8 func0418_robot[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_SKIPSAFETYCHECKS, BANK_0)
|
||||
|
||||
beginloop(0x0a)
|
||||
dprint 'P','A','R','T',' ','2','\n',0,
|
||||
if_timer_gt(180, /*goto*/ 0x08)
|
||||
if_distance_to_target_gt(1000, /*goto*/ 0x15)
|
||||
dprint 'P','A','R','T',' ','2','\n',0,
|
||||
if_target_in_sight(/*goto*/ 0x13)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
@@ -1419,7 +1409,6 @@ u8 func0418_robot[] = {
|
||||
label(0x13)
|
||||
set_target_chr(CHR_P1P2)
|
||||
restart_timer
|
||||
dprint 'P','A','R','T',' ','3','a','\n',0,
|
||||
try_attack_stand(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x0e)
|
||||
goto_first(0x04)
|
||||
|
||||
@@ -1452,10 +1441,8 @@ u8 func0414_spawner[] = {
|
||||
reloop(0x06)
|
||||
|
||||
label(0x0a)
|
||||
dprint 'H','E','A','R','S','P','A','W','N','\n',0,
|
||||
label(0x31)
|
||||
if_never_been_onscreen(/*goto*/ 0x52)
|
||||
dprint 'N','E','V','E','R',' ','V','I','S','F','A','I','L','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x0a)
|
||||
endloop(0x06)
|
||||
|
||||
@@ -1463,14 +1450,11 @@ u8 func0414_spawner[] = {
|
||||
set_ailist(CHR_SELF, GAILIST_ALERTED)
|
||||
|
||||
label(0x52)
|
||||
dprint 'C','H','E','C','K',' ','D','U','P','E','\n',0,
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x52)
|
||||
set_ailist(CHR_SELF, AILIST_SPAWNER)
|
||||
|
||||
label(0x52)
|
||||
dprint 'C','R','E','A','T','E',' ','S','P','A','W','N','\n',0,
|
||||
try_spawn_clone2(CHR_SELF, GAILIST_ALERTED, 0, /*goto*/ 0x31)
|
||||
dprint 'C','R','E','A','T','E',' ','F','A','I','L','\n',0,
|
||||
set_ailist(CHR_SELF, AILIST_SPAWNER)
|
||||
|
||||
label(0x31)
|
||||
@@ -1577,7 +1561,6 @@ u8 func041d_president_running[] = {
|
||||
set_self_chrflag(CHRCFLAG_PUSHABLE)
|
||||
set_alertness(100)
|
||||
set_shotlist(AILIST_PRESIDENT_RUNNING)
|
||||
dprint 'R','E','S','T','A','R','T','\n',0,
|
||||
yield
|
||||
if_chr_dead(CHR_SELF, /*goto*/ 0x08)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x08)
|
||||
@@ -1590,7 +1573,6 @@ u8 func041d_president_running[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x9c)
|
||||
dprint 'K','I','L','L','E','D','\n',0,
|
||||
if_timer_gt(15, /*goto*/ 0x08)
|
||||
endloop(0x9c)
|
||||
|
||||
@@ -1602,7 +1584,6 @@ u8 func041d_president_running[] = {
|
||||
|
||||
// Alive
|
||||
label(0x31)
|
||||
dprint 'b','4',' ','s','h','i','e','l','d',' ','c','h','e','c','k','\n',0,
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x08)
|
||||
goto_next(0x9d)
|
||||
|
||||
@@ -1613,7 +1594,6 @@ u8 func041d_president_running[] = {
|
||||
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
|
||||
|
||||
beginloop(0x9e)
|
||||
dprint 'I','N','J','U','R','E','D','\n',0,
|
||||
if_num_times_shot_lt(1, /*goto*/ 0x08)
|
||||
if_timer_lt(20, /*goto*/ 0x08)
|
||||
label(0x08)
|
||||
@@ -1626,7 +1606,6 @@ u8 func041d_president_running[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x9f)
|
||||
dprint 'W','A','I','T','\n',0,
|
||||
// Room 0x0014 = UFO area
|
||||
// Yes, checking this 5 times is unnecessary
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
@@ -1634,7 +1613,6 @@ u8 func041d_president_running[] = {
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
dprint 't','a','r','g','e','t','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x08)
|
||||
goto_next(0xa0)
|
||||
|
||||
@@ -1666,7 +1644,6 @@ u8 func041d_president_running[] = {
|
||||
try_run_to_target(/*goto*/ 0xa1)
|
||||
|
||||
beginloop(0xa1)
|
||||
dprint 'F','O','L','L','O','W','\n',0,
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
@@ -1695,7 +1672,6 @@ u8 func041d_president_running[] = {
|
||||
|
||||
// Unreachable
|
||||
beginloop(0xa4)
|
||||
dprint 'R','U','N','N','F','O','\n',0,
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0014, /*goto*/ 0xa5)
|
||||
|
||||
@@ -1283,7 +1283,6 @@ u8 func0407_stewardess[] = {
|
||||
|
||||
label(0x0f)
|
||||
try_jog_to_chr(CHR_SEEDIE, /*goto*/ 0x49)
|
||||
dprint 'W','A','L','K','F','A','I','L','\n',0,
|
||||
|
||||
beginloop(0x49)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1293,7 +1292,6 @@ u8 func0407_stewardess[] = {
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_MSG_NOWSYOURCHANCE)
|
||||
label(0x75)
|
||||
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x4e)
|
||||
dprint 'W','A','L','K','I','N','G','\n',0,
|
||||
if_target_outside_my_yvisang(/*goto*/ 0x31)
|
||||
if_target_in_sight(/*goto*/ 0x02)
|
||||
label(0x31)
|
||||
@@ -2434,7 +2432,6 @@ u8 func040f_nsa[] = {
|
||||
walk_to_pad(PAD_PRESET)
|
||||
|
||||
beginloop(0x06)
|
||||
dprint 'G','O',' ','F','O','R',' ','P','A','D','\n',0,
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
if_distance_to_target_lt(250, /*goto*/ 0x64)
|
||||
@@ -2467,7 +2464,6 @@ u8 func040f_nsa[] = {
|
||||
|
||||
beginloop(0x00)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
dprint 'W','A','I','T',' ','F','O','R',' ','C','H','R','\n',0,
|
||||
set_target_chr(CHR_P1P2)
|
||||
if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x0b)
|
||||
if_can_see_target(/*goto*/ 0x31)
|
||||
@@ -2475,7 +2471,6 @@ u8 func040f_nsa[] = {
|
||||
|
||||
// Seen player
|
||||
label(0x31)
|
||||
dprint 'C','H','R','\n',0,
|
||||
if_chr_y(CHR_TARGET, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02)
|
||||
goto_first(0x00)
|
||||
|
||||
@@ -2532,7 +2527,6 @@ u8 func040f_nsa[] = {
|
||||
|
||||
// Also unreachable
|
||||
label(0x31)
|
||||
dprint 'R','U','N',' ','S','T','A','R','T','\n',0,
|
||||
restart_timer
|
||||
set_target_chr(CHR_BOND)
|
||||
try_run_to_target(/*goto*/ 0x05)
|
||||
@@ -2540,7 +2534,6 @@ u8 func040f_nsa[] = {
|
||||
beginloop(0x05)
|
||||
set_returnlist(CHR_SELF, GAILIST_ALERTED)
|
||||
set_ailist(CHR_SELF, GAILIST_ALERTED)
|
||||
dprint 'G','O',' ','F','O','R',' ','C','H','R','\n',0,
|
||||
if_chr_stopped(/*goto*/ 0x32)
|
||||
if_timer_gt(30, /*goto*/ 0x32)
|
||||
if_chr_y(CHR_TARGET, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02)
|
||||
@@ -3154,7 +3147,6 @@ u8 func042a_foyer_spawner[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0,
|
||||
if_never_been_onscreen(/*goto*/ 0x6a)
|
||||
if_can_see_target(/*goto*/ 0x04)
|
||||
reloop(0x00)
|
||||
@@ -3294,18 +3286,15 @@ u8 func0419_ba8c[] = {
|
||||
beginloop(0x6b)
|
||||
if_saw_death(0x00, /*goto*/ 0x4f)
|
||||
if_saw_injury(0x00, /*goto*/ 0x0f)
|
||||
dprint 'D','U','R','I','N','G','T','A','L','K','\n',0,
|
||||
if_timer_gt(180, /*goto*/ 0x02)
|
||||
endloop(0x6b)
|
||||
|
||||
label(0x02)
|
||||
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)
|
||||
|
||||
label(0x33)
|
||||
dprint 'P','A','T',' ','R','E','T','\n',0,
|
||||
start_patrol
|
||||
|
||||
label(0x00)
|
||||
@@ -3407,7 +3396,6 @@ u8 func0419_ba8c[] = {
|
||||
if_timer_lt(600, /*goto*/ 0x31)
|
||||
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)
|
||||
|
||||
label(0x0f)
|
||||
@@ -3981,11 +3969,9 @@ u8 func1024_double_dy357[] = {
|
||||
u8 func0416_watch_flag[] = {
|
||||
beginloop(0x00)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_ANTINONINTERACTABLE, /*goto*/ 0x31)
|
||||
dprint 'F','L','A','G',' ','N','O','T',' ','S','E','T','\n',0,
|
||||
reloop(0x00)
|
||||
|
||||
label(0x31)
|
||||
dprint 'F','L','A','G',' ','S','E','T','\n',0,
|
||||
endloop(0x00)
|
||||
|
||||
endlist
|
||||
@@ -3998,7 +3984,6 @@ u8 func101a_check_disguise_used2[] = {
|
||||
endloop(0x00)
|
||||
|
||||
label(0x02)
|
||||
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x31)
|
||||
|
||||
@@ -1583,7 +1583,6 @@ u8 func0411_labtech_alerted[] = {
|
||||
label(0x04)
|
||||
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x04)
|
||||
set_alertness(100)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
say_quip(CHR_BOND, 0x2a, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00)
|
||||
chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2)
|
||||
|
||||
@@ -2628,7 +2627,6 @@ u8 func0416_elvis_leading[] = {
|
||||
if_timer_gt(1200, /*goto*/ 0x08)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0b)
|
||||
label(0x07)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_chr_stopped(/*goto*/ 0x04)
|
||||
endloop(0x00)
|
||||
|
||||
@@ -2644,11 +2642,9 @@ u8 func0416_elvis_leading[] = {
|
||||
beginloop(0x0c)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0b)
|
||||
label(0x07)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x0b)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
call_rng
|
||||
if_rand_lt(85, /*goto*/ 0x3b)
|
||||
if_rand_lt(170, /*goto*/ 0x3c)
|
||||
|
||||
@@ -688,7 +688,6 @@ u8 func1004_laser_switch_2[] = {
|
||||
|
||||
// Activated/deactivated
|
||||
label(0x08)
|
||||
dprint 'S','W','I','T','C','H',' ','2',0,
|
||||
if_stage_flag_eq(STAGEFLAG_LASERSET2_DISABLED, TRUE, /*goto*/ 0x09)
|
||||
|
||||
// Deactivated
|
||||
@@ -1056,7 +1055,6 @@ u8 func1009_spawner_during_decode[] = {
|
||||
goto_next(0x0d)
|
||||
|
||||
label(0x2c)
|
||||
dprint 'S','Q','U','A','D',' ','F','U','L','L',0,
|
||||
reloop(0x09)
|
||||
|
||||
label(0x0b)
|
||||
@@ -1199,7 +1197,6 @@ u8 func100a_give_keycards[] = {
|
||||
disable_object(OBJ_CROSSBOW)
|
||||
|
||||
beginloop(0x08)
|
||||
dprint 'C','H','E','C','K',' ','D','E','A','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_CLOAK2_ONE_REMAINING, TRUE, /*goto*/ 0x2c)
|
||||
endloop(0x08)
|
||||
|
||||
@@ -1211,7 +1208,6 @@ u8 func100a_give_keycards[] = {
|
||||
|
||||
// 2A alive
|
||||
give_object_to_chr(OBJ_KEYCARD2, CHR_CLOAK_2A)
|
||||
dprint 'G','I','V','E',' ','T','O','4',0,
|
||||
goto_next(0x2c)
|
||||
|
||||
// 2A dead
|
||||
@@ -1220,7 +1216,6 @@ u8 func100a_give_keycards[] = {
|
||||
if_chr_death_animation_finished(CHR_CLOAK_2B, /*goto*/ 0x06)
|
||||
if_chr_knockedout(CHR_CLOAK_2B, /*goto*/ 0x06)
|
||||
give_object_to_chr(OBJ_KEYCARD2, CHR_CLOAK_2B)
|
||||
dprint 'G','I','V','E',' ','T','O','5',0,
|
||||
goto_next(0x2c)
|
||||
|
||||
// 2B dead
|
||||
@@ -1229,13 +1224,11 @@ u8 func100a_give_keycards[] = {
|
||||
if_chr_death_animation_finished(CHR_CLOAK_2C, /*goto*/ 0x06)
|
||||
if_chr_knockedout(CHR_CLOAK_2C, /*goto*/ 0x06)
|
||||
give_object_to_chr(OBJ_KEYCARD2, CHR_CLOAK_2C)
|
||||
dprint 'G','I','V','E',' ','T','O','6',0,
|
||||
goto_next(0x2c)
|
||||
|
||||
// 2C dead
|
||||
label(0x06)
|
||||
give_object_to_chr(OBJ_KEYCARD2, CHR_CLOAK_2D)
|
||||
dprint 'G','I','V','E',' ','T','O','7',0,
|
||||
|
||||
label(0x2c)
|
||||
unset_object_flag(OBJ_KEYCARD2, OBJFLAG_UNCOLLECTABLE)
|
||||
@@ -1434,7 +1427,6 @@ u8 func1012_check_for_end[] = {
|
||||
|
||||
label(0x06)
|
||||
set_stage_flag(STAGEFLAG_EXITED_BUILDING)
|
||||
dprint 'I','N',' ','T','H','E',' ','E','L','E','V','A','T','O','R','\n',0,
|
||||
set_invincible(CHR_BOND)
|
||||
yield
|
||||
yield
|
||||
@@ -1484,7 +1476,6 @@ u8 func1013_check_escape_doors[] = {
|
||||
label(0x06)
|
||||
if_object_in_good_condition(OBJ_ESCAPEDOOR2, /*goto*/ 0x06)
|
||||
label(0x2c)
|
||||
dprint 'S','T','A','R','T',' ','A','L','A','R','M','\n',0,
|
||||
activate_alarm
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
reloop(0x04)
|
||||
@@ -1517,7 +1508,6 @@ u8 func100c_check_for_meeting_trigger[] = {
|
||||
endloop(0x00)
|
||||
|
||||
label(0x06)
|
||||
dprint 's','h','o','t',' ','1',0,
|
||||
set_ailist(CHR_SELF, AILIST_MEETING_CUTSCENE)
|
||||
endlist
|
||||
};
|
||||
@@ -2585,11 +2575,9 @@ u8 func101d_init_mines[] = {
|
||||
if_savefile_flag_is_unset(GAMEFILEFLAG_G5_MINE, /*goto*/ 0x06)
|
||||
|
||||
disable_object(OBJ_MINE1)
|
||||
dprint 'E','P','R','O','M','F','L','A','G',' ','N','O','T','S','E','T',0,
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
label(0x06)
|
||||
dprint 'E','P','R','O','M','F','L','A','G',' ','S','E','T',0,
|
||||
disable_object(OBJ_MINE2)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
|
||||
@@ -909,12 +909,10 @@ u8 func1002_devicetraining_camspy[] = {
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_CAMSPY_DONE)
|
||||
@@ -1040,13 +1038,11 @@ u8 func1003_devicetraining_nightvision[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_NIGHTVISION_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
set_lights_state(0x0030, LIGHTOP_1, 0xff, 0x00, 0x00)
|
||||
set_lights_state(0x002e, LIGHTOP_1, 0xff, 0x00, 0x00)
|
||||
@@ -1219,13 +1215,11 @@ u8 func1004_devicetraining_doordecoder[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_DOORDECODER_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
unset_object_flag2(0x88, OBJFLAG2_INVISIBLE)
|
||||
@@ -1257,7 +1251,6 @@ u8 func1005_devicetraining_xray[] = {
|
||||
lock_door(0x31, 0x40)
|
||||
lock_door(0x8a, 0x40)
|
||||
lock_door(0x89, 0x40)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
enable_object(0x29)
|
||||
move_object_to_pad(0x29, PAD_DISH_011D)
|
||||
unset_object_flag(0x29, OBJFLAG_UNCOLLECTABLE)
|
||||
@@ -1432,13 +1425,11 @@ u8 func1005_devicetraining_xray[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_XRAY_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -1471,7 +1462,6 @@ u8 func1006_devicetraining_disguise[] = {
|
||||
lock_door(0x31, 0x40)
|
||||
lock_door(0x8a, 0x40)
|
||||
lock_door(0x89, 0x40)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
enable_object(0x2a)
|
||||
move_object_to_pad(0x2a, PAD_DISH_011D)
|
||||
unset_object_flag(0x2a, OBJFLAG_UNCOLLECTABLE)
|
||||
@@ -1571,13 +1561,11 @@ u8 func1006_devicetraining_disguise[] = {
|
||||
endloop(0x0f)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_DISGUISE_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -1616,7 +1604,6 @@ u8 func1007_devicetrainign_ir[] = {
|
||||
lock_door(0x31, 0x40)
|
||||
lock_door(0x8a, 0x40)
|
||||
lock_door(0x89, 0x40)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
enable_object(0x2b)
|
||||
move_object_to_pad(0x2b, PAD_DISH_011D)
|
||||
unset_object_flag(0x2b, OBJFLAG_UNCOLLECTABLE)
|
||||
@@ -1720,13 +1707,11 @@ u8 func1007_devicetrainign_ir[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_IR_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -1756,7 +1741,6 @@ u8 func1008_devicetraining_rtracker[] = {
|
||||
lock_door(0x31, 0x40)
|
||||
lock_door(0x8a, 0x40)
|
||||
lock_door(0x89, 0x40)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
enable_object(0x2c)
|
||||
move_object_to_pad(0x2c, PAD_DISH_011D)
|
||||
unset_object_flag(0x2c, OBJFLAG_UNCOLLECTABLE)
|
||||
@@ -1847,13 +1831,11 @@ u8 func1008_devicetraining_rtracker[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_RTRACKER_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -1886,7 +1868,6 @@ u8 func1009_devicetraining_cloak[] = {
|
||||
lock_door(0x31, 0x40)
|
||||
lock_door(0x8a, 0x40)
|
||||
lock_door(0x89, 0x40)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
restart_timer
|
||||
enable_object(0x2d)
|
||||
move_object_to_pad(0x2d, PAD_DISH_011D)
|
||||
@@ -1998,13 +1979,11 @@ u8 func1009_devicetraining_cloak[] = {
|
||||
endloop(0x0f)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_CLOAK_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -2151,13 +2130,11 @@ u8 func100a_devicetraining_ecmmine[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_ECMMINE_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
label(0x84)
|
||||
@@ -2194,7 +2171,6 @@ u8 func100b_devicetraining_uplink[] = {
|
||||
move_object_to_pad(0x2f, PAD_DISH_0131)
|
||||
unset_object_flag(0x2f, OBJFLAG_UNCOLLECTABLE)
|
||||
unset_object_flag2(0x2f, OBJFLAG2_INVISIBLE)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
close_door(0x31)
|
||||
close_door(0x8a)
|
||||
close_door(0x89)
|
||||
@@ -2359,13 +2335,11 @@ u8 func100b_devicetraining_uplink[] = {
|
||||
goto_first(0x82)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_UPLINK_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -2383,7 +2357,6 @@ u8 func100b_devicetraining_uplink[] = {
|
||||
mute_channel(CHANNEL_5)
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
disable_object(0x2f)
|
||||
goto_first(0x08)
|
||||
|
||||
@@ -2492,7 +2465,6 @@ u8 func0402_move_to_holoroom[] = {
|
||||
|
||||
u8 func0429_grimshaw_disguise[] = {
|
||||
set_returnlist(CHR_SELF, AILIST_GRIMSHAW_DISGUISE)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','a',0,
|
||||
restart_timer
|
||||
|
||||
beginloop(0x0f)
|
||||
@@ -2516,7 +2488,6 @@ u8 func0429_grimshaw_disguise[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','b',0,
|
||||
restart_timer
|
||||
label(0x08)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x06)
|
||||
@@ -2529,7 +2500,6 @@ u8 func0429_grimshaw_disguise[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','c',0,
|
||||
do_preset_animation(PRESETANIM_TALK3)
|
||||
play_cistaff_quip(CIQUIP_GREETING, CHANNEL_6)
|
||||
restart_timer
|
||||
@@ -2540,7 +2510,6 @@ u8 func0429_grimshaw_disguise[] = {
|
||||
endloop(0x57)
|
||||
|
||||
label(0x06)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','d',0,
|
||||
restart_timer
|
||||
|
||||
beginloop(0x58)
|
||||
@@ -2598,18 +2567,15 @@ u8 func0429_grimshaw_disguise[] = {
|
||||
u8 func100c_cloak_detection[] = {
|
||||
beginloop(0x04)
|
||||
deactivate_alarm
|
||||
dprint 'I','N','I','T','Y',0,
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_CLOAK, TRUE, /*goto*/ 0x8f)
|
||||
reloop(0x04)
|
||||
|
||||
beginloop(0x8f)
|
||||
dprint 'L','O','O','P','Y',0,
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x5d)
|
||||
if_chr_distance_to_pad_lt(CHR_BOND, 200, PAD_DISH_027B, /*goto*/ 0x06)
|
||||
endloop(0x8f)
|
||||
|
||||
beginloop(0x5d)
|
||||
dprint 'W','A','I','T','Y',0,
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_CLOAK, FALSE, /*goto*/ 0x30)
|
||||
endloop(0x5d)
|
||||
|
||||
@@ -2627,7 +2593,6 @@ u8 func100c_cloak_detection[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
dprint 'G','O','T','T','H','R','U',0,
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_CLOAKED, /*goto*/ 0x30)
|
||||
activate_alarm
|
||||
yield
|
||||
@@ -2671,7 +2636,6 @@ u8 func100c_cloak_detection[] = {
|
||||
|
||||
beginloop(0x5c)
|
||||
yield
|
||||
dprint 'W','A','I','T','F','I','N',0,
|
||||
if_timer_gt(60, /*goto*/ 0x2f)
|
||||
endloop(0x5c)
|
||||
|
||||
@@ -2692,7 +2656,6 @@ u8 func042a_carrington_cloak[] = {
|
||||
endloop(0x8f)
|
||||
|
||||
label(0x06)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','a',0,
|
||||
|
||||
beginloop(0x04)
|
||||
if_target_in_sight(/*goto*/ 0x2f)
|
||||
@@ -2708,7 +2671,6 @@ u8 func042a_carrington_cloak[] = {
|
||||
label(0x2f)
|
||||
set_stage_flag(STAGEFLAG_GENERAL_PURPOSE)
|
||||
close_door(0x40)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','b',0,
|
||||
restart_timer
|
||||
label(0x08)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x06)
|
||||
@@ -2720,7 +2682,6 @@ u8 func042a_carrington_cloak[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'I','n','i','t','i','a','l','i','s','e','c',0,
|
||||
restart_timer
|
||||
chr_do_animation(ANIM_WALK_BACKWARDS, -1, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2)
|
||||
restart_timer
|
||||
@@ -2938,7 +2899,6 @@ u8 func042b_init_carrington[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_TOUR_DONE)
|
||||
#endif
|
||||
dprint 'E','E','P','R','O','M',' ','S','E','T',0,
|
||||
|
||||
beginloop(0x08)
|
||||
chr_move_to_pad(CHR_SELF, PAD_CARRINGTON_OFFICE, 0x01, /*goto*/ 0x2f)
|
||||
@@ -2948,7 +2908,6 @@ u8 func042b_init_carrington[] = {
|
||||
set_ailist(CHR_SELF, 0x041e)
|
||||
|
||||
label(0x06)
|
||||
dprint 'E','E','P','R','O','M',' ','N','O','T','S','E','T',0,
|
||||
if_savefile_flag_is_unset(GAMEFILEFLAG_CI_TOUR_DONE, /*goto*/ 0x8f)
|
||||
goto_first(0x08)
|
||||
|
||||
@@ -2984,7 +2943,6 @@ u8 func042c_carrington_tour[] = {
|
||||
try_face_entity(ATTACKFLAG_AIMATPAD, 0x0054, /*goto*/ 0x04)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'F','A','C','E',' ','P','A','D',0,
|
||||
if_timer_gt(1200, /*goto*/ 0x2f)
|
||||
if_can_see_target(/*goto*/ 0x2f)
|
||||
if_chr_idle(/*goto*/ 0x06)
|
||||
@@ -3631,7 +3589,6 @@ u8 func101c_holo1_main[] = {
|
||||
unset_object_flag2(0x4e, OBJFLAG2_IMMUNETOANTI)
|
||||
unset_object_flag2(0x4f, OBJFLAG2_IMMUNETOANTI)
|
||||
disable_chr(0x04)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x91)
|
||||
if_object_flag2(0x4c, OBJFLAG2_IMMUNETOANTI, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
@@ -3675,13 +3632,11 @@ u8 func101c_holo1_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO1_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -3699,7 +3654,6 @@ u8 func101c_holo1_main[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
enable_chr(0x04)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
disable_object(0x48)
|
||||
disable_object(0x49)
|
||||
disable_object(0x4a)
|
||||
@@ -3907,23 +3861,19 @@ u8 func0430_holo1_check_done[] = {
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'D','O','H','1',0,
|
||||
if_object_flag2(0x4d, OBJFLAG2_00040000, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'D','O','H','2',0,
|
||||
if_object_flag2(0x4e, OBJFLAG2_00040000, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'D','O','H','3',0,
|
||||
if_object_flag2(0x4f, OBJFLAG2_00040000, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
|
||||
// All flags are set
|
||||
label(0x2f)
|
||||
dprint 'D','O','H','4',0,
|
||||
remove_hudmsgs
|
||||
show_hudmsg_middle(0x01, COLOR_04_ORANGE, L_DISH_106) // "Holoprogram 1 has been completed successfully."
|
||||
restart_timer
|
||||
@@ -3993,7 +3943,6 @@ u8 func1022_holo2_main[] = {
|
||||
enable_object(0x56)
|
||||
enable_object(0x57)
|
||||
disable_chr(0x04)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x2f)
|
||||
label(0x91)
|
||||
remove_hudmsgs
|
||||
@@ -4017,13 +3966,11 @@ u8 func1022_holo2_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x90)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO2_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -4040,7 +3987,6 @@ u8 func1022_holo2_main[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
enable_chr(0x04)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
disable_object(0x54)
|
||||
disable_object(0x55)
|
||||
disable_object(0x56)
|
||||
@@ -4300,7 +4246,6 @@ u8 func1027_holo3_main[] = {
|
||||
close_door(0x70)
|
||||
close_door(0x71)
|
||||
close_door(0x72)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x2f)
|
||||
label(0x91)
|
||||
remove_hudmsgs
|
||||
@@ -4325,13 +4270,11 @@ u8 func1027_holo3_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO3_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -4348,7 +4291,6 @@ u8 func1027_holo3_main[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
enable_chr(0x04)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
disable_object(0x58)
|
||||
disable_object(0x59)
|
||||
disable_object(0x5a)
|
||||
@@ -4528,7 +4470,6 @@ u8 func1028_holo4_main[] = {
|
||||
disable_chr(0x04)
|
||||
try_spawn_chr_at_pad(BODY_DDSHOCK, HEAD_RANDOM, PAD_DISH_0274, AILIST_HOLO4_GUARD1, SPAWNFLAG_00000010 | SPAWNFLAG_00000200 | SPAWNFLAG_NOBLOOD, /*goto*/ 0x08)
|
||||
label(0x08)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
remove_hudmsgs
|
||||
@@ -4567,13 +4508,11 @@ u8 func1028_holo4_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO4_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -4592,7 +4531,6 @@ u8 func1028_holo4_main[] = {
|
||||
remove_chr(0x0d)
|
||||
remove_chr(0x0e)
|
||||
remove_chr(0x0f)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
enable_object(0x45)
|
||||
label(0x06)
|
||||
remove_hudmsgs
|
||||
@@ -4772,7 +4710,6 @@ u8 func1029_holo5_main[] = {
|
||||
try_spawn_chr_at_pad(BODY_DDSHOCK, HEAD_RANDOM, PAD_DISH_0126, AILIST_HOLO5_INIT_GUARD1, SPAWNFLAG_00000010 | SPAWNFLAG_00000200 | SPAWNFLAG_NOBLOOD, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
yield
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
remove_hudmsgs
|
||||
@@ -4812,13 +4749,11 @@ u8 func1029_holo5_main[] = {
|
||||
goto_first(0x82)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO5_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -4838,7 +4773,6 @@ u8 func1029_holo5_main[] = {
|
||||
remove_chr(0x10)
|
||||
remove_chr(0x11)
|
||||
remove_chr(0x12)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
enable_object(0x45)
|
||||
remove_hudmsgs
|
||||
|
||||
@@ -4865,7 +4799,6 @@ u8 func0406_holo5_init_guard1[] = {
|
||||
|
||||
u8 func0407_holo5_guard1[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_CANLOSEGUN, BANK_0)
|
||||
dprint 'C','R','E','A','T','E','D',' ','4',0,
|
||||
set_shotlist(AILIST_HOLO5_GUARD1)
|
||||
set_chr_maxdamage(CHR_SELF, 300)
|
||||
add_health_or_armor(300)
|
||||
@@ -4954,7 +4887,6 @@ u8 func0408_holo5_init_guard2[] = {
|
||||
};
|
||||
|
||||
u8 func0409_holo5_guard2[] = {
|
||||
dprint 'C','R','E','A','T','E','D',' ','5',0,
|
||||
set_shotlist(AILIST_HOLO5_GUARD2)
|
||||
label(0x04)
|
||||
yield
|
||||
@@ -4966,7 +4898,6 @@ u8 func0409_holo5_guard2[] = {
|
||||
start_patrol
|
||||
label(0x08)
|
||||
yield
|
||||
dprint 'O','n',' ','P','a','t','r','o','l',0,
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_chr_dead(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_chr_knockedout(CHR_SELF, /*goto*/ 0x2f)
|
||||
@@ -5014,7 +4945,6 @@ u8 func040a_holo5_init_guard3[] = {
|
||||
};
|
||||
|
||||
u8 func040b_holo5_guard3[] = {
|
||||
dprint 'C','R','E','A','T','E','D',' ','6',0,
|
||||
set_shotlist(AILIST_HOLO_GUARD_ARMED_UNALERT)
|
||||
restart_timer
|
||||
|
||||
@@ -5061,10 +4991,8 @@ u8 func1034_holo5_part1[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if_chr_has_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f)
|
||||
dprint 'C','H','R',' ','4','F','D',0,
|
||||
#else
|
||||
if_chr_alertness_lt(100, 0x10, /*goto*/ 0x06)
|
||||
dprint 'C','H','R',' ','4','F','D',0,
|
||||
goto_next(0x2f)
|
||||
#endif
|
||||
label(0x06)
|
||||
@@ -5083,7 +5011,6 @@ u8 func1034_holo5_part1[] = {
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'C','H','R',' ','5','F','D',0,
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
@@ -5096,7 +5023,6 @@ u8 func1034_holo5_part1[] = {
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'C','H','R',' ','6','F','D',0,
|
||||
restart_timer
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_GENERAL_PURPOSE)
|
||||
@@ -5162,7 +5088,6 @@ u8 func102e_holo6_main[] = {
|
||||
endloop(0x5c)
|
||||
|
||||
label(0x5d)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x2f)
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
@@ -5188,13 +5113,11 @@ u8 func102e_holo6_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO6_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -5215,7 +5138,6 @@ u8 func102e_holo6_main[] = {
|
||||
remove_chr(0x14)
|
||||
remove_chr(0x15)
|
||||
remove_chr(0x16)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
enable_object(0x45)
|
||||
label(0x06)
|
||||
remove_hudmsgs
|
||||
@@ -5460,7 +5382,6 @@ u8 func102f_holo1_part1[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
dprint 'N','O',' ','D','E','A','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
if_chr_dead(0x13, /*goto*/ 0x2f)
|
||||
@@ -5473,7 +5394,6 @@ u8 func102f_holo1_part1[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
dprint 'C','H','R',' ','7','F','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
if_chr_dead(0x14, /*goto*/ 0x2f)
|
||||
@@ -5486,7 +5406,6 @@ u8 func102f_holo1_part1[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
dprint 'C','H','R',' ','8','F','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
if_chr_dead(0x15, /*goto*/ 0x2f)
|
||||
@@ -5499,7 +5418,6 @@ u8 func102f_holo1_part1[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
dprint 'C','H','R',' ','9','F','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x0d)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
if_chr_dead(0x16, /*goto*/ 0x2f)
|
||||
@@ -5508,7 +5426,6 @@ u8 func102f_holo1_part1[] = {
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'C','H','R',' ','1','0','F','D',0,
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_GENERAL_PURPOSE)
|
||||
remove_hudmsgs
|
||||
@@ -5577,7 +5494,6 @@ u8 func1030_holo7_main[] = {
|
||||
endloop(0x5d)
|
||||
|
||||
label(0x5e)
|
||||
dprint 't','r','a','i','n','i','n','g',0,
|
||||
label(0x2f)
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
@@ -5587,7 +5503,6 @@ u8 func1030_holo7_main[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x82)
|
||||
dprint 't','r','a','n',' ','l','o','o','p',0,
|
||||
if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90)
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85)
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83)
|
||||
@@ -5605,13 +5520,11 @@ u8 func1030_holo7_main[] = {
|
||||
goto_first(0x91)
|
||||
|
||||
label(0x85)
|
||||
dprint 'f','a','i','l',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_FAILURE)
|
||||
goto_next(0x84)
|
||||
|
||||
label(0x83)
|
||||
set_savefile_flag(GAMEFILEFLAG_CI_HOLO7_DONE)
|
||||
dprint 'd','o','n','e',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS)
|
||||
yield
|
||||
goto_next(0x84)
|
||||
@@ -5633,7 +5546,6 @@ u8 func1030_holo7_main[] = {
|
||||
remove_chr(0x1b)
|
||||
remove_chr(0x17)
|
||||
remove_chr(0x18)
|
||||
dprint 'a','b','o','r','t','e','d',0,
|
||||
enable_object(0x45)
|
||||
remove_hudmsgs
|
||||
|
||||
@@ -6066,7 +5978,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
beginloop(0x04)
|
||||
// Wait until player in training
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','1',0,
|
||||
#endif
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_UPLINK, TRUE, /*goto*/ 0x2f)
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_ECMMINE, TRUE, /*goto*/ 0x2f)
|
||||
@@ -6105,7 +6016,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE)
|
||||
label(0x06)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','2',0,
|
||||
#endif
|
||||
yield
|
||||
yield
|
||||
@@ -6114,7 +6024,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
|
||||
label(0x57)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','3',0,
|
||||
#endif
|
||||
yield
|
||||
if_stage_flag_eq(STAGEFLAG_CONSIDER_WARP, TRUE, /*goto*/ 0x2f)
|
||||
@@ -6123,7 +6032,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
label(0x2f)
|
||||
label(0x59)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','4',0,
|
||||
#endif
|
||||
yield
|
||||
if_stage_flag_eq(STAGEFLAG_CONSIDER_WARP, FALSE, /*goto*/ 0x2f)
|
||||
@@ -6131,7 +6039,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
|
||||
label(0x2f)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','5',0,
|
||||
#endif
|
||||
yield
|
||||
yield
|
||||
@@ -6150,7 +6057,6 @@ u8 func1042_check_jo_in_training_room[] = {
|
||||
restart_timer
|
||||
label(0x5c)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
dprint 'C','H','K','6',0,
|
||||
#endif
|
||||
yield
|
||||
if_timer_gt(60, /*goto*/ 0x2f)
|
||||
|
||||
@@ -939,12 +939,10 @@ u8 func0404_scientist[] = {
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'N','I','S','D','E','A','D','\n',0,
|
||||
set_shotlist(GAILIST_IDLE)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
label(0x06)
|
||||
dprint 'N','I','S','2','\n',0,
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
|
||||
@@ -1043,7 +1041,6 @@ u8 func0404_scientist[] = {
|
||||
goto_first(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
say_quip(CHR_TARGET, 0x0a, 0xff, 0x00, 0xff, 0x81, 0x03, 0x08)
|
||||
restart_timer
|
||||
stop_chr
|
||||
@@ -1055,7 +1052,6 @@ u8 func0404_scientist[] = {
|
||||
endloop(0x56)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
say_quip(CHR_TARGET, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09)
|
||||
restart_timer
|
||||
|
||||
@@ -1173,19 +1169,16 @@ u8 func0407_init_nasty_scientist[] = {
|
||||
|
||||
u8 func0406_nasty_scientist[] = {
|
||||
set_shotlist(AILIST_NASTY_SCIENTIST)
|
||||
dprint 'N','A','S','T','Y','1','\n',0,
|
||||
if_chr_dead(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_chr_knockedout(CHR_SELF, /*goto*/ 0x2f)
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'N','A','S','T','Y',' ','D','E','A','D','\n',0,
|
||||
set_shotlist(GAILIST_IDLE)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
label(0x06)
|
||||
dprint 'N','A','S','T','Y','2','\n',0,
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_num_times_shot_lt(1, /*goto*/ 0x06)
|
||||
label(0x2f)
|
||||
@@ -1235,7 +1228,6 @@ u8 func0406_nasty_scientist[] = {
|
||||
endloop(0x56)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
say_quip(CHR_TARGET, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09)
|
||||
restart_timer
|
||||
|
||||
@@ -2077,7 +2069,6 @@ u8 func100b_check_uplink_pc_destroyed[] = {
|
||||
};
|
||||
|
||||
u8 func0411_yellowbot[] = {
|
||||
dprint 'h','o','v','\n',0,
|
||||
label(0x03)
|
||||
begin_hovercar_path(0x05)
|
||||
set_vehicle_speed(512, 120)
|
||||
@@ -2101,11 +2092,9 @@ u8 func0411_yellowbot[] = {
|
||||
};
|
||||
|
||||
u8 func0412_purplebot_programs[] = {
|
||||
dprint 'h','o','v','\n',0,
|
||||
if_difficulty_gt(DIFF_A, /*goto*/ 0x04)
|
||||
|
||||
// Agent
|
||||
dprint 'm','o','v','\n',0,
|
||||
move_object_to_pad(OBJ_PURPLEBOT, PAD_EAR_00BE)
|
||||
goto_next(0x14)
|
||||
|
||||
@@ -2375,7 +2364,6 @@ u8 func0417_outro[] = {
|
||||
set_ailist(CHR_DRCAROLL, GAILIST_IDLE)
|
||||
set_ailist(CHR_K7_GUARD, GAILIST_IDLE)
|
||||
restart_timer
|
||||
dprint 's','h','o','t',' ','1',0,
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_01)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_01, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
set_cutscene_weapon(CHR_P1P2, -1, -1)
|
||||
@@ -2394,21 +2382,18 @@ u8 func0417_outro[] = {
|
||||
|
||||
wait_for_camera(0x08)
|
||||
|
||||
dprint 's','h','o','t',' ','2',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_02)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_02, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
|
||||
wait_for_camera(0x09)
|
||||
|
||||
dprint 's','h','o','t',' ','3',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_03)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_03, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
|
||||
wait_for_camera(0x0a)
|
||||
|
||||
dprint 's','h','o','t',' ','4',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_04)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_04, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
@@ -2434,7 +2419,6 @@ u8 func0417_outro[] = {
|
||||
|
||||
label(0x2f)
|
||||
label(0x06)
|
||||
dprint 's','h','o','t',' ','5',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
@@ -2445,7 +2429,6 @@ u8 func0417_outro[] = {
|
||||
|
||||
wait_for_camera(0x0c)
|
||||
|
||||
dprint 's','h','o','t',' ','6',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_06)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_06, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
@@ -2453,7 +2436,6 @@ u8 func0417_outro[] = {
|
||||
|
||||
wait_for_camera(0x0d)
|
||||
|
||||
dprint 's','h','o','t',' ','7',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_07)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_07, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
@@ -2461,7 +2443,6 @@ u8 func0417_outro[] = {
|
||||
|
||||
wait_for_camera(0x0e)
|
||||
|
||||
dprint 's','h','o','t',' ','8',0,
|
||||
camera_movement(ANIM_CUT_EAR_OUTRO_CAM_08)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_JO_08, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_P1P2, 2)
|
||||
chr_do_animation(ANIM_CUT_EAR_OUTRO_DRC_04, -1, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_DRCAROLL, 2)
|
||||
@@ -2632,7 +2613,6 @@ u8 func100f_check_for_end_level[] = {
|
||||
|
||||
label(0x06)
|
||||
set_stage_flag(STAGEFLAG_DRCAROLL_LOCATED)
|
||||
dprint 's','h','o','t',' ','6',0,
|
||||
yield
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
yield
|
||||
|
||||
@@ -1261,7 +1261,6 @@ u8 func0408_outro[] = {
|
||||
|
||||
#define outro_wait_until1(time, msg, loopid) \
|
||||
beginloop(loopid) \
|
||||
dprint msg, '\n', 0, \
|
||||
if_controller_button_pressed(/*goto*/ 0x56) \
|
||||
if_timer_gt(time, /*goto*/ 0x06) \
|
||||
endloop(loopid) \
|
||||
@@ -1269,7 +1268,6 @@ u8 func0408_outro[] = {
|
||||
|
||||
#define outro_wait_until2(time, msg1, msg2, loopid) \
|
||||
beginloop(loopid) \
|
||||
dprint msg1, msg2, '\n', 0, \
|
||||
if_controller_button_pressed(/*goto*/ 0x56) \
|
||||
if_timer_gt(time, /*goto*/ 0x06) \
|
||||
endloop(loopid) \
|
||||
@@ -1317,7 +1315,6 @@ u8 func0408_outro[] = {
|
||||
// @bug: No check for button presses for about 8 seconds while Carrington is
|
||||
// saying the above line.
|
||||
beginloop(0xaf)
|
||||
dprint '1','4','\n',0,
|
||||
if_timer_gt(738, /*goto*/ 0x06)
|
||||
endloop(0xaf)
|
||||
|
||||
@@ -1382,7 +1379,6 @@ u8 func0408_outro[] = {
|
||||
|
||||
label(0x56)
|
||||
label(0x06)
|
||||
dprint '3','2','\n',0,
|
||||
mute_channel(CHANNEL_7)
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_5)
|
||||
@@ -1553,7 +1549,6 @@ u8 func0402_taker[] = {
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
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_CAN_FLEESURRENDER, TRUE, BANK_0, /*goto*/ 0x06)
|
||||
@@ -1678,7 +1673,6 @@ u8 func0403_negotiator[] = {
|
||||
run_to_pad(PAD_ELD_004F)
|
||||
|
||||
beginloop(0x08)
|
||||
dprint 'R','U','N',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_chr_stopped(/*goto*/ 0x06)
|
||||
endloop(0x08)
|
||||
|
||||
@@ -1800,7 +1794,6 @@ u8 func0404_sniper[] = {
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
dprint 'S','T','A','R','T','\n',0,
|
||||
if_target_in_sight(/*goto*/ 0x58)
|
||||
|
||||
// Choose a direction to face
|
||||
@@ -1826,7 +1819,6 @@ u8 func0404_sniper[] = {
|
||||
// Not actually running to a pad. Just waiting 2 seconds for the change
|
||||
// in direction, or until detected player.
|
||||
label(0x06)
|
||||
dprint 'R','U','N',' ','T','O',' ','P','A','D','\n',0,
|
||||
restart_timer
|
||||
|
||||
beginloop(0x0a)
|
||||
@@ -1835,7 +1827,6 @@ u8 func0404_sniper[] = {
|
||||
if_target_in_sight(/*goto*/ 0x58)
|
||||
if_saw_death(0x00, /*goto*/ 0x58)
|
||||
if_saw_injury(0x00, /*goto*/ 0x58)
|
||||
dprint 'F','A','C','E','\n',0,
|
||||
if_timer_gt(120, /*goto*/ 0x06)
|
||||
endloop(0x0a)
|
||||
|
||||
@@ -1870,7 +1861,6 @@ u8 func0404_sniper[] = {
|
||||
if_target_in_sight(/*goto*/ 0x58)
|
||||
if_saw_death(0x00, /*goto*/ 0x58)
|
||||
if_saw_injury(0x00, /*goto*/ 0x58)
|
||||
dprint 'R','U','N','\n',0,
|
||||
call_rng
|
||||
if_rand_gt(3, /*goto*/ 0x2d)
|
||||
if_timer_gt(600, /*goto*/ 0x06)
|
||||
@@ -1909,7 +1899,6 @@ u8 func0404_sniper[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x64)
|
||||
dprint 'S','N','I','P','E',' ','D','I','E','\n',0,
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
};
|
||||
|
||||
@@ -703,7 +703,6 @@ u8 func0413_defend_pad[] = {
|
||||
jog_to_pad(PAD_PRESET)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0a)
|
||||
if_chr_distance_to_pad_lt(CHR_SELF, 200, PAD_PRESET, /*goto*/ 0x08)
|
||||
endloop(0x04)
|
||||
@@ -713,7 +712,6 @@ u8 func0413_defend_pad[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x0b)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0a)
|
||||
if_chr_distance_to_pad_gt(CHR_SELF, 300, PAD_PRESET, /*goto*/ 0x08)
|
||||
endloop(0x0b)
|
||||
@@ -723,7 +721,6 @@ u8 func0413_defend_pad[] = {
|
||||
|
||||
// Detected enemy
|
||||
label(0x0a)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_shotlist(AILIST_DEFEND_PAD)
|
||||
set_returnlist(CHR_SELF, AILIST_DEFEND_PAD)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -1618,7 +1615,6 @@ u8 func0414_firingrange_hostage[] = {
|
||||
jog_to_pad(PAD_PRESET)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0a)
|
||||
goto_next(0x12)
|
||||
endloop(0x04)
|
||||
@@ -1627,7 +1623,6 @@ u8 func0414_firingrange_hostage[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x0b)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0a)
|
||||
goto_next(0x12)
|
||||
endloop(0x0b)
|
||||
@@ -1636,7 +1631,6 @@ u8 func0414_firingrange_hostage[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0a)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_FIRINGRANGE_HOSTAGE)
|
||||
set_shotlist(AILIST_FIRINGRANGE_HOSTAGE)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -3007,7 +3001,6 @@ u8 func1015_firingrange_pc[] = {
|
||||
reloop(0x04) \
|
||||
\
|
||||
label(0x2e) \
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0, \
|
||||
if_never_been_onscreen(/*goto*/ 0x4f) \
|
||||
if_can_see_target(/*goto*/ 0x0a) \
|
||||
reloop(0x04) \
|
||||
@@ -3149,7 +3142,6 @@ u8 func0410_spawner6[] = {
|
||||
reloop(0x04)
|
||||
|
||||
label(0x2e)
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0,
|
||||
if_never_been_onscreen(/*goto*/ 0x4f)
|
||||
if_can_see_target(/*goto*/ 0x0a)
|
||||
reloop(0x04)
|
||||
@@ -3305,7 +3297,6 @@ u8 func1022_skedar_shuttle[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x0b)
|
||||
dprint 'O','B','J','\n',0,
|
||||
if_timer_gt(60, /*goto*/ 0x2e)
|
||||
endloop(0x0b)
|
||||
|
||||
@@ -3314,12 +3305,10 @@ u8 func1022_skedar_shuttle[] = {
|
||||
play_sound_from_object(CHANNEL_4, OBJ_SKEDAR_SHUTTLE, 1, 1800, 3000)
|
||||
|
||||
beginloop(0x0d)
|
||||
dprint 'O','B','J','\n',0,
|
||||
if_timer_gt(200, /*goto*/ 0x08)
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x08)
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0,
|
||||
set_stage_flag(STAGEFLAG_BOMB_AIRBORNE)
|
||||
restart_timer
|
||||
|
||||
|
||||
@@ -944,7 +944,6 @@ u8 func0409_elvis_follow[] = {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
restart_timer
|
||||
say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
|
||||
dprint 'I','N','J','U','R','E','D','\n',0,
|
||||
|
||||
beginloop(LABEL_C1)
|
||||
if_timer_gt(180, /*goto*/ 0x06)
|
||||
@@ -953,7 +952,6 @@ u8 func0409_elvis_follow[] = {
|
||||
|
||||
// Healthy
|
||||
label(0x06)
|
||||
dprint 'I','N','J','U','R','E','D','F','I','N','\n',0,
|
||||
#else
|
||||
say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
|
||||
|
||||
@@ -985,7 +983,6 @@ u8 func0409_elvis_follow[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_SAID_GO_ON_AHEAD, TRUE, /*goto*/ 0x2c)
|
||||
if_chr_in_room(CHR_ELVIS, 0x00, 0x006c, /*goto*/ LABEL_C4)
|
||||
label(0x2c)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_lt(200, /*goto*/ 0x06)
|
||||
@@ -1007,7 +1004,6 @@ u8 func0409_elvis_follow[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_SAID_GO_ON_AHEAD, TRUE, /*goto*/ 0x2c)
|
||||
if_chr_in_room(CHR_ELVIS, 0x00, 0x006c, /*goto*/ LABEL_C4)
|
||||
label(0x2c)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_gt(300, /*goto*/ 0x06)
|
||||
@@ -1027,7 +1023,6 @@ u8 func0409_elvis_follow[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x06)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
call_rng
|
||||
if_rand_lt(85, /*goto*/ LABEL_65)
|
||||
if_rand_lt(170, /*goto*/ LABEL_66)
|
||||
@@ -1120,7 +1115,6 @@ u8 func041c_elvis_outside_prebridgelift[] = {
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_shotlist(AILIST_ELVIS_OUTSIDE_PREBRIDGELIFT)
|
||||
set_returnlist(CHR_SELF, AILIST_ELVIS_OUTSIDE_PREBRIDGELIFT)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -1235,7 +1229,6 @@ u8 func041b_elvis_at_bridge[] = {
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_shotlist(AILIST_ELVIS_AT_BRIDGE)
|
||||
set_returnlist(CHR_SELF, AILIST_ELVIS_AT_BRIDGE)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -1412,7 +1405,6 @@ u8 func1008_hangar_lifts[] = {
|
||||
|
||||
// Activate Jo's lift so it starts going to bottom
|
||||
label(0x2c)
|
||||
dprint 'U','N','\n',0,
|
||||
unset_object_flag(OBJ_HANGARLIFT_JO, OBJFLAG_DEACTIVATED)
|
||||
yield
|
||||
yield
|
||||
@@ -1428,7 +1420,6 @@ u8 func1008_hangar_lifts[] = {
|
||||
|
||||
// Wait until lift stopped at bottom
|
||||
beginloop(LABEL_65)
|
||||
dprint 'D','A','\n',0,
|
||||
if_lift_stationary(OBJ_HANGARLIFT_JO, /*goto*/ LABEL_66)
|
||||
endloop(LABEL_65)
|
||||
|
||||
@@ -1443,7 +1434,6 @@ u8 func1008_hangar_lifts[] = {
|
||||
set_object_flag(OBJ_HANGARLIFT_JO, OBJFLAG_DEACTIVATED)
|
||||
|
||||
beginloop(LABEL_67)
|
||||
dprint 'T','R','\n',0,
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c)
|
||||
if_chr_in_room(CHR_BOND, 0x00, 0x0018, /*goto*/ 0x2c)
|
||||
@@ -1453,7 +1443,6 @@ u8 func1008_hangar_lifts[] = {
|
||||
|
||||
// Door closing automatically - reopen it
|
||||
label(0x2d)
|
||||
dprint 'P','E','\n',0,
|
||||
goto_first(LABEL_66)
|
||||
|
||||
// Jo has entered the lift, or Jo dead in co-op
|
||||
@@ -1473,7 +1462,6 @@ u8 func1008_hangar_lifts[] = {
|
||||
|
||||
// Wait until Y coordinate >= 400
|
||||
beginloop(0x09)
|
||||
dprint 'P','U','\n',0,
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_death_animation_finished(CHR_P1P2, /*goto*/ 0x2c)
|
||||
if_chr_y(CHR_P1P2, 400, OPERATOR_LESS_THAN, /*goto*/ 0x2c)
|
||||
@@ -1698,7 +1686,6 @@ u8 func0408_knifeable_skedar[] = {
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x0c)
|
||||
dprint 'W','A','I','T','I','N','G',' ','T','W','O','\n',0,
|
||||
if_chr_stopped(/*goto*/ 0x0d)
|
||||
label(0x06)
|
||||
if_target_in_sight(/*goto*/ 0x0c)
|
||||
@@ -1914,7 +1901,6 @@ u8 func0419_hangar_maian[] = {
|
||||
go_to_target_pad(GOPOSFLAG_RUN)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_distance_to_pad_lt(CHR_SELF, 200, PAD_PRESET, /*goto*/ 0x06)
|
||||
if_timer_gt(60, /*goto*/ 0x2c)
|
||||
@@ -1929,7 +1915,6 @@ u8 func0419_hangar_maian[] = {
|
||||
|
||||
// Wait at pad for enemy
|
||||
beginloop(0x09)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_distance_to_pad_gt(CHR_SELF, 300, PAD_PRESET, /*goto*/ 0x06)
|
||||
endloop(0x09)
|
||||
@@ -1939,7 +1924,6 @@ u8 func0419_hangar_maian[] = {
|
||||
|
||||
// Enemy detected
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_HANGAR_MAIAN)
|
||||
set_shotlist(AILIST_HANGAR_MAIAN)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -2486,7 +2470,6 @@ u8 func041a_bridgeclone[] = {
|
||||
// Close to target - face them
|
||||
label(0x2e)
|
||||
restart_timer
|
||||
dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0,
|
||||
if_target_in_fov_left(10, /*goto*/ 0x06)
|
||||
if_target_out_of_fov_left(246, /*goto*/ 0x06)
|
||||
stop_chr
|
||||
@@ -3240,7 +3223,6 @@ u8 func0421_bridge_skedar[] = {
|
||||
|
||||
label(LABEL_60)
|
||||
try_attack_amount(40, 60)
|
||||
dprint 'F','I','R','E',' ','F','U','L','L','\n',0,
|
||||
label(0x06)
|
||||
goto_first(LABEL_CB)
|
||||
|
||||
@@ -3579,7 +3561,6 @@ u8 func101c_lift_door_sounds[] = {
|
||||
endloop(LABEL_C2)
|
||||
|
||||
label(0x2c)
|
||||
dprint 'S','O','U','N','D','\n',0,
|
||||
play_sound(SFX_81A6, -1)
|
||||
restart_timer
|
||||
|
||||
|
||||
@@ -1097,7 +1097,6 @@ u8 func1007_check_disguise_collected[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
|
||||
|
||||
beginloop(0x08)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ LABEL_2D)
|
||||
@@ -1590,7 +1589,6 @@ u8 func0410_labtech_showers_sa_pa[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
speak(CHR_TARGET, L_LIP_037, MP3_032D, CHANNEL_4, COLOR_08_RED) // "Who are you?"
|
||||
restart_timer
|
||||
try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ LABEL_64)
|
||||
@@ -1703,7 +1701,6 @@ u8 func0410_labtech_showers_sa_pa[] = {
|
||||
// Tech saw weapon
|
||||
label(LABEL_53)
|
||||
chr_do_animation(ANIM_SURPRISED_0202, 0, -1, CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
speak(CHR_TARGET, L_LIP_041, SFX_8156, CHANNEL_4, COLOR_08_RED) // "Oh, my God - a gun!"
|
||||
restart_timer
|
||||
|
||||
@@ -1984,7 +1981,6 @@ u8 func0418_doorman[] = {
|
||||
|
||||
// Disguise not used, or uncovered
|
||||
label(LABEL_2D)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
speak(CHR_TARGET, L_LIP_051, SFX_8158, CHANNEL_4, COLOR_08_RED) // "Hey, you're not... SECURITY ALERT!"
|
||||
restart_timer
|
||||
stop_chr
|
||||
@@ -2235,7 +2231,6 @@ u8 func041a_labtech_harrysmate[] = {
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x06)
|
||||
dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0,
|
||||
try_equip_weapon(MODEL_CHRDRUGGUN, WEAPON_TRANQUILIZER, 0x10000000, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -2327,7 +2322,6 @@ u8 func041b_labtech_keycardguy[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x06)
|
||||
dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0,
|
||||
try_equip_weapon(MODEL_CHRDRUGGUN, WEAPON_TRANQUILIZER, 0x10000000, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -2463,7 +2457,6 @@ u8 func1010_give_keycard[] = {
|
||||
if_chr_death_animation_finished(0x23, /*goto*/ 0x06)
|
||||
if_chr_knockedout(0x23, /*goto*/ 0x06)
|
||||
give_object_to_chr(0x10, 0x23)
|
||||
dprint 'G','I','V','E',' ','T','O','4',0,
|
||||
goto_next(LABEL_2D)
|
||||
|
||||
label(0x06)
|
||||
@@ -2471,7 +2464,6 @@ u8 func1010_give_keycard[] = {
|
||||
if_chr_death_animation_finished(0x24, /*goto*/ 0x06)
|
||||
if_chr_knockedout(0x24, /*goto*/ 0x06)
|
||||
give_object_to_chr(0x10, 0x24)
|
||||
dprint 'G','I','V','E',' ','T','O','5',0,
|
||||
goto_next(LABEL_2D)
|
||||
|
||||
label(0x06)
|
||||
@@ -2479,14 +2471,12 @@ u8 func1010_give_keycard[] = {
|
||||
if_chr_death_animation_finished(0x25, /*goto*/ 0x06)
|
||||
if_chr_knockedout(0x25, /*goto*/ 0x06)
|
||||
give_object_to_chr(0x10, 0x25)
|
||||
dprint 'G','I','V','E',' ','T','O','6',0,
|
||||
goto_next(LABEL_2D)
|
||||
|
||||
label(0x06)
|
||||
if_chr_death_animation_finished(0x26, /*goto*/ LABEL_2D)
|
||||
if_chr_dead(0x26, /*goto*/ LABEL_2D)
|
||||
if_chr_knockedout(0x26, /*goto*/ LABEL_2D)
|
||||
dprint 'G','I','V','E',' ','T','O','7',0,
|
||||
|
||||
label(LABEL_2D)
|
||||
unset_object_flag2(0x10, OBJFLAG2_INVISIBLE)
|
||||
@@ -2585,7 +2575,6 @@ u8 func0413_mechanic[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
speak(CHR_BOND, L_LIP_065, SFX_M0_GET_THE_HELL_OUT_OF_HERE, CHANNEL_4, COLOR_08_RED) // "Get the hell out of here!"
|
||||
restart_timer
|
||||
chr_do_animation(ANIM_SURRENDER_002E, 0, -1, CHRANIMFLAG_COMPLETED | CHRANIMFLAG_SLOWUPDATE, 16, CHR_SELF, 2)
|
||||
@@ -2650,11 +2639,9 @@ u8 func0415_warehouse_spawner[] = {
|
||||
reloop(0x04)
|
||||
|
||||
label(0x08)
|
||||
dprint 'H','E','A','R','S','P','A','W','N','\n',0,
|
||||
|
||||
label(LABEL_2D)
|
||||
if_never_been_onscreen(/*goto*/ LABEL_4E)
|
||||
dprint 'N','E','V','E','R',' ','V','I','S','F','A','I','L','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x08)
|
||||
reloop(0x04)
|
||||
|
||||
@@ -2665,14 +2652,11 @@ u8 func0415_warehouse_spawner[] = {
|
||||
set_ailist(CHR_SELF, GAILIST_ALERTED)
|
||||
|
||||
label(LABEL_4E)
|
||||
dprint 'C','H','E','C','K',' ','D','U','P','E','\n',0,
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ LABEL_4E)
|
||||
reloop(0x04)
|
||||
|
||||
label(LABEL_4E)
|
||||
dprint 'C','R','E','A','T','E',' ','S','P','A','W','N','\n',0,
|
||||
try_spawn_clone2(CHR_SELF, AILIST_WAREHOUSE_CLONE, 0, /*goto*/ LABEL_2D)
|
||||
dprint 'C','R','E','A','T','E',' ','F','A','I','L','\n',0,
|
||||
reloop(0x04)
|
||||
|
||||
label(LABEL_2D)
|
||||
@@ -2879,7 +2863,6 @@ u8 func041f_labtech_lights[] = {
|
||||
// Jo in sight
|
||||
label(0x03)
|
||||
object_do_animation(ANIM_025A, 0xff, 0x02, 0xffff)
|
||||
dprint 'T','A','L','K',' ','0','\n',0,
|
||||
if_self_flag_bankx_eq(CHRFLAG0_SKIPSAFETYCHECKS, TRUE, BANK_0, /*goto*/ LABEL_53)
|
||||
restart_timer
|
||||
label(0x08)
|
||||
@@ -2891,7 +2874,6 @@ u8 func041f_labtech_lights[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ LABEL_2D)
|
||||
label(0x06)
|
||||
@@ -3120,18 +3102,14 @@ u8 func0420_labtech_doors[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ LABEL_2D)
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','2','\n',0,
|
||||
goto_next(0x06)
|
||||
|
||||
label(LABEL_2D)
|
||||
dprint 'T','A','L','K',' ','3','\n',0,
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ LABEL_2D)
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ LABEL_2D)
|
||||
dprint 'T','A','L','K',' ','4','\n',0,
|
||||
goto_next(0x06)
|
||||
|
||||
label(LABEL_2D)
|
||||
@@ -3142,7 +3120,6 @@ u8 func0420_labtech_doors[] = {
|
||||
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_not_talking(CHR_SELF, /*goto*/ LABEL_2D)
|
||||
endloop(LABEL_7B)
|
||||
|
||||
@@ -3214,7 +3191,6 @@ u8 func0420_labtech_doors[] = {
|
||||
endloop(LABEL_73)
|
||||
|
||||
label(0x06)
|
||||
dprint 'F','L','A','G',' ','S','E','T','\n',0,
|
||||
label(0x10)
|
||||
chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2)
|
||||
|
||||
@@ -3367,7 +3343,6 @@ u8 func0422_labtech_records[] = {
|
||||
endloop(LABEL_79)
|
||||
|
||||
label(LABEL_2D)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
speak(CHR_TARGET, L_LIP_086, SFX_M1_WARN_THE_OTHERS, CHANNEL_4, COLOR_08_RED) // "Warn the others..."
|
||||
label(LABEL_2D)
|
||||
label(0x06)
|
||||
@@ -3378,7 +3353,6 @@ u8 func0422_labtech_records[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x06)
|
||||
dprint 'F','L','A','G',' ','S','E','T','\n',0,
|
||||
label(0x10)
|
||||
chr_do_animation(ANIM_COWER_0229, -1, -1, CHRANIMFLAG_SLOWUPDATE, 10, CHR_SELF, 2)
|
||||
|
||||
@@ -4315,7 +4289,6 @@ u8 func0429_spawn_while_xraying[] = {
|
||||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0,
|
||||
label(LABEL_4E)
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ LABEL_4E)
|
||||
reloop(0x04)
|
||||
@@ -4497,11 +4470,9 @@ u8 func1027_check_disguise_worn[] = {
|
||||
|
||||
u8 func1028_toggle_mechanic[] = {
|
||||
if_savefile_flag_is_set(GAMEFILEFLAG_RESCUE_MECHANIC_DEAD, /*goto*/ 0x06)
|
||||
dprint 'K','E','E','P',' ','M','E','C','H','\n',0,
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
|
||||
label(0x06)
|
||||
dprint 'D','E','L','E','T','E',' ','M','E','C','H','\n',0,
|
||||
disable_chr(CHR_MECHANIC)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
|
||||
@@ -1574,7 +1574,6 @@ u8 func0417_traitor[] = {
|
||||
|
||||
label(0x2e)
|
||||
try_attack_stand(ATTACKFLAG_AIMATTARGET | ATTACKFLAG_AIMONLY, 0, /*goto*/ 0x0a)
|
||||
dprint 'S','H','O','O','T','F','A','I','L','E','D','\n',0,
|
||||
yield
|
||||
label(0x0a)
|
||||
try_modify_attack(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x0b)
|
||||
@@ -1763,7 +1762,6 @@ u8 func040a_top_interceptor[] = {
|
||||
|
||||
// Unreachable
|
||||
label(0x5a)
|
||||
dprint 'C','H','A','N','G','E',' ','T','O',' ','L','O','W','\n',0,
|
||||
goto_first(0x09)
|
||||
|
||||
label(0x59)
|
||||
@@ -2701,7 +2699,6 @@ u8 func0419_clone_spawner[] = {
|
||||
reloop(0x04)
|
||||
|
||||
label(0x2e)
|
||||
dprint 'O','B','J','E','C','T','I','V','E',' ','D','O','N','E','\n',0,
|
||||
if_never_been_onscreen(/*goto*/ 0x4f)
|
||||
if_can_see_target(/*goto*/ 0x09)
|
||||
reloop(0x04)
|
||||
@@ -2749,7 +2746,6 @@ u8 func1019_spawn_guards_at_antenna[] = {
|
||||
// (two guards near antenna blue door)
|
||||
// SA and PA: Wait until bug thrown on antenna
|
||||
beginloop(0x04)
|
||||
dprint 'C','H','E','C','K',' ','F','O','R',' ','O','B','J','E','C','T','I','V','E','\n',0,
|
||||
if_difficulty_lt(DIFF_SA, /*goto*/ 0x06)
|
||||
if_objective_complete(1, /*goto*/ 0x2e)
|
||||
reloop(0x04)
|
||||
@@ -2772,14 +2768,12 @@ u8 func1019_spawn_guards_at_antenna[] = {
|
||||
set_morale(3)
|
||||
|
||||
beginloop(0x56)
|
||||
dprint 'T','R','Y',' ','C','R','E','A','T','E','\n',0,
|
||||
if_morale_lt(1, /*goto*/ 0x06)
|
||||
try_spawn_chr_at_pad(BODY_A51TROOPER, HEAD_RANDOM, PAD_LUE_00A0, AILIST_SPAWNED_GUARD, SPAWNFLAG_00000200, /*goto*/ 0x57)
|
||||
reloop(0x56)
|
||||
|
||||
label(0x57)
|
||||
yield
|
||||
dprint 'C','R','E','A','T','E','\n',0,
|
||||
subtract_morale(1)
|
||||
restart_timer
|
||||
|
||||
@@ -2884,7 +2878,6 @@ u8 func101a_check_mechanic_dead[] = {
|
||||
|
||||
label(0x2e)
|
||||
set_savefile_flag(GAMEFILEFLAG_RESCUE_MECHANIC_DEAD)
|
||||
dprint 'D','E','L','E','T','E',' ','M','E','C','H','\n',0,
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
};
|
||||
|
||||
@@ -55,7 +55,6 @@ u8 func0404_spawn_enemies[] = {
|
||||
// Spawn 12 enemies
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
restart_timer
|
||||
dprint 'B','4','C','H','E','C','K','\n',0,
|
||||
set_morale(12)
|
||||
label(0x04)
|
||||
if_morale_lt(1, /*goto*/ 0x01)
|
||||
@@ -95,7 +94,6 @@ u8 func0405_spawn_maians[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
stop_chr
|
||||
restart_timer
|
||||
dprint 'B','4','C','H','E','K','\n',0,
|
||||
set_morale(12)
|
||||
label(0x04)
|
||||
if_morale_lt(1, /*goto*/ 0x01)
|
||||
@@ -148,7 +146,6 @@ u8 unregistered_function1[] = {
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x01)
|
||||
dprint 't',0,
|
||||
goto_first(0x04)
|
||||
|
||||
endlist
|
||||
@@ -176,7 +173,6 @@ u8 func0407_defend_pad[] = {
|
||||
jog_to_pad(PAD_PRESET)
|
||||
label(0xdc)
|
||||
yield
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0xa5)
|
||||
if_chr_distance_to_pad_lt(CHR_SELF, 200, PAD_PRESET, /*goto*/ 0x01)
|
||||
goto_first(0xdc)
|
||||
@@ -186,7 +182,6 @@ u8 func0407_defend_pad[] = {
|
||||
stop_chr
|
||||
label(0xa6)
|
||||
yield
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0xa5)
|
||||
if_chr_distance_to_pad_gt(CHR_SELF, 300, PAD_PRESET, /*goto*/ 0x01)
|
||||
goto_first(0xa6)
|
||||
@@ -196,7 +191,6 @@ u8 func0407_defend_pad[] = {
|
||||
|
||||
// Do combat
|
||||
label(0xa5)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, 0x0407)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
endlist
|
||||
|
||||
@@ -720,7 +720,6 @@ s32 path10[] = {
|
||||
};
|
||||
|
||||
u8 func0401_unused[] = {
|
||||
dprint 'h','o','v','\n',0,
|
||||
begin_hovercar_path(0x00)
|
||||
set_vehicle_speed(384, 120)
|
||||
|
||||
@@ -757,7 +756,6 @@ u8 func040b_init_elvis[] = {
|
||||
};
|
||||
|
||||
u8 func0402_elvis_follow_and_reactive_teleportals[] = {
|
||||
dprint 'B','A','C','K',' ','T','O',' ','E','L','V','I','S','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS)
|
||||
set_shotlist(AILIST_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS)
|
||||
set_target_chr(CHR_PRESET)
|
||||
@@ -803,7 +801,6 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
|
||||
|
||||
// Jo distance >= 200
|
||||
label(0x03)
|
||||
dprint 'G','O','T','O','W','\n',0,
|
||||
set_target_chr(CHR_PRESET)
|
||||
restart_timer
|
||||
if_distance_to_target_gt(300, /*goto*/ 0x06)
|
||||
@@ -988,7 +985,6 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_ELVIS, 0x00, 0x006c, /*goto*/ 0x1d)
|
||||
label(0x2e)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_lt(200, /*goto*/ 0x06)
|
||||
@@ -1002,11 +998,9 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x09)
|
||||
dprint 'B','4',' ','P','A','D','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_ELVIS, 0x00, 0x006c, /*goto*/ 0x1d)
|
||||
label(0x2e)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_gt(300, /*goto*/ 0x06)
|
||||
@@ -1016,7 +1010,6 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
call_rng
|
||||
if_rand_lt(85, /*goto*/ 0x63)
|
||||
if_rand_lt(170, /*goto*/ 0x64)
|
||||
@@ -1123,7 +1116,6 @@ u8 func0405_elvis_follow_nocombat[] = {
|
||||
|
||||
beginloop(0x04)
|
||||
label(0x2e)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(300, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_lt(200, /*goto*/ 0x06)
|
||||
@@ -1137,9 +1129,7 @@ u8 func0405_elvis_follow_nocombat[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x09)
|
||||
dprint 'B','4',' ','P','A','D','\n',0,
|
||||
label(0x2e)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_gt(300, /*goto*/ 0x06)
|
||||
@@ -1319,7 +1309,6 @@ u8 func0407_elvis_go_to_sa_teleport[] = {
|
||||
label(0x06)
|
||||
restart_timer
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
call_rng
|
||||
if_rand_lt(85, /*goto*/ 0x63)
|
||||
if_rand_lt(170, /*goto*/ 0x64)
|
||||
@@ -1378,7 +1367,6 @@ u8 func0403_elvis_give_farsight[] = {
|
||||
try_run_to_target(/*goto*/ 0x04)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_distance_to_target_lt(200, /*goto*/ 0x06)
|
||||
if_timer_gt(60, /*goto*/ 0x2e)
|
||||
@@ -1858,12 +1846,10 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'T','E','L','E','P','O','R','T',' ','F','A','I','L','E','D','\n',0,
|
||||
chr_move_to_pad(CHR_ELVIS, PAD_PAM_0017, 0x01, /*goto*/ 0x2e)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2e)
|
||||
dprint 'T','E','L','E','P','O','R','T',' ','G','O','O','D','\n',0,
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
stop_chr
|
||||
set_ailist(CHR_SELF, AILIST_ELVIS_RUN_TO_EXIT)
|
||||
@@ -1894,7 +1880,6 @@ u8 func0c02_outro[] = {
|
||||
if_timer_gt(time, /*goto*/ 0x2e) \
|
||||
endloop(loopid) \
|
||||
label(0x2e) \
|
||||
dprint msg, '\n', 0, \
|
||||
enable_object(mine) \
|
||||
yield \
|
||||
move_object_to_pad(mine, pad) \
|
||||
@@ -1906,7 +1891,6 @@ u8 func0c02_outro[] = {
|
||||
if_timer_gt(time, /*goto*/ 0x2e) \
|
||||
endloop(loopid) \
|
||||
label(0x2e) \
|
||||
dprint msg1, msg2, '\n', 0, \
|
||||
enable_object(mine) \
|
||||
yield \
|
||||
move_object_to_pad(mine, pad) \
|
||||
@@ -1941,7 +1925,6 @@ u8 func0c02_outro[] = {
|
||||
endloop(0x7c)
|
||||
|
||||
label(0x2e)
|
||||
dprint '2','3','\n',0,
|
||||
|
||||
blow_mine2(1038, 0x7d, '2','4', 0x8d, 0x0275)
|
||||
blow_mine2(1071, 0x7e, '2','5', 0x8e, 0x0274)
|
||||
@@ -3168,9 +3151,7 @@ u8 func041d_sniper[] = {
|
||||
beginloop(0x63)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_can_see_target(/*goto*/ 0x2e)
|
||||
dprint 'N','O',' ','P','L','A','Y','E','R',' ','T','A','R','G','E','T','\n',0,
|
||||
if_enemy_distance_lt_and_los(1000, /*goto*/ 0x2f)
|
||||
dprint 'N','O',' ','O','P','P','\n',0,
|
||||
goto_next(0x2f)
|
||||
|
||||
label(0x2e)
|
||||
@@ -3180,13 +3161,11 @@ u8 func041d_sniper[] = {
|
||||
goto_next(0x2e)
|
||||
|
||||
label(0x2f)
|
||||
dprint 'T','H','E',' ','P','L','A','Y','E','R',' ','i','s',' ','i','t','\n',0,
|
||||
if_timer_gt(180, /*goto*/ 0x06)
|
||||
if_chr_stopped(/*goto*/ 0x06)
|
||||
endloop(0x63)
|
||||
|
||||
label(0x06)
|
||||
dprint '1','\n',0,
|
||||
stop_chr
|
||||
call_rng
|
||||
if_rand_gt(128, /*goto*/ 0x06)
|
||||
@@ -3197,7 +3176,6 @@ u8 func041d_sniper[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x06)
|
||||
dprint '2','\n',0,
|
||||
set_chrpreset(CHR_TARGET)
|
||||
goto_next(0x06)
|
||||
|
||||
@@ -3206,17 +3184,13 @@ u8 func041d_sniper[] = {
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2e)
|
||||
dprint 'C','H','E','C','K',' ','P','L','A','Y','E','R',' ','D','I','R','\n',0,
|
||||
if_within_targets_fovx_by_angle(20, /*goto*/ 0x0d)
|
||||
dprint '3','\n',0,
|
||||
label(0x06)
|
||||
if_can_see_target(/*goto*/ 0x2e)
|
||||
dprint '4','\n',0,
|
||||
goto_next(0x0d)
|
||||
|
||||
label(0x2e)
|
||||
restart_timer
|
||||
dprint '5','\n',0,
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
label(0x0a)
|
||||
label(0x2e)
|
||||
@@ -3366,7 +3340,6 @@ u8 func100f_check_drcaroll_dead[] = {
|
||||
};
|
||||
|
||||
u8 func040f_miniskedar_send_clones[] = {
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_self_chrflag(CHRCFLAG_CLONEABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
@@ -3462,7 +3435,6 @@ u8 func040f_miniskedar[] = {
|
||||
|
||||
label(0x30)
|
||||
restart_timer
|
||||
dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0,
|
||||
stop_chr
|
||||
try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x0b)
|
||||
|
||||
@@ -3594,7 +3566,6 @@ u8 func1012_sa_megaweapon_spawner[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x20)
|
||||
dprint 'T','I','M','E','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x06)
|
||||
|
||||
// Megaweapon not disabled yet - spawn every 8 seconds
|
||||
@@ -3607,7 +3578,6 @@ u8 func1012_sa_megaweapon_spawner[] = {
|
||||
|
||||
// Consider spawn
|
||||
label(0x2e)
|
||||
dprint 'S','Q','U','A','D','\n',0,
|
||||
if_num_chrs_in_squadron_gt(5, 0x0e, /*goto*/ 0x21)
|
||||
call_rng
|
||||
if_rand_gt(86, /*goto*/ 0x63)
|
||||
@@ -4011,10 +3981,8 @@ u8 func101f_pa_circleroom_spawner[] = {
|
||||
beginloop(0x20)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_in_room(CHR_P1P2, 0x00, 0x008c, /*goto*/ 0x58)
|
||||
dprint 'T','I','M','E','\n',0,
|
||||
if_timer_lt(300, /*goto*/ 0x21)
|
||||
label(0x2e)
|
||||
dprint 'S','Q','U','A','D','\n',0,
|
||||
if_num_chrs_in_squadron_gt(3, 0x0d, /*goto*/ 0x21)
|
||||
call_rng
|
||||
if_rand_gt(128, /*goto*/ 0x63)
|
||||
@@ -4061,10 +4029,8 @@ u8 func1020_pa_deadendroom_spawner[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x20)
|
||||
dprint 'T','I','M','E','\n',0,
|
||||
if_timer_lt(300, /*goto*/ 0x21)
|
||||
label(0x2e)
|
||||
dprint 'S','Q','U','A','D','\n',0,
|
||||
if_num_chrs_in_squadron_gt(3, 0x0b, /*goto*/ 0x21)
|
||||
call_rng
|
||||
if_rand_gt(64, /*goto*/ 0x63)
|
||||
@@ -4359,7 +4325,6 @@ u8 func042e_elvis_run_to_exit[] = {
|
||||
goto_first(0x1f)
|
||||
|
||||
label(0x2e)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
call_rng
|
||||
if_rand_lt(85, /*goto*/ 0x63)
|
||||
if_rand_lt(170, /*goto*/ 0x64)
|
||||
|
||||
@@ -718,7 +718,6 @@ u8 func100f_check_mine[] = {
|
||||
set_target_chr(CHR_P1P2)
|
||||
|
||||
beginloop(0x11)
|
||||
dprint 'M','A','I','N','\n',0,
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x29)
|
||||
if_chr_dead(CHR_TARGET, /*goto*/ 0x29)
|
||||
if_chr_knockedout(CHR_TARGET, /*goto*/ 0x29)
|
||||
@@ -728,12 +727,10 @@ u8 func100f_check_mine[] = {
|
||||
label(0x29)
|
||||
label(0x54)
|
||||
yield
|
||||
dprint 'D','E','A','D','\n',0,
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x28)
|
||||
if_chr_dead(CHR_TARGET, /*goto*/ 0x28)
|
||||
if_chr_knockedout(CHR_TARGET, /*goto*/ 0x28)
|
||||
yield
|
||||
dprint 'N','O','T','D','E','A','D','\n',0,
|
||||
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x29)
|
||||
reloop(0x08)
|
||||
|
||||
@@ -742,13 +739,10 @@ u8 func100f_check_mine[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x29)
|
||||
dprint 'N','O','A','M','M','O','\n',0,
|
||||
label(0x28)
|
||||
dprint 'S','T','I','L','L','D','E','A','D','\n',0,
|
||||
goto_first(0x54)
|
||||
|
||||
label(0x03)
|
||||
dprint 'F','A','I','L','\n',0,
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
@@ -965,7 +959,6 @@ u8 func040c_taxi[] = {
|
||||
|
||||
label(0x04)
|
||||
label(0x38)
|
||||
dprint 'G','O',' ','F','O','R',' ','C','R','A','S','H','\n',0,
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_CRASH)
|
||||
yield
|
||||
mute_channel(CHANNEL_0)
|
||||
@@ -989,7 +982,6 @@ u8 func040c_taxi[] = {
|
||||
yield \
|
||||
\
|
||||
beginloop(0x11) \
|
||||
dprint 'B','U','G',' ','C','1','\n',0, \
|
||||
set_target_chr(chr2) \
|
||||
if_chr_death_animation_finished(chr, /*goto*/ 0x2f) \
|
||||
if_chr_dead(chr, /*goto*/ 0x2f) \
|
||||
@@ -1000,7 +992,6 @@ u8 func040c_taxi[] = {
|
||||
\
|
||||
/* Dead - not sure why it checks this a second time */ \
|
||||
beginloop(0x2f) \
|
||||
dprint 'B','U','G',' ','D','O','\n',0, \
|
||||
set_target_chr(chr2) \
|
||||
if_chr_death_animation_finished(chr, /*goto*/ 0x30) \
|
||||
if_chr_dead(chr, /*goto*/ 0x30) \
|
||||
@@ -1018,7 +1009,6 @@ u8 func040c_taxi[] = {
|
||||
\
|
||||
/* Alive but has no bug */ \
|
||||
label(0x03) \
|
||||
dprint 'B','U','G',' ','C','2','\n',0, \
|
||||
yield \
|
||||
if_weapon_thrown(WEAPON_TRACERBUG, /*goto*/ 0x04) \
|
||||
goto_first(0x03) \
|
||||
@@ -1032,7 +1022,6 @@ u8 func040c_taxi[] = {
|
||||
restart_timer \
|
||||
\
|
||||
beginloop(0x05) \
|
||||
dprint 'B','U','G',' ','C','3','\n',0, \
|
||||
if_weapon_thrown_on_object(WEAPON_TRACERBUG, OBJ_LIMO, /*goto*/ 0x06) \
|
||||
if_timer_gt(120, /*goto*/ 0x07) \
|
||||
endloop(0x05) \
|
||||
@@ -1044,7 +1033,6 @@ u8 func040c_taxi[] = {
|
||||
restart_timer \
|
||||
\
|
||||
beginloop(0x08) \
|
||||
dprint 'B','U','G',' ','C','4','\n',0, \
|
||||
if_timer_gt(300, /*goto*/ 0x04) \
|
||||
goto_first(0x08) \
|
||||
\
|
||||
@@ -1054,14 +1042,11 @@ u8 func040c_taxi[] = {
|
||||
\
|
||||
/* Bug wasted */ \
|
||||
label(0x07) \
|
||||
dprint 'W','R','O','N','G','1','\n',0, \
|
||||
if_stage_flag_eq(STAGEFLAG_ONE_BUG_REMAINING, TRUE, /*goto*/ 0x03) \
|
||||
dprint 'W','R','O','N','G','2','\n',0, \
|
||||
set_stage_flag(STAGEFLAG_ONE_BUG_REMAINING) \
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE) \
|
||||
\
|
||||
label(0x03) \
|
||||
dprint 'W','R','O','N','G','3','\n',0, \
|
||||
set_stage_flag(STAGEFLAG_TRACERBUG_WASTED) \
|
||||
show_hudmsg(chr, 0x3218) /* "Tracer Bug placed incorrectly." */ \
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
@@ -1148,13 +1133,11 @@ u8 func1006_check_for_end[] = {
|
||||
reloop(0x05)
|
||||
|
||||
label(0x0a)
|
||||
dprint 'P','A','D',' ','C','H','E','C','K','\n',0,
|
||||
if_chr_distance_to_pad_lt(CHR_P1P2, 350, PAD_PETE_00A7, /*goto*/ 0x04)
|
||||
endloop(0x05)
|
||||
|
||||
label(0x04)
|
||||
set_stage_flag(STAGEFLAG_IN_ELEVATOR)
|
||||
dprint 'I','N',' ','T','H','E',' ','E','L','E','V','A','T','O','R','\n',0,
|
||||
yield
|
||||
yield
|
||||
set_invincible(CHR_BOND)
|
||||
@@ -1236,7 +1219,6 @@ u8 func040d_limo_timing[] = {
|
||||
// Ready to leave
|
||||
label(0x04)
|
||||
set_stage_flag(STAGEFLAG_LIMO_READY_TO_LEAVE)
|
||||
dprint 'L','I','M','O',' ','R','E','A','D','Y',' ','T','O',' ','G','O','\n',0,
|
||||
restart_timer
|
||||
|
||||
// Wait 15 seconds
|
||||
@@ -1314,20 +1296,17 @@ u8 func0412_cia[] = {
|
||||
beginloop(0x43)
|
||||
if_saw_death(0x00, /*goto*/ 0x1d)
|
||||
if_saw_injury(0x00, /*goto*/ 0x1e)
|
||||
dprint 'D','U','R','I','N','G','T','A','L','K','\n',0,
|
||||
if_timer_gt(180, /*goto*/ 0x04)
|
||||
endloop(0x43)
|
||||
|
||||
// Idle + 3 seconds
|
||||
label(0x04)
|
||||
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)
|
||||
|
||||
// Patroller
|
||||
label(0x54)
|
||||
dprint 'P','A','T',' ','R','E','T','\n',0,
|
||||
start_patrol
|
||||
|
||||
// Not shot, not a patroller, or patroller who has started his path
|
||||
@@ -1430,7 +1409,6 @@ u8 func0412_cia[] = {
|
||||
if_timer_lt(600, /*goto*/ 0x03)
|
||||
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)
|
||||
|
||||
label(0x1e)
|
||||
@@ -1843,7 +1821,6 @@ u8 func041d_fbi[] = {
|
||||
set_ailist(CHR_SELF, GAILIST_ALERTED)
|
||||
|
||||
label(0x04)
|
||||
dprint 'T','R','A','C','K',' ','P','L','A','Y','E','R','\n',0,
|
||||
try_jog_to_target(/*goto*/ 0x06)
|
||||
|
||||
beginloop(0x06)
|
||||
@@ -1883,13 +1860,11 @@ u8 func041d_fbi[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x04)
|
||||
dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0,
|
||||
try_equip_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x10000000, /*goto*/ 0x04)
|
||||
label(0x04)
|
||||
yield
|
||||
set_stage_flag(STAGEFLAG_ALARM_SOUNDED)
|
||||
activate_alarm
|
||||
dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0,
|
||||
set_ailist(CHR_SELF, GAILIST_ALERTED)
|
||||
endlist
|
||||
};
|
||||
@@ -2070,7 +2045,6 @@ u8 func041a_robot[] = {
|
||||
chr_do_animation(ANIM_016A, 0, -1, CHRANIMFLAG_MOVEWHENINVIS | CHRANIMFLAG_PAUSEATEND, 0, CHR_SELF, 4)
|
||||
|
||||
beginloop(0x2d)
|
||||
dprint 'P','A','R','T',' ','4','\n',0,
|
||||
if_chr_stopped(/*goto*/ 0x04)
|
||||
goto_first(0x2d)
|
||||
|
||||
@@ -2536,10 +2510,8 @@ u8 func040a_intro_sfx[] = {
|
||||
unset_stage_flag(STAGEFLAG_TRIGGER_INTRO)
|
||||
label(0x10)
|
||||
yield
|
||||
dprint 'C','U','T','S','C','E','N','E',' ','S','T','A','R','T','E','D','\n',0,
|
||||
label(0x03)
|
||||
restart_timer
|
||||
dprint 'C','U','T','S','C','E','N','E',' ','S','T','A','R','T','E','D','\n',0,
|
||||
|
||||
#define wait_until(time, loopid) \
|
||||
beginloop(loopid) \
|
||||
|
||||
@@ -627,7 +627,6 @@ u8 func1004_reassign_ailists_during_conversation[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
dprint 'b','4',' ','s','h','i','e','l','d',' ','c','h','e','c','k','\n',0,
|
||||
set_stage_flag(STAGEFLAG_00100000)
|
||||
set_chr_target_chr(CHR_PRESIDENT, CHR_P1P2)
|
||||
set_ailist(0x01, AILIST_BE_UNALERT)
|
||||
@@ -1474,7 +1473,6 @@ u8 func0404_president_running[] = {
|
||||
|
||||
// Alive
|
||||
label(0x2d)
|
||||
dprint 'b','4',' ','s','h','i','e','l','d',' ','c','h','e','c','k','\n',0,
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x06)
|
||||
goto_next(0x55)
|
||||
|
||||
@@ -1516,7 +1514,6 @@ u8 func0404_president_running[] = {
|
||||
if_chr_in_room(CHR_TARGET, 0x00, 0x0030, /*goto*/ 0x11)
|
||||
if_chr_in_room(CHR_TARGET, 0x00, 0x0031, /*goto*/ 0x11)
|
||||
if_chr_in_room(CHR_TARGET, 0x00, 0x0032, /*goto*/ 0x11)
|
||||
dprint 't','a','r','g','e','t','\n',0,
|
||||
if_can_see_target(/*goto*/ 0x06)
|
||||
goto_next(0x58)
|
||||
|
||||
@@ -2167,7 +2164,6 @@ u8 func1002_intro[] = {
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
|
||||
label(0x2d)
|
||||
dprint 'D','I','S','G','U','I','S','E','D','\n',0,
|
||||
camera_movement(ANIM_CUT_RIT_INTRO_CAM_03)
|
||||
cmd0175(60)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
|
||||
@@ -2368,7 +2364,6 @@ u8 func040a_defend_pad[] = {
|
||||
jog_to_pad(PAD_PRESET)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_distance_to_pad_lt(CHR_SELF, 200, PAD_PRESET, /*goto*/ 0x06)
|
||||
endloop(0x04)
|
||||
@@ -2377,7 +2372,6 @@ u8 func040a_defend_pad[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x09)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_distance_to_pad_gt(CHR_SELF, 300, PAD_PRESET, /*goto*/ 0x06)
|
||||
endloop(0x09)
|
||||
@@ -2387,7 +2381,6 @@ u8 func040a_defend_pad[] = {
|
||||
|
||||
// Detected enemy
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_DEFEND_PAD)
|
||||
set_shotlist(AILIST_DEFEND_PAD)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -2406,7 +2399,6 @@ u8 func040b_defend_president[] = {
|
||||
try_jog_to_chr(CHR_PRESIDENT, /*goto*/ 0x04)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_detected_chr(CHR_PRESIDENT, /*goto*/ 0x60)
|
||||
endloop(0x04)
|
||||
@@ -2420,7 +2412,6 @@ u8 func040b_defend_president[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x09)
|
||||
dprint 'A','T',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_detected_chr(CHR_PRESIDENT, /*goto*/ 0x60)
|
||||
goto_first(0x04)
|
||||
@@ -2434,7 +2425,6 @@ u8 func040b_defend_president[] = {
|
||||
|
||||
// Detected enemy
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_DEFEND_PRESIDENT)
|
||||
set_shotlist(AILIST_DEFEND_PRESIDENT)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -3587,7 +3577,6 @@ u8 func1019_midcutscene[] = {
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
if_stage_flag_eq(STAGEFLAG_MIDCUTSCENE_STARTED, TRUE, /*goto*/ 0x2d)
|
||||
set_stage_flag(STAGEFLAG_MIDCUTSCENE_STARTED)
|
||||
dprint 'm','i','d',' ','c','u','t','s','c','e','n','e','\n',0,
|
||||
play_cutscene_track(MUSIC_AIRFORCEONE_MIDCUTSCENE)
|
||||
label(0x2d)
|
||||
camera_movement(ANIM_CUT_RIT_MID_CAM)
|
||||
|
||||
@@ -617,7 +617,6 @@ u8 func0402_unarmed_skedar[] = {
|
||||
|
||||
label(0x2f)
|
||||
restart_timer
|
||||
dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0,
|
||||
if_target_in_fov_left(10, /*goto*/ 0x06)
|
||||
if_target_out_of_fov_left(246, /*goto*/ 0x06)
|
||||
stop_chr
|
||||
@@ -808,7 +807,6 @@ u8 func0404_miniskedar[] = {
|
||||
|
||||
label(0x2f)
|
||||
restart_timer
|
||||
dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0,
|
||||
stop_chr
|
||||
try_face_entity(ATTACKFLAG_AIMATTARGET, 0, /*goto*/ 0x0c)
|
||||
|
||||
@@ -1212,19 +1210,16 @@ u8 func1007_bug_throws_bond[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_BOND_THREW_THIRD_BUG, FALSE, /*goto*/ 0x57)
|
||||
|
||||
label(0x55)
|
||||
dprint 'C','H','E','C','K',' ','1','\n',0,
|
||||
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 3, /*goto*/ 0x2d)
|
||||
endloop(0x03)
|
||||
|
||||
// Threw first
|
||||
label(0x2d)
|
||||
dprint 'F','I','R','E',' ','1','\n',0,
|
||||
set_stage_flag(STAGEFLAG_BOND_THREW_FIRST_BUG)
|
||||
goto_next(0x0e)
|
||||
|
||||
// Check for second
|
||||
label(0x56)
|
||||
dprint 'C','H','E','C','K',' ','2','\n',0,
|
||||
label(0x2d)
|
||||
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 2, /*goto*/ 0x2d)
|
||||
goto_first(0x03)
|
||||
@@ -1235,7 +1230,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
|
||||
// Check for third
|
||||
label(0x57)
|
||||
dprint 'C','H','E','C','K',' ','3','\n',0,
|
||||
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x2d)
|
||||
goto_first(0x03)
|
||||
|
||||
@@ -1251,7 +1245,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
dprint 'A','T',' ','R','E','S','T','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x2d)
|
||||
if_weapon_thrown_on_object(WEAPON_TARGETAMPLIFIER, OBJ_PILLAR1, /*goto*/ 0x09)
|
||||
label(0x2d)
|
||||
@@ -1265,7 +1258,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x09)
|
||||
dprint '1',' ','P','L','A','C','E','D','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR1_MARKED)
|
||||
show_hudmsg(CHR_BOND, L_SHO_025) // "Target Amplifier placed correctly."
|
||||
@@ -1273,7 +1265,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0b)
|
||||
dprint '2',' ','P','L','A','C','E','D','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR2_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR2_MARKED)
|
||||
show_hudmsg(CHR_BOND, L_SHO_025) // "Target Amplifier placed correctly."
|
||||
@@ -1281,7 +1272,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0c)
|
||||
dprint '3',' ','P','L','A','C','E','D','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR3_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR3_MARKED)
|
||||
show_hudmsg(CHR_BOND, L_SHO_025) // "Target Amplifier placed correctly."
|
||||
@@ -1289,7 +1279,6 @@ u8 func1007_bug_throws_bond[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0d)
|
||||
dprint 'P','L','L','A','C','E','D',' ','W','R','O','N','G','\n',0,
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e)
|
||||
if_stage_flag_eq(STAGEFLAG_COOP_BUGS_WASTED, TRUE, /*goto*/ 0x2d)
|
||||
goto_next(0x0f)
|
||||
@@ -1332,17 +1321,14 @@ u8 func101b_bug_throws_coop[] = {
|
||||
if_stage_flag_eq(STAGEFLAG_COOP_THREW_THIRD_BUG, FALSE, /*goto*/ 0x57)
|
||||
|
||||
label(0x55)
|
||||
dprint 'C','O','O','P',' ','C','H','E','C','K',' ','1','\n',0,
|
||||
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 3, /*goto*/ 0x2d)
|
||||
endloop(0x03)
|
||||
|
||||
label(0x2d)
|
||||
dprint 'C','O','O','P',' ','F','I','R','E',' ','1','\n',0,
|
||||
set_stage_flag(STAGEFLAG_COOP_THREW_FIRST_BUG)
|
||||
goto_next(0x0e)
|
||||
|
||||
label(0x56)
|
||||
dprint 'C','O','O','P',' ','C','H','E','C','K',' ','2','\n',0,
|
||||
label(0x2d)
|
||||
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 2, /*goto*/ 0x2d)
|
||||
goto_first(0x03)
|
||||
@@ -1352,7 +1338,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
goto_next(0x0e)
|
||||
|
||||
label(0x57)
|
||||
dprint 'C','O','O','P',' ','C','H','E','C','K',' ','3','\n',0,
|
||||
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x2d)
|
||||
goto_first(0x03)
|
||||
|
||||
@@ -1368,7 +1353,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
dprint 'C','O','O','P',' ','A','T',' ','R','E','S','T','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x2d)
|
||||
if_weapon_thrown_on_object(WEAPON_TARGETAMPLIFIER, 0x01, /*goto*/ 0x09)
|
||||
label(0x2d)
|
||||
@@ -1382,7 +1366,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x09)
|
||||
dprint 'C','O','O','P',' ','1',' ','P','L','A','C','E','D','\n',0,
|
||||
unset_object_flag3(OBJ_PILLAR1, OBJFLAG3_RTRACKED_YELLOW)
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR1_MARKED)
|
||||
@@ -1391,7 +1374,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0b)
|
||||
dprint 'C','O','O','P',' ','2',' ','P','L','A','C','E','D','\n',0,
|
||||
unset_object_flag3(OBJ_PILLAR2, OBJFLAG3_RTRACKED_YELLOW)
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR2_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR2_MARKED)
|
||||
@@ -1400,7 +1382,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0c)
|
||||
dprint 'C','O','O','P',' ','3',' ','P','L','A','C','E','D','\n',0,
|
||||
unset_object_flag3(OBJ_PILLAR3, OBJFLAG3_RTRACKED_YELLOW)
|
||||
if_stage_flag_eq(STAGEFLAG_PILLAR3_MARKED, TRUE, /*goto*/ 0x0d)
|
||||
set_stage_flag(STAGEFLAG_PILLAR3_MARKED)
|
||||
@@ -1409,7 +1390,6 @@ u8 func101b_bug_throws_coop[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x0d)
|
||||
dprint 'C','O','O','P',' ','P','L','L','A','C','E','D',' ','W','R','O','N','G','\n',0,
|
||||
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x2d)
|
||||
goto_next(0x0f)
|
||||
|
||||
@@ -1819,7 +1799,6 @@ u8 func0409_reaper_slayer_skedar[] = {
|
||||
|
||||
label(0x72)
|
||||
try_attack_amount(40, 60)
|
||||
dprint 'F','I','R','E',' ','F','U','L','L','\n',0,
|
||||
label(0x06)
|
||||
goto_first(0x64)
|
||||
|
||||
@@ -2170,7 +2149,6 @@ u8 func040d_king_combat[] = {
|
||||
say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00)
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
restart_timer
|
||||
dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0,
|
||||
if_target_in_fov_left(10, /*goto*/ 0x06)
|
||||
if_target_out_of_fov_left(246, /*goto*/ 0x06)
|
||||
stop_chr
|
||||
@@ -2187,7 +2165,6 @@ u8 func040d_king_combat[] = {
|
||||
goto_next(0x87)
|
||||
|
||||
label(0x06)
|
||||
dprint 'P','U','N','C','H','\n',0,
|
||||
try_punch_or_kick(/*goto*/ 0x0b)
|
||||
goto_next(0x87)
|
||||
|
||||
@@ -3678,11 +3655,9 @@ u8 unregistered_function1[] = {
|
||||
u8 unregistered_function2[] = {
|
||||
beginloop(0x04)
|
||||
if_object_flag3(OBJ_PUZZLEROCK, OBJFLAG3_PUSHABLE, /*goto*/ 0x2d)
|
||||
dprint 'C','A','N','T',' ','P','U','S','H','\n',0,
|
||||
reloop(0x04)
|
||||
|
||||
label(0x2d)
|
||||
dprint 'C','A','N',' ','P','U','S','H','\n',0,
|
||||
endloop(0x04)
|
||||
|
||||
endlist
|
||||
|
||||
@@ -368,7 +368,6 @@ u8 func0401_defend[] = {
|
||||
|
||||
// Wait until at pad or 1 second has passed
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_distance_to_pad_lt(CHR_SELF, 200, PAD_PRESET, /*goto*/ 0x06)
|
||||
if_timer_gt(60, /*goto*/ 0x2d)
|
||||
@@ -408,7 +407,6 @@ u8 func0401_defend[] = {
|
||||
if_chr_knockedout(CHR_TARGET, /*goto*/ 0x2d)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2d)
|
||||
if_chr_dead(CHR_TARGET, /*goto*/ 0x2d)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_DEFEND)
|
||||
set_shotlist(AILIST_DEFEND)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
@@ -453,7 +451,6 @@ u8 func1003_spawn_maians[] = {
|
||||
|
||||
// Successful spawn
|
||||
label(0x8e)
|
||||
dprint 'C','R','E','A','T','E','D',' ','1','\n',0,
|
||||
yield
|
||||
subtract_morale(1)
|
||||
yield
|
||||
@@ -476,7 +473,6 @@ u8 func1003_spawn_maians[] = {
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
dprint 'S','Q','U','A','D',' ','F','U','L','L','\n',0,
|
||||
if_timer_gt(300, /*goto*/ 0x2d)
|
||||
endloop(0x08)
|
||||
|
||||
@@ -557,7 +553,6 @@ u8 func0404_maian[] = {
|
||||
try_run_to_target(/*goto*/ 0x04)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
if_chr_dead(CHR_TARGET, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x06)
|
||||
@@ -570,7 +565,6 @@ u8 func0404_maian[] = {
|
||||
|
||||
// Maian has line of sight to king
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
if_chr_dead(CHR_TARGET, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x06)
|
||||
if_chr_knockedout(CHR_TARGET, /*goto*/ 0x06)
|
||||
@@ -616,7 +610,6 @@ u8 func1004_spawn_king1_skedar[] = {
|
||||
|
||||
// Successful spawn
|
||||
label(0x8e)
|
||||
dprint 'C','R','E','A','T','E','D',' ','1','\n',0,
|
||||
yield
|
||||
subtract_morale(1)
|
||||
yield
|
||||
@@ -641,7 +634,6 @@ u8 func1004_spawn_king1_skedar[] = {
|
||||
|
||||
beginloop(0x08)
|
||||
if_stage_flag_eq(STAGEFLAG_KING1_DEAD, TRUE, /*goto*/ 0x0e)
|
||||
dprint 'S','Q','U','A','D',' ','F','U','L','L','\n',0,
|
||||
if_num_chrs_in_squadron_gt(3, GROUP_MAIANS, /*goto*/ 0x2e)
|
||||
if_timer_gt(60, /*goto*/ 0x2d)
|
||||
label(0x2e)
|
||||
@@ -902,12 +894,10 @@ u8 func0406_skedar[] = {
|
||||
try_run_to_target(/*goto*/ 0x04)
|
||||
|
||||
beginloop(0x04)
|
||||
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x08)
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_returnlist(CHR_SELF, AILIST_SKEDAR)
|
||||
set_shotlist(AILIST_SKEDAR)
|
||||
set_ailist(CHR_SELF, GAILIST_COMBAT_WITH_TARGET)
|
||||
|
||||
@@ -923,7 +923,6 @@ u8 func0404_jonathan_following_and_mine[] = {
|
||||
label(0x63)
|
||||
if_stage_flag_eq(STAGEFLAG_JON_SHOT_WHILE_PLANTING, TRUE, /*goto*/ 0x0e)
|
||||
set_target_chr(CHR_P1P2)
|
||||
dprint 'J','O','N','A',' ','F','O','L','L','O','W','\n',0,
|
||||
|
||||
label(LABEL_FOLLOW)
|
||||
if_distance_to_target_gt(200, /*goto*/ 0x5c)
|
||||
@@ -2033,7 +2032,6 @@ u8 func100c_medpack_activation[] = {
|
||||
};
|
||||
|
||||
u8 func0412_init_elvis[] = {
|
||||
dprint 'E','L','V','I','S',' ','W','O','K','E','\n',0,
|
||||
stop_chr
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
set_self_chrflag(CHRCFLAG_PUSHABLE)
|
||||
@@ -2049,7 +2047,6 @@ u8 func0412_init_elvis[] = {
|
||||
};
|
||||
|
||||
u8 func040b_elvis_follow[] = {
|
||||
dprint 'E','L','V','I','S',' ','F','O','L','L','O','W','\n',0,
|
||||
set_target_chr(CHR_JONATHAN)
|
||||
|
||||
label(0x5a)
|
||||
@@ -2213,14 +2210,12 @@ u8 func1010_check_end_level[] = {
|
||||
|
||||
label(0x32)
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
dprint '1','\n',0,
|
||||
#endif
|
||||
if_objective_complete(1, /*goto*/ 0x32)
|
||||
reloop(0x04)
|
||||
|
||||
label(0x32)
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
dprint '2','\n',0,
|
||||
#endif
|
||||
if_difficulty_lt(DIFF_SA, /*goto*/ 0x32)
|
||||
if_objective_complete(3, /*goto*/ 0x32)
|
||||
@@ -2228,7 +2223,6 @@ u8 func1010_check_end_level[] = {
|
||||
|
||||
label(0x32)
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
dprint '3','\n',0,
|
||||
#endif
|
||||
if_objective_complete(2, /*goto*/ 0x32)
|
||||
reloop(0x04)
|
||||
@@ -2239,18 +2233,15 @@ u8 func1010_check_end_level[] = {
|
||||
|
||||
label(0x32)
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
dprint '4','\n',0,
|
||||
#endif
|
||||
if_stage_flag_eq(STAGEFLAG_INNER_DOOR_OPENING, TRUE, /*goto*/ 0x32)
|
||||
reloop(0x04)
|
||||
|
||||
label(0x32)
|
||||
dprint '5','\n',0,
|
||||
if_stage_flag_eq(STAGEFLAG_OUTER_DOOR_OPENING, TRUE, /*goto*/ 0x32)
|
||||
reloop(0x04)
|
||||
|
||||
label(0x32)
|
||||
dprint '6','\n',0,
|
||||
if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0x0f)
|
||||
if_chr_dead(CHR_ELVIS, /*goto*/ 0x0f)
|
||||
if_chr_knockedout(CHR_ELVIS, /*goto*/ 0x0f)
|
||||
|
||||
@@ -1027,7 +1027,6 @@ struct path paths[] = {
|
||||
};
|
||||
|
||||
u8 func0401_init_hovercar[] = {
|
||||
dprint 'h','o','v','\n',0,
|
||||
begin_hovercar_path(0x00)
|
||||
set_vehicle_speed(0x0c00, 120)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user