diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index 4bc9497bb..0bab6a637 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -10,94 +10,94 @@ #define CHR_PROGRAMMER 0x26 // Objects -#define OBJ_NECKLACE 0x00 -#define OBJ_SECURITYHUB 0x03 -#define OBJ_EXTCOMMSHUB 0x04 -#define OBJ_PC 0x0c -#define OBJ_DOORSWITCH 0x0d -#define OBJ_OFFICEDOOR1 0x0e -#define OBJ_OFFICEDOOR2 0x0f -#define OBJ_LIGHTSWITCH 0x14 -#define OBJ_JUMPSHIP1 0x17 -#define OBJ_ROPE 0x18 -#define OBJ_BANNER1 0x19 -#define OBJ_BANNER2 0x1a -#define OBJ_JUMPSHIP2 0x1b -#define OBJ_HOVERTAXI1 0x1c -#define OBJ_HOVERTAXI2 0x1e -#define OBJ_HOVERCOP1 0x1f -#define OBJ_HOVERCOP2 0x20 -#define OBJ_HOVERCAR1 0x21 -#define OBJ_HOVERCAR2 0x22 -#define OBJ_HOVERMOTO1 0x23 -#define OBJ_HOVERMOTO2 0x24 -#define OBJ_HOVERTRUCK1 0x25 -#define OBJ_HOVERTRUCK2 0x26 -#define OBJ_HOVERCAB1 0x27 -#define OBJ_HOVERCAB2 0x28 -#define OBJ_HOVERCOP3 0x29 -#define OBJ_HOVERCAR3 0x2a -#define OBJ_HOVERMOTO3 0x2b -#define OBJ_HOVERCAB3 0x2c -#define OBJ_HOVERTRUCK3 0x2d -#define OBJ_LABLIFTDOOR1 0x2e -#define OBJ_LABLIFTDOOR2 0x2f -#define OBJ_POLICECAR 0x30 -#define OBJ_ECMMINE_JOANNA 0x31 -#define OBJ_DATAUPLINK_JOANNA 0x32 -#define OBJ_SECRETDOOR 0x33 -#define OBJ_ECMMINE_VELVET 0x3e -#define OBJ_DATAUPLINK_VELVET 0x3f -#define OBJ_LAPTOPGUNDOOR 0x40 -#define OBJ_LAPTOPGUN 0x43 -#define OBJ_LIFT1 0x4e -#define OBJ_LIFT2 0x4f -#define OBJ_CAMERA1 0x50 -#define OBJ_CAMERA2 0x51 -#define OBJ_CAMERA3 0x52 -#define OBJ_CAMERA4 0x53 -#define OBJ_CAMERA5 0x54 -#define OBJ_CAMERA6 0x55 -#define OBJ_LIFT1DOOR1 0x56 -#define OBJ_LIFT1DOOR2 0x57 -#define OBJ_LIFT1DOOR3 0x58 -#define OBJ_LIFT1DOOR4 0x59 -#define OBJ_LIFT2DOOR1 0x5a -#define OBJ_LIFT2DOOR2 0x5b -#define OBJ_LIFT2DOOR3 0x5c -#define OBJ_LIFT2DOOR4 0x5d -#define OBJ_FALCONSIL1 0x61 -#define OBJ_FALCONSIL2 0x62 -#define OBJ_PCMONITOR 0x63 +#define OBJ_NECKLACE 0x00 +#define OBJ_SECURITYHUB 0x03 +#define OBJ_EXTCOMMSHUB 0x04 +#define OBJ_PC 0x0c +#define OBJ_DOORSWITCH 0x0d +#define OBJ_OFFICEDOOR1 0x0e +#define OBJ_OFFICEDOOR2 0x0f +#define OBJ_LIGHTSWITCH 0x14 +#define OBJ_JUMPSHIP1 0x17 +#define OBJ_ROPE 0x18 +#define OBJ_BANNER1 0x19 +#define OBJ_BANNER2 0x1a +#define OBJ_JUMPSHIP2 0x1b +#define OBJ_HOVERTAXI1 0x1c +#define OBJ_HOVERTAXI2 0x1e +#define OBJ_HOVERCOP1 0x1f +#define OBJ_HOVERCOP2 0x20 +#define OBJ_HOVERCAR1 0x21 +#define OBJ_HOVERCAR2 0x22 +#define OBJ_HOVERMOTO1 0x23 +#define OBJ_HOVERMOTO2 0x24 +#define OBJ_HOVERTRUCK1 0x25 +#define OBJ_HOVERTRUCK2 0x26 +#define OBJ_HOVERCAB1 0x27 +#define OBJ_HOVERCAB2 0x28 +#define OBJ_HOVERCOP3 0x29 +#define OBJ_HOVERCAR3 0x2a +#define OBJ_HOVERMOTO3 0x2b +#define OBJ_HOVERCAB3 0x2c +#define OBJ_HOVERTRUCK3 0x2d +#define OBJ_LABLIFTDOOR1 0x2e +#define OBJ_LABLIFTDOOR2 0x2f +#define OBJ_POLICECAR 0x30 +#define OBJ_ECMMINE_BOND 0x31 +#define OBJ_DATAUPLINK_BOND 0x32 +#define OBJ_SECRETDOOR 0x33 +#define OBJ_ECMMINE_COOP 0x3e +#define OBJ_DATAUPLINK_COOP 0x3f +#define OBJ_LAPTOPGUNDOOR 0x40 +#define OBJ_LAPTOPGUN 0x43 +#define OBJ_LIFT1 0x4e +#define OBJ_LIFT2 0x4f +#define OBJ_CAMERA1 0x50 +#define OBJ_CAMERA2 0x51 +#define OBJ_CAMERA3 0x52 +#define OBJ_CAMERA4 0x53 +#define OBJ_CAMERA5 0x54 +#define OBJ_CAMERA6 0x55 +#define OBJ_LIFT1DOOR1 0x56 +#define OBJ_LIFT1DOOR2 0x57 +#define OBJ_LIFT1DOOR3 0x58 +#define OBJ_LIFT1DOOR4 0x59 +#define OBJ_LIFT2DOOR1 0x5a +#define OBJ_LIFT2DOOR2 0x5b +#define OBJ_LIFT2DOOR3 0x5c +#define OBJ_LIFT2DOOR4 0x5d +#define OBJ_FALCONSIL1 0x61 +#define OBJ_FALCONSIL2 0x62 +#define OBJ_PCMONITOR 0x63 // Stage flags -#define STAGEFLAG_TALKED_TO_PROGRAMMER 0x00000001 -#define STAGEFLAG_SECRETARY_SAW_VELVET 0x00000002 -#define STAGEFLAG_STOP_INTRO 0x00000004 -#define STAGEFLAG_SECURITY_DISABLED 0x00000008 -#define STAGEFLAG_TRIGGER_INTRO 0x00000010 -#define STAGEFLAG_SECURITYHUB_COMPLETE 0x00000100 -#define STAGEFLAG_EXTCOMMSHUB_COMPLETE 0x00000200 -#define STAGEFLAG_SECURITYHUB_MINES_WASTED 0x00000400 -#define STAGEFLAG_EXTCOMMSHUB_MINES_WASTED 0x00000800 -#define STAGEFLAG_LIGHTS_OFF 0x00001000 -#define STAGEFLAG_CIVILIANS_KILLED 0x00002000 -#define STAGEFLAG_OFFICE_DOOR_UNLOCKED 0x00004000 -#define STAGEFLAG_PROGRAMMER_DEAD 0x00010000 -#define STAGEFLAG_PROGRAMMER_WALKING 0x00020000 -#define STAGEFLAG_DELETED_WITHOUT_DOWNLOAD 0x00040000 -#define STAGEFLAG_PROGRAMMER_LOGGED_IN 0x00080000 -#define STAGEFLAG_PROGRAMMER_RAN_TO_GUARD 0x00100000 -#define STAGEFLAG_PERSONALITY_DELETED 0x00200000 -#define STAGEFLAG_PROGRAMMER_INJURED 0x00400000 -#define STAGEFLAG_DOWNLOAD_COMPLETE 0x00800000 -#define STAGEFLAG_LAB_LIFT_LOCATED 0x02000000 -#define STAGEFLAG_PC_DESTROYED 0x04000000 -#define STAGEFLAG_SECURITYHUB_DESTROYED 0x08000000 -#define STAGEFLAG_EXTCOMMSHUB_DESTROYED 0x10000000 -#define STAGEFLAG_DOORSWITCH_DESTROYED 0x20000000 -#define STAGEFLAG_SECETARY_SAW_JO_OR_VELVET 0x40000000 -#define STAGEFLAG_LAB_ELEVATOR_CLOSED 0x80000000 +#define STAGEFLAG_TALKED_TO_PROGRAMMER 0x00000001 +#define STAGEFLAG_SECRETARY_SAW_COOP 0x00000002 +#define STAGEFLAG_STOP_INTRO 0x00000004 +#define STAGEFLAG_SECURITY_DISABLED 0x00000008 +#define STAGEFLAG_TRIGGER_INTRO 0x00000010 +#define STAGEFLAG_SECURITYHUB_COMPLETE 0x00000100 +#define STAGEFLAG_EXTCOMMSHUB_COMPLETE 0x00000200 +#define STAGEFLAG_SECURITYHUB_MINES_WASTED 0x00000400 +#define STAGEFLAG_EXTCOMMSHUB_MINES_WASTED 0x00000800 +#define STAGEFLAG_LIGHTS_OFF 0x00001000 +#define STAGEFLAG_CIVILIANS_KILLED 0x00002000 +#define STAGEFLAG_OFFICE_DOOR_UNLOCKED 0x00004000 +#define STAGEFLAG_PROGRAMMER_DEAD 0x00010000 +#define STAGEFLAG_PROGRAMMER_WALKING 0x00020000 +#define STAGEFLAG_DELETED_WITHOUT_DOWNLOAD 0x00040000 +#define STAGEFLAG_PROGRAMMER_LOGGED_IN 0x00080000 +#define STAGEFLAG_PROGRAMMER_RAN_TO_GUARD 0x00100000 +#define STAGEFLAG_PERSONALITY_DELETED 0x00200000 +#define STAGEFLAG_PROGRAMMER_INJURED 0x00400000 +#define STAGEFLAG_DOWNLOAD_COMPLETE 0x00800000 +#define STAGEFLAG_LAB_LIFT_LOCATED 0x02000000 +#define STAGEFLAG_PC_DESTROYED 0x04000000 +#define STAGEFLAG_SECURITYHUB_DESTROYED 0x08000000 +#define STAGEFLAG_EXTCOMMSHUB_DESTROYED 0x10000000 +#define STAGEFLAG_DOORSWITCH_DESTROYED 0x20000000 +#define STAGEFLAG_SECETARY_SAW_JO_OR_COOP 0x40000000 +#define STAGEFLAG_LAB_ELEVATOR_CLOSED 0x80000000 // Functions #define FUNC_INIT_HOVERCAR 0x0404 @@ -1061,7 +1061,7 @@ u8 func0402_guard_with_chrflag[] = { u8 func0403_shielded_guard[] = { set_shield(200) set_self_flag_bank3(CHRFLAG3_00000200) - set_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_function(CHR_SELF, GFUNC_CHOOSE_TARGET) endfunction }; @@ -1218,28 +1218,28 @@ u8 func040f_cass[] = { // Wait for player to enter room beginloop(0x59) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x5a) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x5a) - set_target_chr(CHR_JOANNA) - if_stage_flag_eq(STAGEFLAG_SECETARY_SAW_JO_OR_VELVET, TRUE, /*goto*/ 0xbe) + set_target_chr(CHR_BOND) + if_stage_flag_eq(STAGEFLAG_SECETARY_SAW_JO_OR_COOP, TRUE, /*goto*/ 0xbe) endloop(0x59) label(0xbe) - if_stage_flag_eq(STAGEFLAG_SECRETARY_SAW_VELVET, TRUE, /*goto*/ 0xbf) - set_target_chr(CHR_JOANNA) + if_stage_flag_eq(STAGEFLAG_SECRETARY_SAW_COOP, TRUE, /*goto*/ 0xbf) + set_target_chr(CHR_BOND) goto_next(0x5a) label(0xbf) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) goto_next(0x5a) // Face target chr (Jo or Velvet) label(0x5a) stop_chr yield - unset_stage_flag(STAGEFLAG_SECETARY_SAW_JO_OR_VELVET) + unset_stage_flag(STAGEFLAG_SECETARY_SAW_JO_OR_COOP) try_face_entity(0x0200, 0x0000, /*goto*/ 0x5b) beginloop(0x5b) @@ -1247,7 +1247,7 @@ u8 func040f_cass[] = { endloop(0x5b) label(0x5c) - speak(TARGET_CHR, 0x0215, 0x0af4, CHANNEL_6, COLOR_04_ORANGE) // "Who are you and what are you doing here?" + speak(CHR_TARGET, 0x0215, 0x0af4, CHANNEL_6, COLOR_04_ORANGE) // "Who are you and what are you doing here?" restart_timer animation(ANIM_TALKING_0098, 0, 193, 0x1810, CHR_SELF, 2) @@ -1281,19 +1281,19 @@ u8 func040f_cass[] = { label(0x65) restart_timer if_chr_sees_player(/*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005b, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005c, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005d, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005e, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005f, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0060, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0061, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0062, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0064, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005b, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005c, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005d, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005e, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005f, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0060, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0061, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0062, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0064, /*goto*/ 0x2c) goto_next(0x66) label(0x2c) - speak(TARGET_CHR, 0x0217, 0x0af5, CHANNEL_6, COLOR_04_ORANGE) // "You won't shoot me, foolish child!" + speak(CHR_TARGET, 0x0217, 0x0af5, CHANNEL_6, COLOR_04_ORANGE) // "You won't shoot me, foolish child!" animation(ANIM_TALKING_00A0, 0, 193, 0x1810, CHR_SELF, 2) beginloop(0x66) @@ -1302,20 +1302,20 @@ u8 func040f_cass[] = { label(0x67) if_chr_sees_player(/*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005b, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005c, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005d, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005e, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005f, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0060, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0061, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0062, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0064, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005b, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005c, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005d, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005e, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005f, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0060, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0061, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0062, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0064, /*goto*/ 0x2c) goto_next(0x68) label(0x2c) animation(ANIM_TALKING_00A3, 0, 193, 0x1810, CHR_SELF, 2) - speak(TARGET_CHR, 0x0218, 0x0af6, CHANNEL_6, COLOR_04_ORANGE) // "Don't you know who I am?" + speak(CHR_TARGET, 0x0218, 0x0af6, CHANNEL_6, COLOR_04_ORANGE) // "Don't you know who I am?" beginloop(0x68) if_sound_finished(CHANNEL_6, /*goto*/ 0x69) @@ -1352,19 +1352,19 @@ u8 func040f_cass[] = { label(0x63) if_chr_sees_player(/*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005b, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005c, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005d, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005e, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x005f, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0060, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0061, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0062, /*goto*/ 0x2c) - if_chr_in_room(TARGET_CHR, 0x00, 0x0064, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005b, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005c, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005d, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005e, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x005f, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0060, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0061, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0062, /*goto*/ 0x2c) + if_chr_in_room(CHR_TARGET, 0x00, 0x0064, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - speak(TARGET_CHR, 0x0219, 0x0af7, CHANNEL_6, COLOR_04_ORANGE) // "Let's see how you deal with security." + speak(CHR_TARGET, 0x0219, 0x0af7, CHANNEL_6, COLOR_04_ORANGE) // "Let's see how you deal with security." label(0x06) animation(ANIM_PUSH_BUTTON, 0, 193, 0x1010, CHR_SELF, 2) @@ -1394,7 +1394,7 @@ u8 func040f_cass[] = { label(0x6d) restart_timer - say_quip(TARGET_CHR, 0x00, 0xff, 0x00, 0xff, BANK_1, 0x01, 0x04) // "How dare you disturb me","You will regret this intrusion girl","If I were you I'd leave, now" + say_quip(CHR_TARGET, 0x00, 0xff, 0x00, 0xff, BANK_1, 0x01, 0x04) // "How dare you disturb me","You will regret this intrusion girl","If I were you I'd leave, now" animation(ANIM_TALKING_00A3, 0, 193, 0x1810, CHR_SELF, 2) beginloop(0x6e) @@ -1441,19 +1441,19 @@ u8 func0411_secretary[] = { animation(0x00a1, 0, 193, 0x1810, CHR_SELF, 2) beginloop(0x72) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x73) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x74) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) endloop(0x72) label(0x74) - set_stage_flag(STAGEFLAG_SECRETARY_SAW_VELVET) + set_stage_flag(STAGEFLAG_SECRETARY_SAW_COOP) label(0x73) stop_chr restart_timer - set_stage_flag(STAGEFLAG_SECETARY_SAW_JO_OR_VELVET) + set_stage_flag(STAGEFLAG_SECETARY_SAW_JO_OR_COOP) beginloop(0x7a) if_timer_gt(20, /*goto*/ 0x7b) @@ -1470,9 +1470,9 @@ u8 func0411_secretary[] = { label(0x7d) restart_timer - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2c) - speak(TARGET_CHR, 0x0216, 0x1aed, CHANNEL_5, COLOR_07_RED) // "Look out! She's got a gun." + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2c) + speak(CHR_TARGET, 0x0216, 0x1aed, CHANNEL_5, COLOR_07_RED) // "Look out! She's got a gun." label(0x2c) animation(ANIM_SURRENDER_002E, 0, 193, 0x1810, CHR_SELF, 2) @@ -1513,7 +1513,7 @@ u8 func0411_secretary[] = { label(0x81) restart_timer - say_quip(TARGET_CHR, 0x01, 0xff, 0x00, 0xff, BANK_1, 0x02, 0x07) // "Please don't kill me","Don't shoot!" + say_quip(CHR_TARGET, 0x01, 0xff, 0x00, 0xff, BANK_1, 0x02, 0x07) // "Please don't kill me","Don't shoot!" animation(ANIM_SURRENDER_002E, 0, -1, 0x1810, CHR_SELF, 2) beginloop(0x82) @@ -1560,13 +1560,13 @@ u8 func0414_programmer[] = { label(0x2c) if_num_times_shot_lt(1, /*goto*/ 0x06) set_stage_flag(STAGEFLAG_PROGRAMMER_INJURED) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2c) if_sound_finished(CHANNEL_3, /*goto*/ 0x90) goto_next(0x2c) label(0x90) - speak(TARGET_CHR, 0x0235, 0x12fe, CHANNEL_3, COLOR_03_RED) // "Don't shoot, don't shoot!" + speak(CHR_TARGET, 0x0235, 0x12fe, CHANNEL_3, COLOR_03_RED) // "Don't shoot, don't shoot!" label(0x2c) restart_timer @@ -1581,10 +1581,10 @@ u8 func0414_programmer[] = { // Wait until Jo or Velvet near his office beginloop(0x91) - set_target_chr(CHR_JOANNA) - if_chr_distance_to_pad_lt2(TARGET_CHR, 0x0050, 1240, /*goto*/ 0x06) - set_target_chr(CHR_VELVET) - if_chr_distance_to_pad_lt2(TARGET_CHR, 0x0050, 1240, /*goto*/ 0x06) + set_target_chr(CHR_BOND) + if_chr_distance_to_pad_lt2(CHR_TARGET, 0x0050, 1240, /*goto*/ 0x06) + set_target_chr(CHR_COOP) + if_chr_distance_to_pad_lt2(CHR_TARGET, 0x0050, 1240, /*goto*/ 0x06) endloop(0x91) // Phone ringing @@ -1593,10 +1593,10 @@ u8 func0414_programmer[] = { // Wait until Jo or Velvet is close to his door beginloop(0x92) - set_target_chr(CHR_JOANNA) - if_chr_distance_to_pad_lt2(TARGET_CHR, 0x0014, 1240, /*goto*/ 0x06) - set_target_chr(CHR_VELVET) - if_chr_distance_to_pad_lt2(TARGET_CHR, 0x0014, 1240, /*goto*/ 0x06) + set_target_chr(CHR_BOND) + if_chr_distance_to_pad_lt2(CHR_TARGET, 0x0014, 1240, /*goto*/ 0x06) + set_target_chr(CHR_COOP) + if_chr_distance_to_pad_lt2(CHR_TARGET, 0x0014, 1240, /*goto*/ 0x06) endloop(0x92) label(0x06) @@ -1618,7 +1618,7 @@ u8 func0414_programmer[] = { // speaks. label(0x2c) restart_timer - speak(TARGET_CHR, 0x0244, 0x8104, CHANNEL_3, COLOR_03_RED) // "Yes, yes, I agree. Personality is expendable in th..." + speak(CHR_TARGET, 0x0244, 0x8104, CHANNEL_3, COLOR_03_RED) // "Yes, yes, I agree. Personality is expendable in th..." restart_timer animation(ANIM_TALKING_00A0, 0, 193, 0x1010, CHR_SELF, 2) @@ -1636,7 +1636,7 @@ u8 func0414_programmer[] = { yield yield yield - speak(TARGET_CHR, 0x0245, 0x8105, CHANNEL_3, COLOR_03_RED) // "No, I can start the process from my office termina..." + speak(CHR_TARGET, 0x0245, 0x8105, CHANNEL_3, COLOR_03_RED) // "No, I can start the process from my office termina..." restart_timer beginloop(0x0e) @@ -1650,7 +1650,7 @@ u8 func0414_programmer[] = { endloop(0x0e) label(0x06) - speak(TARGET_CHR, 0x0246, 0x8106, CHANNEL_3, COLOR_03_RED) // "I'll begin at once. Goodbye." + speak(CHR_TARGET, 0x0246, 0x8106, CHANNEL_3, COLOR_03_RED) // "I'll begin at once. Goodbye." beginloop(0x0f) if_sound_finished(CHANNEL_3, /*goto*/ 0x06) @@ -1704,7 +1704,7 @@ u8 func0414_programmer[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_TALKED_TO_PROGRAMMER, TRUE, /*goto*/ 0x06) - speak(TARGET_CHR, 0x0224, 0x1300, CHANNEL_3, COLOR_03_RED) // "HELP - Intruder!" + speak(CHR_TARGET, 0x0224, 0x1300, CHANNEL_3, COLOR_03_RED) // "HELP - Intruder!" animation(ANIM_SURRENDER_002E, 0, 193, 0x1810, CHR_SELF, 2) beginloop(0xa3) @@ -1726,11 +1726,11 @@ u8 func0414_programmer[] = { if_stage_flag_eq(STAGEFLAG_PROGRAMMER_RAN_TO_GUARD, TRUE, /*goto*/ 0x06) label(0x2c) - speak(TARGET_CHR, 0x024f, 0x8107, CHANNEL_3, COLOR_03_RED) // "Security... Help me!" + speak(CHR_TARGET, 0x024f, 0x8107, CHANNEL_3, COLOR_03_RED) // "Security... Help me!" goto_next(0xa1) label(0x06) - speak(TARGET_CHR, 0x0226, 0x8108, CHANNEL_3, COLOR_03_RED) // "HELP, HELP!" + speak(CHR_TARGET, 0x0226, 0x8108, CHANNEL_3, COLOR_03_RED) // "HELP, HELP!" label(0xa1) restart_timer set_stage_flag(STAGEFLAG_PROGRAMMER_RAN_TO_GUARD) @@ -1768,10 +1768,10 @@ u8 func0414_programmer[] = { goto_first(0x99) label(LABEL_RUN_TO_GUARD) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0xa6) + try_run_to_chr(CHR_PRESET, /*goto*/ 0xa6) beginloop(0xa6) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0xa7) + if_detected_chr(CHR_PRESET, /*goto*/ 0xa7) if_timer_lt(120, /*goto*/ 0x06) if_chr_sees_player(/*goto*/ LABEL_JO_SPEAK) goto_next(0x06) @@ -1781,17 +1781,17 @@ u8 func0414_programmer[] = { endloop(0xa6) label(0xa7) - speak(TARGET_CHR, 0x0226, 0x8108, CHANNEL_3, COLOR_03_RED) // "HELP, HELP!" + speak(CHR_TARGET, 0x0226, 0x8108, CHANNEL_3, COLOR_03_RED) // "HELP, HELP!" set_squadron_alertness(100) endloop(0x99) label(LABEL_JO_SPEAK) restart_timer if_stage_flag_eq(STAGEFLAG_TALKED_TO_PROGRAMMER, TRUE, /*goto*/ 0x2c) - speak(TARGET_CHR, 0x0248, 0x7322, CHANNEL_3, COLOR_09_BLUE) // "I've got a password problem, and you're the man to..." + speak(CHR_TARGET, 0x0248, 0x7322, CHANNEL_3, COLOR_09_BLUE) // "I've got a password problem, and you're the man to..." goto_next(0x06) label(0x2c) - speak(TARGET_CHR, 0x0247, 0x7323, CHANNEL_3, COLOR_09_BLUE) // "Move it!" + speak(CHR_TARGET, 0x0247, 0x7323, CHANNEL_3, COLOR_09_BLUE) // "Move it!" label(0x06) set_stage_flag(STAGEFLAG_TALKED_TO_PROGRAMMER) try_face_entity(0x0200, 0x0000, /*goto*/ 0x9b) @@ -1811,11 +1811,11 @@ u8 func0414_programmer[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_TALKED_TO_PROGRAMMER, TRUE, /*goto*/ 0x2c) - speak(TARGET_CHR, 0x0223, 0x12ff, CHANNEL_5, COLOR_03_RED) // "I'll do what you want!" + speak(CHR_TARGET, 0x0223, 0x12ff, CHANNEL_5, COLOR_03_RED) // "I'll do what you want!" set_stage_flag(STAGEFLAG_TALKED_TO_PROGRAMMER) goto_next(0x06) label(0x2c) - speak(TARGET_CHR, 0x0249, 0x12fe, CHANNEL_5, COLOR_03_RED) // "Don't shoot, don't shoot!" + speak(CHR_TARGET, 0x0249, 0x12fe, CHANNEL_5, COLOR_03_RED) // "Don't shoot, don't shoot!" label(0x06) animation(ANIM_DONT_SHOOT, 0, -1, 0x1010, CHR_SELF, 2) @@ -1843,7 +1843,7 @@ u8 func0414_programmer[] = { label(LABEL_NEAR_LAPTOPGUN_ROOM) stop_chr - speak(TARGET_CHR, 0x0227, 0x12ff, CHANNEL_3, COLOR_03_RED) // "I'll do what you want..." + speak(CHR_TARGET, 0x0227, 0x12ff, CHANNEL_3, COLOR_03_RED) // "I'll do what you want..." restart_timer label(0x06) walk_to_pad(0x0062) @@ -1855,14 +1855,14 @@ u8 func0414_programmer[] = { label(LABEL_LOG_ON) restart_timer if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) - if_detected_chr(TARGET_CHR, /*goto*/ 0x2c) - speak(TARGET_CHR, 0x0228, 0x1301, CHANNEL_3, COLOR_03_RED) // "Logging on now..." + if_detected_chr(CHR_TARGET, /*goto*/ 0x2c) + speak(CHR_TARGET, 0x0228, 0x1301, CHANNEL_3, COLOR_03_RED) // "Logging on now..." goto_next(0x06) label(0x2c) - speak(TARGET_CHR, 0x026d, 0x1304, CHANNEL_3, COLOR_03_RED) // "I...I'm logging on now." + speak(CHR_TARGET, 0x026d, 0x1304, CHANNEL_3, COLOR_03_RED) // "I...I'm logging on now." label(0x06) animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1810, CHR_SELF, 2) - speak(TARGET_CHR, -1, 0x8116, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8116, -1, COLOR_00_GREEN) beginloop(0xae) if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) @@ -1873,13 +1873,13 @@ u8 func0414_programmer[] = { if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) animation(ANIM_PUSH_BUTTON, 0, 193, 0x1810, CHR_SELF, 2) set_stage_flag(STAGEFLAG_PROGRAMMER_LOGGED_IN) - if_detected_chr(TARGET_CHR, /*goto*/ 0x2c) - speak(TARGET_CHR, 0x0229, 0x1302, CHANNEL_3, COLOR_03_RED) // "Okay, I'm in..." + if_detected_chr(CHR_TARGET, /*goto*/ 0x2c) + speak(CHR_TARGET, 0x0229, 0x1302, CHANNEL_3, COLOR_03_RED) // "Okay, I'm in..." goto_next(0x06) label(0x2c) - speak(TARGET_CHR, 0x026c, 0x1305, CHANNEL_3, COLOR_03_RED) // "Right, I'm in..." + speak(CHR_TARGET, 0x026c, 0x1305, CHANNEL_3, COLOR_03_RED) // "Right, I'm in..." label(0x06) - speak(TARGET_CHR, -1, 0x8117, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8117, -1, COLOR_00_GREEN) beginloop(0xaf) if_stage_flag_eq(STAGEFLAG_PC_DESTROYED, TRUE, /*goto*/ LABEL_PC_BROKEN) @@ -1892,11 +1892,11 @@ u8 func0414_programmer[] = { set_stage_flag(STAGEFLAG_PERSONALITY_DELETED) set_chr_health(CHR_SELF, 1) animation(ANIM_TALKING_003D, 0, 193, 0x1810, CHR_SELF, 2) - speak(TARGET_CHR, 0x022a, 0x1303, CHANNEL_3, COLOR_03_RED) // "Goodbye, Dr. Caroll." + speak(CHR_TARGET, 0x022a, 0x1303, CHANNEL_3, COLOR_03_RED) // "Goodbye, Dr. Caroll." if_stage_flag_eq(STAGEFLAG_DOWNLOAD_COMPLETE, TRUE, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_DELETED_WITHOUT_DOWNLOAD) label(0x2c) - speak(TARGET_CHR, -1, 0x8118, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8118, -1, COLOR_00_GREEN) beginloop(0xb0) endloop(0xb0) @@ -1906,7 +1906,7 @@ u8 func0414_programmer[] = { label(LABEL_PC_BROKEN) set_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) - speak(TARGET_CHR, 0x0262, 0x1289, CHANNEL_3, COLOR_03_RED) // "You vandal, you've broken it!" + speak(CHR_TARGET, 0x0262, 0x1289, CHANNEL_3, COLOR_03_RED) // "You vandal, you've broken it!" do_special_animation(-1) beginloop(0xc6) @@ -1932,8 +1932,8 @@ u8 func1005_give_control[] = { label(0x06) label(0x2c) yield - grant_control(CHR_JOANNA) - grant_control(CHR_VELVET) + grant_control(CHR_BOND) + grant_control(CHR_COOP) yield set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1975,12 +1975,12 @@ u8 func100e_check_ecm_mines[] = { yield yield if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) - give_object_to_chr(OBJ_ECMMINE_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_ECMMINE_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_ECMMINE_BOND, CHR_BOND) + give_object_to_chr(OBJ_ECMMINE_COOP, CHR_COOP) label(0x06) if_difficulty_lt(DIFF_PA, /*goto*/ 0x00) - give_object_to_chr(OBJ_DATAUPLINK_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_DATAUPLINK_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_DATAUPLINK_BOND, CHR_BOND) + give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP) beginloop(0x00) if_stage_flag_eq(STAGEFLAG_SECURITYHUB_COMPLETE, TRUE, /*goto*/ 0x06) @@ -2002,23 +2002,23 @@ u8 func100e_check_ecm_mines[] = { label(0x08) reset_timer - message(CHR_JOANNA, 0x021d) // "ECM Mine placed correctly." + message(CHR_BOND, 0x021d) // "ECM Mine placed correctly." yield mute_channel(CHANNEL_0) assign_sound(0x8113, CHANNEL_0) control_sound_from_object(CHANNEL_0, OBJ_SECURITYHUB, TRUE) - message(CHR_JOANNA, 0x024c) // "Internal security system temporarily disabled." + message(CHR_BOND, 0x024c) // "Internal security system temporarily disabled." set_stage_flag(STAGEFLAG_SECURITYHUB_COMPLETE) reloop(0x00) label(0x0a) reset_timer - message(CHR_JOANNA, 0x021d) // "ECM Mine placed correctly." + message(CHR_BOND, 0x021d) // "ECM Mine placed correctly." yield mute_channel(CHANNEL_1) assign_sound(0x8113, CHANNEL_1) control_sound_from_object(CHANNEL_1, OBJ_EXTCOMMSHUB, TRUE) - message(CHR_JOANNA, 0x024d) // "External communications hub disabled." + message(CHR_BOND, 0x024d) // "External communications hub disabled." set_stage_flag(STAGEFLAG_EXTCOMMSHUB_COMPLETE) reloop(0x00) @@ -2031,19 +2031,19 @@ u8 func100e_check_ecm_mines[] = { reset_timer if_stage_flag_eq(STAGEFLAG_SECURITYHUB_COMPLETE, TRUE, /*goto*/ 0x88) if_stage_flag_eq(STAGEFLAG_EXTCOMMSHUB_COMPLETE, TRUE, /*goto*/ 0x89) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0xbe) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_ECM_MINE, 2, /*goto*/ 0xbf) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0xbe) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_ECM_MINE, 2, /*goto*/ 0xbf) reloop(0x00) label(0xbe) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xc0) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_ECM_MINE, 2, /*goto*/ 0xc0) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xc0) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_ECM_MINE, 2, /*goto*/ 0xc0) reloop(0x00) label(0xbf) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xc0) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xc0) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xc0) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xc0) reloop(0x00) label(0xc0) @@ -2052,13 +2052,13 @@ u8 func100e_check_ecm_mines[] = { // Security hub is complete label(0x88) if_stage_flag_eq(STAGEFLAG_EXTCOMMSHUB_COMPLETE, TRUE, /*goto*/ 0x8a) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0xbe) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0xbe) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) reloop(0x00) label(0xbe) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xbf) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbf) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xbf) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbf) reloop(0x00) label(0xbf) @@ -2066,13 +2066,13 @@ u8 func100e_check_ecm_mines[] = { // Comms hub is complete label(0x89) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0xbe) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0xbe) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbe) reloop(0x00) label(0xbe) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xbf) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbf) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xbf) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0xbf) reloop(0x00) // Mines wasted with security hub remaining @@ -2087,13 +2087,13 @@ u8 func100e_check_ecm_mines[] = { set_stage_flag(STAGEFLAG_EXTCOMMSHUB_MINES_WASTED) label(0x8c) - message(CHR_JOANNA, 0x021c) // "Badly placed ECM Mine." + message(CHR_BOND, 0x021c) // "Badly placed ECM Mine." reloop(0x00) // Mines wasted with both hubs remaining label(0x8d) - message(CHR_JOANNA, 0x021c) // "Badly placed ECM Mine." - message(CHR_JOANNA, 0x0220) // "CANNOT complete all objectives." + message(CHR_BOND, 0x021c) // "Badly placed ECM Mine." + message(CHR_BOND, 0x0220) // "CANNOT complete all objectives." set_stage_flag(STAGEFLAG_SECURITYHUB_MINES_WASTED) set_stage_flag(STAGEFLAG_EXTCOMMSHUB_MINES_WASTED) reloop(0x00) @@ -2126,15 +2126,15 @@ u8 func1004_check_lab_lift_located[] = { endloop(0x52) label(0x2c) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_dying(CHR_BOND, /*goto*/ 0x2c) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) @@ -2142,7 +2142,7 @@ u8 func1004_check_lab_lift_located[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) endfunction }; @@ -2157,7 +2157,7 @@ u8 func1006_check_programmer_dead[] = { label(0x2c) if_stage_flag_eq(STAGEFLAG_PROGRAMMER_LOGGED_IN, TRUE, /*goto*/ 0x06) - message(CHR_JOANNA, 0x0239) // "Critical mission personnel killed." + message(CHR_BOND, 0x0239) // "Critical mission personnel killed." set_stage_flag(STAGEFLAG_PROGRAMMER_DEAD) set_function(CHR_SELF, GFUNC_IDLE) @@ -2174,40 +2174,40 @@ u8 func1006_check_programmer_dead[] = { u8 func1007_uplinking[] = { beginloop(0x04) - if_chr_activated_object(CHR_JOANNA, OBJ_PC, /*goto*/ 0xbe) - if_chr_activated_object(CHR_VELVET, OBJ_PC, /*goto*/ 0xbf) + if_chr_activated_object(CHR_BOND, OBJ_PC, /*goto*/ 0xbe) + if_chr_activated_object(CHR_COOP, OBJ_PC, /*goto*/ 0xbf) reloop(0x04) label(0xbe) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) goto_next(0xc0) label(0xbf) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) goto_next(0xc0) label(0xc0) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2c) - message(TARGET_CHR, 0x0231) // "Unable to download - Data Uplink needed." + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2c) + message(CHR_TARGET, 0x0231) // "Unable to download - Data Uplink needed." call_rng if_rand_lt(60, /*goto*/ 0x0d) if_rand_lt(120, /*goto*/ 0x0e) if_rand_lt(180, /*goto*/ 0x0f) label(0x0c) - speak(TARGET_CHR, -1, 0x8116, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8116, -1, COLOR_00_GREEN) goto_next(0x06) label(0x0d) - speak(TARGET_CHR, -1, 0x8117, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8117, -1, COLOR_00_GREEN) goto_next(0x06) label(0x0e) - speak(TARGET_CHR, -1, 0x8118, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8118, -1, COLOR_00_GREEN) goto_next(0x06) label(0x0f) - speak(TARGET_CHR, -1, 0x8118, -1, COLOR_00_GREEN) + speak(CHR_TARGET, -1, 0x8118, -1, COLOR_00_GREEN) label(0x06) restart_timer @@ -2222,7 +2222,7 @@ u8 func1007_uplinking[] = { label(0x2c) if_stage_flag_eq(STAGEFLAG_PROGRAMMER_LOGGED_IN, TRUE, /*goto*/ 0xae) restart_timer - message(TARGET_CHR, 0x022e) // "ACCESS DENIED - password needed." + message(CHR_TARGET, 0x022e) // "ACCESS DENIED - password needed." assign_sound(0x01c0, CHANNEL_7) control_sound_from_object(CHANNEL_7, OBJ_PC, FALSE) @@ -2235,14 +2235,14 @@ u8 func1007_uplinking[] = { goto_first(0x04) label(0xae) - message(TARGET_CHR, 0x022c) // "File download initiated." + message(CHR_TARGET, 0x022c) // "File download initiated." assign_sound(0x01bf, CHANNEL_7) control_sound_from_object(CHANNEL_7, OBJ_PC, TRUE) restart_timer // @bug: Missing check for player still having uplink equipped beginloop(0xac) - if_chr_distance_to_pad_gt(TARGET_CHR, 250, 0x01b6, /*goto*/ 0x2c) + if_chr_distance_to_pad_gt(CHR_TARGET, 250, 0x01b6, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_DELETED_WITHOUT_DOWNLOAD, TRUE, /*goto*/ 0x12) if_timer_gt(300, /*goto*/ 0xad) endloop(0xac) @@ -2251,13 +2251,13 @@ u8 func1007_uplinking[] = { mute_channel(CHANNEL_7) assign_sound(0x01c1, CHANNEL_7) control_sound_from_object(CHANNEL_7, OBJ_PC, TRUE) - message(TARGET_CHR, 0x022d) // "File download completed." + message(CHR_TARGET, 0x022d) // "File download completed." yield set_stage_flag(STAGEFLAG_DOWNLOAD_COMPLETE) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) - message(TARGET_CHR, 0x024a) // "Datalink broken - connection terminated." + message(CHR_TARGET, 0x024a) // "Datalink broken - connection terminated." mute_channel(CHANNEL_7) assign_sound(0x01c0, CHANNEL_6) play_sound_from_object(CHANNEL_6, OBJ_PC, 0x012c, 0x0190) @@ -2272,7 +2272,7 @@ u8 func1007_uplinking[] = { reloop(0x04) label(0x12) - message(TARGET_CHR, 0x024b) // "Datalink error - incomplete file download." + message(CHR_TARGET, 0x024b) // "Datalink error - incomplete file download." mute_channel(CHANNEL_7) assign_sound(0x01c0, CHANNEL_6) play_sound_from_object(CHANNEL_6, OBJ_PC, 0x012c, 0x0190) @@ -2337,12 +2337,12 @@ u8 func1009_check_civilians_killed[] = { endloop(0x04) label(0x2c) - message(CHR_JOANNA, 0x0237) // "Unacceptable civilian casualties." + message(CHR_BOND, 0x0237) // "Unacceptable civilian casualties." set_stage_flag(STAGEFLAG_CIVILIANS_KILLED) set_function(CHR_SELF, GFUNC_IDLE) label(0x09) - message(CHR_JOANNA, 0x0239) // "Critical mission personnel killed." + message(CHR_BOND, 0x0239) // "Critical mission personnel killed." set_stage_flag(STAGEFLAG_CIVILIANS_KILLED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2437,7 +2437,7 @@ u8 func100d_check_objects_destroyed[] = { if_object_in_good_condition(OBJ_SECURITYHUB, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_SECURITYHUB_DESTROYED) mute_channel(CHANNEL_0) - message(CHR_JOANNA, 0x0236) // "Critical mission object destroyed." + message(CHR_BOND, 0x0236) // "Critical mission object destroyed." // PA only - check door switch label(0x2c) @@ -2446,7 +2446,7 @@ u8 func100d_check_objects_destroyed[] = { if_stage_flag_eq(STAGEFLAG_DOORSWITCH_DESTROYED, TRUE, /*goto*/ 0x2c) if_object_in_good_condition(OBJ_DOORSWITCH, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_DOORSWITCH_DESTROYED) - message(CHR_JOANNA, 0x0236) // "Critical mission object destroyed." + message(CHR_BOND, 0x0236) // "Critical mission object destroyed." // PA only - check PC label(0x2c) @@ -2456,7 +2456,7 @@ u8 func100d_check_objects_destroyed[] = { if_objective_failed(2, /*goto*/ 0x2c) if_object_in_good_condition(OBJ_PC, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_PC_DESTROYED) - message(CHR_JOANNA, 0x0236) // "Critical mission object destroyed." + message(CHR_BOND, 0x0236) // "Critical mission object destroyed." // Check comms hub label(0x2c) @@ -2464,7 +2464,7 @@ u8 func100d_check_objects_destroyed[] = { if_object_in_good_condition(OBJ_EXTCOMMSHUB, /*goto*/ 0x2c) set_stage_flag(STAGEFLAG_EXTCOMMSHUB_DESTROYED) mute_channel(CHANNEL_1) - message(CHR_JOANNA, 0x0236) // "Critical mission object destroyed." + message(CHR_BOND, 0x0236) // "Critical mission object destroyed." label(0x2c) endloop(0x04) @@ -2496,9 +2496,9 @@ u8 func1002_objectives_failed_msg[] = { u8 func041b_intro_041b[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00c9) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010) object_do_animation(0x00ca, OBJ_JUMPSHIP2, 0x04ff, 0xff) @@ -2519,16 +2519,16 @@ u8 func041b_intro_041b[] = { object_do_animation(0x0126, OBJ_HOVERCAB3, 0x04ff, 0xff) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SILENCER, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SILENCER, WEAPON_NONE) wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP2) hide_object(OBJ_POLICECAR) hide_object(OBJ_HOVERCOP3) @@ -2543,9 +2543,9 @@ u8 func041b_intro_041b[] = { u8 func041a_intro_041a[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00c7) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010) object_do_animation(0x00c8, OBJ_JUMPSHIP2, 0x04ff, 0xff) @@ -2571,9 +2571,9 @@ u8 func041a_intro_041a[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP2) hide_object(OBJ_HOVERTAXI2) hide_object(OBJ_HOVERCOP3) @@ -2589,9 +2589,9 @@ u8 func041a_intro_041a[] = { u8 func0419_intro_0419[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00c5) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010) object_do_animation(0x00c6, OBJ_JUMPSHIP2, 0x04ff, 0xff) @@ -2608,9 +2608,9 @@ u8 func0419_intro_0419[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP2) hide_object(OBJ_HOVERTAXI1) hide_object(OBJ_HOVERCOP3) @@ -2623,9 +2623,9 @@ u8 func0419_intro_0419[] = { u8 func041c_intro_041c[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00cb) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010) object_do_animation(0x00cc, OBJ_JUMPSHIP2, 0x04ff, 0xff) @@ -2651,9 +2651,9 @@ u8 func041c_intro_041c[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP2) hide_object(OBJ_HOVERTAXI1) hide_object(0x1d) @@ -2671,9 +2671,9 @@ u8 func041c_intro_041c[] = { u8 func041d_intro_041d[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00cd) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP2) set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010) object_do_animation(0x00ce, OBJ_JUMPSHIP2, 0x01ff, 0xff) @@ -2687,9 +2687,9 @@ u8 func041d_intro_041d[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP2) hide_object(OBJ_HOVERTAXI1) hide_object(0x1d) @@ -2817,9 +2817,9 @@ u8 func0421_intro_0421[] = { u8 func0422_intro_0423[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00ee) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x00ef, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2828,9 +2828,9 @@ u8 func0422_intro_0423[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) set_tinted_glass_enabled(FALSE) label(0x36) @@ -2841,9 +2841,9 @@ u8 func0422_intro_0423[] = { u8 func0422_intro_0424[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00fc) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x00fd, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2856,9 +2856,9 @@ u8 func0422_intro_0424[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_UNPLAYABLE) @@ -2870,9 +2870,9 @@ u8 func0422_intro_0424[] = { u8 func0422_intro_0425[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x00ff) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x0100, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2882,9 +2882,9 @@ u8 func0422_intro_0425[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) hide_object(OBJ_BANNER1) hide_object(OBJ_BANNER2) @@ -2896,9 +2896,9 @@ u8 func0422_intro_0425[] = { u8 func0422_intro_0426[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x012e) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x012f, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2912,9 +2912,9 @@ u8 func0422_intro_0426[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) hide_object(OBJ_BANNER1) hide_object(OBJ_BANNER2) @@ -2926,9 +2926,9 @@ u8 func0422_intro_0426[] = { u8 func0422_intro_0427[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x0133) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x0134, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2945,9 +2945,9 @@ u8 func0422_intro_0427[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) hide_object(OBJ_ROPE) hide_object(OBJ_BANNER1) @@ -2960,9 +2960,9 @@ u8 func0422_intro_0427[] = { u8 func0422_intro_0428[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x0103) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x0104, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -2980,9 +2980,9 @@ u8 func0422_intro_0428[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) unset_object_flag_bank1(OBJ_HOVERCOP1, OBJECTFLAG1_INVISIBLE) unset_object_flag_bank1(OBJ_HOVERCOP2, OBJECTFLAG1_INVISIBLE) @@ -3002,9 +3002,9 @@ u8 func0422_intro_0428[] = { u8 func0422_intro_0429[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x0105) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x0106, OBJ_JUMPSHIP1, 0x04ff, 0xff) @@ -3013,9 +3013,9 @@ u8 func0422_intro_0429[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) set_tinted_glass_enabled(FALSE) label(0x36) @@ -3026,15 +3026,15 @@ u8 func0422_intro_0429[] = { u8 func0422_intro_042a[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x0107) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x0108, OBJ_JUMPSHIP1, 0x04ff, 0xff) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0109, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, TRUE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0109, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag_bank2(OBJ_ROPE, OBJECTFLAG2_00000010) object_do_animation(0x010a, OBJ_ROPE, 0x04ff, 0xff) @@ -3042,8 +3042,8 @@ u8 func0422_intro_042a[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) hide_object(OBJ_ROPE) label(0x36) @@ -3054,15 +3054,15 @@ u8 func0422_intro_042a[] = { u8 func0422_intro_042b[] = { if_controller_button_pressed(/*goto*/ 0x36) camera_movement(0x010b) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) show_object(OBJ_JUMPSHIP1) set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010) object_do_animation(0x010c, OBJ_JUMPSHIP1, 0x04ff, 0xff) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x010d, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, TRUE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x010d, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, TRUE) show_object(OBJ_ROPE) set_object_flag_bank2(OBJ_ROPE, OBJECTFLAG2_00000010) object_do_animation(0x010e, OBJ_ROPE, 0x04ff, 0xff) @@ -3076,8 +3076,8 @@ u8 func0422_intro_042b[] = { wait_for_camera_finished label(0x06) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_JUMPSHIP1) hide_object(OBJ_ROPE) hide_object(OBJ_BANNER1) @@ -3096,12 +3096,12 @@ u8 func0422_intro_042d[] = { camera_movement(0x0155) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x36) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0156, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, FALSE) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0156, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, FALSE) wait_for_camera_finished @@ -3115,12 +3115,12 @@ u8 func0422_intro_042d[] = { // @bug: Copy/paste error - should be banner 2 set_object_flag_bank2(OBJ_BANNER1, OBJECTFLAG2_00000010) object_do_animation(0x0162, OBJ_BANNER2, 0x08ff, 0xff) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0156, -2, -1, 0x0600, CHR_JOANNA, 2) - set_chr_hud_visible(CHR_JOANNA, FALSE) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0156, -2, -1, 0x0600, CHR_BOND, 2) + set_chr_hud_visible(CHR_BOND, FALSE) mute_channel(CHANNEL_7) mute_channel(CHANNEL_6) mute_channel(CHANNEL_5) @@ -3149,7 +3149,7 @@ u8 func0416_outro_from_menu[] = { u8 func0416_outro[] = { camera_movement(0x00f2) set_music_track(MUSIC_DEFECTION_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) @@ -3251,15 +3251,15 @@ u8 func1000_rebuild_groups[] = { u8 func1401_setup_counterop[] = { noop016c yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; u8 func100f_check_necklace_collected[] = { beginloop(0x04) - if_chr_has_object(CHR_JOANNA, OBJ_NECKLACE, /*goto*/ 0x2c) - if_chr_has_object(CHR_VELVET, OBJ_NECKLACE, /*goto*/ 0x2c) + if_chr_has_object(CHR_BOND, OBJ_NECKLACE, /*goto*/ 0x2c) + if_chr_has_object(CHR_COOP, OBJ_NECKLACE, /*goto*/ 0x2c) endloop(0x04) label(0x2c) @@ -3289,7 +3289,7 @@ u8 func1011_check_hubs_activated[] = { reloop(0x04) label(0x08) - message(CHR_JOANNA, 0x0250) // "ECM Mine needed to disable security hub." + message(CHR_BOND, 0x0250) // "ECM Mine needed to disable security hub." restart_timer beginloop(0x09) @@ -3297,7 +3297,7 @@ u8 func1011_check_hubs_activated[] = { endloop(0x09) label(0x0a) - message(CHR_JOANNA, 0x0251) // "ECM Mine needed to disable comms hub." + message(CHR_BOND, 0x0251) // "ECM Mine needed to disable comms hub." restart_timer beginloop(0x0b) @@ -3314,8 +3314,8 @@ u8 func1012_trigger_x_music[] = { // Wait until arriving at bottom floor beginloop(0x04) if_camera_animating(/*goto*/ 0x2c) - if_chr_y(CHR_JOANNA, -8000, OPERATOR_LESS_THAN, /*goto*/ 0x06) - if_chr_y(CHR_VELVET, -8000, OPERATOR_LESS_THAN, /*goto*/ 0x06) + if_chr_y(CHR_BOND, -8000, OPERATOR_LESS_THAN, /*goto*/ 0x06) + if_chr_y(CHR_COOP, -8000, OPERATOR_LESS_THAN, /*goto*/ 0x06) label(0x2c) endloop(0x04) @@ -3381,15 +3381,15 @@ u8 func1013_msg_commshubnearby[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x0d) beginloop(0x04) - if_chr_y(CHR_JOANNA, -770, OPERATOR_LESS_THAN, /*goto*/ 0x2c) + if_chr_y(CHR_BOND, -770, OPERATOR_LESS_THAN, /*goto*/ 0x2c) reloop(0x04) label(0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0039, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0039, /*goto*/ 0x2c) endloop(0x04) label(0x2c) - speak(CHR_JOANNA, 0x025d, 0x8170, CHANNEL_6, COLOR_09_BLUE) // "We're getting a positive reading - the internal co..." + speak(CHR_BOND, 0x025d, 0x8170, CHANNEL_6, COLOR_09_BLUE) // "We're getting a positive reading - the internal co..." label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3399,12 +3399,12 @@ u8 func1014_msg_officefloor[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x0d) beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0054, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0064, /*goto*/ 0x0d) + if_chr_in_room(CHR_BOND, 0x00, 0x0054, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0064, /*goto*/ 0x0d) endloop(0x04) label(0x2c) - speak(CHR_JOANNA, 0x025e, 0x8171, CHANNEL_6, COLOR_09_BLUE) // "You're on the same floor as Cassandra's office." + speak(CHR_BOND, 0x025e, 0x8171, CHANNEL_6, COLOR_09_BLUE) // "You're on the same floor as Cassandra's office." label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3414,11 +3414,11 @@ u8 func1015_msg_securityroom[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x0d) beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0025, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0025, /*goto*/ 0x2c) endloop(0x04) label(0x2c) - speak(CHR_JOANNA, 0x025f, 0x73a2, CHANNEL_6, COLOR_09_BLUE) // "The other hub has got to be in the Security Room." + speak(CHR_BOND, 0x025f, 0x73a2, CHANNEL_6, COLOR_09_BLUE) // "The other hub has got to be in the Security Room." label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3426,11 +3426,11 @@ u8 func1015_msg_securityroom[] = { u8 func1016_msg_basementelevator[] = { beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x002c, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x002c, /*goto*/ 0x2c) endloop(0x04) label(0x2c) - speak(CHR_JOANNA, 0x0260, 0x8172, CHANNEL_6, COLOR_09_BLUE) // "The basement elevator must be around there somewhe..." + speak(CHR_BOND, 0x0260, 0x8172, CHANNEL_6, COLOR_09_BLUE) // "The basement elevator must be around there somewhe..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3465,7 +3465,7 @@ u8 func0422_intro_speaking[] = { endloop(0xb6) label(0x2c) - speak(CHR_JOANNA, 0x0264, 0x73e4, CHANNEL_6, COLOR_09_BLUE) // "Why the big hurry?" + speak(CHR_BOND, 0x0264, 0x73e4, CHANNEL_6, COLOR_09_BLUE) // "Why the big hurry?" beginloop(0x08) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3473,7 +3473,7 @@ u8 func0422_intro_speaking[] = { endloop(0x08) label(0x2c) - speak(CHR_JOANNA, 0x0265, 0x73e5, CHANNEL_6, COLOR_06_WHITE) // "If Dr. Caroll is not extracted tonight, dataDyne w..." + speak(CHR_BOND, 0x0265, 0x73e5, CHANNEL_6, COLOR_06_WHITE) // "If Dr. Caroll is not extracted tonight, dataDyne w..." beginloop(0x09) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3481,7 +3481,7 @@ u8 func0422_intro_speaking[] = { endloop(0x09) label(0x2c) - speak(CHR_JOANNA, 0x0266, 0x73e6, CHANNEL_6, COLOR_09_BLUE) // "Are they all expendable?" + speak(CHR_BOND, 0x0266, 0x73e6, CHANNEL_6, COLOR_09_BLUE) // "Are they all expendable?" beginloop(0x0a) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3489,7 +3489,7 @@ u8 func0422_intro_speaking[] = { endloop(0x0a) label(0x2c) - speak(CHR_JOANNA, 0x0267, 0x73e7, CHANNEL_6, COLOR_06_WHITE) // "Don't joke! You have to be careful, Joanna. Code k..." + speak(CHR_BOND, 0x0267, 0x73e7, CHANNEL_6, COLOR_06_WHITE) // "Don't joke! You have to be careful, Joanna. Code k..." beginloop(0x0b) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3497,7 +3497,7 @@ u8 func0422_intro_speaking[] = { endloop(0x0b) label(0x2c) - speak(CHR_JOANNA, 0x0268, 0x73e8, CHANNEL_6, COLOR_09_BLUE) // "What's the target location?" + speak(CHR_BOND, 0x0268, 0x73e8, CHANNEL_6, COLOR_09_BLUE) // "What's the target location?" beginloop(0x0c) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3505,7 +3505,7 @@ u8 func0422_intro_speaking[] = { endloop(0x0c) label(0x2c) - speak(CHR_JOANNA, 0x0269, 0x73e9, CHANNEL_6, COLOR_06_WHITE) // "Work your way down the building to the ground leve..." + speak(CHR_BOND, 0x0269, 0x73e9, CHANNEL_6, COLOR_06_WHITE) // "Work your way down the building to the ground leve..." beginloop(0x0d) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3513,7 +3513,7 @@ u8 func0422_intro_speaking[] = { endloop(0x0d) label(0x2c) - speak(CHR_JOANNA, 0x026a, 0x73ea, CHANNEL_6, COLOR_09_BLUE) // "How will I recognize him?" + speak(CHR_BOND, 0x026a, 0x73ea, CHANNEL_6, COLOR_09_BLUE) // "How will I recognize him?" beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3521,7 +3521,7 @@ u8 func0422_intro_speaking[] = { endloop(0x0e) label(0x2c) - speak(CHR_JOANNA, 0x026b, 0x73eb, CHANNEL_6, COLOR_06_WHITE) // "We don't have an image record, and we can't find a..." + speak(CHR_BOND, 0x026b, 0x73eb, CHANNEL_6, COLOR_06_WHITE) // "We don't have an image record, and we can't find a..." beginloop(0x0f) if_stage_flag_eq(STAGEFLAG_STOP_INTRO, TRUE, /*goto*/ 0x06) @@ -3669,7 +3669,7 @@ u8 func101d_disable_cameras[] = { unset_object_flag_bank0(OBJ_CAMERA6, OBJECTFLAG0_DEACTIVATED) label(0x06) - message(CHR_JOANNA, 0x0261) // "Security system is now back online." + message(CHR_BOND, 0x0261) // "Security system is now back online." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3678,7 +3678,7 @@ u8 func101d_disable_cameras[] = { * @unregistered */ u8 unregistered_function7[] = { - message(CHR_JOANNA, 0x0263) // "2023 AD, 2214 Hours Lucerne Tower - dataDyne HQ" + message(CHR_BOND, 0x0263) // "2023 AD, 2214 Hours Lucerne Tower - dataDyne HQ" set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3736,7 +3736,7 @@ u8 func042f_surrendering_guard[] = { // Be surprised label(0x2c) - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) // Wait 1 second @@ -3750,22 +3750,22 @@ u8 func042f_surrendering_guard[] = { goto_next(0x55) label(0x54) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x56) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x56) beginloop(0x56) if_chr_distance_gt(300, /*goto*/ 0x06) if_chr_in_view(/*goto*/ 0x28) label(0x06) - if_chr_death_animation_finished(FOLLOW_CHR, /*goto*/ 0x55) - if_chr_unloaded(FOLLOW_CHR, /*goto*/ 0x55) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x57) + if_chr_death_animation_finished(CHR_PRESET, /*goto*/ 0x55) + if_chr_unloaded(CHR_PRESET, /*goto*/ 0x55) + if_detected_chr(CHR_PRESET, /*goto*/ 0x57) if_chr_stopped(/*goto*/ 0x57) endloop(0x56) // Warn label(0x57) dprint 'W','A','R','N',' ','F','R','I','E','N','D','S','\n',0, - say_quip(CHR_JOANNA, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Intruder alert!","We've got trouble","We've got problems" + say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Intruder alert!","We've got trouble","We've got problems" set_squadron_alertness(100) // No chr in same group, or follow through from above diff --git a/src/files/setup/setupark.c b/src/files/setup/setupark.c index 97d97f11c..4fa08e10f 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -541,11 +541,11 @@ u8 func0401_drcaroll_following[] = { set_onshot_function(FUNC_DRCAROLL_FOLLOWING) set_self_flag_bank3(CHRFLAG3_00040000) stop_chr - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr_with_hand_up(/*goto*/ 0x00) label(0x00) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_dying(CHR_SELF, /*goto*/ 0x00) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x00) if_chr_unloaded(CHR_SELF, /*goto*/ 0x00) @@ -560,10 +560,10 @@ u8 func0401_drcaroll_following[] = { endloop(0x0b) label(0x00) - say_quip(TARGET_CHR, 0x06, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x06, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_shield(100) set_chr_health(CHR_SELF, 100) label(0x20) @@ -573,7 +573,7 @@ u8 func0401_drcaroll_following[] = { label(0x00) restart_timer - say_quip(TARGET_CHR, 0x04, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x04, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) beginloop(0x0d) if_num_times_shot_lt(1, /*goto*/ 0x00) @@ -587,7 +587,7 @@ u8 func0401_drcaroll_following[] = { restart_timer beginloop(0x03) - if_chr_y(TARGET_CHR, -1910, OPERATOR_LESS_THAN, /*goto*/ 0x20) + if_chr_y(CHR_TARGET, -1910, OPERATOR_LESS_THAN, /*goto*/ 0x20) label(0x20) dprint 't','a','r','g','e','t','\n',0, if_chr_sees_player(/*goto*/ 0x00) @@ -601,15 +601,15 @@ u8 func0401_drcaroll_following[] = { label(0x20) call_rng if_rand_lt(64, /*goto*/ 0x20) - say_quip(TARGET_CHR, 0x02, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x02, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x02) label(0x20) - say_quip(TARGET_CHR, 0x03, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x03, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x02) label(0x00) - say_quip(TARGET_CHR, 0x07, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x07, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x02) label(0x04) @@ -623,7 +623,7 @@ u8 func0401_drcaroll_following[] = { try_run_to_target_chr_with_hand_up(/*goto*/ 0x05) beginloop(0x05) - if_chr_in_room(TARGET_CHR, 0x00, 0x0094, /*goto*/ 0x00) + if_chr_in_room(CHR_TARGET, 0x00, 0x0094, /*goto*/ 0x00) goto_next(0x20) label(0x00) @@ -635,11 +635,11 @@ u8 func0401_drcaroll_following[] = { endloop(0x05) label(0x20) - say_quip(TARGET_CHR, 0x03, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x03, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x04) label(0x00) - say_quip(TARGET_CHR, 0x07, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_TARGET, 0x07, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x04) label(0x06) @@ -837,7 +837,7 @@ u8 func040f_top_guard[] = { if_chr_distance_lt(200, /*goto*/ 0x20) if_stage_flag_eq(STAGEFLAG_CASS_SHIELD_DAMAGED, TRUE, /*goto*/ 0x00) if_stage_flag_eq(STAGEFLAG_TOP_GUARDS_ATTACKING, TRUE, /*goto*/ 0x00) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) endloop(0x1f) label(0x00) @@ -860,7 +860,7 @@ u8 func0411_top_guard_blinded[] = { label(0x00) animation(ANIM_BLINDED, 0, -1, 0x1010, CHR_SELF, 2) - say_quip(CHR_JOANNA, 0x11, 0x64, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x11, 0x64, 0x02, 0xff, BANK_1, 0x00, 0x00) beginloop(0x1f) if_chr_stopped(/*goto*/ 0x00) @@ -897,7 +897,7 @@ u8 func0406_general_combat[] = { endloop(0x0b) label(0x00) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -908,15 +908,15 @@ u8 func0406_general_combat[] = { // Just got injured label(0x00) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_PSYCHOSISED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED) restart_timer beginloop(0x0c) if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x00) if_num_times_shot_lt(1, /*goto*/ 0x00) if_timer_lt(20, /*goto*/ 0x00) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x00) if_chr_stopped(/*goto*/ 0x21) @@ -987,17 +987,17 @@ u8 func0406_general_combat[] = { endloop(0x10) label(0x15) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_PSYCHOSISED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2a) if_chr_distance_lt(250, /*goto*/ 0x29) if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x20) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) if_stage_flag_eq(STAGEFLAG_FOYER_LIGHTS_RESTORED, TRUE, /*goto*/ 0x00) - say_quip(CHR_JOANNA, 0x1b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x1b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) goto_next(0x20) label(0x00) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x20) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x17) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x12) @@ -1009,13 +1009,13 @@ u8 func0406_general_combat[] = { label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x20) - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x00) label(0x20) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x00) goto_first(0x14) @@ -1024,7 +1024,7 @@ u8 func0406_general_combat[] = { if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x1c) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) if_stage_flag_eq(STAGEFLAG_FOYER_LIGHTS_RESTORED, TRUE, /*goto*/ 0x1c) - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) beginloop(0x1c) consider_coop_for_p1p2_chr(CHR_SELF) @@ -1061,7 +1061,7 @@ u8 func0406_general_combat[] = { label(0x17) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x16) label(0x16) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x00) goto_next(0x20) label(0x00) @@ -1080,9 +1080,9 @@ u8 func0406_general_combat[] = { label(0x2a) label(0x20) if_chr_lost_track_of_target_maybe(/*goto*/ 0x20) - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) - set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) + set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x20) set_onshot_function(GFUNC_ALERTED) set_return_function(CHR_SELF, GFUNC_ALERTED) @@ -1091,7 +1091,7 @@ u8 func0406_general_combat[] = { }; u8 func0408_hovercopter[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) cmd0143 move_object_to_pad(OBJ_HOVERCOPTER, 0x0199) begin_hovercar_path(0x02) @@ -1104,8 +1104,8 @@ u8 func0408_hovercopter[] = { label(0x42) yield - if_chr_y(TARGET_CHR, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52) - if_chr_y(TARGET_CHR, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53) + if_chr_y(CHR_TARGET, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52) + if_chr_y(CHR_TARGET, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53) goto_next(0x54) // Low combat (lowest floor) @@ -1114,18 +1114,18 @@ u8 func0408_hovercopter[] = { beginloop(0x22) dprint 'L','O','W','\n',0, - if_chr_y(TARGET_CHR, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x00) - if_chr_y(TARGET_CHR, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53) + 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) goto_next(0x54) label(0x00) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x43) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x20) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x20) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x43) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x20) endloop(0x22) @@ -1135,9 +1135,9 @@ u8 func0408_hovercopter[] = { beginloop(0x24) dprint 'M','I','D','\n',0, - if_chr_y(TARGET_CHR, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52) + if_chr_y(CHR_TARGET, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52) dprint 'M','I','D','0','\n',0, - if_chr_y(TARGET_CHR, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x00) + 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, @@ -1145,18 +1145,18 @@ u8 func0408_hovercopter[] = { label(0x00) dprint 'M','I','D','3','\n',0, - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x48) dprint 'N','O','T','V','I','S','\n',0, - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x20) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x20) + set_target_chr(CHR_COOP) // @bug: This should go to 0x48. Instead it goes to the low code path, // which doesn't appear to have any side effects except that the // hovercopter will say the low line ("surrender or die") on the mid // level if Velvet is the first player it sees. if_chr_sees_player(/*goto*/ 0x43) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x20) endloop(0x24) @@ -1165,17 +1165,17 @@ u8 func0408_hovercopter[] = { begin_hovercar_path(0x02) beginloop(0x26) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) dprint 'T','O','P','\n',0, - if_chr_y(TARGET_CHR, -1850, OPERATOR_LESS_THAN, /*goto*/ 0x52) - if_chr_y(TARGET_CHR, -1200, OPERATOR_LESS_THAN, /*goto*/ 0x53) - set_target_chr(CHR_JOANNA) + 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) if_chr_sees_player(/*goto*/ 0x4d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x20) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x20) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x4d) label(0x20) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x00) endloop(0x26) @@ -1320,14 +1320,14 @@ u8 func1002_check_accessed_foyer_elevator[] = { beginloop(0x21) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_y(TARGET_CHR, -8155, OPERATOR_LESS_THAN, /*goto*/ 0x20) - if_chr_distance_to_pad_lt(TARGET_CHR, 300, 0x021a, /*goto*/ 0x00) + if_chr_y(CHR_TARGET, -8155, OPERATOR_LESS_THAN, /*goto*/ 0x20) + if_chr_distance_to_pad_lt(CHR_TARGET, 300, 0x021a, /*goto*/ 0x00) label(0x20) goto_first(0x21) label(0x00) set_stage_flag(STAGEFLAG_ACCESSED_FOYER_ELEVATOR) - message(TARGET_CHR, 0x0621) // "Foyer elevator accessed." + message(CHR_TARGET, 0x0621) // "Foyer elevator accessed." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -1352,15 +1352,15 @@ u8 func1003_check_end_level[] = { endloop(0x21) label(0x20) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x20) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x20) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x20) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x20) + if_chr_dying(CHR_BOND, /*goto*/ 0x20) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x20) goto_next(0x00) label(0x20) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x20) - if_chr_dying(CHR_VELVET, /*goto*/ 0x20) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x20) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x20) + if_chr_dying(CHR_COOP, /*goto*/ 0x20) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x20) goto_next(0x00) label(0x20) @@ -1368,7 +1368,7 @@ u8 func1003_check_end_level[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x00) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) endfunction }; @@ -1383,7 +1383,7 @@ u8 func1004_elevator_unlocking[] = { beginloop(0x1f) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, 0x01, /*goto*/ 0x20) + if_chr_activated_object(CHR_TARGET, 0x01, /*goto*/ 0x20) if_object_in_good_condition(0x01, /*goto*/ 0x00) goto_next(0x28) label(0x00) @@ -1393,13 +1393,13 @@ u8 func1004_elevator_unlocking[] = { label(0x28) if_stage_flag_eq(STAGEFLAG_ELEVATOR_UNLOCKED, TRUE, /*goto*/ 0x00) set_stage_flag(STAGEFLAG_ELEVATOR_PC_DESTROYED) - message(CHR_JOANNA, 0x062d) // "Critical mission object destroyed." + message(CHR_BOND, 0x062d) // "Critical mission object destroyed." label(0x00) set_function(CHR_SELF, GFUNC_IDLE) // Computer activated label(0x20) - message(TARGET_CHR, 0x060e) // "Accessing elevator controls..." + message(CHR_TARGET, 0x060e) // "Accessing elevator controls..." assign_sound(0x8116, CHANNEL_6) control_sound_from_object(CHANNEL_6, 0x01, TRUE) restart_timer @@ -1438,7 +1438,7 @@ u8 func1004_elevator_unlocking[] = { play_sound(0x81b0, -1) unlock_door(0x02, 0x01) unlock_door(0x03, 0x01) - message(TARGET_CHR, 0x0622) // "Office elevator door has been unlocked." + message(CHR_TARGET, 0x0622) // "Office elevator door has been unlocked." set_stage_flag(STAGEFLAG_ELEVATOR_UNLOCKED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1482,7 +1482,7 @@ u8 func1005_check_bodyguards_dead[] = { label(0x20) label(0x26) - message(CHR_JOANNA, 0x0624) // "Cassandra's bodyguards have been defeated." + message(CHR_BOND, 0x0624) // "Cassandra's bodyguards have been defeated." set_stage_flag(STAGEFLAG_OBJECTIVE_BODYGUARDS_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1493,7 +1493,7 @@ u8 func1006_check_hovercopter_destroyed[] = { beginloop(0x1f) if_object_in_good_condition(OBJ_HOVERCOPTER, /*goto*/ 0x00) - message(CHR_JOANNA, 0x0623) // "DataDyne Hovercopter eliminated." + message(CHR_BOND, 0x0623) // "DataDyne Hovercopter eliminated." set_stage_flag(STAGEFLAG_HOVERCOPTER_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x00) @@ -1526,18 +1526,18 @@ u8 func100e_drcaroll_warnings[] = { // Dead label(0x21) label(0x00) - message(CHR_JOANNA, 0x0610) // "Dr. Caroll has been killed!" + message(CHR_BOND, 0x0610) // "Dr. Caroll has been killed!" set_stage_flag(STAGEFLAG_DRCAROLL_DEAD) set_function(CHR_SELF, GFUNC_IDLE) // Shield under 100 label(0x30) - message(CHR_JOANNA, 0x0611) // "Dr. Caroll is under attack!" + message(CHR_BOND, 0x0611) // "Dr. Caroll is under attack!" set_stage_flag(STAGEFLAG_DRCAROLL_ATTACKED) reloop(0x1f) label(0x31) - message(CHR_JOANNA, 0x0612) // "Dr. Caroll has been damaged!" + message(CHR_BOND, 0x0612) // "Dr. Caroll has been damaged!" set_stage_flag(STAGEFLAG_DRCAROLL_DAMAGED) endloop(0x1f) @@ -1632,7 +1632,7 @@ u8 func0409_tech_conversation[] = { beginloop(0x01) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, 0x11, /*goto*/ 0x00) + if_chr_activated_object(CHR_TARGET, 0x11, /*goto*/ 0x00) if_door_state(0x11, DOORSTATEBIT_OPEN, /*goto*/ 0x00) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x33) dprint 'T','E','C','H',' ','1',' ','L','O','O','P','\n',0, @@ -1643,7 +1643,7 @@ u8 func0409_tech_conversation[] = { // Player activated door or door is fully open label(0x00) - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) set_chr_team(CHR_TECH1, TEAM_ENEMY) set_chr_team(CHR_TECH2, TEAM_ENEMY) set_chr_team(CHR_RLSHOCK, TEAM_ENEMY) @@ -1665,7 +1665,7 @@ u8 func0409_tech_conversation[] = { label(0x20) dprint 'T','E','C','H',' ','2',' ','L','O','O','P','\n',0, animation(ANIM_TALKING_00A0, 0, -1, 0x1014, CHR_SELF, 2) - speak(FOLLOW_CHR, 0x0625, 0x811d, CHANNEL_7, COLOR_06_WHITE) // "That's not how it goes." + speak(CHR_PRESET, 0x0625, 0x811d, CHANNEL_7, COLOR_06_WHITE) // "That's not how it goes." restart_timer beginloop(0x21) @@ -1687,7 +1687,7 @@ u8 func0409_tech_conversation[] = { label(0x20) animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x1014, CHR_SELF, 2) animation(ANIM_TALKING_00A0, -1, -1, 0x0214, 0x10, 2) - speak(FOLLOW_CHR, 0x0626, 0x8120, CHANNEL_7, COLOR_08_RED) // "Yes, it is." + speak(CHR_PRESET, 0x0626, 0x8120, CHANNEL_7, COLOR_08_RED) // "Yes, it is." beginloop(0x22) if_shot_near_chr(0x00, /*goto*/ 0x33) @@ -1708,7 +1708,7 @@ u8 func0409_tech_conversation[] = { label(0x20) animation(ANIM_TALKING_00A0, 0, -1, 0x1014, CHR_SELF, 2) animation(0x0205, -1, -1, 0x0214, 0x10, 2) - speak(FOLLOW_CHR, 0x0627, 0x811e, CHANNEL_7, COLOR_06_WHITE) // "Give it to me - you're doing it wrong." + speak(CHR_PRESET, 0x0627, 0x811e, CHANNEL_7, COLOR_06_WHITE) // "Give it to me - you're doing it wrong." beginloop(0x23) if_shot_near_chr(0x00, /*goto*/ 0x33) @@ -1729,7 +1729,7 @@ u8 func0409_tech_conversation[] = { label(0x20) animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x1014, CHR_SELF, 2) animation(ANIM_TALKING_00A0, -1, -1, 0x0214, 0x10, 2) - speak(FOLLOW_CHR, 0x0628, 0x8121, CHANNEL_7, COLOR_08_RED) // "Stop annoying me." + speak(CHR_PRESET, 0x0628, 0x8121, CHANNEL_7, COLOR_08_RED) // "Stop annoying me." beginloop(0x24) if_shot_near_chr(0x00, /*goto*/ 0x33) @@ -1751,7 +1751,7 @@ u8 func0409_tech_conversation[] = { animation(ANIM_TWO_GUN_HOLD, 0, -1, 0x1014, CHR_SELF, 2) animation(ANIM_TALKING_00A0, -1, -1, 0x0214, CHR_RLSHOCK, 2) animation(0x0206, -1, -1, 0x0214, 0x10, 2) - speak(FOLLOW_CHR, 0x0629, 0x8123, CHANNEL_7, COLOR_09_BLUE) // "Will you just hurry up!" + speak(CHR_PRESET, 0x0629, 0x8123, CHANNEL_7, COLOR_09_BLUE) // "Will you just hurry up!" beginloop(0x25) if_shot_near_chr(0x00, /*goto*/ 0x33) @@ -1791,7 +1791,7 @@ u8 func0409_tech_conversation[] = { set_squadron_alertness(100) open_door(0x04) restart_timer - speak(TARGET_CHR, 0x062a, 0x811f, CHANNEL_7, COLOR_06_WHITE) // "Oh, no...too late." + speak(CHR_TARGET, 0x062a, 0x811f, CHANNEL_7, COLOR_06_WHITE) // "Oh, no...too late." animation(ANIM_SURRENDER_002E, 0, 193, 0x1810, CHR_SELF, 2) beginloop(0x34) @@ -1885,7 +1885,7 @@ u8 func040a_tech2[] = { label(0x20) animation(ANIM_SURRENDER_002E, 0, -1, 0x180a, CHR_SELF, 2) - speak(TARGET_CHR, 0x062b, 0x8122, CHANNEL_7, COLOR_08_RED) // "She's here..." + speak(CHR_TARGET, 0x062b, 0x8122, CHANNEL_7, COLOR_08_RED) // "She's here..." beginloop(0x22) if_sound_finished(CHANNEL_7, /*goto*/ 0x35) @@ -1935,34 +1935,34 @@ u8 func040d_cass[] = { label(0x3a) open_door(OBJ_TOPROOMDOOR) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_num_human_players_lt(2, /*goto*/ 0x20) goto_next(0x89) // 1 player - do force walk (enter room) label(0x20) - revoke_control(CHR_JOANNA, 0) - force_walk(CHR_JOANNA, 0x0019, 0x2837, 0x002e) + revoke_control(CHR_BOND, 0) + force_walk(CHR_BOND, 0x0019, 0x2837, 0x002e) beginloop(0x23) open_door(OBJ_TOPROOMDOOR) - if_force_walk_finished(CHR_JOANNA, /*goto*/ 0x24) + if_force_walk_finished(CHR_BOND, /*goto*/ 0x24) endloop(0x23) // Second force walk (turn to face Cass) label(0x24) - force_walk(CHR_JOANNA, 0x0018, 0x0041, 0x4100) + force_walk(CHR_BOND, 0x0018, 0x0041, 0x4100) open_door(OBJ_TOPROOMDOOR) beginloop(0x25) - if_force_walk_finished(CHR_JOANNA, /*goto*/ 0x26) + if_force_walk_finished(CHR_BOND, /*goto*/ 0x26) endloop(0x25) label(0x26) unset_object_flag_bank0(OBJ_TOPROOMDOOR, OBJECTFLAG0_02000000) - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) close_door(OBJ_TOPROOMDOOR) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0045, /*goto*/ 0x20) + if_chr_in_room(CHR_BOND, 0x00, 0x0045, /*goto*/ 0x20) lock_door(OBJ_TOPROOMDOOR, 0x02) // 2 players, or force walk failed @@ -1985,7 +1985,7 @@ u8 func040d_cass[] = { label(0x00) restart_timer - speak(TARGET_CHR, 0x0620, 0x80ff, CHANNEL_6, COLOR_04_ORANGE) // "We meet again, girl!" + speak(CHR_TARGET, 0x0620, 0x80ff, CHANNEL_6, COLOR_04_ORANGE) // "We meet again, girl!" animation(ANIM_TALKING_00A0, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x27) @@ -1995,7 +1995,7 @@ u8 func040d_cass[] = { label(0x00) restart_timer - speak(TARGET_CHR, 0x0614, 0x80fe, CHANNEL_6, COLOR_04_ORANGE) // "You've become quite an annoyance..." + speak(CHR_TARGET, 0x0614, 0x80fe, CHANNEL_6, COLOR_04_ORANGE) // "You've become quite an annoyance..." animation(ANIM_TALKING_00A3, 0, 193, 0x1014, CHR_SELF, 2) beginloop(0x28) @@ -2011,13 +2011,13 @@ u8 func040d_cass[] = { endloop(0x29) label(0x20) - speak(TARGET_CHR, 0x062c, 0x8101, CHANNEL_6, COLOR_04_ORANGE) // "Get her!" + speak(CHR_TARGET, 0x062c, 0x8101, CHANNEL_6, COLOR_04_ORANGE) // "Get her!" animation(ANIM_TALKING_00A3, 0, 193, 0x1010, CHR_SELF, 2) goto_next(0x20) label(0x00) restart_timer - speak(TARGET_CHR, 0x0615, 0x8100, CHANNEL_6, COLOR_04_ORANGE) // "Good night, Ms. Dark." + speak(CHR_TARGET, 0x0615, 0x8100, CHANNEL_6, COLOR_04_ORANGE) // "Good night, Ms. Dark." animation(ANIM_TALKING_00A0, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x2a) @@ -2080,7 +2080,7 @@ u8 func040d_cass[] = { consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_within_units_of_sight(30, /*goto*/ 0x20) - set_target_chr(CHR_COUNTEROP) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x20) goto_next(0x2d) @@ -2289,9 +2289,9 @@ u8 func100c_foyer_lights[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) - give_object_to_chr(OBJ_NIGHTVISION, CHR_JOANNA) - give_object_to_chr(OBJ_NIGHTVISION, CHR_VELVET) + set_chr_team(CHR_ANTI, TEAM_ENEMY) + give_object_to_chr(OBJ_NIGHTVISION, CHR_BOND) + give_object_to_chr(OBJ_NIGHTVISION, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -2300,11 +2300,11 @@ u8 func100d_intro[] = { set_music_track(MUSIC_EXTRACTION_INTRO) camera_movement(0x0138) cmd0175(60) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0139, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0139, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(0x00, CHRFLAG2_00020000) animation(0x013d, -1, -1, 0x0600, CHR_DRCAROLL, 4) @@ -2316,9 +2316,9 @@ u8 func100d_intro[] = { fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) if_controller_button_pressed(/*goto*/ 0x00) #define wait_until(time, loopid) \ @@ -2343,10 +2343,10 @@ u8 func100d_intro[] = { play_sound(0x0427, -1) wait_until(540, 0x64) - speak(CHR_JOANNA, 0x063c, 0x7bf3, CHANNEL_7, COLOR_06_WHITE) // "Sound the alarm - she's here!" + speak(CHR_BOND, 0x063c, 0x7bf3, CHANNEL_7, COLOR_06_WHITE) // "Sound the alarm - she's here!" wait_until(640, 0x65) - speak(CHR_JOANNA, 0x063d, 0x73f4, CHANNEL_7, COLOR_09_BLUE) // "Lights out!" + speak(CHR_BOND, 0x063d, 0x73f4, CHANNEL_7, COLOR_09_BLUE) // "Lights out!" wait_until(690, 0x66) play_sound(0x0428, -1) @@ -2364,7 +2364,7 @@ u8 func100d_intro[] = { close_door(0x0c) wait_until(1000, 0x6b) - speak(CHR_JOANNA, 0x063e, 0x73f5, CHANNEL_7, COLOR_09_BLUE) // "What the...?" + speak(CHR_BOND, 0x063e, 0x73f5, CHANNEL_7, COLOR_09_BLUE) // "What the...?" beginloop(0x21) if_camera_animating(/*goto*/ 0x20) @@ -2378,11 +2378,11 @@ u8 func100d_intro[] = { mute_channel(CHANNEL_10) mute_channel(CHANNEL_7) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0139, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0139, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000) @@ -2413,7 +2413,7 @@ u8 func0412_outro[] = { set_object_flag_bank1(OBJ_HOVERCOPTER, OBJECTFLAG1_INVISIBLE) hide_object(OBJ_HOVERCOPTER) set_function(CHR_P1P2, GFUNC_IDLE) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) dprint 'c','u','t',' ','s','c','e','n','e',' ','2',0, set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) @@ -2549,18 +2549,18 @@ u8 func0412_outro[] = { play_sound(0x8055, CHANNEL_10) outro_wait_until(1526, 0x70) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield yield - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) outro_wait_until(1538, 0x84) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield yield - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) outro_wait_until(1554, 0x71) play_sound(0x000d, CHANNEL_10) @@ -2712,11 +2712,11 @@ u8 func0415_init_10hp[] = { u8 func1012_msg_lockeddown[] = { beginloop(0x1f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0023, /*goto*/ 0x20) + if_chr_in_room(CHR_BOND, 0x00, 0x0023, /*goto*/ 0x20) endloop(0x1f) label(0x20) - speak(CHR_JOANNA, 0x0633, 0x8176, CHANNEL_6, COLOR_09_BLUE) // "They've locked down the ground floor - get to the ..." + speak(CHR_BOND, 0x0633, 0x8176, CHANNEL_6, COLOR_09_BLUE) // "They've locked down the ground floor - get to the ..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -2736,7 +2736,7 @@ u8 func1013_msg_thatcopter[] = { endloop(0x21) label(0x20) - speak(CHR_JOANNA, 0x0634, 0x8177, CHANNEL_6, COLOR_09_BLUE) // "That copter needs to be taken out, or the jumpship..." + speak(CHR_BOND, 0x0634, 0x8177, CHANNEL_6, COLOR_09_BLUE) // "That copter needs to be taken out, or the jumpship..." label(0x26) set_function(CHR_SELF, GFUNC_IDLE) @@ -2749,9 +2749,9 @@ u8 func1014_msg_cantleaveany[] = { endloop(0x1f) label(0x20) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x26) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x26) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x26) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x26) + if_chr_dying(CHR_BOND, /*goto*/ 0x26) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x26) restart_timer beginloop(0x21) @@ -2759,20 +2759,20 @@ u8 func1014_msg_cantleaveany[] = { endloop(0x21) label(0x20) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x26) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x26) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x26) - speak(CHR_JOANNA, 0x0635, 0x73aa, CHANNEL_6, COLOR_09_BLUE) // "I can't leave any bodyguards standing." + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x26) + if_chr_dying(CHR_BOND, /*goto*/ 0x26) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x26) + speak(CHR_BOND, 0x0635, 0x73aa, CHANNEL_6, COLOR_09_BLUE) // "I can't leave any bodyguards standing." label(0x26) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x27) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x27) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x27) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x27) + if_chr_dying(CHR_BOND, /*goto*/ 0x27) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x27) beginloop(0x5f) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x27) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x27) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x27) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x27) + if_chr_dying(CHR_BOND, /*goto*/ 0x27) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x27) if_sound_finished(CHANNEL_6, /*goto*/ 0x20) endloop(0x5f) @@ -2792,11 +2792,11 @@ u8 func1015_msg_jumpshipwaiting[] = { if_objective_failed(2, /*goto*/ 0x00) if_objective_failed(3, /*goto*/ 0x00) if_objective_failed(4, /*goto*/ 0x00) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0002, /*goto*/ 0x20) + if_chr_in_room(CHR_BOND, 0x00, 0x0002, /*goto*/ 0x20) endloop(0x1f) label(0x20) - speak(CHR_JOANNA, 0x0636, 0x8178, CHANNEL_6, COLOR_09_BLUE) // "Don't keep the jumpship waiting - get back to the ..." + speak(CHR_BOND, 0x0636, 0x8178, CHANNEL_6, COLOR_09_BLUE) // "Don't keep the jumpship waiting - get back to the ..." label(0x00) set_function(CHR_SELF, GFUNC_IDLE) @@ -2909,7 +2909,7 @@ u8 func1017_remove_special_shock[] = { u8 func1018_give_magnum[] = { beginloop(0x1f) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x00) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x00) endloop(0x1f) // This seems wrong. The magnum is actually given to the special shock... diff --git a/src/files/setup/setupate.c b/src/files/setup/setupate.c index 01eda9691..98f0d29c2 100644 --- a/src/files/setup/setupate.c +++ b/src/files/setup/setupate.c @@ -84,7 +84,7 @@ struct aipaths paths[] = { u8 func1000_counterop_setup[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -96,16 +96,16 @@ u8 func1001_objectives_failed[] = { }; u8 func1002_first_walk[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) camera_movement(0x0488) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) display_text(0x00, COLOR_02_WHITE, 0x5e07) // "THE DUEL" animation(ANIM_RELOAD, -1, -1, 0x0600, CHR_GUARD, 2) label(0x2d) - message(CHR_JOANNA, 0x5e0c) // "Opponent skill level: AGENT" + message(CHR_BOND, 0x5e0c) // "Opponent skill level: AGENT" // Wait for camera to stop animating restart_timer @@ -119,18 +119,18 @@ u8 func1002_first_walk[] = { // Start walking label(0x06) remove_displayed_text - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) enter_firstperson - force_walk(CHR_JOANNA, 0x0275, 0x2805, 0x0064) + force_walk(CHR_BOND, 0x0275, 0x2805, 0x0064) chr_move_to_pad(CHR_GUARD, 0x0274, 0x01, /*goto*/ 0x0b) // Wait for walk to finish beginloop(0x0b) - if_force_walk_finished(CHR_JOANNA, /*goto*/ 0x0c) + if_force_walk_finished(CHR_BOND, /*goto*/ 0x0c) endloop(0x0b) label(0x0c) - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) set_function(CHR_GUARD, FUNC_GUARD_COMBAT) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -139,8 +139,8 @@ u8 func1002_first_walk[] = { u8 func1007_second_walk[] = { // Wait until SA walk trigger beginloop(0x58) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_SA_WALK_TRIGGER, TRUE, /*goto*/ 0x06) endloop(0x58) @@ -148,7 +148,7 @@ u8 func1007_second_walk[] = { label(0x2d) set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) camera_movement(0x0488) // Place chrs @@ -163,13 +163,13 @@ u8 func1007_second_walk[] = { unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNEXPLODABLE) yield - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) animation(ANIM_GRAB_CROTCH, -1, -1, 0x0600, CHR_JONATHAN, 2) label(0x2d) - message(CHR_JOANNA, 0x5e0d) // "Opponent skill level: SPECIAL AGENT" + message(CHR_BOND, 0x5e0d) // "Opponent skill level: SPECIAL AGENT" restart_timer beginloop(0x08) @@ -182,10 +182,10 @@ u8 func1007_second_walk[] = { label(0x06) label(0x2d) remove_displayed_text - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) enter_firstperson yield - force_walk(CHR_JOANNA, 0x0275, 0x2805, 0x0064) + force_walk(CHR_BOND, 0x0275, 0x2805, 0x0064) // Place Jon call_rng @@ -196,12 +196,12 @@ u8 func1007_second_walk[] = { // Wait for force walk to finish beginloop(0x0b) - if_force_walk_finished(CHR_JOANNA, /*goto*/ 0x0c) + if_force_walk_finished(CHR_BOND, /*goto*/ 0x0c) endloop(0x0b) // Give control back to Jo label(0x0c) - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) set_function(CHR_JONATHAN, FUNC_JON_COMBAT) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -219,8 +219,8 @@ u8 func0401_move_to_pad[] = { u8 func1008_third_walk[] = { // Wait for flag or Jo dying beginloop(0x58) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_PA_WALK_TRIGGER, TRUE, /*goto*/ 0x06) endloop(0x58) @@ -230,7 +230,7 @@ u8 func1008_third_walk[] = { // Do cutscene label(0x06) - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) camera_movement(0x0488) label(0x8f) @@ -244,12 +244,12 @@ u8 func1008_third_walk[] = { unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNEXPLODABLE) yield - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) animation(ANIM_HEAD_ROLL, -1, -1, 0x0600, CHR_TRENT, 2) label(0x2d) - message(CHR_JOANNA, 0x5e0e) // "Opponent skill level: PERFECT AGENT" + message(CHR_BOND, 0x5e0e) // "Opponent skill level: PERFECT AGENT" // Wait for cutscene to finish restart_timer @@ -263,25 +263,25 @@ u8 func1008_third_walk[] = { // Begin force walk label(0x06) remove_displayed_text - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) enter_firstperson - force_walk(CHR_JOANNA, 0x0275, 0x2805, 0x0064) + force_walk(CHR_BOND, 0x0275, 0x2805, 0x0064) chr_move_to_pad(CHR_TRENT, 0x0272, 0x01, /*goto*/ 0x0b) beginloop(0x0b) - if_force_walk_finished(CHR_JOANNA, /*goto*/ 0x0c) + if_force_walk_finished(CHR_BOND, /*goto*/ 0x0c) endloop(0x0b) label(0x0c) set_function(CHR_TRENT, FUNC_TRENT_COMBAT) - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func1004_revoke_control[] = { yield - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -295,7 +295,7 @@ u8 func1005_main[] = { endloop(0x04) label(0x2d) - message(CHR_JOANNA, 0x5e09) // "Well done! You were too quick for him!" + message(CHR_BOND, 0x5e09) // "Well done! You were too quick for him!" set_stage_flag(STAGEFLAG_GUARD_DEAD) restart_timer @@ -322,7 +322,7 @@ u8 func1005_main[] = { endloop(0x09) label(0x2d) - message(CHR_JOANNA, 0x5e0a) // "Well done! You were too quick for him!" + message(CHR_BOND, 0x5e0a) // "Well done! You were too quick for him!" set_stage_flag(STAGEFLAG_JONATHAN_DEAD) restart_timer @@ -349,7 +349,7 @@ u8 func1005_main[] = { endloop(0x0c) label(0x2d) - message(CHR_JOANNA, 0x5e0b) // "Well done! You were too quick for him!" + message(CHR_BOND, 0x5e0b) // "Well done! You were too quick for him!" set_stage_flag(STAGEFLAG_TRENT_DEAD) restart_timer @@ -420,7 +420,7 @@ u8 func0402_guard_combat[] = { // 2 seconds have passed without seeing guard, or guard has been shot label(0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2e) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2e) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x2d) label(0x2d) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0c) @@ -502,7 +502,7 @@ u8 func0404_trent_combat[] = { // Attack label(0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2e) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2e) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x2d) label(0x2d) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0c) diff --git a/src/files/setup/setupazt.c b/src/files/setup/setupazt.c index 9ce8ddecf..b10f1d567 100644 --- a/src/files/setup/setupazt.c +++ b/src/files/setup/setupazt.c @@ -389,7 +389,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -401,23 +401,23 @@ u8 func1011_setup_snow[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_CRASHSITE_INTRO) camera_movement(0x01b5) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01b6, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, TRUE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01b6, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, TRUE) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 300) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -429,69 +429,69 @@ u8 func1002_intro[] = { wait_until(724, 0x69) - speak(CHR_JOANNA, 0x0a20, 0x7759, CHANNEL_10, COLOR_09_BLUE) // "Ahhh... uuhhhh..." + speak(CHR_BOND, 0x0a20, 0x7759, CHANNEL_10, COLOR_09_BLUE) // "Ahhh... uuhhhh..." wait_until(830, 0x6a) - speak(CHR_JOANNA, 0x0a22, 0x7457, CHANNEL_10, COLOR_06_WHITE) // "Agent Dark! Please report!" + speak(CHR_BOND, 0x0a22, 0x7457, CHANNEL_10, COLOR_06_WHITE) // "Agent Dark! Please report!" wait_until(980, 0x6b) - speak(CHR_JOANNA, 0x0a21, 0x775a, CHANNEL_10, COLOR_09_BLUE) // "Ahhh... uhh... owww..." + speak(CHR_BOND, 0x0a21, 0x775a, CHANNEL_10, COLOR_09_BLUE) // "Ahhh... uhh... owww..." wait_until(1030, 0x6c) - speak(CHR_JOANNA, 0x0a23, 0x7458, CHANNEL_10, COLOR_06_WHITE) // "Perfect Dark, come in!" + speak(CHR_BOND, 0x0a23, 0x7458, CHANNEL_10, COLOR_06_WHITE) // "Perfect Dark, come in!" wait_until(1152, 0x6e) - speak(CHR_JOANNA, 0x0a24, 0x7459, CHANNEL_10, COLOR_09_BLUE) // "A-agent Dark reporting in..." + speak(CHR_BOND, 0x0a24, 0x7459, CHANNEL_10, COLOR_09_BLUE) // "A-agent Dark reporting in..." wait_until(1372, 0x6f) - speak(CHR_JOANNA, 0x0a25, 0x745a, CHANNEL_10, COLOR_06_WHITE) // "Agent Dark! Please reply!" + speak(CHR_BOND, 0x0a25, 0x745a, CHANNEL_10, COLOR_06_WHITE) // "Agent Dark! Please reply!" wait_until(1610, 0x6d) - speak(CHR_JOANNA, 0x0a26, 0x745b, CHANNEL_10, COLOR_09_BLUE) // "Something's jamming my transmissions... It's comin..." + speak(CHR_BOND, 0x0a26, 0x745b, CHANNEL_10, COLOR_09_BLUE) // "Something's jamming my transmissions... It's comin..." wait_until(1875, 0x70) - speak(CHR_JOANNA, -1, 0x8189, CHANNEL_10, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8189, CHANNEL_10, COLOR_00_GREEN) wait_until(1900, 0x71) - speak(CHR_JOANNA, -1, 0x818a, CHANNEL_10, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x818a, CHANNEL_10, COLOR_00_GREEN) wait_until(1926, 0x72) - speak(CHR_JOANNA, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) wait_until(1958, 0x73) - speak(CHR_JOANNA, -1, 0x8189, CHANNEL_10, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8189, CHANNEL_10, COLOR_00_GREEN) wait_until(2000, 0x74) - speak(CHR_JOANNA, 0x0a27, 0x745c, CHANNEL_10, COLOR_09_BLUE) // "I'd better find the jamming device and check that ..." + speak(CHR_BOND, 0x0a27, 0x745c, CHANNEL_10, COLOR_09_BLUE) // "I'd better find the jamming device and check that ..." wait_until(2116, 0x75) - speak(CHR_JOANNA, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) wait_until(2168, 0x76) - speak(CHR_JOANNA, -1, 0x8187, CHANNEL_6, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8187, CHANNEL_6, COLOR_00_GREEN) wait_until(2224, 0x78) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) wait_until(2305, 0x79) - speak(CHR_JOANNA, -1, 0x01db, CHANNEL_5, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x01db, CHANNEL_5, COLOR_00_GREEN) wait_until(2392, 0x7a) - speak(CHR_JOANNA, -1, 0x8189, CHANNEL_7, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8189, CHANNEL_7, COLOR_00_GREEN) wait_until(2412, 0x7b) - speak(CHR_JOANNA, -1, 0x8187, CHANNEL_6, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8187, CHANNEL_6, COLOR_00_GREEN) wait_until(2460, 0x7c) - speak(CHR_JOANNA, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8188, CHANNEL_7, COLOR_00_GREEN) wait_until(2513, 0x7d) - speak(CHR_JOANNA, -1, 0x8189, CHANNEL_6, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x8189, CHANNEL_6, COLOR_00_GREEN) wait_until(2685, 0x7e) - speak(CHR_JOANNA, -1, 0x818a, CHANNEL_7, COLOR_00_GREEN) + speak(CHR_BOND, -1, 0x818a, CHANNEL_7, COLOR_00_GREEN) beginloop(0x0a) if_camera_animating(/*goto*/ 0x31) @@ -503,21 +503,21 @@ u8 func1002_intro[] = { endloop(0x0a) label(0x65) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) mute_channel(CHANNEL_7) mute_channel(CHANNEL_6) mute_channel(CHANNEL_5) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01b6, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01b6, -2, -1, 0x0600, CHR_BOND, 2) restart_default_music reset_ambience - set_chr_hud_visible(CHR_JOANNA, FALSE) + set_chr_hud_visible(CHR_BOND, FALSE) enter_firstperson set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -541,19 +541,19 @@ u8 func0402_outro[] = { set_stage_flag(STAGEFLAG_OUTRO_STARTED) hide_object(OBJ_HOVERBIKE) set_function(CHR_PRESIDENT, GFUNC_IDLE) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x31) - set_target_chr(CHR_JOANNA) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x31) + set_target_chr(CHR_BOND) goto_next(0x08) label(0x31) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) label(0x08) camera_movement(0x01d9) set_music_track(MUSIC_CRASHSITE_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_function(TARGET_CHR, GFUNC_IDLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_function(CHR_TARGET, GFUNC_IDLE) remove_chr(CHR_ELVIS) set_function(CHR_ELVIS, GFUNC_IDLE) @@ -562,10 +562,10 @@ u8 func0402_outro[] = { set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(CHR_PRESIDENT, GFUNC_IDLE) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x01df, -1, -1, 0x0600, TARGET_CHR, 4) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x01df, -1, -1, 0x0600, CHR_TARGET, 4) set_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_HIDDEN) @@ -601,9 +601,9 @@ u8 func0402_outro[] = { set_object_flag_bank2(OBJ_CRATE, OBJECTFLAG2_00000010) object_do_animation(0x01e0, OBJ_CRATE, 0x04ff, 0xff) restart_timer - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) set_cutscene_weapon(CHR_ELVIS_OUTRO, WEAPON_NONE, WEAPON_NONE) yield set_cutscene_weapon(CHR_ELVIS_OUTRO, WEAPON_HAMMER, WEAPON_NONE) @@ -616,10 +616,10 @@ u8 func0402_outro[] = { play_sound(0x0595, CHANNEL_6) wait_until(248, 0x6b) - speak(CHR_JOANNA, 0x0a28, 0x745d, CHANNEL_10, COLOR_09_BLUE) // "How are you feeling, Mr. President?" + speak(CHR_BOND, 0x0a28, 0x745d, CHANNEL_10, COLOR_09_BLUE) // "How are you feeling, Mr. President?" wait_until(414, 0x6c) - speak(CHR_JOANNA, 0x0a29, 0x745e, CHANNEL_10, COLOR_08_RED) // "Better now, young lady. Today, I think, will take ..." + speak(CHR_BOND, 0x0a29, 0x745e, CHANNEL_10, COLOR_08_RED) // "Better now, young lady. Today, I think, will take ..." wait_until(490, 0x6e) play_sound(0x0596, CHANNEL_5) @@ -637,7 +637,7 @@ u8 func0402_outro[] = { play_sound(0x0597, CHANNEL_7) wait_until(1200, 0x70) - speak(CHR_JOANNA, 0x0a2a, 0x745f, CHANNEL_10, COLOR_09_BLUE) // "Just one thing, sir? What is the Pelagic II that T..." + speak(CHR_BOND, 0x0a2a, 0x745f, CHANNEL_10, COLOR_09_BLUE) // "Just one thing, sir? What is the Pelagic II that T..." wait_until(1474, 0x74) play_sound(0x0525, CHANNEL_5) @@ -653,7 +653,7 @@ u8 func0402_outro[] = { play_sound(0x00f8, CHANNEL_10) wait_until(1626, 0x73) - speak(CHR_JOANNA, 0x0a2b, 0x7460, CHANNEL_10, COLOR_08_RED) // "It's a U.S. government deep sea research vessel, o..." + speak(CHR_BOND, 0x0a2b, 0x7460, CHANNEL_10, COLOR_08_RED) // "It's a U.S. government deep sea research vessel, o..." wait_until(1807, 0x79) play_sound(0x0595, CHANNEL_7) @@ -683,16 +683,16 @@ u8 func0402_outro[] = { play_sound(0x8188, CHANNEL_7) wait_until(2450, 0x7b) - speak(CHR_JOANNA, 0x0a2c, 0x7461, CHANNEL_10, COLOR_09_BLUE) // "Trent has a lot to answer for, but I don't think w..." + speak(CHR_BOND, 0x0a2c, 0x7461, CHANNEL_10, COLOR_09_BLUE) // "Trent has a lot to answer for, but I don't think w..." wait_until(3150, 0x83) - speak(CHR_JOANNA, 0x0a2d, 0x7462, CHANNEL_10, COLOR_03_RED) // "You have failed, Easton. You are a flawed device, ..." + speak(CHR_BOND, 0x0a2d, 0x7462, CHANNEL_10, COLOR_03_RED) // "You have failed, Easton. You are a flawed device, ..." wait_until(3380, 0x88) play_sound(0x818a, CHANNEL_7) wait_until(3580, 0x87) - speak(CHR_JOANNA, 0x0a2e, 0x7463, CHANNEL_10, COLOR_05_GREEN) // "Just try it, you Scandinavian freak!" + speak(CHR_BOND, 0x0a2e, 0x7463, CHANNEL_10, COLOR_05_GREEN) // "Just try it, you Scandinavian freak!" wait_until(3747, 0x84) play_sound(0x8189, CHANNEL_5) @@ -711,7 +711,7 @@ u8 func0402_outro[] = { play_sound(0x052a, CHANNEL_10) wait_until(4200, 0x78) - speak(CHR_JOANNA, 0x0a2f, 0x7464, CHANNEL_10, COLOR_05_GREEN) // "Noooooooo!!!" + speak(CHR_BOND, 0x0a2f, 0x7464, CHANNEL_10, COLOR_05_GREEN) // "Noooooooo!!!" wait_until(4240, 0x93) play_sound(0x05c0, CHANNEL_10) @@ -801,7 +801,7 @@ u8 func1004_msg_maybetheresabeacon[] = { // Unreachable label(0x31) - speak(CHR_JOANNA, 0x0a0b, 0x73cd, CHANNEL_6, COLOR_09_BLUE) // "Maybe there's a beacon in there." + speak(CHR_BOND, 0x0a0b, 0x73cd, CHANNEL_6, COLOR_09_BLUE) // "Maybe there's a beacon in there." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -1054,7 +1054,7 @@ u8 func1008_escapepod[] = { // Pod destroyed mute_channel(CHANNEL_0) - message(CHR_JOANNA, 0x0a0f) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x0a0f) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_ESCAPEPOD_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -1085,7 +1085,7 @@ u8 func1009_check_shuttle_destroyed[] = { beginloop(0x06) if_object_in_good_condition(OBJ_SKEDAR_SHUTTLE, /*goto*/ 0x31) - message(CHR_JOANNA, 0x0a15) // "Jamming device has been shut down." + message(CHR_BOND, 0x0a15) // "Jamming device has been shut down." set_stage_flag(STAGEFLAG_SKEDAR_SHUTTLE_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x31) @@ -1102,7 +1102,7 @@ u8 func100a_check_president_dead[] = { endloop(0x06) label(0x31) - message(CHR_JOANNA, 0x0a16) // "President has been killed." + message(CHR_BOND, 0x0a16) // "President has been killed." set_stage_flag(STAGEFLAG_PRESIDENT_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1116,7 +1116,7 @@ u8 func100b_check_clone_dead[] = { endloop(0x06) label(0x31) - message(CHR_JOANNA, 0x0a17) // "Presidential clone has been eliminated." + message(CHR_BOND, 0x0a17) // "Presidential clone has been eliminated." set_stage_flag(STAGEFLAG_CLONE_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1149,8 +1149,8 @@ u8 func0404_elvis[] = { start_path label(0x31) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, - set_target_chr(CHR_JOANNA) - set_follow_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) + set_follow_chr(CHR_BOND) if_stage_flag_eq(STAGEFLAG_ELVIS_GAVE_PROXYMINE, TRUE, /*goto*/ 0x31) if_objective_complete(0, /*goto*/ 0x31) if_objective_complete(1, /*goto*/ 0x31) @@ -1158,8 +1158,8 @@ u8 func0404_elvis[] = { if_objective_complete(3, /*goto*/ 0x31) if_objective_complete(4, /*goto*/ 0x31) if_chr_sees_player(/*goto*/ 0xa5) - set_target_chr(CHR_VELVET) - set_follow_chr(CHR_VELVET) + set_target_chr(CHR_COOP) + set_follow_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0xa5) label(0x31) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x0a) @@ -1200,11 +1200,11 @@ u8 func0404_elvis[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_INIT_ELVIS) set_onshot_function(FUNC_INIT_ELVIS) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // Sees player label(0xa5) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) try_run_to_target_chr(/*goto*/ 0x12) beginloop(0x12) @@ -1224,8 +1224,8 @@ u8 func0404_elvis[] = { // Close to player label(0x13) do_special_animation(-1) - speak(TARGET_CHR, 0x0a1f, 0x12e2, CHANNEL_6, COLOR_04_ORANGE) // "Take this; you should find it useful!" - give_object_to_chr(OBJ_PROXYMINE, TARGET_CHR) + speak(CHR_TARGET, 0x0a1f, 0x12e2, CHANNEL_6, COLOR_04_ORANGE) // "Take this; you should find it useful!" + give_object_to_chr(OBJ_PROXYMINE, CHR_TARGET) beginloop(0x14) if_sound_finished(CHANNEL_6, /*goto*/ 0x31) @@ -1315,7 +1315,7 @@ u8 func0418_robot[] = { label(0x08) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x0a) - say_quip(CHR_JOANNA, 0x1f, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x1f, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) beginloop(0x0a) @@ -1638,7 +1638,7 @@ u8 func041d_president_running[] = { rebuild_teams rebuild_squadrons if_stage_flag_eq(STAGEFLAG_PRESIDENT_RESCUED, TRUE, /*goto*/ 0x31) - message(TARGET_CHR, 0x0a19) // "President has been rescued." + message(CHR_TARGET, 0x0a19) // "President has been rescued." set_stage_flag(STAGEFLAG_PRESIDENT_RESCUED) label(0x31) set_function(CHR_SELF, GFUNC_IDLE) @@ -1748,7 +1748,7 @@ u8 func041f_trent_shooting[] = { label(0xa8) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xa7) label(0xa7) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) goto_next(0x31) @@ -1761,7 +1761,7 @@ u8 func041f_trent_shooting[] = { goto_next(0x0b) // Unreachable - if_chr_dying(TARGET_CHR, /*goto*/ 0x0b) + if_chr_dying(CHR_TARGET, /*goto*/ 0x0b) goto_first(0x04) // Shoot failed @@ -1830,15 +1830,15 @@ u8 func100f_check_end_level[] = { endloop(0x0b) label(0x31) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x31) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x31) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x31) + if_chr_dying(CHR_BOND, /*goto*/ 0x31) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x31) goto_next(0x08) label(0x31) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - if_chr_dying(CHR_VELVET, /*goto*/ 0x31) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + if_chr_dying(CHR_COOP, /*goto*/ 0x31) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x31) // Jo or Velvet alive label(0x08) @@ -1847,16 +1847,16 @@ u8 func100f_check_end_level[] = { if_chr_unloaded(CHR_PRESIDENT, /*goto*/ 0x32) set_function(CHR_PRESIDENT, GFUNC_STOP_AND_IDLE) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x31) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x31) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x31) + if_chr_dying(CHR_BOND, /*goto*/ 0x31) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x31) goto_next(0x08) // Both players dead label(0x31) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - if_chr_dying(CHR_VELVET, /*goto*/ 0x31) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + if_chr_dying(CHR_COOP, /*goto*/ 0x31) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x31) goto_next(0x08) label(0x31) @@ -1865,7 +1865,7 @@ u8 func100f_check_end_level[] = { // Mission complete label(0x08) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) // President dead @@ -1908,7 +1908,7 @@ u8 func1010_set_cave_lights[] = { u8 func1012_give_medicalscanner[] = { yield if_difficulty_gt(DIFF_A, /*goto*/ 0x31) - give_object_to_chr(OBJ_MEDICALSCANNER, CHR_JOANNA) + give_object_to_chr(OBJ_MEDICALSCANNER, CHR_BOND) label(0x31) set_function(CHR_SELF, GFUNC_IDLE) endfunction diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index 110d9e2ca..b6e648a57 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -763,7 +763,7 @@ u8 func1000_rebuild_groups[] = { u8 func1401_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_04) + set_chr_team(CHR_ANTI, TEAM_04) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -778,16 +778,16 @@ u8 unregistered_function1[] = { * @unused */ u8 func0401_unused_cutscene[] = { - chr_draw_weapon_in_cutscene(CHR_JOANNA, WEAPON_FALCON2) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_AIRBASE_OUTRO_LONG) camera_movement(0x016b) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0170, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, TRUE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0170, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, TRUE) set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x00, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x00, CHRFLAG2_00020000) @@ -806,9 +806,9 @@ u8 func0401_unused_cutscene[] = { animation(0x016f, -1, -1, 0x0600, CHR_STEWARDESS, 4) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) beginloop(0x04) if_camera_animating(/*goto*/ 0x31) @@ -821,8 +821,8 @@ u8 func0401_unused_cutscene[] = { label(0x48) label(0x02) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(0x00, 0x0405) set_function(0x01, 0x0405) remove_chr(0x02) @@ -838,7 +838,7 @@ u8 func0425_outro[] = { fade_to_color(0x00000000, 110) camera_movement(0x031a) set_music_track(MUSIC_AIRBASE_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) @@ -904,8 +904,8 @@ u8 func0425_outro[] = { label(0x48) mute_channel(CHANNEL_10) label(0x02) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) hide_object(OBJ_PLANE) end_level set_function(CHR_SELF, GFUNC_IDLE) @@ -1161,8 +1161,8 @@ u8 func0407_stewardess[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x02) if_num_times_shot_lt(1, /*goto*/ 0x02) if_timer_lt(20, /*goto*/ 0x02) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x02) if_chr_stopped(/*goto*/ 0x4c) @@ -1235,7 +1235,7 @@ u8 func0407_stewardess[] = { endloop(0x05) label(0x02) - speak(TARGET_CHR, 0x0e19, 0x1adc, CHANNEL_4, COLOR_07_RED) // "Look out - it's an intruder..." + speak(CHR_TARGET, 0x0e19, 0x1adc, CHANNEL_4, COLOR_07_RED) // "Look out - it's an intruder..." set_squadron_alertness(100) animation(ANIM_SURRENDER_002E, 0, 193, 0x1010, CHR_SELF, 2) @@ -1277,7 +1277,7 @@ u8 func0407_stewardess[] = { goto_first(0x62) label(0x0f) - try_run_to_chr_with_hand_up(CHR_FRIEND, /*goto*/ 0x49) + try_run_to_chr_with_hand_up(CHR_SEEDIE, /*goto*/ 0x49) dprint 'W','A','L','K','F','A','I','L','\n',0, beginloop(0x49) @@ -1298,7 +1298,7 @@ u8 func0407_stewardess[] = { label(0x4a) unset_self_flag_bankx(CHRFLAG0_CAN_EXAMINE_BODY, BANK_0) - speak(TARGET_CHR, 0x0e1b, 0x1add, CHANNEL_4, COLOR_07_RED) // "Is he OK?" + speak(CHR_TARGET, 0x0e1b, 0x1add, CHANNEL_4, COLOR_07_RED) // "Is he OK?" stop_chr restart_timer @@ -1314,7 +1314,7 @@ u8 func0407_stewardess[] = { endloop(0x4b) label(0x02) - speak(TARGET_CHR, 0x0e1c, 0x1ade, CHANNEL_4, COLOR_07_RED) // "I'll go and get some help." + speak(CHR_TARGET, 0x0e1c, 0x1ade, CHANNEL_4, COLOR_07_RED) // "I'll go and get some help." restart_timer stop_chr @@ -1349,12 +1349,12 @@ u8 func0406_become_unalerted[] = { label(0x02) if_chr_lost_track_of_target_maybe(/*goto*/ 0x02) - if_chr_dying(TARGET_CHR, /*goto*/ 0x02) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x02) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x02) + if_chr_dying(CHR_TARGET, /*goto*/ 0x02) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x02) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x02) set_onshot_function(FUNC_BECOME_UNALERTED) set_return_function(CHR_SELF, FUNC_BECOME_UNALERTED) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x02) set_function(CHR_SELF, GFUNC_UNALERTED) @@ -1372,7 +1372,7 @@ u8 func1005_check_civilians_killed[] = { endloop(0x00) label(0x31) - message(CHR_JOANNA, 0x0e1a) // "Innocent civilians have been killed." + message(CHR_BOND, 0x0e1a) // "Innocent civilians have been killed." set_stage_flag(STAGEFLAG_CIVILIANS_KILLED) set_function(CHR_SELF, GFUNC_IDLE) @@ -1541,7 +1541,7 @@ u8 func0408_secretary[] = { mute_channel(CHANNEL_4) yield label(0x02) - speak(TARGET_CHR, 0x0e20, 0x8162, CHANNEL_4, COLOR_06_WHITE) // "Oh, my God!" + speak(CHR_TARGET, 0x0e20, 0x8162, CHANNEL_4, COLOR_06_WHITE) // "Oh, my God!" label(0x67) set_squadron_alertness(100) @@ -1579,7 +1579,7 @@ u8 func0408_secretary[] = { // FIRST TALK // label(0x32) - speak(TARGET_CHR, 0x0e1d, 0x8161, CHANNEL_4, COLOR_06_WHITE) // "Good afternoon." + speak(CHR_TARGET, 0x0e1d, 0x8161, CHANNEL_4, COLOR_06_WHITE) // "Good afternoon." animation(ANIM_TALKING_0231, 0, 193, 0x1810, CHR_SELF, 2) restart_timer set_morale(2) @@ -1598,10 +1598,10 @@ u8 func0408_secretary[] = { // SECOND TALK/WEAPON CHECK // label(0x02) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x0c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x0c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x0c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x0c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x0c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x0c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x0c) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x0c) if_morale_lt(3, /*goto*/ 0x32) goto_next(0x02) @@ -1609,7 +1609,7 @@ u8 func0408_secretary[] = { // WEAPON TALK 1 // label(0x32) - speak(TARGET_CHR, 0x0e1f, 0x1273, CHANNEL_4, COLOR_06_WHITE) // "You'll have to check that weapon in here." + speak(CHR_TARGET, 0x0e1f, 0x1273, CHANNEL_4, COLOR_06_WHITE) // "You'll have to check that weapon in here." restart_timer animation(ANIM_TALKING_0232, 0, 193, 0x1810, CHR_SELF, 2) set_morale(3) @@ -1626,15 +1626,15 @@ u8 func0408_secretary[] = { // 6.66 seconds since weapon talk label(0x02) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x31) if_morale_lt(4, /*goto*/ 0x32) goto_next(0x02) label(0x32) - speak(TARGET_CHR, 0x0e21, 0x1274, CHANNEL_4, COLOR_06_WHITE) // "Weapons are not allowed in the base." + speak(CHR_TARGET, 0x0e21, 0x1274, CHANNEL_4, COLOR_06_WHITE) // "Weapons are not allowed in the base." restart_timer animation(ANIM_TALKING_0233, 0, 193, 0x1810, CHR_SELF, 2) set_morale(4) @@ -1658,14 +1658,14 @@ u8 func0408_secretary[] = { endloop(0x0d) label(0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x31) // Calling security label(0x77) - speak(TARGET_CHR, 0x0e22, 0x1276, CHANNEL_4, COLOR_06_WHITE) // "Right, I'm calling security." + speak(CHR_TARGET, 0x0e22, 0x1276, CHANNEL_4, COLOR_06_WHITE) // "Right, I'm calling security." set_stage_flag(STAGEFLAG_RECEPTIONIST_CALLED_SECURITY) activate_alarm restart_timer @@ -1685,7 +1685,7 @@ u8 func0408_secretary[] = { // TALK 2 // label(0x31) - speak(TARGET_CHR, 0x0e1e, 0x1272, CHANNEL_4, COLOR_06_WHITE) // "OK, you know the way from here." + speak(CHR_TARGET, 0x0e1e, 0x1272, CHANNEL_4, COLOR_06_WHITE) // "OK, you know the way from here." animation(0x0232, 0, 193, 0x1810, CHR_SELF, 2) unlock_door(0x18, 0x02) @@ -1756,7 +1756,7 @@ u8 func1007_console_activation[] = { control_sound_from_object(CHANNEL_1, OBJ_CONSOLE, TRUE) message(CHR_P1P2, 0x0e24) // "Security systems have been shut down." set_stage_flag(STAGEFLAG_SECURITY_SHUT_DOWN) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) restart_timer beginloop(0x05) @@ -1921,23 +1921,23 @@ u8 func1007_console_activation[] = { -u8 func1020_weapon_scanning_joanna[] = { +u8 func1020_weapon_scanning_bond[] = { yield - weapon_detection_logic(CHR_JOANNA) + weapon_detection_logic(CHR_BOND) endfunction }; -u8 func1021_weapon_scanning_velvet[] = { +u8 func1021_weapon_scanning_coop[] = { yield - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) goto_next(0x02) label(0x31) set_function(CHR_SELF, GFUNC_IDLE) label(0x02) - weapon_detection_logic(CHR_VELVET) + weapon_detection_logic(CHR_COOP) endfunction }; @@ -1951,10 +1951,10 @@ u8 func1009_carousel_activation[] = { // Shut down without depositing label(0x31) if_difficulty_lt(DIFF_SA, /*goto*/ 0x09) - message(CHR_JOANNA, 0x0e42) // "Hover trolley has been shut down." + message(CHR_BOND, 0x0e42) // "Hover trolley has been shut down." set_stage_flag(STAGEFLAG_TROLLEY_SHUT_DOWN_WITHOUT_BRIEFCASE) yield - message(CHR_JOANNA, 0x0e43) // "Equipment cannot be checked in." + message(CHR_BOND, 0x0e43) // "Equipment cannot be checked in." label(0x09) set_function(CHR_SELF, GFUNC_IDLE) @@ -1978,7 +1978,7 @@ u8 func1009_carousel_activation[] = { endloop(0x05) label(0x02) - clear_inventory(CHR_JOANNA) + clear_inventory(CHR_BOND) unset_object_flag_bank0(OBJ_BAGGAGE_CARRIER, OBJECTFLAG0_DEACTIVATED) open_door(0x23) restart_timer @@ -2028,7 +2028,7 @@ u8 func100b_suitcase_scanning[] = { // Scanned label(0x02) - message(CHR_JOANNA, 0x0e27) // "Suitcase has been scanned." + message(CHR_BOND, 0x0e27) // "Suitcase has been scanned." set_stage_flag(STAGEFLAG_SUITCASE_SCANNED) // Agent @@ -2083,23 +2083,23 @@ u8 func0409_office1[] = { if_stage_flag_eq(STAGEFLAG_DISGUISED, FALSE, /*goto*/ 0x07) // Disguised - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x31) goto_next(0x07) // Disguised and unarmed-ish label(0x31) animation(ANIM_SITTING_0265, 0, -1, 0x1410, CHR_SELF, 2) - speak(TARGET_CHR, 0x0e29, 0x1ae6, CHANNEL_4, COLOR_08_RED) // "Are you new around here?" + speak(CHR_TARGET, 0x0e29, 0x1ae6, CHANNEL_4, COLOR_08_RED) // "Are you new around here?" beginloop(0x09) if_shot_near_chr(0x00, /*goto*/ LABEL_RUN_TO_FOYER) if_stage_flag_eq(STAGEFLAG_OFFICE2_DEAD, TRUE, /*goto*/ LABEL_RUN_TO_FOYER) - if_chr_has_object(TARGET_CHR, OBJ_BRIEFCASE1, /*goto*/ 0x02) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x31) + if_chr_has_object(CHR_TARGET, OBJ_BRIEFCASE1, /*goto*/ 0x02) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x31) goto_next(0x07) label(0x31) @@ -2128,7 +2128,7 @@ u8 func0409_office1[] = { endloop(0x0b) label(0x02) - speak(TARGET_CHR, 0x0e2a, 0x1ae7, CHANNEL_4, COLOR_08_RED) // "Hey - give me back my case." + speak(CHR_TARGET, 0x0e2a, 0x1ae7, CHANNEL_4, COLOR_08_RED) // "Hey - give me back my case." restart_timer set_squadron_alertness(100) @@ -2152,7 +2152,7 @@ u8 func0409_office1[] = { label(0x72) label(0x02) - speak(TARGET_CHR, 0x0e28, 0x1ae5, CHANNEL_4, COLOR_08_RED) // "Hey, you - this is a restricted area." + speak(CHR_TARGET, 0x0e28, 0x1ae5, CHANNEL_4, COLOR_08_RED) // "Hey, you - this is a restricted area." set_squadron_alertness(100) restart_timer animation(ANIM_WALK_BACKWARDS, -1, -1, 0x1010, CHR_SELF, 2) @@ -2170,7 +2170,7 @@ u8 func0409_office1[] = { endloop(0x08) label(0x02) - speak(TARGET_CHR, 0x0e2c, 0x1ae8, CHANNEL_4, COLOR_08_RED) // "Upstairs...there's an intruder." + speak(CHR_TARGET, 0x0e2c, 0x1ae8, CHANNEL_4, COLOR_08_RED) // "Upstairs...there's an intruder." set_squadron_alertness(100) set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED) activate_alarm @@ -2249,7 +2249,7 @@ u8 func040a_office2[] = { if_chr_dying(CHR_OFFICE1, /*goto*/ 0x02) if_chr_death_animation_finished(CHR_OFFICE1, /*goto*/ 0x02) if_chr_unloaded(CHR_OFFICE1, /*goto*/ 0x02) - speak(TARGET_CHR, 0x0e2b, 0x1ae9, CHANNEL_4, COLOR_09_BLUE) // "You get security - I'll deal with her..." + speak(CHR_TARGET, 0x0e2b, 0x1ae9, CHANNEL_4, COLOR_09_BLUE) // "You get security - I'll deal with her..." set_squadron_alertness(100) restart_timer @@ -2297,15 +2297,15 @@ u8 func100c_check_end_level[] = { label(0x04) set_stage_flag(STAGEFLAG_BOARDED_PLANE) unset_eeprom_flag(EEPROMFLAG_AF1_ENTRY) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x31) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x31) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x31) + if_chr_dying(CHR_BOND, /*goto*/ 0x31) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x31) goto_next(0x02) label(0x31) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - if_chr_dying(CHR_VELVET, /*goto*/ 0x31) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + if_chr_dying(CHR_COOP, /*goto*/ 0x31) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x31) goto_next(0x02) // Both players dead @@ -2315,22 +2315,22 @@ u8 func100c_check_end_level[] = { // Mission complete label(0x02) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, 0x0425) // Pad 0x00d5 label(0x05) set_stage_flag(STAGEFLAG_BOARDED_PLANE) set_eeprom_flag(EEPROMFLAG_AF1_ENTRY) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x31) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x31) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x31) + if_chr_dying(CHR_BOND, /*goto*/ 0x31) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x31) goto_next(0x02) label(0x31) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - if_chr_dying(CHR_VELVET, /*goto*/ 0x31) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x31) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + if_chr_dying(CHR_COOP, /*goto*/ 0x31) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x31) goto_next(0x02) // Both players dead @@ -2340,7 +2340,7 @@ u8 func100c_check_end_level[] = { // Mission complete label(0x02) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, 0x0425) endfunction }; @@ -2392,7 +2392,7 @@ u8 func100e_check_alaskans_killed[] = { endloop(0x00) label(0x31) - message(CHR_JOANNA, 0x0e2f) // "Too many neutral casualties inflicted." + message(CHR_BOND, 0x0e2f) // "Too many neutral casualties inflicted." set_stage_flag(STAGEFLAG_TOO_MANY_NEUTRALS_KILLED) label(0x02) set_function(CHR_SELF, GFUNC_IDLE) @@ -2438,20 +2438,20 @@ u8 func040f_nsa[] = { set_target_chr(CHR_P1P2) if_chr_distance_lt(250, /*goto*/ 0x64) if_self_flag_bankx_eq(CHRFLAG0_00000080, TRUE, BANK_0, /*goto*/ 0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x006b, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x006c, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x006d, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006b, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006c, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006d, /*goto*/ 0x31) goto_first(0x00) label(0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x003c, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x003d, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x003e, /*goto*/ 0x31) - if_chr_y(TARGET_CHR, -257, OPERATOR_LESS_THAN, /*goto*/ 0x6d) // gone down an escalator + if_chr_in_room(CHR_TARGET, 0x00, 0x003c, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003d, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003e, /*goto*/ 0x31) + if_chr_y(CHR_TARGET, -257, OPERATOR_LESS_THAN, /*goto*/ 0x6d) // gone down an escalator goto_next(0x76) label(0x6d) - if_chr_in_room(TARGET_CHR, 0x00, 0x003f, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003f, /*goto*/ 0x31) label(0x76) goto_first(0x00) @@ -2475,27 +2475,27 @@ u8 func040f_nsa[] = { // Seen player label(0x31) dprint 'C','H','R','\n',0, - if_chr_y(TARGET_CHR, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02) + if_chr_y(CHR_TARGET, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02) goto_first(0x00) // Seen player down escalator label(0x02) if_self_flag_bankx_eq(CHRFLAG0_00000080, TRUE, BANK_0, /*goto*/ 0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x006b, /*goto*/ 0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x006c, /*goto*/ 0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x006d, /*goto*/ 0x04) + if_chr_in_room(CHR_TARGET, 0x00, 0x006b, /*goto*/ 0x04) + if_chr_in_room(CHR_TARGET, 0x00, 0x006c, /*goto*/ 0x04) + if_chr_in_room(CHR_TARGET, 0x00, 0x006d, /*goto*/ 0x04) goto_first(0x00) label(0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x003c, /*goto*/ 0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x003d, /*goto*/ 0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x003e, /*goto*/ 0x04) - if_chr_y(TARGET_CHR, -257, OPERATOR_LESS_THAN, /*goto*/ 0x6d) + if_chr_in_room(CHR_TARGET, 0x00, 0x003c, /*goto*/ 0x04) + if_chr_in_room(CHR_TARGET, 0x00, 0x003d, /*goto*/ 0x04) + if_chr_in_room(CHR_TARGET, 0x00, 0x003e, /*goto*/ 0x04) + if_chr_y(CHR_TARGET, -257, OPERATOR_LESS_THAN, /*goto*/ 0x6d) goto_next(0x76) // Seen player down escalator but not in security hall label(0x6d) - if_chr_in_room(TARGET_CHR, 0x00, 0x003f, /*goto*/ 0x04) // escalator room + if_chr_in_room(CHR_TARGET, 0x00, 0x003f, /*goto*/ 0x04) // escalator room label(0x76) goto_first(0x00) @@ -2513,7 +2513,7 @@ u8 func040f_nsa[] = { label(0x02) animation(ANIM_TALKING_0098, 0, 90, 0x0010, CHR_SELF, 2) - say_quip(CHR_JOANNA, 0x1c, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x1c, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) beginloop(0x0a) @@ -2533,7 +2533,7 @@ u8 func040f_nsa[] = { label(0x31) dprint 'R','U','N',' ','S','T','A','R','T','\n',0, restart_timer - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr(/*goto*/ 0x05) beginloop(0x05) @@ -2542,21 +2542,21 @@ u8 func040f_nsa[] = { 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(TARGET_CHR, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02) + if_chr_y(CHR_TARGET, -330, OPERATOR_LESS_THAN, /*goto*/ 0x02) goto_next(0x07) label(0x02) if_self_flag_bankx_eq(CHRFLAG0_00000080, TRUE, BANK_0, /*goto*/ 0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x006b, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x006c, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x006d, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006b, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006c, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x006d, /*goto*/ 0x31) goto_next(0x07) label(0x33) - if_chr_in_room(TARGET_CHR, 0x00, 0x003c, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x003d, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x003e, /*goto*/ 0x31) - if_chr_in_room(TARGET_CHR, 0x00, 0x003f, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003c, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003d, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003e, /*goto*/ 0x31) + if_chr_in_room(CHR_TARGET, 0x00, 0x003f, /*goto*/ 0x31) goto_next(0x07) label(0x31) @@ -2575,7 +2575,7 @@ u8 func040f_nsa[] = { label(0x07) animation(ANIM_TALKING_0098, 0, 90, 0x0010, CHR_SELF, 2) - say_quip(CHR_JOANNA, 0x1d, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, 0x81, 0x00, 0x00) label(0x08) yield if_chr_stopped(/*goto*/ 0x02) @@ -2647,15 +2647,15 @@ u8 func0411_takeover_lackey[] = { endloop(0x04) label(0x02) - speak(TARGET_CHR, 0x0e41, 0x05bf, CHANNEL_6, COLOR_08_RED) // "We're taking over!!" + speak(CHR_TARGET, 0x0e41, 0x05bf, CHANNEL_6, COLOR_08_RED) // "We're taking over!!" beginloop(0x09) if_chr_stopped(/*goto*/ 0x02) endloop(0x09) label(0x02) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) - set_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -2699,7 +2699,7 @@ u8 func0414_officeworker[] = { label(0x02) animation(ANIM_SITTING_0265, 0, 120, 0x1410, CHR_SELF, 2) - say_quip(CHR_JOANNA, 0x20, 0xff, 0x0a, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x20, 0xff, 0x0a, 0xff, BANK_1, 0x00, 0x00) restart_timer beginloop(0x09) @@ -2750,7 +2750,7 @@ u8 func0414_officeworker[] = { label(0x02) do_special_animation(7) - speak(TARGET_CHR, 0x0e36, 0x1b38, CHANNEL_4, COLOR_08_RED) // "Stop them - they're breaking into the safe..." + speak(CHR_TARGET, 0x0e36, 0x1b38, CHANNEL_4, COLOR_08_RED) // "Stop them - they're breaking into the safe..." beginloop(0x05) if_sound_finished(CHANNEL_4, /*goto*/ 0x79) @@ -3084,15 +3084,15 @@ u8 func0427_init_posttakeover_guard[] = { */ u8 func0428_posttakeover_guard[] = { beginloop(0x00) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x31) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x02) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x02) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x31) label(0x02) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x02) - set_target_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x02) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x31) label(0x02) @@ -3147,7 +3147,7 @@ u8 func042a_foyer_spawner[] = { consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x02) - if_chr_y(TARGET_CHR, -4800, OPERATOR_LESS_THAN, /*goto*/ 0x09) + if_chr_y(CHR_TARGET, -4800, OPERATOR_LESS_THAN, /*goto*/ 0x09) reloop(0x00) // Security shut down @@ -3395,7 +3395,7 @@ u8 func0419_ba8c[] = { yield if_saw_death(0x00, /*goto*/ 0x4f) if_shot_near_chr(0x00, /*goto*/ 0x0f) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x31) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x31) goto_next(0x02) label(0x31) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x31) @@ -3428,7 +3428,7 @@ u8 func0419_ba8c[] = { goto_first(0x0f) label(0x02) - say_quip(CHR_JOANNA, 0x24, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x24, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) animation(0x002e, 0, 193, 0x1010, CHR_SELF, 2) label(0x09) yield @@ -3442,15 +3442,15 @@ u8 func0419_ba8c[] = { goto_first(0x04) label(0x02) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x05) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x05) label(0x05) yield - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x02) + if_detected_chr(CHR_PRESET, /*goto*/ 0x02) goto_first(0x05) label(0x02) set_squadron_alertness(100) - say_quip(CHR_JOANNA, 0x25, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x25, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) label(0x0e) animation(0x0229, -1, -1, 0x1014, CHR_SELF, 2) label(0x0a) @@ -3587,15 +3587,15 @@ u8 func101a_check_disguise_used[] = { u8 func1003_intro[] = { label(0x31) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_AIRBASE_INTRO) camera_movement(0x01e5) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01e6, -1, -1, 0x0600, CHR_JOANNA, 4) - set_chr_hud_visible(CHR_JOANNA, TRUE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01e6, -1, -1, 0x0600, CHR_BOND, 4) + set_chr_hud_visible(CHR_BOND, TRUE) set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000) @@ -3631,12 +3631,12 @@ u8 func1003_intro[] = { restart_timer fade_to_color(0x000000ff, 0x0000) fade_to_color(0x00000000, 0x006e) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) wait_until(30, 0x6d) - speak(CHR_JOANNA, 0x0e37, 0x7447, CHANNEL_7, COLOR_09_BLUE) // "Agent Dark in position. I can see the main entranc..." + speak(CHR_BOND, 0x0e37, 0x7447, CHANNEL_7, COLOR_09_BLUE) // "Agent Dark in position. I can see the main entranc..." wait_until(312, 0x89) play_sound(0x0594, CHANNEL_10) @@ -3645,13 +3645,13 @@ u8 func1003_intro[] = { play_sound(0x0595, CHANNEL_10) wait_until(580, 0x76) - speak(CHR_JOANNA, 0x0e38, 0x7448, CHANNEL_10, COLOR_06_WHITE) // "Excellent, Joanna. That cable car is your way in....." + speak(CHR_BOND, 0x0e38, 0x7448, CHANNEL_10, COLOR_06_WHITE) // "Excellent, Joanna. That cable car is your way in....." wait_until(968, 0x8b) play_sound(0x0596, CHANNEL_10) wait_until(1315, 0x77) - speak(CHR_JOANNA, 0x0e39, 0x77db, CHANNEL_10, COLOR_09_BLUE) // "That they're probably innocent of any involvement ..." + speak(CHR_BOND, 0x0e39, 0x77db, CHANNEL_10, COLOR_09_BLUE) // "That they're probably innocent of any involvement ..." wait_until(1411, 0x8e) play_sound(0x04af, CHANNEL_0) @@ -3667,7 +3667,7 @@ u8 func1003_intro[] = { play_sound(0x04ec, CHANNEL_10) wait_until(1900, 0x78) - speak(CHR_JOANNA, 0x0e3a, 0x7449, CHANNEL_5, COLOR_06_WHITE) // "I don't know how far the conspiracy has spread thr..." + speak(CHR_BOND, 0x0e3a, 0x7449, CHANNEL_5, COLOR_06_WHITE) // "I don't know how far the conspiracy has spread thr..." wait_until(1970, 0x8c) play_sound(0x0171, CHANNEL_10) @@ -3732,7 +3732,7 @@ u8 func1003_intro[] = { play_sound(0x0168, CHANNEL_10) wait_until(2700, 0x79) - speak(CHR_JOANNA, 0x0e3b, 0x744a, CHANNEL_7, COLOR_09_BLUE) // "Yes, and protect him from his abductors. Do you ha..." + speak(CHR_BOND, 0x0e3b, 0x744a, CHANNEL_7, COLOR_09_BLUE) // "Yes, and protect him from his abductors. Do you ha..." wait_until(2704, 0xa3) play_sound(0x0161, CHANNEL_10) @@ -3783,7 +3783,7 @@ u8 func1003_intro[] = { play_sound(0x0164, CHANNEL_10) wait_until(3250, 0x7a) - speak(CHR_JOANNA, 0x0e3c, 0x744b, CHANNEL_5, COLOR_06_WHITE) // "Only vague suspicions, and I won't distract you wi..." + speak(CHR_BOND, 0x0e3c, 0x744b, CHANNEL_5, COLOR_06_WHITE) // "Only vague suspicions, and I won't distract you wi..." wait_until(3387, 0xb3) play_sound(0x0166, CHANNEL_10) @@ -3821,8 +3821,8 @@ u8 func1003_intro[] = { hide_object(0x22) hide_object(0x2f) label(0x02) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x48, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x49, CHRFLAG3_UNPLAYABLE) @@ -3838,10 +3838,10 @@ u8 func1003_intro[] = { set_chr_flag_bank3(0x49, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x49, CHRFLAG2_00020000) animation(0x01e9, -2, -1, 0x0600, 0x49, 2) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01e6, -2, -1, 0x0600, CHR_JOANNA, 2) - set_chr_hud_visible(CHR_JOANNA, FALSE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01e6, -2, -1, 0x0600, CHR_BOND, 2) + set_chr_hud_visible(CHR_BOND, FALSE) unset_object_flag_bank1(0x22, OBJECTFLAG1_04000000) set_object_flag_bank2(0x22, OBJECTFLAG2_00000010) object_do_animation(0x01ed, 0x22, 0x01ff, 0xfe) @@ -3861,7 +3861,7 @@ u8 func101c_msg_nowsyourchance[] = { endloop(0x00) label(0x31) - speak(CHR_JOANNA, 0x0e32, 0x8182, CHANNEL_6, COLOR_09_BLUE) // "Now's your chance! Grab the stewardess's bag and g..." + speak(CHR_BOND, 0x0e32, 0x8182, CHANNEL_6, COLOR_09_BLUE) // "Now's your chance! Grab the stewardess's bag and g..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3908,7 +3908,7 @@ u8 func101e_msg_casewillgetstopped[] = { endloop(0x04) label(0x31) - speak(CHR_JOANNA, 0x0e34, 0x8184, CHANNEL_6, COLOR_09_BLUE) // "The case will get stopped unless you do something." + speak(CHR_BOND, 0x0e34, 0x8184, CHANNEL_6, COLOR_09_BLUE) // "The case will get stopped unless you do something." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -4032,14 +4032,14 @@ u8 func0417_remove_or_unalert[] = { label(0x00) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x02) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x02) label(0x31) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x04) - set_target_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x04) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x02) label(0x04) yield @@ -4057,14 +4057,14 @@ u8 func0418_remove_or_cower[] = { set_self_flag_bank3(CHRFLAG3_00040000) label(0x00) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x02) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x02) label(0x31) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x04) - set_target_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x04) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x02) label(0x04) yield @@ -4196,7 +4196,7 @@ u8 func102b_check_secretary_dead[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x31) - message(CHR_JOANNA, 0x0e3e) // "Critical mission personnel disabled." + message(CHR_BOND, 0x0e3e) // "Critical mission personnel disabled." set_stage_flag(STAGEFLAG_SECRETARY_DEAD) label(0x09) set_function(CHR_SELF, GFUNC_IDLE) @@ -4227,7 +4227,7 @@ u8 func102d_check_console_destroyed[] = { mute_channel(CHANNEL_1) if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x31) set_stage_flag(STAGEFLAG_CONSOLE_DESTROYED) - message(CHR_JOANNA, 0x0e3f) // "Critical mission object destroyed." + message(CHR_BOND, 0x0e3f) // "Critical mission object destroyed." label(0x31) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -4240,7 +4240,7 @@ u8 func102e_check_base_entered[] = { endloop(0x00) label(0x31) - message(CHR_JOANNA, 0x0e40) // "Entrance to base secured." + message(CHR_BOND, 0x0e40) // "Entrance to base secured." set_stage_flag(STAGEFLAG_ENTERED_BASE) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -4252,9 +4252,9 @@ u8 func102f_undisguise_on_alarm[] = { endloop(0x00) label(0x31) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x31) - set_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31) + set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED) label(0x31) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -4381,8 +4381,8 @@ struct ailists functions[] = { { func101d_msg_usethatcase, 0x101d }, { func101e_msg_casewillgetstopped, 0x101e }, { func101f_msg_smallerthanithought, 0x101f }, - { func1020_weapon_scanning_joanna, 0x1020 }, - { func1021_weapon_scanning_velvet, 0x1021 }, + { func1020_weapon_scanning_bond, 0x1020 }, + { func1021_weapon_scanning_coop, 0x1021 }, { func1022_check_office1_dead, 0x1022 }, { func1023_check_office2_dead, 0x1023 }, { func1024_double_dy357, 0x1024 }, diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index d4dacb599..13c36c275 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -655,7 +655,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -675,13 +675,13 @@ u8 func0408_guard_unalerted[] = { u8 func1002_intro[] = { set_music_track(MUSIC_PELAGIC_INTRO) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) camera_movement(0x02ce) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02cf, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02cf, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) @@ -691,9 +691,9 @@ u8 func1002_intro[] = { set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000) animation(0x02d1, -1, -1, 0x0600, CHR_INTRO_GUARD, 4) restart_timer - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SILENCER, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SILENCER, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -799,11 +799,11 @@ u8 func1002_intro[] = { label(0x39) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02cf, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02cf, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) animation(0x02d0, -2, -1, 0x0600, CHR_ELVIS, 2) @@ -828,7 +828,7 @@ u8 func1002_intro[] = { u8 func0c01_outro[] = { camera_movement(0x02e2) set_music_track(MUSIC_PELAGIC_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) @@ -879,7 +879,7 @@ u8 func0c01_outro[] = { play_sound_from_object2(0x0a, OBJ_OUTRO_SUBMARINE, 0x042d, 0x00, 0x00) wait_until(180, 0x3b) - speak(CHR_JOANNA, 0x1627, 0x7465, CHANNEL_10, COLOR_06_WHITE) // "Right. The diving operation has been disrupted on ..." + speak(CHR_BOND, 0x1627, 0x7465, CHANNEL_10, COLOR_06_WHITE) // "Right. The diving operation has been disrupted on ..." wait_until(200, 0x48) play_sound(0x0173, CHANNEL_10) @@ -905,7 +905,7 @@ u8 func0c01_outro[] = { play_sound(0x0171, CHANNEL_10) wait_until(570, 0x4f) - speak(CHR_JOANNA, 0x1628, 0x7466, CHANNEL_10, COLOR_09_BLUE) // "I hope the government don't want to use this ship ..." + speak(CHR_BOND, 0x1628, 0x7466, CHANNEL_10, COLOR_09_BLUE) // "I hope the government don't want to use this ship ..." wait_until(582, 0x50) play_sound(0x0171, CHANNEL_10) @@ -935,7 +935,7 @@ u8 func0c01_outro[] = { play_sound(0x80a2, CHANNEL_10) wait_until(950, 0x58) - speak(CHR_JOANNA, 0x1629, 0x7467, CHANNEL_10, COLOR_06_WHITE) // "Do you think we were a little heavy-handed?" + speak(CHR_BOND, 0x1629, 0x7467, CHANNEL_10, COLOR_06_WHITE) // "Do you think we were a little heavy-handed?" wait_until(1088, 0x59) play_sound(0x80a3, CHANNEL_10) @@ -944,7 +944,7 @@ u8 func0c01_outro[] = { play_sound(0x0176, CHANNEL_10) wait_until(1190, 0x5b) - speak(CHR_JOANNA, 0x162a, 0x7468, CHANNEL_10, COLOR_09_BLUE) // "Naaahhhh." + speak(CHR_BOND, 0x162a, 0x7468, CHANNEL_10, COLOR_09_BLUE) // "Naaahhhh." wait_until(1228, 0x5c) play_sound(0x0174, CHANNEL_10) @@ -1059,7 +1059,7 @@ u8 unregistered_function2[] = { endloop(0x00) label(0x04) - message(CHR_JOANNA, 0x1610) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x1610) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_00000400) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1097,7 +1097,7 @@ u8 func100a_reactor_switch[] = { beginloop(0x00) consider_coop_for_p1p2_chr(CHR_SELF) if_object_in_good_condition(OBJ_REACTOR_SWITCH, /*goto*/ 0x07) - message(CHR_JOANNA, 0x1624) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x1624) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_REACTOR_SWITCH_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -1200,15 +1200,15 @@ u8 func100c_check_end_level[] = { endloop(0x0b) label(0x07) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x07) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x07) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x07) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x07) + if_chr_dying(CHR_BOND, /*goto*/ 0x07) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x07) goto_next(0x08) label(0x07) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x07) - if_chr_dying(CHR_VELVET, /*goto*/ 0x07) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x07) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x07) + if_chr_dying(CHR_COOP, /*goto*/ 0x07) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x07) // Jo or Velvet alive label(0x08) @@ -1216,16 +1216,16 @@ u8 func100c_check_end_level[] = { if_chr_dying(CHR_ELVIS, /*goto*/ 0x08) if_chr_unloaded(CHR_ELVIS, /*goto*/ 0x08) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x07) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x07) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x07) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x07) + if_chr_dying(CHR_BOND, /*goto*/ 0x07) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x07) goto_next(0x04) // Both players dead - this check is redundant label(0x07) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x07) - if_chr_dying(CHR_VELVET, /*goto*/ 0x07) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x07) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x07) + if_chr_dying(CHR_COOP, /*goto*/ 0x07) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x07) goto_next(0x04) // Both players dead @@ -1235,7 +1235,7 @@ u8 func100c_check_end_level[] = { // Mission complete label(0x04) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) // Elvis dead @@ -1257,7 +1257,7 @@ u8 func100e_check_labtech_dead[] = { endloop(0x00) label(0x07) - message(CHR_JOANNA, 0x1614) // "Critical mission personnel killed." + message(CHR_BOND, 0x1614) // "Critical mission personnel killed." set_stage_flag(STAGEFLAG_LABTECH_DEAD) label(0x0b) set_function(CHR_SELF, GFUNC_IDLE) @@ -1266,22 +1266,22 @@ u8 func100e_check_labtech_dead[] = { u8 func100f_check_researchdata_collected[] = { beginloop(0x00) - if_chr_has_object(CHR_JOANNA, OBJ_RESEARCHDATA1, /*goto*/ 0x07) - if_chr_has_object(CHR_VELVET, OBJ_RESEARCHDATA1, /*goto*/ 0x07) + if_chr_has_object(CHR_BOND, OBJ_RESEARCHDATA1, /*goto*/ 0x07) + if_chr_has_object(CHR_COOP, OBJ_RESEARCHDATA1, /*goto*/ 0x07) reloop(0x00) label(0x07) - if_chr_has_object(CHR_JOANNA, OBJ_RESEARCHDATA2, /*goto*/ 0x07) - if_chr_has_object(CHR_VELVET, OBJ_RESEARCHDATA2, /*goto*/ 0x07) + if_chr_has_object(CHR_BOND, OBJ_RESEARCHDATA2, /*goto*/ 0x07) + if_chr_has_object(CHR_COOP, OBJ_RESEARCHDATA2, /*goto*/ 0x07) reloop(0x00) label(0x07) - if_chr_has_object(CHR_JOANNA, OBJ_RESEARCHDATA3, /*goto*/ 0x07) - if_chr_has_object(CHR_VELVET, OBJ_RESEARCHDATA3, /*goto*/ 0x07) + if_chr_has_object(CHR_BOND, OBJ_RESEARCHDATA3, /*goto*/ 0x07) + if_chr_has_object(CHR_COOP, OBJ_RESEARCHDATA3, /*goto*/ 0x07) endloop(0x00) label(0x07) - message(CHR_JOANNA, 0x1615) // "Research data has been secured." + message(CHR_BOND, 0x1615) // "Research data has been secured." set_stage_flag(STAGEFLAG_COLLECTED_RESEARCH_DATA) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1579,7 +1579,7 @@ u8 func0411_labtech_alerted[] = { if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x04) set_alertness(100) dprint 'T','A','L','K',' ','1','\n',0, - say_quip(CHR_JOANNA, 0x2a, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x2a, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) animation(ANIM_SURRENDER_002E, 0, -1, 0x1010, CHR_SELF, 2) beginloop(0x3e) @@ -1592,17 +1592,17 @@ u8 func0411_labtech_alerted[] = { goto_next(0x42) label(0x3f) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x40) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x40) goto_next(0x42) beginloop(0x40) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x41) + if_detected_chr(CHR_PRESET, /*goto*/ 0x41) if_chr_stopped(/*goto*/ 0x41) endloop(0x40) label(0x41) set_squadron_alertness(100) - say_quip(CHR_JOANNA, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x42) go_to_target_pad(SPEED_RUN) @@ -1893,7 +1893,7 @@ u8 func0401_pilot[] = { // Seen player label(0x07) - say_quip(CHR_JOANNA, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) label(0x04) set_squadron_alertness(100) @@ -1934,16 +1934,16 @@ u8 func0401_pilot[] = { // GPS disabled label(0x04) - say_quip(CHR_JOANNA, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) goto_first(0x0b) label(0x07) - speak(TARGET_CHR, 0x162b, 0x7325, CHANNEL_7, COLOR_09_BLUE) // "Pull the plug on that now." + speak(CHR_TARGET, 0x162b, 0x7325, CHANNEL_7, COLOR_09_BLUE) // "Pull the plug on that now." set_stage_flag(STAGEFLAG_SAID_PULLTHEPLUG) goto_next(0x0c) label(0x08) - speak(TARGET_CHR, 0x162c, 0x7326, CHANNEL_7, COLOR_09_BLUE) // "Switch this thing off." + speak(CHR_TARGET, 0x162c, 0x7326, CHANNEL_7, COLOR_09_BLUE) // "Switch this thing off." set_stage_flag(STAGEFLAG_SAID_SWITCHTHINGOFF) goto_next(0x0c) @@ -1954,11 +1954,11 @@ u8 func0401_pilot[] = { label(0x07) set_self_flag_bankx(CHRFLAG0_08000000, BANK_0) if_stage_flag_eq(STAGEFLAG_SAID_SWITCHTHINGOFF, FALSE, /*goto*/ 0x07) - speak(TARGET_CHR, 0x162d, 0x128e, CHANNEL_6, COLOR_04_ORANGE) // "I'll shut it down." + speak(CHR_TARGET, 0x162d, 0x128e, CHANNEL_6, COLOR_04_ORANGE) // "I'll shut it down." goto_next(0x08) label(0x07) - speak(TARGET_CHR, 0x162e, 0x1280, CHANNEL_6, COLOR_04_ORANGE) // "Please don't hurt me." + speak(CHR_TARGET, 0x162e, 0x1280, CHANNEL_6, COLOR_04_ORANGE) // "Please don't hurt me." label(0x08) do_special_animation(-1) @@ -1999,7 +1999,7 @@ u8 func0401_pilot[] = { label(0x07) if_stage_flag_eq(STAGEFLAG_AUTOPILOT_DISABLED, TRUE, /*goto*/ 0x07) - message(TARGET_CHR, 0x160e) // "Autopilot system has been deactivated." + message(CHR_TARGET, 0x160e) // "Autopilot system has been deactivated." set_stage_flag(STAGEFLAG_TRIGGER_ANGRY_PILOT) yield yield @@ -2016,7 +2016,7 @@ u8 func0401_pilot[] = { goto_first(0x0b) label(0x07) - message(TARGET_CHR, 0x160f) // "GPS system has been deactivated." + message(CHR_TARGET, 0x160f) // "GPS system has been deactivated." set_stage_flag(STAGEFLAG_GPS_DISABLED) surrender goto_first(0x0b) @@ -2055,7 +2055,7 @@ u8 func1011_check_pilots_dead[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x07) - message(CHR_JOANNA, 0x161b) // "Critical mission personnel have been killed." + message(CHR_BOND, 0x161b) // "Critical mission personnel have been killed." set_stage_flag(STAGEFLAG_PILOT_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2111,7 +2111,7 @@ u8 func1012_choose_angry_pilot[] = { // Killed a pilot label(0x08) - message(CHR_JOANNA, 0x1623) // "Civilians have been killed." + message(CHR_BOND, 0x1623) // "Civilians have been killed." set_stage_flag(STAGEFLAG_JO_KILLED_A_PILOT) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2140,7 +2140,7 @@ u8 func0404_angry_pilot[] = { // Alive label(0x04) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) - speak(TARGET_CHR, 0x162f, 0x14dd, CHANNEL_7, COLOR_04_ORANGE) // "Die, you traitors." + speak(CHR_TARGET, 0x162f, 0x14dd, CHANNEL_7, COLOR_04_ORANGE) // "Die, you traitors." animation(ANIM_DRAW_PISTOL_0245, -1, 120, 0x0600, CHR_SELF, 3) try_draw_weapon(MODEL_CHRDY357, WEAPON_DY357MAGNUM, 0x00000000, /*goto*/ 0x6c) @@ -2185,11 +2185,11 @@ u8 func0404_angry_pilot[] = { label(0x04) call_rng if_rand_lt(128, /*goto*/ 0x3b) - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x3b) + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x3b) goto_next(0x00) label(0x3b) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) // Got target (other pilot or Jo) label(0x00) @@ -2464,7 +2464,7 @@ u8 func0415_elvis_at_start[] = { label(0x07) do_special_animation(-1) - speak(TARGET_CHR, 0x1620, 0x14dc, CHANNEL_6, COLOR_06_WHITE) // "You go on ahead, Jo. I'll secure the perimeter. We..." + speak(CHR_TARGET, 0x1620, 0x14dc, CHANNEL_6, COLOR_06_WHITE) // "You go on ahead, Jo. I'll secure the perimeter. We..." beginloop(0x0c) if_sound_finished(CHANNEL_6, /*goto*/ 0x07) @@ -2535,15 +2535,15 @@ u8 func0415_elvis_at_start[] = { go_to_target_pad(SPEED_WALK) beginloop(0x4c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0029, /*goto*/ 0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x002a, /*goto*/ 0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x002b, /*goto*/ 0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0030, /*goto*/ 0x04) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x07) - if_chr_in_room(CHR_VELVET, 0x00, 0x0029, /*goto*/ 0x04) - if_chr_in_room(CHR_VELVET, 0x00, 0x002a, /*goto*/ 0x04) - if_chr_in_room(CHR_VELVET, 0x00, 0x002b, /*goto*/ 0x04) - if_chr_in_room(CHR_VELVET, 0x00, 0x0030, /*goto*/ 0x04) + if_chr_in_room(CHR_BOND, 0x00, 0x0029, /*goto*/ 0x04) + if_chr_in_room(CHR_BOND, 0x00, 0x002a, /*goto*/ 0x04) + if_chr_in_room(CHR_BOND, 0x00, 0x002b, /*goto*/ 0x04) + if_chr_in_room(CHR_BOND, 0x00, 0x0030, /*goto*/ 0x04) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x07) + if_chr_in_room(CHR_COOP, 0x00, 0x0029, /*goto*/ 0x04) + if_chr_in_room(CHR_COOP, 0x00, 0x002a, /*goto*/ 0x04) + if_chr_in_room(CHR_COOP, 0x00, 0x002b, /*goto*/ 0x04) + if_chr_in_room(CHR_COOP, 0x00, 0x0030, /*goto*/ 0x04) label(0x07) goto_next(0x10) @@ -2601,7 +2601,7 @@ u8 func0416_elvis_leading[] = { // Injured label(0x07) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) beginloop(0x3a) if_chr_stopped(/*goto*/ 0x04) @@ -2643,20 +2643,20 @@ u8 func0416_elvis_leading[] = { call_rng if_rand_lt(85, /*goto*/ 0x3b) if_rand_lt(170, /*goto*/ 0x3c) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) goto_next(0x07) label(0x3b) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) goto_next(0x07) label(0x3c) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) label(0x07) set_onshot_function(FUNC_ELVIS_LEADING) set_return_function(CHR_SELF, FUNC_ELVIS_LEADING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2668,7 +2668,7 @@ u8 func101c_check_elvis_dead[] = { endloop(0x00) label(0x07) - message(CHR_JOANNA, 0x1621) // "Elvis has been killed." + message(CHR_BOND, 0x1621) // "Elvis has been killed." set_stage_flag(STAGEFLAG_ELVIS_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2817,7 +2817,7 @@ u8 func101d_alarm_switches[] = { label(0x07) deactivate_alarm - message(CHR_JOANNA, 0x1626) // "Alarm has been deactivated." + message(CHR_BOND, 0x1626) // "Alarm has been deactivated." goto_next(0x0c) label(0x0c) diff --git a/src/files/setup/setupdepo.c b/src/files/setup/setupdepo.c index c540b6927..a18755416 100644 --- a/src/files/setup/setupdepo.c +++ b/src/files/setup/setupdepo.c @@ -19,45 +19,44 @@ #define CHR_INTRO_VICTIM 0x1d // Objects -#define OBJ_GENERATOR 0x01 -#define OBJ_LASERSWITCH1 0x03 -#define OBJ_LASERSWITCH2 0x04 -#define OBJ_LASERSWITCH3 0x05 -#define OBJ_LASERSWITCH4 0x06 -#define OBJ_SAFEDOOR 0x0b -#define OBJ_BACKUPDISK 0x0c -#define OBJ_KEYCARD1 0x0e -#define OBJ_KEYCARD2 0x0f -#define OBJ_DECODER 0x10 -#define OBJ_SAFEKEYPAD 0x11 -#define OBJ_ALARM1 0x12 -#define OBJ_ALARM2 0x13 -#define OBJ_ESCAPEDOOR1 0x18 -#define OBJ_ESCAPEDOOR2 0x1b -#define OBJ_LASER_1A 0x22 -#define OBJ_LASER_1B 0x23 -#define OBJ_LASER_1C 0x24 -#define OBJ_LASER_1D 0x25 -#define OBJ_LASER_2A 0x26 -#define OBJ_LASER_2B 0x27 -#define OBJ_LASER_2C 0x28 -#define OBJ_LASER_2D 0x29 -#define OBJ_LASER_3A 0x2a -#define OBJ_LASER_3B 0x2b -#define OBJ_LASER_3C 0x2c -#define OBJ_LASER_3D 0x2d -#define OBJ_LASER_4A 0x2e -#define OBJ_LASER_4B 0x2f -#define OBJ_LASER_4C 0x30 -#define OBJ_LASER_4D 0x31 -#define OBJ_MINE1 0x38 -#define OBJ_MINE2 0x39 -#define OBJ_NBOMB_CRATE 0x3c -#define OBJ_LIGHTSWITCH 0x3d -#define OBJ_CROSSBOW 0x3e -#define OBJ_CMP150_JOANNA 0x47 -#define OBJ_CMP150_VELVET 0x48 - +#define OBJ_GENERATOR 0x01 +#define OBJ_LASERSWITCH1 0x03 +#define OBJ_LASERSWITCH2 0x04 +#define OBJ_LASERSWITCH3 0x05 +#define OBJ_LASERSWITCH4 0x06 +#define OBJ_SAFEDOOR 0x0b +#define OBJ_BACKUPDISK 0x0c +#define OBJ_KEYCARD1 0x0e +#define OBJ_KEYCARD2 0x0f +#define OBJ_DECODER 0x10 +#define OBJ_SAFEKEYPAD 0x11 +#define OBJ_ALARM1 0x12 +#define OBJ_ALARM2 0x13 +#define OBJ_ESCAPEDOOR1 0x18 +#define OBJ_ESCAPEDOOR2 0x1b +#define OBJ_LASER_1A 0x22 +#define OBJ_LASER_1B 0x23 +#define OBJ_LASER_1C 0x24 +#define OBJ_LASER_1D 0x25 +#define OBJ_LASER_2A 0x26 +#define OBJ_LASER_2B 0x27 +#define OBJ_LASER_2C 0x28 +#define OBJ_LASER_2D 0x29 +#define OBJ_LASER_3A 0x2a +#define OBJ_LASER_3B 0x2b +#define OBJ_LASER_3C 0x2c +#define OBJ_LASER_3D 0x2d +#define OBJ_LASER_4A 0x2e +#define OBJ_LASER_4B 0x2f +#define OBJ_LASER_4C 0x30 +#define OBJ_LASER_4D 0x31 +#define OBJ_MINE1 0x38 +#define OBJ_MINE2 0x39 +#define OBJ_NBOMB_CRATE 0x3c +#define OBJ_LIGHTSWITCH 0x3d +#define OBJ_CROSSBOW 0x3e +#define OBJ_CMP150_BOND 0x47 +#define OBJ_CMP150_COOP 0x48 // Stage flags #define STAGEFLAG_CLOAK1_ONE_REMAINING 0x00000002 #define STAGEFLAG_CLOAK2_ONE_REMAINING 0x00000004 @@ -318,11 +317,11 @@ u8 props[] = { tag(OBJ_SAFEDOOR, 1) door(0x0100, MODEL_G5SAFEDOOR, 0x00c2, 0x10000010, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x005a0000, 0x03e80000, 0x00500000, 0x00500000, 0x00001999, 0x00000005, 0x00000040, 0x00000e10, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000) - tag(OBJ_CMP150_JOANNA, 1) + tag(OBJ_CMP150_BOND, 1) weapon(0x0100, MODEL_CHRCMP150, 0xffff, 0x40000000, 0x00000000, 0x00400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000) rename_object(-1, 0x0022, 0x1842, 0x1843, 0x1844, 0x1845, 0x1846, 0x0000, 0x0000) // "" - tag(OBJ_CMP150_VELVET, 1) + tag(OBJ_CMP150_COOP, 1) weapon(0x0100, MODEL_CHRCMP150, 0xffff, 0x40000000, 0x00000000, 0x00400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REMOTEMINE, 0x00ffffff, 0x00000000) rename_object(-1, 0x0022, 0x1842, 0x1843, 0x1844, 0x1845, 0x1846, 0x0000, 0x0000) // "" @@ -542,7 +541,7 @@ u8 func1008_check_generator[] = { // Destroyed mute_channel(CHANNEL_4) if_difficulty_lt(DIFF_PA, /*goto*/ 0x06) - message(CHR_JOANNA, 0x1818) // "Mission critical object destroyed." + message(CHR_BOND, 0x1818) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_GENERATOR_DESTROYED) label(0x06) set_function(CHR_SELF, GFUNC_IDLE) @@ -579,7 +578,7 @@ u8 func1003_laser_switch_1[] = { if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH1, /*goto*/ 0x08) if_object_in_good_condition(OBJ_LASERSWITCH1, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_LASERSET1_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1818) // "Mission critical object destroyed." + message(CHR_BOND, 0x1818) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_LASERSWITCH1_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -645,7 +644,7 @@ u8 func1004_laser_switch_2[] = { if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH2, /*goto*/ 0x08) if_object_in_good_condition(OBJ_LASERSWITCH2, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_LASERSET2_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1818) // "Mission critical object destroyed." + message(CHR_BOND, 0x1818) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_LASERSWITCH2_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -712,7 +711,7 @@ u8 func1005_laser_switch_3[] = { if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH3, /*goto*/ 0x08) if_object_in_good_condition(OBJ_LASERSWITCH3, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_LASERSET3_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1818) // "Mission critical object destroyed." + message(CHR_BOND, 0x1818) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_LASERSWITCH3_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -778,7 +777,7 @@ u8 func1006_laser_switch_4[] = { if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH4, /*goto*/ 0x08) if_object_in_good_condition(OBJ_LASERSWITCH4, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_LASERSET4_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1818) // "Mission critical object destroyed." + message(CHR_BOND, 0x1818) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_LASERSWITCH4_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -873,7 +872,7 @@ u8 func1007_init_lasers[] = { if_stage_flag_eq(STAGEFLAG_LASERSET3_DISABLED, FALSE, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_LASERSET4_DISABLED, FALSE, /*goto*/ 0x2c) if_stage_flag_eq(STAGEFLAG_ALL_LASERS_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x181d) // "All laser grid systems shut down." + message(CHR_BOND, 0x181d) // "All laser grid systems shut down." set_stage_flag(STAGEFLAG_ALL_LASERS_DISABLED) label(0x2c) endloop(0x04) @@ -1155,9 +1154,9 @@ u8 func100a_give_keycards[] = { // Wait for the chr who holds the keycard to die beginloop(0x55) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x08) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2c) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2c) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x08) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2c) endloop(0x55) label(0x2c) @@ -1230,12 +1229,12 @@ u8 func1002_set_ai[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) // On counterop SA and PA, give Joanna a CMP150 if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) - give_object_to_chr(OBJ_CMP150_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_CMP150_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_CMP150_BOND, CHR_BOND) + give_object_to_chr(OBJ_CMP150_COOP, CHR_COOP) label(0x06) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction @@ -1268,7 +1267,7 @@ u8 func100e_check_conspirators_alerted[] = { set_function(CHR_CASS, FUNC_RUN_FROM_MEETING) set_function(0x1c, FUNC_RUN_FROM_MEETING) // chr doesn't exist set_function(CHR_BLONDE, FUNC_RUN_FROM_MEETING) - message(CHR_JOANNA, 0x1829) // "Conspirators have been alerted." + message(CHR_BOND, 0x1829) // "Conspirators have been alerted." // Wait until alarm not active label(0x06) @@ -1316,7 +1315,7 @@ u8 func1010_safe_cracking[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) if_object_in_good_condition(OBJ_SAFEKEYPAD, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1840) // "Mission critical object destroyed." + message(CHR_BOND, 0x1840) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_SAFEKEYPAD_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -1342,7 +1341,7 @@ u8 func1010_safe_cracking[] = { endloop(0x09) label(0x06) - speak(CHR_JOANNA, 0x1826, 0x7754, CHANNEL_5, COLOR_00_GREEN) // "INTRUDER ALERT - all security to the vault." + speak(CHR_BOND, 0x1826, 0x7754, CHANNEL_5, COLOR_00_GREEN) // "INTRUDER ALERT - all security to the vault." play_x_music(CHANNEL_10, 180) yield set_countdown_timer(60) @@ -1361,7 +1360,7 @@ u8 func1010_safe_cracking[] = { beginloop(0x08) if_object_in_good_condition(OBJ_SAFEKEYPAD, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x1840) // "Mission critical object destroyed." + message(CHR_BOND, 0x1840) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_SAFEKEYPAD_DESTROYED) hide_countdown_timer set_function(CHR_SELF, GFUNC_IDLE) @@ -1402,14 +1401,14 @@ 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_JOANNA) + set_invincible(CHR_BOND) yield yield - revoke_control(CHR_JOANNA, 4) + revoke_control(CHR_BOND, 4) hide_countdown_timer stop_countdown_timer if_all_objectives_complete(/*goto*/ 0x53) - message(CHR_JOANNA, 0x1833) // "Objectives incomplete - MISSION FAILED." + message(CHR_BOND, 0x1833) // "Objectives incomplete - MISSION FAILED." label(0x2c) restart_timer @@ -1423,15 +1422,15 @@ u8 func1012_check_for_end[] = { // Objectives complete label(0x53) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_dying(CHR_BOND, /*goto*/ 0x2c) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) @@ -1550,15 +1549,15 @@ u8 func1017_check_lasers_closed[] = { }; u8 func040d_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_INTRO) camera_movement(0x0165) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0166, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0166, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_HIDDEN) @@ -1566,7 +1565,7 @@ u8 func040d_intro[] = { animation(0x0167, -1, -1, 0x0600, CHR_INTRO_VICTIM, 4) restart_timer - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SILENCER, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SILENCER, WEAPON_NONE) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -1764,11 +1763,11 @@ u8 func040d_intro[] = { endloop(0x08) label(0x54) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0166, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0166, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_INTRO_VICTIM, CHRFLAG2_00020000) @@ -1803,8 +1802,8 @@ u8 func040d_intro[] = { u8 func040e_meeting_cutscene[] = { deactivate_alarm - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_MIDCUTSCENE) camera_movement(0x0191) set_stage_flag(STAGEFLAG_MEETING_STARTED) @@ -1839,13 +1838,13 @@ u8 func040e_meeting_cutscene[] = { endloop(0x55) label(0x06) - speak(CHR_JOANNA, 0x1848, 0x740c, CHANNEL_5, COLOR_04_ORANGE) // "We've recovered the sapient from Carrington and al..." + speak(CHR_BOND, 0x1848, 0x740c, CHANNEL_5, COLOR_04_ORANGE) // "We've recovered the sapient from Carrington and al..." wait_until(752, 0x56) play_sound(0x0161, CHANNEL_6) wait_until(760, 0x57) - speak(CHR_JOANNA, 0x1849, 0x740d, CHANNEL_7, COLOR_03_RED) // "This will reduce its efficiency. My team will have..." + speak(CHR_BOND, 0x1849, 0x740d, CHANNEL_7, COLOR_03_RED) // "This will reduce its efficiency. My team will have..." wait_until(813, 0x58) play_sound(0x0162, CHANNEL_6) @@ -1872,7 +1871,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0593, CHANNEL_6) wait_until(1684, 0x5d) - speak(CHR_JOANNA, 0x184a, 0x740e, CHANNEL_5, COLOR_04_ORANGE) // "No one could have predicted that! And I resent bei..." + speak(CHR_BOND, 0x184a, 0x740e, CHANNEL_5, COLOR_04_ORANGE) // "No one could have predicted that! And I resent bei..." wait_until(1780, 0x5e) play_sound_from_object2(CHANNEL_6, 0x3a, 0x01d5, 0x00, 0x00) @@ -1897,7 +1896,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0161, CHANNEL_7) wait_until(2316, 0x65) - speak(CHR_JOANNA, 0x184b, 0x740f, CHANNEL_7, COLOR_03_RED) // "The President turned down your request for the loa..." + speak(CHR_BOND, 0x184b, 0x740f, CHANNEL_7, COLOR_03_RED) // "The President turned down your request for the loa..." wait_until(2342, 0x67) play_sound(0x0162, CHANNEL_6) @@ -1931,7 +1930,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0161, CHANNEL_5) wait_until(2692, 0x6f) - speak(CHR_JOANNA, 0x184c, 0x7410, CHANNEL_7, COLOR_03_RED) // "Could it be you overestimated your influence over ..." + speak(CHR_BOND, 0x184c, 0x7410, CHANNEL_7, COLOR_03_RED) // "Could it be you overestimated your influence over ..." wait_until(2705, 0x72) play_sound(0x0161, CHANNEL_6) @@ -1955,7 +1954,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0163, CHANNEL_5) wait_until(3048, 0x79) - speak(CHR_JOANNA, 0x184d, 0x7411, CHANNEL_7, COLOR_05_GREEN) // "No! Perhaps I underestimated his resolve. We have ..." + speak(CHR_BOND, 0x184d, 0x7411, CHANNEL_7, COLOR_05_GREEN) // "No! Perhaps I underestimated his resolve. We have ..." wait_until(3186, 0x7a) play_sound(0x0164, CHANNEL_6) @@ -1982,7 +1981,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0162, CHANNEL_6) wait_until(4070, 0x82) - speak(CHR_JOANNA, 0x184e, 0x7412, CHANNEL_7, COLOR_04_ORANGE) // "Ha! Assuming you don't get any interference. If Ca..." + speak(CHR_BOND, 0x184e, 0x7412, CHANNEL_7, COLOR_04_ORANGE) // "Ha! Assuming you don't get any interference. If Ca..." wait_until(4312, 0x84) play_sound(0x0163, CHANNEL_6) @@ -2000,7 +1999,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0161, CHANNEL_7) wait_until(4560, 0x83) - speak(CHR_JOANNA, 0x184f, 0x7413, CHANNEL_5, COLOR_05_GREEN) // "There will be no outside help for Mr. Carrington. ..." + speak(CHR_BOND, 0x184f, 0x7413, CHANNEL_5, COLOR_05_GREEN) // "There will be no outside help for Mr. Carrington. ..." wait_until(4636, 0x89) play_sound(0x0163, CHANNEL_7) @@ -2009,7 +2008,7 @@ u8 func040e_meeting_cutscene[] = { play_sound(0x0164, CHANNEL_7) wait_until(5272, 0x8b) - speak(CHR_JOANNA, 0x1850, 0x7414, CHANNEL_5, COLOR_03_RED) // "Then the devices we gave you are working correctly..." + speak(CHR_BOND, 0x1850, 0x7414, CHANNEL_5, COLOR_03_RED) // "Then the devices we gave you are working correctly..." wait_until(5360, 0x8c) play_sound(0x0163, CHANNEL_6) @@ -2037,8 +2036,8 @@ u8 func040e_meeting_cutscene[] = { mute_channel(CHANNEL_7) mute_channel(CHANNEL_6) mute_channel(CHANNEL_5) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) restart_timer label(0x06) set_function(CHR_CASS, FUNC_WALK_FROM_MEETING) @@ -2073,7 +2072,7 @@ u8 func040f_outro_from_menu[] = { u8 func040f_outro[] = { camera_movement(0x0196) set_music_track(MUSIC_G5_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) @@ -2543,7 +2542,7 @@ u8 func101d_init_mines[] = { set_object_flag_bank1(OBJ_MINE2, OBJECTFLAG1_INVISIBLE) unset_object_flag_bank0(OBJ_MINE1, OBJECTFLAG0_00000100) unset_object_flag_bank0(OBJ_MINE2, OBJECTFLAG0_00000100) - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) label(0x06) if_eeprom_flag_is_unset(EEPROMFLAG_G5_MINE, /*goto*/ 0x06) @@ -2885,10 +2884,10 @@ u8 unregistered_function[] = { u8 func1026_unlock_doors[] = { // If Velvet and counter op don't exist, return yield - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) goto_next(0x04) label(0x2c) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x0a) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x0a) // Wait until some door is not closed (so... opening, I guess?) beginloop(0x04) diff --git a/src/files/setup/setupdish.c b/src/files/setup/setupdish.c index 135f371ac..d5e7fee38 100644 --- a/src/files/setup/setupdish.c +++ b/src/files/setup/setupdish.c @@ -792,7 +792,7 @@ u8 func0428_colleague10[] = { u8 func1001_set_jo_team[] = { yield - set_chr_team(CHR_JOANNA, TEAM_32) + set_chr_team(CHR_BOND, TEAM_32) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -826,14 +826,14 @@ u8 func1002_devicetraining_camspy[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, OBJ_CAMSPY, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_CAMSPY, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -843,13 +843,13 @@ u8 func1002_devicetraining_camspy[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_CAMSPY, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_CAMSPY, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c39) // "Select the CamSpy. - Hold A Button. - Use Control Stick to change selection. - Highlight CamSpy and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_CAMSPY, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_CAMSPY, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -870,7 +870,7 @@ u8 func1002_devicetraining_camspy[] = { label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c16) // "Info Room PC successfully holographed." + message(CHR_BOND, 0x1c16) // "Info Room PC successfully holographed." restart_timer beginloop(0x0c) @@ -888,7 +888,7 @@ u8 func1002_devicetraining_camspy[] = { set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) set_eeprom_flag(EEPROMFLAG_CI_CAMSPY_DONE) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) set_stage_flag(STAGEFLAG_CONSIDER_WARP) unlock_door(0x31, 0x40) @@ -938,15 +938,15 @@ u8 func1003_devicetraining_nightvision[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x27, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x27, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -956,13 +956,13 @@ u8 func1003_devicetraining_nightvision[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_NIGHTVISION, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3a) // "Select the Night Vision. - Hold A Button. - Use Control Stick to change selection. - Highlight Night Vision and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_NIGHTVISION, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -975,9 +975,9 @@ u8 func1003_devicetraining_nightvision[] = { beginloop(0x82) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -997,7 +997,7 @@ u8 func1003_devicetraining_nightvision[] = { set_lights_state(0x0026, 0x01, 0xff, 0x00, 0x00) set_lights_state(0x0022, 0x01, 0xff, 0x00, 0x00) remove_displayed_text - message(CHR_JOANNA, 0x1c17) // "Lights have been reactivated." + message(CHR_BOND, 0x1c17) // "Lights have been reactivated." restart_timer beginloop(0x0d) @@ -1023,7 +1023,7 @@ u8 func1003_devicetraining_nightvision[] = { set_lights_state(0x0022, 0x01, 0xff, 0x00, 0x00) yield label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -1071,15 +1071,15 @@ u8 func1004_devicetraining_doordecoder[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x28, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x28, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1089,13 +1089,13 @@ u8 func1004_devicetraining_doordecoder[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DOORDECODER, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3b) // "Select the Door Decoder. - Hold A Button. - Use Control Stick to change selection. - Highlight Door Decoder and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DOORDECODER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1103,7 +1103,7 @@ u8 func1004_devicetraining_doordecoder[] = { goto_first(0x8d) label(0x2f) - if_chr_activated_object(CHR_JOANNA, 0x35, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x35, /*goto*/ 0x2f) label(0x2f) remove_displayed_text display_text(0x01, COLOR_04_ORANGE, 0x1c19) // "Use Decoder on door pad to unlock it." @@ -1113,20 +1113,20 @@ u8 func1004_devicetraining_doordecoder[] = { if_door_state(0x31, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) - if_chr_activated_object(CHR_JOANNA, 0x35, /*goto*/ 0x09) + if_chr_activated_object(CHR_BOND, 0x35, /*goto*/ 0x09) endloop(0x82) label(0x09) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DOORDECODER, /*goto*/ 0x06) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DOORDECODER, /*goto*/ 0x06) remove_displayed_text - message(CHR_JOANNA, 0x1c1a) // "You need to be holding the Door Decoder." + message(CHR_BOND, 0x1c1a) // "You need to be holding the Door Decoder." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1140,7 +1140,7 @@ u8 func1004_devicetraining_doordecoder[] = { label(0x06) remove_displayed_text - message(CHR_JOANNA, 0x1c1b) // "Decoder attached. Initiating cracking routines..." + message(CHR_BOND, 0x1c1b) // "Decoder attached. Initiating cracking routines..." unset_object_flag_bank1(0x88, OBJECTFLAG1_INVISIBLE) assign_sound(0x8144, CHANNEL_1) play_sound_from_object(CHANNEL_1, 0x35, 0x012c, 0x0190) @@ -1148,9 +1148,9 @@ u8 func1004_devicetraining_doordecoder[] = { beginloop(0x0c) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1164,15 +1164,15 @@ u8 func1004_devicetraining_doordecoder[] = { assign_sound(0x8145, CHANNEL_1) control_sound_from_object(CHANNEL_1, 0x35, TRUE) remove_displayed_text - message(CHR_JOANNA, 0x1c1c) // "Decoding complete. Door has been unlocked." + message(CHR_BOND, 0x1c1c) // "Decoding complete. Door has been unlocked." unlock_door(0x41, 0x40) restart_timer beginloop(0x0d) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1193,7 +1193,7 @@ u8 func1004_devicetraining_doordecoder[] = { set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) unset_object_flag_bank1(0x88, OBJECTFLAG1_INVISIBLE) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) mute_channel(CHANNEL_1) unlock_door(0x31, 0x40) @@ -1229,9 +1229,9 @@ u8 func1005_devicetraining_xray[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1243,7 +1243,7 @@ u8 func1005_devicetraining_xray[] = { restart_timer beginloop(0x86) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) set_object_flag_bank0(0x38, OBJECTFLAG0_02000000) set_object_flag_bank0(0x39, OBJECTFLAG0_02000000) goto_next(0x30) @@ -1253,15 +1253,15 @@ u8 func1005_devicetraining_xray[] = { unset_object_flag_bank0(0x39, OBJECTFLAG0_02000000) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x29, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x29, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1270,13 +1270,13 @@ u8 func1005_devicetraining_xray[] = { label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3c) // "Select the X-Ray Scanner. - Hold A Button. - Use Control Stick to change selection. - Highlight X-Ray Scanner and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1285,19 +1285,19 @@ u8 func1005_devicetraining_xray[] = { label(0x2f) remove_displayed_text - message(CHR_JOANNA, 0x1c24) // "Find hidden switches to shut down laser grid." + message(CHR_BOND, 0x1c24) // "Find hidden switches to shut down laser grid." beginloop(0x82) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) set_object_flag_bank0(0x38, OBJECTFLAG0_02000000) set_object_flag_bank0(0x39, OBJECTFLAG0_02000000) goto_next(0x30) @@ -1306,14 +1306,14 @@ u8 func1005_devicetraining_xray[] = { unset_object_flag_bank0(0x38, OBJECTFLAG0_02000000) unset_object_flag_bank0(0x39, OBJECTFLAG0_02000000) label(0x30) - if_chr_activated_object(CHR_JOANNA, 0x38, /*goto*/ 0x5b) - if_chr_activated_object(CHR_JOANNA, 0x39, /*goto*/ 0x5c) + if_chr_activated_object(CHR_BOND, 0x38, /*goto*/ 0x5b) + if_chr_activated_object(CHR_BOND, 0x39, /*goto*/ 0x5c) endloop(0x82) label(0x5b) if_object_flag_bank1(0x38, OBJECTFLAG1_00000001, /*goto*/ 0x87) remove_displayed_text - message(CHR_JOANNA, 0x1c29) // "Laser Grid 1 has been deactivated." + message(CHR_BOND, 0x1c29) // "Laser Grid 1 has been deactivated." set_object_image(0x38, 0x00, 0x12) set_object_flag_bank1(0x38, OBJECTFLAG1_00000001) open_door(0x3a) @@ -1322,9 +1322,9 @@ u8 func1005_devicetraining_xray[] = { beginloop(0x89) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x85) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x85) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x85) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x85) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x85) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x85) if_timer_gt(60, /*goto*/ 0x06) endloop(0x89) @@ -1332,7 +1332,7 @@ u8 func1005_devicetraining_xray[] = { if_object_flag_bank1(0x39, OBJECTFLAG1_00000001, /*goto*/ 0x88) set_object_image(0x39, 0x00, 0x12) remove_displayed_text - message(CHR_JOANNA, 0x1c2a) // "Laser Grid 2 has been deactivated." + message(CHR_BOND, 0x1c2a) // "Laser Grid 2 has been deactivated." set_object_flag_bank1(0x39, OBJECTFLAG1_00000001) open_door(0x3b) label(0x88) @@ -1340,9 +1340,9 @@ u8 func1005_devicetraining_xray[] = { beginloop(0x8a) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1376,14 +1376,14 @@ u8 func1005_devicetraining_xray[] = { label(0x2f) remove_displayed_text - message(CHR_JOANNA, 0x1c25) // "All laser grids have been deactivated." + message(CHR_BOND, 0x1c25) // "All laser grids have been deactivated." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1403,7 +1403,7 @@ u8 func1005_devicetraining_xray[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -1424,7 +1424,7 @@ u8 func1006_devicetraining_disguise[] = { endloop(0x08) label(0x81) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) unset_stage_flag(STAGEFLAG_DISGUISE_FAILED) unset_stage_flag(STAGEFLAG_DISGUISE_COMPLETE) lock_door(0x31, 0x40) @@ -1440,9 +1440,9 @@ u8 func1006_devicetraining_disguise[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1456,14 +1456,14 @@ u8 func1006_devicetraining_disguise[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2a, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2a, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1473,14 +1473,14 @@ u8 func1006_devicetraining_disguise[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3d) // "Select the Disguise. - Hold A Button. - Use Control Stick to change selection. - Highlight Disguise and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1502,14 +1502,14 @@ u8 func1006_devicetraining_disguise[] = { label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c28) // "Cloaking Device successfully retrieved." + message(CHR_BOND, 0x1c28) // "Cloaking Device successfully retrieved." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1520,7 +1520,7 @@ u8 func1006_devicetraining_disguise[] = { label(0x0a) remove_displayed_text - message(CHR_JOANNA, 0x1c2f) // "You're meant to use the Disguise, remember?" + message(CHR_BOND, 0x1c2f) // "You're meant to use the Disguise, remember?" restart_timer beginloop(0x0f) @@ -1540,7 +1540,7 @@ u8 func1006_devicetraining_disguise[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -1568,7 +1568,7 @@ u8 func1007_devicetrainign_ir[] = { endloop(0x08) label(0x81) - if_chr_activated_object(CHR_JOANNA, 0x37, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x37, /*goto*/ 0x2f) label(0x2f) lock_door(0x31, 0x40) lock_door(0x8a, 0x40) @@ -1582,9 +1582,9 @@ u8 func1007_devicetrainign_ir[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1596,21 +1596,21 @@ u8 func1007_devicetrainign_ir[] = { restart_timer beginloop(0x86) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) set_object_flag_bank0(0x37, OBJECTFLAG0_02000000) goto_next(0x30) label(0x2f) unset_object_flag_bank0(0x37, OBJECTFLAG0_02000000) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2b, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2b, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1620,12 +1620,12 @@ u8 func1007_devicetrainign_ir[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3e) // "Select the IR Scanner. - Hold A Button. - Use Control Stick to change selection. - Highlight IR Scanner and release A Button." restart_timer beginloop(0x8e) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) set_object_flag_bank0(0x37, OBJECTFLAG0_02000000) goto_next(0x30) @@ -1633,7 +1633,7 @@ u8 func1007_devicetrainign_ir[] = { unset_object_flag_bank0(0x37, OBJECTFLAG0_02000000) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1645,7 +1645,7 @@ u8 func1007_devicetrainign_ir[] = { display_text(0x01, COLOR_04_ORANGE, 0x1c21) // "Locate secret door using IR Scanner." beginloop(0x82) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_IRSCANNER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) set_object_flag_bank0(0x37, OBJECTFLAG0_02000000) goto_next(0x30) label(0x2f) @@ -1655,19 +1655,19 @@ u8 func1007_devicetrainign_ir[] = { if_door_state(0x31, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) - if_chr_activated_object(CHR_JOANNA, 0x37, /*goto*/ 0x09) + if_chr_activated_object(CHR_BOND, 0x37, /*goto*/ 0x09) endloop(0x82) label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c22) // "Secret door has been successfully located." + message(CHR_BOND, 0x1c22) // "Secret door has been successfully located." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1687,7 +1687,7 @@ u8 func1007_devicetrainign_ir[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -1720,9 +1720,9 @@ u8 func1008_devicetraining_rtracker[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1735,15 +1735,15 @@ u8 func1008_devicetraining_rtracker[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2c, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2c, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1753,13 +1753,13 @@ u8 func1008_devicetraining_rtracker[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_RTRACKER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_RTRACKER, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c3f) // "Select the Tracker. - Hold A Button. - Use Control Stick to change selection. - Highlight Tracker and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_RTRACKER, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_RTRACKER, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1780,19 +1780,19 @@ u8 func1008_devicetraining_rtracker[] = { if_door_state(0x31, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x8a, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) if_door_state(0x89, (DOORSTATEBIT_OPEN | DOORSTATEBIT_OPENING), /*goto*/ 0x85) - if_chr_has_object(CHR_JOANNA, 0x36, /*goto*/ 0x09) + if_chr_has_object(CHR_BOND, 0x36, /*goto*/ 0x09) endloop(0x82) label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c1f) // "IR Scanner has been successfully located." + message(CHR_BOND, 0x1c1f) // "IR Scanner has been successfully located." restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1812,7 +1812,7 @@ u8 func1008_devicetraining_rtracker[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -1851,9 +1851,9 @@ u8 func1009_devicetraining_cloak[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1868,15 +1868,15 @@ u8 func1009_devicetraining_cloak[] = { if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_stage_flag_eq(STAGEFLAG_CLOAK_COMPLETE, TRUE, /*goto*/ 0x09) if_stage_flag_eq(STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x0a) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2d, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2d, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -1887,7 +1887,7 @@ u8 func1009_devicetraining_cloak[] = { set_function(CHR_CARRINGTON, FUNC_CARRINGTON_CLOAK) label(0x8d) remove_displayed_text - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c40) // "Select the Cloaking Device. - Hold A Button. - Use Control Stick to change selection. - Highlight Device and release A Button." restart_timer @@ -1895,7 +1895,7 @@ u8 func1009_devicetraining_cloak[] = { if_stage_flag_eq(STAGEFLAG_CLOAK_COMPLETE, TRUE, /*goto*/ 0x09) if_stage_flag_eq(STAGEFLAG_CLOAK_FAILED, TRUE, /*goto*/ 0x0a) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_CLOAKINGDEVICE, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -1917,14 +1917,14 @@ u8 func1009_devicetraining_cloak[] = { label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c36) // "Mission complete - Device Training passed!" + message(CHR_BOND, 0x1c36) // "Mission complete - Device Training passed!" restart_timer beginloop(0x0e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -1934,14 +1934,14 @@ u8 func1009_devicetraining_cloak[] = { label(0x0a) remove_displayed_text - message(CHR_JOANNA, 0x1c37) // "Mission failed - you have been detected." + message(CHR_BOND, 0x1c37) // "Mission failed - you have been detected." restart_timer beginloop(0x0f) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -1961,7 +1961,7 @@ u8 func1009_devicetraining_cloak[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -2000,9 +2000,9 @@ u8 func100a_devicetraining_ecmmine[] = { close_door(0x31) close_door(0x8a) close_door(0x89) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -2015,15 +2015,15 @@ u8 func100a_devicetraining_ecmmine[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2e, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2e, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -2033,13 +2033,13 @@ u8 func100a_devicetraining_ecmmine[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_ECMMINE, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_ECMMINE, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c41) // "Select the ECM Mine. - Hold A Button. - Use Control Stick to change selection. - Highlight ECM Mine and release A Button." restart_timer beginloop(0x8e) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_ECMMINE, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_ECMMINE, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -2052,15 +2052,15 @@ u8 func100a_devicetraining_ecmmine[] = { beginloop(0x82) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0x2f) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_ECM_MINE, 1, /*goto*/ 0x2f) endloop(0x82) label(0x2f) @@ -2083,7 +2083,7 @@ u8 func100a_devicetraining_ecmmine[] = { label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c13) // "ECM Mine has been placed correctly." + message(CHR_BOND, 0x1c13) // "ECM Mine has been placed correctly." restart_timer beginloop(0x0c) @@ -2093,7 +2093,7 @@ u8 func100a_devicetraining_ecmmine[] = { label(0x0a) remove_displayed_text - message(CHR_JOANNA, 0x1c12) // "ECM Mine has been placed incorrectly." + message(CHR_BOND, 0x1c12) // "ECM Mine has been placed incorrectly." restart_timer beginloop(0x0d) @@ -2112,7 +2112,7 @@ u8 func100a_devicetraining_ecmmine[] = { yield set_stage_flag(STAGEFLAG_TRIGGER_DEVICE_SUCCESS) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -2148,9 +2148,9 @@ u8 func100b_devicetraining_uplink[] = { close_door(0x8a) close_door(0x89) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x8c) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x8c) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x8c) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x8c) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x8c) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x8c) label(0x8c) remove_displayed_text display_text(0x01, COLOR_04_ORANGE, 0x1c0a) // "Collect Data Uplink from table to begin." @@ -2158,14 +2158,14 @@ u8 func100b_devicetraining_uplink[] = { beginloop(0x86) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) - if_chr_has_object(CHR_JOANNA, 0x2f, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, 0x2f, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x86) @@ -2175,20 +2175,20 @@ u8 func100b_devicetraining_uplink[] = { label(0x2f) label(0x8d) remove_displayed_text - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) display_text(0x01, COLOR_04_ORANGE, 0x1c38) // "Select the Uplink. - Hold A Button. - Use Control Stick to change selection. - Highlight Data Uplink and release A Button." restart_timer beginloop(0x8e) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) if_timer_gt(1200, /*goto*/ 0x06) endloop(0x8e) @@ -2196,17 +2196,17 @@ u8 func100b_devicetraining_uplink[] = { goto_first(0x8d) label(0x2f) - if_chr_activated_object(CHR_JOANNA, 0x30, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x30, /*goto*/ 0x2f) label(0x2f) remove_displayed_text display_text(0x01, COLOR_04_ORANGE, 0x1c0b) // "Stand next to the terminal and use the Uplink." beginloop(0x82) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x30, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x30, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -2215,23 +2215,23 @@ u8 func100b_devicetraining_uplink[] = { endloop(0x82) label(0x2f) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) play_sound(0x8116, -1) remove_displayed_text - message(CHR_JOANNA, 0x1c0c) // "You need to be holding the Data Uplink." + message(CHR_BOND, 0x1c0c) // "You need to be holding the Data Uplink." goto_first(0x82) label(0x2f) remove_displayed_text - message(CHR_JOANNA, 0x1c0d) // "Connection established..." + message(CHR_BOND, 0x1c0d) // "Connection established..." restart_timer label(0x08) yield if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -2242,17 +2242,17 @@ u8 func100b_devicetraining_uplink[] = { label(0x14) yield if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_timer_gt(400, /*goto*/ 0x06) - if_chr_distance_to_pad_gt(CHR_JOANNA, 400, 0x0227, /*goto*/ 0x09) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_distance_to_pad_gt(CHR_BOND, 400, 0x0227, /*goto*/ 0x09) + if_chr_weapon_equipped(CHR_BOND, WEAPON_DATAUPLINK, /*goto*/ 0x2f) goto_first(0x09) label(0x2f) @@ -2264,13 +2264,13 @@ u8 func100b_devicetraining_uplink[] = { assign_sound(0x01c1, CHANNEL_7) control_sound_from_object(CHANNEL_7, 0x30, TRUE) remove_displayed_text - message(TARGET_CHR, 0x1c0e) // "Terminal has been successfully hacked." + message(CHR_TARGET, 0x1c0e) // "Terminal has been successfully hacked." beginloop(0x15) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -2284,7 +2284,7 @@ u8 func100b_devicetraining_uplink[] = { label(0x09) remove_displayed_text - message(CHR_JOANNA, 0x1c0f) // "Connection broken - too far from PC." + message(CHR_BOND, 0x1c0f) // "Connection broken - too far from PC." mute_channel(CHANNEL_5) assign_sound(0x01c0, CHANNEL_6) control_sound_from_object(CHANNEL_6, 0x30, TRUE) @@ -2292,9 +2292,9 @@ u8 func100b_devicetraining_uplink[] = { beginloop(0x16) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) - if_chr_activated_object(CHR_JOANNA, 0x31, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x8a, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x89, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x8a, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x89, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -2320,7 +2320,7 @@ u8 func100b_devicetraining_uplink[] = { goto_next(0x84) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) unlock_door(0x31, 0x40) unlock_door(0x8a, 0x40) @@ -2361,7 +2361,7 @@ u8 func101a_move_jo_to_training_room[] = { label(0x06) unset_stage_flag(STAGEFLAG_CONSIDER_WARP) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x2f) goto_next(0x30) // In room @@ -2370,7 +2370,7 @@ u8 func101a_move_jo_to_training_room[] = { // Not in room label(0x30) - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 5000) restart_timer @@ -2380,11 +2380,11 @@ u8 func101a_move_jo_to_training_room[] = { endloop(0x08) label(0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0016, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0017, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0018, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0019, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0014, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0016, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0017, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0018, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0019, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0014, /*goto*/ 0x2f) enter_camera_and_move_to_pad(0x0151) set_function(CHR_P1P2, FUNC_MOVE_TO_DEVICEROOM) goto_next(0x06) @@ -2408,7 +2408,7 @@ u8 func101a_move_jo_to_training_room[] = { endloop(0x09) label(0x06) - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) enter_firstperson unset_stage_flag(STAGEFLAG_CONSIDER_WARP) goto_first(0x04) @@ -2493,7 +2493,7 @@ u8 func0429_grimshaw_disguise[] = { endloop(0x58) label(0x06) - speak(CHR_JOANNA, 0x1c2b, 0x1517, CHANNEL_6, COLOR_09_BLUE) // "I'm here to pick up the equipment." + speak(CHR_BOND, 0x1c2b, 0x1517, CHANNEL_6, COLOR_09_BLUE) // "I'm here to pick up the equipment." beginloop(0x59) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d) @@ -2509,9 +2509,9 @@ u8 func0429_grimshaw_disguise[] = { endloop(0x5b) label(0x06) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!" + speak(CHR_TARGET, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!" beginloop(0x5c) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d) @@ -2524,7 +2524,7 @@ u8 func0429_grimshaw_disguise[] = { label(0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c2d, 0x1519, CHANNEL_6, COLOR_05_GREEN) // "Here you go. Don't drop it now." + speak(CHR_TARGET, 0x1c2d, 0x1519, CHANNEL_6, COLOR_05_GREEN) // "Here you go. Don't drop it now." beginloop(0x5d) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x0d) @@ -2532,7 +2532,7 @@ u8 func0429_grimshaw_disguise[] = { endloop(0x5d) label(0x06) - give_object_to_chr(0x3c, CHR_JOANNA) + give_object_to_chr(0x3c, CHR_BOND) set_stage_flag(STAGEFLAG_DISGUISE_COMPLETE) label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) @@ -2549,7 +2549,7 @@ u8 func100c_cloak_detection[] = { 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_JOANNA, 200, 0x027b, /*goto*/ 0x06) + if_chr_distance_to_pad_lt(CHR_BOND, 200, 0x027b, /*goto*/ 0x06) endloop(0x8f) beginloop(0x5d) @@ -2572,7 +2572,7 @@ u8 func100c_cloak_detection[] = { label(0x06) dprint 'G','O','T','T','H','R','U',0, - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_CLOAKED, /*goto*/ 0x30) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_CLOAKED, /*goto*/ 0x30) activate_alarm yield restart_timer @@ -2584,8 +2584,8 @@ u8 func100c_cloak_detection[] = { label(0x06) set_stage_flag(STAGEFLAG_GENERAL_PURPOSE) - speak(TARGET_CHR, 0x1c30, 0x151a, CHANNEL_6, COLOR_05_GREEN) // "You'll have to do better than that, Joanna." - message(CHR_JOANNA, 0x1c32) // "You have been detected by the camera." + speak(CHR_TARGET, 0x1c30, 0x151a, CHANNEL_6, COLOR_05_GREEN) // "You'll have to do better than that, Joanna." + message(CHR_BOND, 0x1c32) // "You have been detected by the camera." restart_timer beginloop(0x0a) @@ -2675,7 +2675,7 @@ u8 func042a_carrington_cloak[] = { label(0x06) do_special_animation(-1) - speak(CHR_JOANNA, 0x1c31, 0x151b, CHANNEL_6, COLOR_06_WHITE) // "Joanna, where did you spring from?" + speak(CHR_BOND, 0x1c31, 0x151b, CHANNEL_6, COLOR_06_WHITE) // "Joanna, where did you spring from?" beginloop(0x59) if_sound_finished(CHANNEL_6, /*goto*/ 0x06) @@ -2690,7 +2690,7 @@ u8 func042a_carrington_cloak[] = { label(0x06) do_special_animation(-1) - speak(TARGET_CHR, 0x1c35, 0x151c, CHANNEL_6, COLOR_06_WHITE) // "I think we can safely say your training is now complete!" + speak(CHR_TARGET, 0x1c35, 0x151c, CHANNEL_6, COLOR_06_WHITE) // "I think we can safely say your training is now complete!" beginloop(0x5c) if_sound_finished(CHANNEL_6, /*goto*/ 0x06) @@ -2773,7 +2773,7 @@ u8 func100e_training_unlockables[] = { reloop(0x04) \ \ label(0x2f) \ - if_chr_distance_to_pad_lt(CHR_JOANNA, 350, pad, /*goto*/ 0x06) \ + if_chr_distance_to_pad_lt(CHR_BOND, 350, pad, /*goto*/ 0x06) \ close_door(door) \ reloop(0x04) \ \ @@ -2824,7 +2824,7 @@ u8 func1012_cloak_doorproxy[] = { if_stage_flag_eq(STAGEFLAG_TRIGGER_DEVICE_SUCCESS, TRUE, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_TRIGGER_DEVICE_FAILURE, TRUE, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 350, 0x0188, /*goto*/ 0x06) + if_chr_distance_to_pad_lt(CHR_BOND, 350, 0x0188, /*goto*/ 0x06) close_door(0x40) label(0x2f) endloop(0x04) @@ -2853,7 +2853,7 @@ u8 func101b_ir_door[] = { reloop(0x04) label(0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 350, 0x0192, /*goto*/ 0x06) + if_chr_distance_to_pad_lt(CHR_BOND, 350, 0x0192, /*goto*/ 0x06) close_door(0x37) endloop(0x04) @@ -2951,7 +2951,7 @@ u8 func042c_carrington_tour[] = { set_eeprom_flag(EEPROMFLAG_CI_TOUR_STARTED) do_special_animation(-1) remove_displayed_text - speak(TARGET_CHR, 0x1c42, 0x8029, CHANNEL_6, COLOR_06_WHITE) // "Joanna, it's good to see you." + speak(CHR_TARGET, 0x1c42, 0x8029, CHANNEL_6, COLOR_06_WHITE) // "Joanna, it's good to see you." restart_timer beginloop(0x57) @@ -2960,7 +2960,7 @@ u8 func042c_carrington_tour[] = { label(0x06) do_special_animation(-1) - speak(TARGET_CHR, 0x1c43, 0x151d, CHANNEL_6, COLOR_06_WHITE) // "Come with me. I'll walk you round the training rooms." + speak(CHR_TARGET, 0x1c43, 0x151d, CHANNEL_6, COLOR_06_WHITE) // "Come with me. I'll walk you round the training rooms." restart_timer beginloop(0x59) @@ -2992,7 +2992,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) do_special_animation(-1) remove_displayed_text - speak(TARGET_CHR, 0x1c44, 0x1520, CHANNEL_6, COLOR_06_WHITE) // "The information center is through this door." + speak(CHR_TARGET, 0x1c44, 0x1520, CHANNEL_6, COLOR_06_WHITE) // "The information center is through this door." restart_timer beginloop(0x5d) @@ -3020,7 +3020,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) set_function(0x01, GFUNC_IDLE) do_special_animation(-1) - speak(TARGET_CHR, 0x1c45, 0x151f, CHANNEL_6, COLOR_06_WHITE) // "In here we have the device lab." + speak(CHR_TARGET, 0x1c45, 0x151f, CHANNEL_6, COLOR_06_WHITE) // "In here we have the device lab." restart_timer beginloop(0x64) @@ -3076,7 +3076,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c46, 0x1521, CHANNEL_6, COLOR_06_WHITE) // "This leads to the simulant training room." + speak(CHR_TARGET, 0x1c46, 0x1521, CHANNEL_6, COLOR_06_WHITE) // "This leads to the simulant training room." restart_timer beginloop(0x6b) @@ -3112,7 +3112,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c47, 0x151e, CHANNEL_6, COLOR_06_WHITE) // "This is the firing range, Jo." + speak(CHR_TARGET, 0x1c47, 0x151e, CHANNEL_6, COLOR_06_WHITE) // "This is the firing range, Jo." restart_timer beginloop(0x6f) @@ -3164,7 +3164,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c48, 0x1522, CHANNEL_6, COLOR_06_WHITE) // "This corridor leads down to the hangar." + speak(CHR_TARGET, 0x1c48, 0x1522, CHANNEL_6, COLOR_06_WHITE) // "This corridor leads down to the hangar." restart_timer beginloop(0x75) @@ -3173,7 +3173,7 @@ u8 func042c_carrington_tour[] = { label(0x06) restart_timer - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_face_entity(0x0200, 0x0000, /*goto*/ 0x79) beginloop(0x79) @@ -3182,7 +3182,7 @@ u8 func042c_carrington_tour[] = { label(0x2f) do_special_animation(-1) - speak(TARGET_CHR, 0x1c7c, 0x17dc, CHANNEL_6, COLOR_06_WHITE) // "Okay, Jo, I'll leave you to prepare for the mission." + speak(CHR_TARGET, 0x1c7c, 0x17dc, CHANNEL_6, COLOR_06_WHITE) // "Okay, Jo, I'll leave you to prepare for the mission." beginloop(0x7a) if_sound_finished(CHANNEL_6, /*goto*/ 0x2f) @@ -3269,7 +3269,7 @@ u8 func1013_msg_hovercrate[] = { beginloop(0x04) if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0141, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0141, /*goto*/ 0x2f) endloop(0x04) label(0x06) @@ -3297,7 +3297,7 @@ u8 func1014_msg_hoverbike[] = { beginloop(0x04) if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x01f9, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x01f9, /*goto*/ 0x2f) endloop(0x04) label(0x06) @@ -3352,8 +3352,8 @@ u8 func1016_msg_elevators[] = { beginloop(0x04) if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0160, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0162, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0160, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0162, /*goto*/ 0x2f) endloop(0x04) label(0x2f) @@ -3370,13 +3370,13 @@ u8 func1017_msg_terminals[] = { beginloop(0x04) if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0227, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x022a, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x021c, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x021e, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0221, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x0224, /*goto*/ 0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, 0x023e, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0227, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x022a, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x021c, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x021e, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0221, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x0224, /*goto*/ 0x2f) + if_chr_distance_to_pad_lt(CHR_BOND, 250, 0x023e, /*goto*/ 0x2f) endloop(0x04) label(0x2f) @@ -3390,7 +3390,7 @@ u8 func1017_msg_terminals[] = { u8 func1018_lightswitch[] = { beginloop(0x04) if_stage_flag_eq(STAGEFLAG_TRIGGER_NIGHTVISION, FALSE, /*goto*/ 0x2f) - if_chr_has_weapon_equipped(CHR_JOANNA, WEAPON_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_weapon_equipped(CHR_BOND, WEAPON_NIGHTVISION, /*goto*/ 0x2f) set_object_flag_bank1(OBJ_LIGHTSWITCH, OBJECTFLAG1_INVISIBLE) reloop(0x04) @@ -3430,8 +3430,8 @@ u8 func101c_holo1_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_stage_flag(STAGEFLAG_HOLO_ABORTING) unset_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) @@ -3485,8 +3485,8 @@ u8 func101c_holo1_main[] = { if_stage_flag_eq(STAGEFLAG_HOLO_ABORTING, TRUE, /*goto*/ 0x90) if_stage_flag_eq(STAGEFLAG_TRIGGER_HOLO_SUCCESS, TRUE, /*goto*/ 0x83) if_stage_flag_eq(STAGEFLAG_TRIGGER_HOLO_FAILURE, TRUE, /*goto*/ 0x85) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -3511,7 +3511,7 @@ u8 func101c_holo1_main[] = { goto_next(0x84) label(0x84) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001e, /*goto*/ 0x90) + if_chr_in_room(CHR_BOND, 0x00, 0x001e, /*goto*/ 0x90) label(0x90) set_stage_flag(STAGEFLAG_CONSIDER_WARP) unlock_door(0x75, 0x40) @@ -3622,9 +3622,9 @@ u8 func1020_holo1_monitor_switches[] = { \ label(0x2f) \ if_object_flag_bank1(object1, OBJECTFLAG1_00000001, /*goto*/ 0x2f) \ - if_chr_distance_to_pad_lt(CHR_JOANNA, 400, pad, /*goto*/ 0x09) \ + if_chr_distance_to_pad_lt(CHR_BOND, 400, pad, /*goto*/ 0x09) \ label(0x2f) \ - if_chr_looking_at_object(CHR_JOANNA, object1, /*goto*/ 0x2f) \ + if_chr_looking_at_object(CHR_BOND, object1, /*goto*/ 0x2f) \ endloop(0x04) \ \ label(0x09) @@ -3640,7 +3640,7 @@ u8 func1020_holo1_monitor_switches[] = { set_object_image(object2, 0x00, 0x12) \ set_object_image(object1, 0x00, 0x13) \ remove_displayed_text \ - message(CHR_JOANNA, msg) \ + message(CHR_BOND, msg) \ assign_sound(0x81b0, CHANNEL_7) \ control_sound_from_object(CHANNEL_7, object1, TRUE) \ restart_timer \ @@ -3800,8 +3800,8 @@ u8 func1022_holo2_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_object_flag_bank1(0x54, OBJECTFLAG1_00000001) unset_object_flag_bank1(0x55, OBJECTFLAG1_00000001) @@ -3832,8 +3832,8 @@ u8 func1022_holo2_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -4061,8 +4061,8 @@ u8 func1027_holo3_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_object_flag_bank1(0x65, OBJECTFLAG1_00000001) unset_object_flag_bank1(0x66, OBJECTFLAG1_00000001) @@ -4139,8 +4139,8 @@ u8 func1027_holo3_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -4225,7 +4225,7 @@ u8 func102a_holo3_part1[] = { reloop(0x04) label(0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 300, 0x0123, /*goto*/ 0x09) + if_chr_distance_to_pad_lt(CHR_BOND, 300, 0x0123, /*goto*/ 0x09) endloop(0x04) label(0x09) @@ -4251,7 +4251,7 @@ u8 func102b_holo3_part2[] = { reloop(0x04) label(0x2f) - if_chr_distance_to_pad_lt(CHR_JOANNA, 300, 0x0124, /*goto*/ 0x09) + if_chr_distance_to_pad_lt(CHR_BOND, 300, 0x0124, /*goto*/ 0x09) endloop(0x04) label(0x09) @@ -4343,8 +4343,8 @@ u8 func1028_holo4_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_stage_flag(STAGEFLAG_HOLO_ABORTING) unset_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) @@ -4380,8 +4380,8 @@ u8 func1028_holo4_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -4584,8 +4584,8 @@ u8 func1029_holo5_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_stage_flag(STAGEFLAG_HOLO_ABORTING) unset_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) @@ -4620,8 +4620,8 @@ u8 func1029_holo5_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -4719,7 +4719,7 @@ u8 func0407_holo5_guard1[] = { set_self_flag_bank3(CHRFLAG3_00000040) set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) surrender - message(CHR_JOANNA, 0x1c5a) // "Guard has been successfully disarmed." + message(CHR_BOND, 0x1c5a) // "Guard has been successfully disarmed." beginloop(0x59) try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x0272, FUNC_HOLO5_INIT_GUARD2, 0x00002210, /*goto*/ 0x2f) @@ -4941,8 +4941,8 @@ u8 func102e_holo6_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_stage_flag(STAGEFLAG_HOLO_ABORTING) unset_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) @@ -4981,8 +4981,8 @@ u8 func102e_holo6_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -5139,8 +5139,8 @@ u8 func0416_holo_guard_unarmed_alert2[] = { restart_timer beginloop(0x04) - if_chr_dying(TARGET_CHR, /*goto*/ 0x57) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x57) + if_chr_dying(CHR_TARGET, /*goto*/ 0x57) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x57) if_chr_distance_gt(100, /*goto*/ 0x2f) if_in_disarm_range(/*goto*/ 0x2f) if_timer_gt(120, /*goto*/ 0x10) @@ -5153,8 +5153,8 @@ u8 func0416_holo_guard_unarmed_alert2[] = { try_run_to_target_chr(/*goto*/ 0x08) beginloop(0x08) - if_chr_dying(TARGET_CHR, /*goto*/ 0x57) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x57) + if_chr_dying(CHR_TARGET, /*goto*/ 0x57) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x57) if_timer_gt(20, /*goto*/ 0x10) if_chr_stopped(/*goto*/ 0x10) if_chr_lost_track_of_target_maybe(/*goto*/ 0x0e) @@ -5175,8 +5175,8 @@ u8 func0416_holo_guard_unarmed_alert2[] = { try_face_entity(0x0200, 0x0000, /*goto*/ 0x09) beginloop(0x09) - if_chr_dying(TARGET_CHR, /*goto*/ 0x57) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x57) + if_chr_dying(CHR_TARGET, /*goto*/ 0x57) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x57) if_chr_distance_gt(400, /*goto*/ 0x10) if_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_jo_ccw_direction_gt(246, /*goto*/ 0x06) @@ -5202,13 +5202,13 @@ u8 func0416_holo_guard_unarmed_alert2[] = { label(0x06) if_chr_injured_target(CHR_SELF, /*goto*/ 0x2f) - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x06) label(0x2f) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0f) set_stage_flag(STAGEFLAG_GENERAL_PURPOSE) set_stage_flag(STAGEFLAG_HOLO_FAILED) @@ -5350,8 +5350,8 @@ u8 func1030_holo7_main[] = { lock_door(0x76, 0x40) close_door(0x75) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x2f) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x2f) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x2f) label(0x2f) unset_stage_flag(STAGEFLAG_HOLO_ABORTING) unset_stage_flag(STAGEFLAG_TRIGGER_HOLO_SUCCESS) @@ -5395,8 +5395,8 @@ u8 func1030_holo7_main[] = { 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) - if_chr_activated_object(CHR_JOANNA, 0x75, /*goto*/ 0x57) - if_chr_activated_object(CHR_JOANNA, 0x76, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x75, /*goto*/ 0x57) + if_chr_activated_object(CHR_BOND, 0x76, /*goto*/ 0x57) goto_next(0x59) label(0x57) @@ -5545,8 +5545,8 @@ u8 func0419_holo_guard_armed_alert[] = { label(0x06) goto_first(0x8f) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x2f) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d) set_stage_flag(STAGEFLAG_GENERAL_PURPOSE) @@ -5688,7 +5688,7 @@ u8 func1035_manage_music[] = { reloop(0x03) \ \ label(0x2f) \ - message(CHR_JOANNA, text) \ + message(CHR_BOND, text) \ restart_timer \ \ beginloop(0x08) \ @@ -5741,16 +5741,16 @@ u8 func103f_msg_fnp90[] = { }; u8 func1000_jo_typing[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) camera_movement(0x0484) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x7b) set_music_track(MUSIC_CI_INTRO) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0485, -1, -1, 0x0600, CHR_JOANNA, 4) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0485, -1, -1, 0x0600, CHR_BOND, 4) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) @@ -5781,11 +5781,11 @@ u8 func1000_jo_typing[] = { endloop(0x08) label(0x7b) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0485, -2, -1, 0x0600, CHR_JOANNA, 2) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0485, -2, -1, 0x0600, CHR_BOND, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) enter_firstperson passive_mode(TRUE) fade_to_color(0x00000000, 0) @@ -5895,10 +5895,10 @@ u8 func1042_check_jo_in_training_room[] = { // 0x001a = entry to information room // 0x000b = entry to carrington's office label(0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0014, /*goto*/ 0x30) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001d, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x001a, /*goto*/ 0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x000b, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x0014, /*goto*/ 0x30) + if_chr_in_room(CHR_BOND, 0x00, 0x001d, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x001a, /*goto*/ 0x2f) + if_chr_in_room(CHR_BOND, 0x00, 0x000b, /*goto*/ 0x2f) reloop(0x04) label(0x30) diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index 601f4e80c..d1ea9948a 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -24,11 +24,11 @@ #define OBJ_ALARMTERM2 0x14 #define OBJ_ALARMTERM3 0x19 #define OBJ_UPLINKDOOR 0x22 -#define OBJ_DATAUPLINK_JOANNA 0x25 +#define OBJ_DATAUPLINK_BOND 0x25 #define OBJ_YELLOWBOT 0x37 // opens the secret door #define OBJ_PURPLEBOT 0x38 // lasers #define OBJ_HATCHPC 0x3a -#define OBJ_DATAUPLINK_VELVET 0x48 +#define OBJ_DATAUPLINK_COOP 0x48 #define OBJ_CACHEDOOR1 0x55 #define OBJ_CACHEDOOR2 0x56 #define OBJ_CMP150_1 0x57 @@ -1022,7 +1022,7 @@ u8 func0404_scientist[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - say_quip(TARGET_CHR, 0x0a, 0xff, 0x00, 0xff, 0x81, 0x03, 0x08) + say_quip(CHR_TARGET, 0x0a, 0xff, 0x00, 0xff, 0x81, 0x03, 0x08) restart_timer stop_chr @@ -1034,7 +1034,7 @@ u8 func0404_scientist[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - say_quip(TARGET_CHR, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09) + say_quip(CHR_TARGET, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09) restart_timer beginloop(0x57) @@ -1043,7 +1043,7 @@ u8 func0404_scientist[] = { label(0x06) label(0x0a) - say_quip(TARGET_CHR, 0x0c, 0xff, 0x00, 0xff, 0x81, 0x05, 0x08) + say_quip(CHR_TARGET, 0x0c, 0xff, 0x00, 0xff, 0x81, 0x05, 0x08) restart_timer animation(ANIM_SURRENDER_002E, 0, -1, 0x1010, CHR_SELF, 2) @@ -1075,59 +1075,59 @@ u8 func0404_scientist[] = { if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f) if_object_in_good_condition(OBJ_GOODTERM3, /*goto*/ 0x19) - say_quip(TARGET_CHR, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) - display_text_top_middle(TARGET_CHR, 0x1e2c, COLOR_00_GREEN) // "It appears someone has broken my PC." + say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) + display_text_top_middle(CHR_TARGET, 0x1e2c, COLOR_00_GREEN) // "It appears someone has broken my PC." goto_next(0x0e) label(0x19) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT3, FALSE, /*goto*/ 0x15) - say_quip(TARGET_CHR, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) + say_quip(CHR_TARGET, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) goto_next(0x0e) label(0x15) set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT3) - say_quip(TARGET_CHR, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) + say_quip(CHR_TARGET, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM3, TRUE) goto_next(0x0f) label(0x06) if_object_in_good_condition(OBJ_GOODTERM1, /*goto*/ 0x19) - say_quip(TARGET_CHR, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) + say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) goto_next(0x0e) label(0x19) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT1, FALSE, /*goto*/ 0x16) - say_quip(TARGET_CHR, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) + say_quip(CHR_TARGET, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) goto_next(0x0e) label(0x16) set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT1) - say_quip(TARGET_CHR, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) + say_quip(CHR_TARGET, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM1, TRUE) goto_next(0x0f) label(0x2f) if_object_in_good_condition(OBJ_GOODTERM1, /*goto*/ 0x19) - say_quip(TARGET_CHR, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) + say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) goto_next(0x0e) label(0x19) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT2, FALSE, /*goto*/ 0x17) - say_quip(TARGET_CHR, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) + say_quip(CHR_TARGET, 0x0f, 0xff, 0x00, 0xff, 0x81, 0x08, 0x08) goto_next(0x0e) label(0x17) set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT2) - say_quip(TARGET_CHR, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) + say_quip(CHR_TARGET, 0x0d, 0xff, 0x00, 0xff, 0x81, 0x06, 0x08) assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM2, TRUE) goto_next(0x0f) label(0x0f) - message(TARGET_CHR, 0x1e1c) // "Powering down active systems." - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e1c) // "Powering down active systems." + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x0d) @@ -1135,7 +1135,7 @@ u8 func0404_scientist[] = { endloop(0x0d) label(0x06) - message(TARGET_CHR, 0x1e1d) // "Experiment has been shut down." + message(CHR_TARGET, 0x1e1d) // "Experiment has been shut down." stop_chr beginloop(0x0e) @@ -1205,7 +1205,7 @@ u8 func0406_nasty_scientist[] = { endloop(0x09) label(0x06) - say_quip(TARGET_CHR, 0x0a, 0xff, 0x00, 0xff, 0x81, 0x03, 0x08) + say_quip(CHR_TARGET, 0x0a, 0xff, 0x00, 0xff, 0x81, 0x03, 0x08) restart_timer beginloop(0x56) @@ -1214,7 +1214,7 @@ u8 func0406_nasty_scientist[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - say_quip(TARGET_CHR, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09) + say_quip(CHR_TARGET, 0x0b, 0xff, 0x00, 0xff, 0x81, 0x04, 0x09) restart_timer beginloop(0x57) @@ -1224,7 +1224,7 @@ u8 func0406_nasty_scientist[] = { label(0x0a) restart_timer stop_chr - say_quip(TARGET_CHR, 0x0c, 0xff, 0x00, 0xff, 0x81, 0x05, 0x08) + say_quip(CHR_TARGET, 0x0c, 0xff, 0x00, 0xff, 0x81, 0x05, 0x08) beginloop(0x0b) if_timer_gt(90, /*goto*/ 0x55) @@ -1270,12 +1270,12 @@ u8 func0406_nasty_scientist[] = { goto_next(0x0f) label(0x11) - say_quip(TARGET_CHR, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) + say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08) goto_next(0x78) label(0x0f) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - say_quip(TARGET_CHR, 0x0e, 0xff, 0x00, 0xff, 0x81, 0x07, 0x08) + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + say_quip(CHR_TARGET, 0x0e, 0xff, 0x00, 0xff, 0x81, 0x07, 0x08) animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x0d) @@ -1298,12 +1298,12 @@ u8 func1009_weaponscache[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_CACHETERMINAL, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, OBJ_CACHETERMINAL, /*goto*/ 0x2f) endloop(0x04) label(0x2f) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x2f) - message(TARGET_CHR, 0x1e62) // "Secret weapons compartment opened." + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x2f) + message(CHR_TARGET, 0x1e62) // "Secret weapons compartment opened." play_sound(0x00f7, -1) assign_sound(0x043b, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_CMP150_1, TRUE) @@ -1318,7 +1318,7 @@ u8 func1009_weaponscache[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x2f) - message(TARGET_CHR, 0x1e63) // "Enemy detected - weapon cache locked." + message(CHR_TARGET, 0x1e63) // "Enemy detected - weapon cache locked." play_sound(0x00f7, -1) unset_stage_flag(STAGEFLAG_BOT_ACTIVE) unset_stage_flag(STAGEFLAG_BOT_REPROGRAMMED) @@ -1345,7 +1345,7 @@ u8 func1002_bot_activation_terminal[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_BOT_ACTIVATION_TERMINAL, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, OBJ_BOT_ACTIVATION_TERMINAL, /*goto*/ 0x2f) reloop(0x04) label(0x2f) @@ -1358,25 +1358,25 @@ u8 func1002_bot_activation_terminal[] = { play_sound(0x01ca, -1) assign_sound(0x01c5, CHANNEL_3) play_sound_from_object(CHANNEL_3, OBJ_PURPLEBOT, 0x0258, 0x0320) - message(TARGET_CHR, 0x1e0f) // "Maintenance robots activated." + message(CHR_TARGET, 0x1e0f) // "Maintenance robots activated." set_stage_flag(STAGEFLAG_BOT_ACTIVE) set_stage_flag(STAGEFLAG_BOT_ACTIVE_NOPROGRAM) reloop(0x04) // Activating after reprogramming label(0x2f) - message(TARGET_CHR, 0x1e0f) // "Maintenance robots activated." + message(CHR_TARGET, 0x1e0f) // "Maintenance robots activated." set_stage_flag(STAGEFLAG_BOT_ACTIVE) yield play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e12) // "Maintenance cycle activated." + message(CHR_TARGET, 0x1e12) // "Maintenance cycle activated." set_stage_flag(STAGEFLAG_BOT_ACTIVE_MAINTENANCE) reloop(0x04) // Attempting to deactivate while bot reprogrammed and running label(0x08) play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e14) // "Operation not allowed - robots busy." + message(CHR_TARGET, 0x1e14) // "Operation not allowed - robots busy." restart_timer beginloop(0x09) @@ -1388,7 +1388,7 @@ u8 func1002_bot_activation_terminal[] = { // Deactivating label(0x0a) - message(TARGET_CHR, 0x1e15) // "Maintenance robots deactivated." + message(CHR_TARGET, 0x1e15) // "Maintenance robots deactivated." unset_stage_flag(STAGEFLAG_BOT_ACTIVE) unset_stage_flag(STAGEFLAG_BOT_ACTIVE_CLEANING) unset_stage_flag(STAGEFLAG_BOT_ACTIVE_NOPROGRAM) @@ -1398,7 +1398,7 @@ u8 func1002_bot_activation_terminal[] = { label(0x0b) play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e17) // "Maintenance robot system offline." + message(CHR_TARGET, 0x1e17) // "Maintenance robot system offline." endloop(0x04) endfunction @@ -1423,7 +1423,7 @@ u8 func1003_bot_programming_terminal[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_BOT_PROGRAMMING_TERMINAL, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, OBJ_BOT_PROGRAMMING_TERMINAL, /*goto*/ 0x2f) reloop(0x04) label(0x2f) @@ -1433,7 +1433,7 @@ u8 func1003_bot_programming_terminal[] = { // Reprogramming play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e10) // "Maintenance robots reprogrammed." + message(CHR_TARGET, 0x1e10) // "Maintenance robots reprogrammed." set_stage_flag(STAGEFLAG_BOT_REPROGRAMMED) if_stage_flag_eq(STAGEFLAG_BOT_ACTIVE, TRUE, /*goto*/ 0x2f) reloop(0x04) @@ -1441,7 +1441,7 @@ u8 func1003_bot_programming_terminal[] = { label(0x2f) yield play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e13) // "Routine cleaning cycle activated." + message(CHR_TARGET, 0x1e13) // "Routine cleaning cycle activated." set_stage_flag(STAGEFLAG_BOT_ACTIVE_CLEANING) restart_timer @@ -1455,7 +1455,7 @@ u8 func1003_bot_programming_terminal[] = { // Attempting to reprogram while bot already reprogrammed and running label(0x09) play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e14) // "Operation not allowed - robots busy." + message(CHR_TARGET, 0x1e14) // "Operation not allowed - robots busy." restart_timer beginloop(0x0a) @@ -1466,7 +1466,7 @@ u8 func1003_bot_programming_terminal[] = { reloop(0x04) label(0x0b) - message(TARGET_CHR, 0x1e17) // "Maintenance robot system offline." + message(CHR_TARGET, 0x1e17) // "Maintenance robot system offline." endloop(0x04) endfunction @@ -1479,18 +1479,18 @@ u8 func1004_check_items_collected[] = { set_object_flag_bank2(OBJ_SHIELD, OBJECTFLAG2_00400000) beginloop(0x04) - if_chr_has_object(CHR_JOANNA, OBJ_K7AVENGER, /*goto*/ 0x2f) - if_chr_has_object(CHR_VELVET, OBJ_K7AVENGER, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_K7AVENGER, /*goto*/ 0x2f) + if_chr_has_object(CHR_COOP, OBJ_K7AVENGER, /*goto*/ 0x2f) reloop(0x04) label(0x2f) - if_chr_has_object(CHR_JOANNA, OBJ_NIGHTVISION, /*goto*/ 0x2f) - if_chr_has_object(CHR_VELVET, OBJ_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_object(CHR_COOP, OBJ_NIGHTVISION, /*goto*/ 0x2f) reloop(0x04) label(0x2f) - if_chr_has_object(CHR_JOANNA, OBJ_SHIELD, /*goto*/ 0x2f) - if_chr_has_object(CHR_VELVET, OBJ_SHIELD, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_SHIELD, /*goto*/ 0x2f) + if_chr_has_object(CHR_COOP, OBJ_SHIELD, /*goto*/ 0x2f) endloop(0x04) label(0x2f) @@ -1589,7 +1589,7 @@ u8 func1005_check_unacceptable_casualties[] = { label(0x2f) label(0x0f) set_stage_flag(STAGEFLAG_UNACCEPTABLE_CASUALTIES) - message(CHR_JOANNA, 0x1e1a) // "Unacceptable scientist casualties." + message(CHR_BOND, 0x1e1a) // "Unacceptable scientist casualties." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -1598,38 +1598,38 @@ u8 func1006_terminal_activation[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_GOODTERM1, /*goto*/ 0x08) - if_chr_activated_object(TARGET_CHR, OBJ_ALARMTERM1, /*goto*/ 0x09) - if_chr_activated_object(TARGET_CHR, OBJ_GOODTERM2, /*goto*/ 0x0d) - if_chr_activated_object(TARGET_CHR, OBJ_ALARMTERM2, /*goto*/ 0x0b) - if_chr_activated_object(TARGET_CHR, OBJ_GOODTERM3, /*goto*/ 0x0f) - if_chr_activated_object(TARGET_CHR, OBJ_ALARMTERM3, /*goto*/ 0x0c) - if_chr_activated_object(TARGET_CHR, 0x0b, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x0c, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x0d, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x0e, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x10, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x11, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x12, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x13, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x15, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x16, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x17, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x18, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1a, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1b, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1c, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1d, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1e, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x1f, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x20, /*goto*/ 0x2f) - if_chr_activated_object(TARGET_CHR, 0x21, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, OBJ_GOODTERM1, /*goto*/ 0x08) + if_chr_activated_object(CHR_TARGET, OBJ_ALARMTERM1, /*goto*/ 0x09) + if_chr_activated_object(CHR_TARGET, OBJ_GOODTERM2, /*goto*/ 0x0d) + if_chr_activated_object(CHR_TARGET, OBJ_ALARMTERM2, /*goto*/ 0x0b) + if_chr_activated_object(CHR_TARGET, OBJ_GOODTERM3, /*goto*/ 0x0f) + if_chr_activated_object(CHR_TARGET, OBJ_ALARMTERM3, /*goto*/ 0x0c) + if_chr_activated_object(CHR_TARGET, 0x0b, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x0c, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x0d, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x0e, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x10, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x11, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x12, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x13, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x15, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x16, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x17, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x18, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1a, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1b, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1c, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1d, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1e, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x1f, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x20, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, 0x21, /*goto*/ 0x2f) endloop(0x04) // Inactive terminal label(0x2f) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e1b) // "Terminal is not active." + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e1b) // "Terminal is not active." restart_timer beginloop(0x56) @@ -1641,7 +1641,7 @@ u8 func1006_terminal_activation[] = { // Good terminal 0x07 label(0x08) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT1, FALSE, /*goto*/ 0x2f) restart_timer @@ -1650,11 +1650,11 @@ u8 func1006_terminal_activation[] = { endloop(0x56) label(0x06) - message(TARGET_CHR, 0x1e2a) // "Experiment already powered down." + message(CHR_TARGET, 0x1e2a) // "Experiment already powered down." reloop(0x04) label(0x2f) - message(TARGET_CHR, 0x1e1c) // "Powering down active systems." + message(CHR_TARGET, 0x1e1c) // "Powering down active systems." assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM1, TRUE) restart_timer @@ -1664,13 +1664,13 @@ u8 func1006_terminal_activation[] = { endloop(0x0a) label(0x06) - message(TARGET_CHR, 0x1e1d) // "Experiment has been shut down." + message(CHR_TARGET, 0x1e1d) // "Experiment has been shut down." set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT1) reloop(0x04) // Good terminal 0x08 label(0x0d) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT2, FALSE, /*goto*/ 0x2f) restart_timer @@ -1679,11 +1679,11 @@ u8 func1006_terminal_activation[] = { endloop(0x57) label(0x06) - message(TARGET_CHR, 0x1e2a) // "Experiment already powered down." + message(CHR_TARGET, 0x1e2a) // "Experiment already powered down." goto_first(0x04) label(0x2f) - message(TARGET_CHR, 0x1e1c) // "Powering down active systems." + message(CHR_TARGET, 0x1e1c) // "Powering down active systems." assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM2, TRUE) restart_timer @@ -1693,13 +1693,13 @@ u8 func1006_terminal_activation[] = { endloop(0x0e) label(0x06) - message(TARGET_CHR, 0x1e1d) // "Experiment has been shut down." + message(CHR_TARGET, 0x1e1d) // "Experiment has been shut down." set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT2) reloop(0x04) // Good terminal 0x09 label(0x0f) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT3, FALSE, /*goto*/ 0x2f) restart_timer @@ -1708,11 +1708,11 @@ u8 func1006_terminal_activation[] = { endloop(0x58) label(0x06) - message(TARGET_CHR, 0x1e2a) // "Experiment already powered down." + message(CHR_TARGET, 0x1e2a) // "Experiment already powered down." reloop(0x04) label(0x2f) - message(TARGET_CHR, 0x1e1c) // "Powering down active systems." + message(CHR_TARGET, 0x1e1c) // "Powering down active systems." assign_sound(0x01c3, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_GOODTERM3, TRUE) restart_timer @@ -1722,21 +1722,21 @@ u8 func1006_terminal_activation[] = { endloop(0x10) label(0x06) - message(TARGET_CHR, 0x1e1d) // "Experiment has been shut down." + message(CHR_TARGET, 0x1e1d) // "Experiment has been shut down." set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT3) reloop(0x04) // Alarm terminal 0x0f label(0x09) if_alarm_active(/*goto*/ 0x06) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e1e) // "Alarm activated." + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e1e) // "Alarm activated." set_stage_flag(STAGEFLAG_ALARM1_ACTIVE) activate_alarm reloop(0x04) label(0x06) - message(TARGET_CHR, 0x1e1f) // "Alarm deactivated." + message(CHR_TARGET, 0x1e1f) // "Alarm deactivated." unset_stage_flag(STAGEFLAG_ALARM1_ACTIVE) deactivate_alarm reloop(0x04) @@ -1744,14 +1744,14 @@ u8 func1006_terminal_activation[] = { // Alarm terminal 0x14 label(0x0b) if_alarm_active(/*goto*/ 0x06) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e1e) // "Alarm activated." + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e1e) // "Alarm activated." set_stage_flag(STAGEFLAG_ALARM2_ACTIVE) activate_alarm reloop(0x04) label(0x06) - message(TARGET_CHR, 0x1e1f) // "Alarm deactivated." + message(CHR_TARGET, 0x1e1f) // "Alarm deactivated." unset_stage_flag(STAGEFLAG_ALARM2_ACTIVE) deactivate_alarm reloop(0x04) @@ -1759,14 +1759,14 @@ u8 func1006_terminal_activation[] = { // Alarm terminal 0x19 label(0x0c) if_alarm_active(/*goto*/ 0x06) - speak(TARGET_CHR, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e1e) // "Alarm activated." + speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e1e) // "Alarm activated." set_stage_flag(STAGEFLAG_ALARM3_ACTIVE) activate_alarm reloop(0x04) label(0x06) - message(TARGET_CHR, 0x1e1f) // "Alarm deactivated." + message(CHR_TARGET, 0x1e1f) // "Alarm deactivated." unset_stage_flag(STAGEFLAG_ALARM3_ACTIVE) deactivate_alarm reloop(0x04) @@ -1785,28 +1785,28 @@ u8 func1007_uplink[] = { label(0x30) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_UPLINKPC, /*goto*/ 0x2f) + if_chr_activated_object(CHR_TARGET, OBJ_UPLINKPC, /*goto*/ 0x2f) reloop(0x04) label(0x2f) if_stage_flag_eq(STAGEFLAG_UPLINK_FINISHED, FALSE, /*goto*/ 0x06) // Activating a second time - speak(TARGET_CHR, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e29) // "Security door already unlocked." + speak(CHR_TARGET, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e29) // "Security door already unlocked." reloop(0x04) label(0x06) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2f) // Activated computer without uplink - speak(TARGET_CHR, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text - message(TARGET_CHR, 0x1e24) // "ACCESS DENIED - security code required." + speak(CHR_TARGET, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text + message(CHR_TARGET, 0x1e24) // "ACCESS DENIED - security code required." reloop(0x04) // Uplinking label(0x2f) - message(TARGET_CHR, 0x1e3c) // "Connection established." + message(CHR_TARGET, 0x1e3c) // "Connection established." restart_timer // First second of uplinking @@ -1816,19 +1816,19 @@ u8 func1007_uplink[] = { label(0x30) if_timer_gt(60, /*goto*/ 0x06) - if_chr_distance_to_pad_gt(TARGET_CHR, 200, 0x025a, /*goto*/ 0x09) + if_chr_distance_to_pad_gt(CHR_TARGET, 200, 0x025a, /*goto*/ 0x09) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT1, FALSE, /*goto*/ 0x0b) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT2, FALSE, /*goto*/ 0x0b) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT3, FALSE, /*goto*/ 0x0b) label(0x2f) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2f) goto_next(0x09) label(0x2f) endloop(0x08) label(0x06) - message(TARGET_CHR, 0x1e25) // "Searching for password." + message(CHR_TARGET, 0x1e25) // "Searching for password." restart_timer set_stage_flag(STAGEFLAG_UPLINK_SEARCHING) assign_sound(0x01bf, CHANNEL_5) @@ -1840,8 +1840,8 @@ u8 func1007_uplink[] = { label(0x30) if_timer_gt(400, /*goto*/ 0x06) - if_chr_distance_to_pad_gt(TARGET_CHR, 200, 0x025a, /*goto*/ 0x09) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2f) + if_chr_distance_to_pad_gt(CHR_TARGET, 200, 0x025a, /*goto*/ 0x09) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2f) goto_next(0x09) label(0x2f) endloop(0x14) @@ -1850,9 +1850,9 @@ u8 func1007_uplink[] = { mute_channel(CHANNEL_5) assign_sound(0x01c1, CHANNEL_6) control_sound_from_object(CHANNEL_6, OBJ_UPLINKPC, TRUE) - message(TARGET_CHR, 0x1e27) // "Password located - bypassing lock." + message(CHR_TARGET, 0x1e27) // "Password located - bypassing lock." yield - message(TARGET_CHR, 0x1e11) // "Security doors unlocked." + message(CHR_TARGET, 0x1e11) // "Security doors unlocked." set_stage_flag(STAGEFLAG_UPLINK_FINISHED) unlock_door(OBJ_UPLINKDOOR, 0x02) @@ -1867,7 +1867,7 @@ u8 func1007_uplink[] = { // Moved away from PC or switched weapon label(0x09) - message(TARGET_CHR, 0x1e28) // "Contact broken - reestablish link." + message(CHR_TARGET, 0x1e28) // "Contact broken - reestablish link." mute_channel(CHANNEL_5) mute_channel(CHANNEL_6) assign_sound(0x01c0, CHANNEL_6) @@ -1890,7 +1890,7 @@ u8 func1007_uplink[] = { endloop(0x0c) label(0x06) - message(TARGET_CHR, 0x1e55) // "Connection broken - experiments still active." + message(CHR_TARGET, 0x1e55) // "Connection broken - experiments still active." mute_channel(CHANNEL_5) mute_channel(CHANNEL_6) assign_sound(0x01c0, CHANNEL_6) @@ -1919,13 +1919,13 @@ u8 func1008_check_bot_terminals_destroyed[] = { if_object_in_good_condition(OBJ_BOT_ACTIVATION_TERMINAL, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_BOT_ACTIVATION_TERMINAL_DESTROYED) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." label(0x2f) if_stage_flag_eq(STAGEFLAG_BOT_PROGRAMMING_TERMINAL_DESTROYED, TRUE, /*goto*/ 0x2f) if_object_in_good_condition(OBJ_BOT_PROGRAMMING_TERMINAL, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_BOT_PROGRAMMING_TERMINAL_DESTROYED) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." label(0x2f) endloop(0x04) @@ -2044,7 +2044,7 @@ u8 func100b_check_uplink_pc_destroyed[] = { if_stage_flag_eq(STAGEFLAG_UPLINK_FINISHED, TRUE, /*goto*/ 0x08) if_object_in_good_condition(OBJ_UPLINKPC, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_UPLINKPC_DESTROYED) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." goto_next(0x08) label(0x2f) endloop(0x04) @@ -2191,21 +2191,21 @@ u8 func100e_experiment_terminals_destroyed[] = { if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT1, TRUE, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." label(0x2f) if_object_in_good_condition(OBJ_GOODTERM2, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT2, TRUE, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." label(0x2f) if_object_in_good_condition(0x09, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f) if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT3, TRUE, /*goto*/ 0x2f) set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." label(0x2f) endloop(0x04) @@ -2217,13 +2217,13 @@ u8 func0416_intro[] = { set_music_track(MUSIC_INVESTIGATION_INTRO) camera_movement(0x00f5) cmd0175(60) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00010000) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00f6, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00f6, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_00010000) @@ -2234,9 +2234,9 @@ u8 func0416_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -2316,18 +2316,18 @@ u8 func0416_intro[] = { label(0x77) open_door2(0x24) open_door2(0x40) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00010000) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00f6, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00f6, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000) animation(0x00f7, -2, -1, 0x0600, CHR_INTRO_GUARD, 2) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) restart_default_music reset_ambience enter_firstperson @@ -2341,7 +2341,7 @@ u8 func0416_intro[] = { u8 func0417_outro[] = { set_music_track(MUSIC_INVESTIGATION_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_stage_flag(STAGEFLAG_TRIGGER_OUTRO_AUDIO) @@ -2619,15 +2619,15 @@ u8 func100f_check_for_end_level[] = { endloop(0x04) label(0x2f) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2f) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2f) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2f) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2f) + if_chr_dying(CHR_BOND, /*goto*/ 0x2f) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2f) goto_next(0x06) label(0x2f) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2f) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2f) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2f) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2f) + if_chr_dying(CHR_COOP, /*goto*/ 0x2f) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2f) goto_next(0x06) label(0x2f) @@ -2635,7 +2635,7 @@ u8 func100f_check_for_end_level[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2643,9 +2643,9 @@ u8 func100f_check_for_end_level[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) - give_object_to_chr(OBJ_DATAUPLINK_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_DATAUPLINK_VELVET, CHR_VELVET) + set_chr_team(CHR_ANTI, TEAM_ENEMY) + give_object_to_chr(OBJ_DATAUPLINK_BOND, CHR_BOND) + give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -2724,7 +2724,7 @@ u8 func1013_hatch_pc[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_HATCHPC, /*goto*/ 0x06) + if_chr_activated_object(CHR_TARGET, OBJ_HATCHPC, /*goto*/ 0x06) reloop(0x04) label(0x06) @@ -2733,12 +2733,12 @@ u8 func1013_hatch_pc[] = { label(0x56) play_sound(0x00f7, -1) - message(TARGET_CHR, 0x1e3d) // "Maintenance hatch is now open." + message(CHR_TARGET, 0x1e3d) // "Maintenance hatch is now open." unlock_door(0x3f, 0x08) reloop(0x04) label(0x2f) - message(TARGET_CHR, 0x1e3e) // "Maintenance hatch is already open." + message(CHR_TARGET, 0x1e3e) // "Maintenance hatch is already open." restart_timer beginloop(0x57) @@ -2756,32 +2756,32 @@ u8 func0415_radioactivity[] = { restart_timer beginloop(0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x0014, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0015, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0016, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0017, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0018, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0019, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x001a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0014, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0015, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0016, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0017, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0018, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0019, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x001a, /*goto*/ 0x06) reloop(0x04) label(0x06) - message(TARGET_CHR, 0x1e3f) // "WARNING - radioactive matter detected." + message(CHR_TARGET, 0x1e3f) // "WARNING - radioactive matter detected." restart_timer label(0x08) yield - add_motion_blur(TARGET_CHR, 10, TRUE) + add_motion_blur(CHR_TARGET, 10, TRUE) if_timer_lt(300, /*goto*/ 0x2f) restart_timer - damage_chr2(TARGET_CHR, 1024) + damage_chr2(CHR_TARGET, 1024) label(0x2f) - if_chr_in_room(TARGET_CHR, 0x00, 0x0014, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0015, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0016, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0017, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0018, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0019, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x001a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0014, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0015, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0016, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0017, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0018, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0019, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x001a, /*goto*/ 0x06) endloop(0x04) label(0x06) @@ -2792,15 +2792,15 @@ u8 func0415_radioactivity[] = { }; u8 func1014_jo_radioactivity[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, FUNC_RADIOACTIVITY) endfunction }; -u8 func101d_velvet_radioactivty[] = { +u8 func101d_coop_radioactivty[] = { yield - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2f) + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2f) set_function(CHR_SELF, FUNC_RADIOACTIVITY) label(0x2f) set_function(CHR_SELF, GFUNC_IDLE) @@ -2809,8 +2809,8 @@ u8 func101d_velvet_radioactivty[] = { u8 func1021_counterop_radioactivity[] = { yield - set_target_chr(CHR_COUNTEROP) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2f) + set_target_chr(CHR_ANTI) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2f) set_function(CHR_SELF, FUNC_RADIOACTIVITY) label(0x2f) set_function(CHR_SELF, GFUNC_IDLE) @@ -2826,9 +2826,9 @@ u8 func0402_k7_guard[] = { consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) set_follow_chr(CHR_P1P2) - if_chr_in_room(TARGET_CHR, 0x00, 0x0036, /*goto*/ 0x03) - if_chr_in_room(TARGET_CHR, 0x00, 0x0037, /*goto*/ 0x03) - if_chr_in_room(TARGET_CHR, 0x00, 0x003a, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x0036, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x0037, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x003a, /*goto*/ 0x03) endloop(0x0f) label(0x03) @@ -2836,7 +2836,7 @@ u8 func0402_k7_guard[] = { call_rng if_rand_gt(128, /*goto*/ 0x06) label(0x2f) - say_quip(FOLLOW_CHR, 0x09, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_PRESET, 0x09, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) label(0x06) beginloop(0x04) @@ -2855,7 +2855,7 @@ u8 func0402_k7_guard[] = { label(0x2f) try_aim_and_shoot_thing2(0x0008, 0x0159, /*goto*/ 0x2f) label(0x2f) - say_quip(CHR_JOANNA, 0x00, 0x32, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x32, 0x02, 0xff, BANK_0, 0x00, 0x00) beginloop(0x08) consider_coop_for_p1p2_chr(CHR_SELF) @@ -2886,7 +2886,7 @@ u8 func0402_k7_guard[] = { endloop(0x0c) label(0x2f) - say_quip(FOLLOW_CHR, 0x08, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_PRESET, 0x08, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) label(0x06) if_chr_distance_to_pad_lt(CHR_SELF, 100, 0x013b, /*goto*/ 0x2f) walk_to_pad(0x013b) @@ -2930,10 +2930,10 @@ u8 func0403_k7_scientist[] = { beginloop(0x14) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_in_room(TARGET_CHR, 0x00, 0x0035, /*goto*/ 0x03) - if_chr_in_room(TARGET_CHR, 0x00, 0x0036, /*goto*/ 0x03) - if_chr_in_room(TARGET_CHR, 0x00, 0x0037, /*goto*/ 0x03) - if_chr_in_room(TARGET_CHR, 0x00, 0x003a, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x0035, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x0036, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x0037, /*goto*/ 0x03) + if_chr_in_room(CHR_TARGET, 0x00, 0x003a, /*goto*/ 0x03) endloop(0x14) label(0x03) @@ -3132,79 +3132,79 @@ u8 func101f_check_bot_destroyed[] = { endloop(0x08) label(0x2f) - if_chr_in_room(CHR_JOANNA, 0x00, 0x004d, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x004e, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x004f, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0050, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0051, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0052, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0053, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0054, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0055, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0056, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0057, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0058, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0059, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005a, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005b, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005c, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005d, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005e, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005f, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0061, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0062, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0063, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006c, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006b, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0069, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0068, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006d, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006e, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0064, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0065, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0066, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0060, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0067, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006a, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x004d, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x004e, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x004f, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0050, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0051, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0052, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0053, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0054, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0055, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0056, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0057, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0058, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0059, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005a, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005b, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005c, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005d, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005e, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x005f, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0061, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0062, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0063, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x006c, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x006b, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0069, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0068, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x006d, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x006e, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0064, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0065, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0066, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0060, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0067, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x006a, /*goto*/ 0x06) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x0b) - if_chr_in_room(CHR_VELVET, 0x00, 0x004d, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x004e, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x004f, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0050, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0051, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0052, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0053, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0054, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0055, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0056, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0057, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0058, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0059, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005a, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005b, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005c, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005d, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005e, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x005f, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0061, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0062, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0063, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x006c, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x006b, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0069, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0068, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x006d, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x006e, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0064, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0065, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0066, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0060, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x0067, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x006a, /*goto*/ 0x06) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x0b) + if_chr_in_room(CHR_COOP, 0x00, 0x004d, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x004e, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x004f, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0050, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0051, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0052, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0053, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0054, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0055, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0056, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0057, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0058, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0059, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005a, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005b, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005c, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005d, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005e, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x005f, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0061, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0062, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0063, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x006c, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x006b, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0069, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0068, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x006d, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x006e, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0064, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0065, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0066, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0060, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x0067, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x006a, /*goto*/ 0x06) label(0x0b) - message(CHR_JOANNA, 0x1e16) // "Critical mission object destroyed." + message(CHR_BOND, 0x1e16) // "Critical mission object destroyed." set_stage_flag(STAGEFLAG_00000008) set_stage_flag(STAGEFLAG_00000004) if_stage_flag_eq(STAGEFLAG_HAS_K7AVENGER, TRUE, /*goto*/ 0x2f) @@ -3226,13 +3226,13 @@ u8 func101f_check_bot_destroyed[] = { label(0x2f) if_difficulty_lt(DIFF_PA, /*goto*/ 0x0d) - if_chr_has_object(CHR_JOANNA, OBJ_K7AVENGER, /*goto*/ 0x2f) - if_chr_has_object(CHR_VELVET, OBJ_K7AVENGER, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_K7AVENGER, /*goto*/ 0x2f) + if_chr_has_object(CHR_COOP, OBJ_K7AVENGER, /*goto*/ 0x2f) goto_first(0x0b) label(0x2f) - if_chr_has_object(CHR_JOANNA, OBJ_NIGHTVISION, /*goto*/ 0x2f) - if_chr_has_object(CHR_VELVET, OBJ_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_object(CHR_BOND, OBJ_NIGHTVISION, /*goto*/ 0x2f) + if_chr_has_object(CHR_COOP, OBJ_NIGHTVISION, /*goto*/ 0x2f) label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3364,7 +3364,7 @@ struct ailists functions[] = { { func101a_msg_lotofpower, 0x101a }, { func101b_msg_reprogram, 0x101b }, { func101c_msg_radioactive, 0x101c }, - { func101d_velvet_radioactivty, 0x101d }, + { func101d_coop_radioactivty, 0x101d }, { func101e_unlock_drcaroll_door, 0x101e }, { func101f_check_bot_destroyed, 0x101f }, { func1020_lock_agent_doors, 0x1020 }, diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index bb030def0..de78513af 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -761,7 +761,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_20) + set_chr_team(CHR_ANTI, TEAM_20) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -773,15 +773,15 @@ u8 func1002_intro_from_menu[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) camera_movement(0x0171) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d) label(0x2e) - animation(0x0172, -1, -1, 0x0600, CHR_JOANNA, 4) + animation(0x0172, -1, -1, 0x0600, CHR_BOND, 4) remove_chr(CHR_NEGOTIATOR) set_music_track(MUSIC_VILLA_INTRO3) goto_next(0x06) @@ -804,9 +804,9 @@ u8 func1002_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -819,7 +819,7 @@ u8 func1002_intro[] = { wait_until(205, 0xab) - speak(CHR_JOANNA, 0x2027, 0x73ff, CHANNEL_4, COLOR_09_BLUE) // "Agent Dark Mission Log, 1846 hours. Last night we ..." + speak(CHR_BOND, 0x2027, 0x73ff, CHANNEL_4, COLOR_09_BLUE) // "Agent Dark Mission Log, 1846 hours. Last night we ..." wait_until(680, 0x66) play_sound(0x0161, CHANNEL_7) @@ -846,7 +846,7 @@ u8 func1002_intro[] = { play_sound(0x0161, CHANNEL_7) wait_until(1100, 0xac) - speak(CHR_JOANNA, 0x2028, 0x7400, CHANNEL_4, COLOR_09_BLUE) // "Unfortunately, we don't have it. Daniel and Dr. Ca..." + speak(CHR_BOND, 0x2028, 0x7400, CHANNEL_4, COLOR_09_BLUE) // "Unfortunately, we don't have it. Daniel and Dr. Ca..." wait_until(1118, 0x6e) play_sound(0x0162, CHANNEL_7) @@ -937,12 +937,12 @@ u8 func1002_intro[] = { label(0x56) if_controller_button_pressed(/*goto*/ 0x56) camera_movement(0x01b7) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d) label(0x2e) - animation(0x01b8, -1, -1, 0x0600, CHR_JOANNA, 4) + animation(0x01b8, -1, -1, 0x0600, CHR_BOND, 4) goto_next(0x06) label(0x2d) animation(0x01b8, -1, -1, 0x0600, CHR_NEGOTIATOR, 4) @@ -961,7 +961,7 @@ u8 func1002_intro[] = { restart_timer wait_until(50, 0xaa) - speak(CHR_JOANNA, 0x2029, 0x7401, CHANNEL_4, COLOR_09_BLUE) // "Hopefully our phoney negotiator ploy will give me ..." + speak(CHR_BOND, 0x2029, 0x7401, CHANNEL_4, COLOR_09_BLUE) // "Hopefully our phoney negotiator ploy will give me ..." restart_timer wait_until(295, 0x89) @@ -1044,9 +1044,9 @@ u8 func1002_intro[] = { unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN) animation(0x0001, -1, -1, 0x0600, CHR_TAKER2, 4) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01bc, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01bc, -1, -1, 0x0600, CHR_BOND, 4) show_object(OBJ_DROPSHIP) set_object_flag_bank1(OBJ_DROPSHIP, OBJECTFLAG1_04000000) @@ -1099,9 +1099,9 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_6) mute_channel(CHANNEL_7) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01bc, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01bc, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_NEGOTIATOR, CHRFLAG2_00020000) @@ -1128,17 +1128,17 @@ u8 func1002_intro[] = { set_function(CHR_TAKER1, FUNC_INIT_TAKER) set_function(CHR_TAKER2, FUNC_INIT_TAKER) set_function(CHR_NEGOTIATOR, FUNC_NEGOTIATOR) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(CHR_SELF, GFUNC_IDLE) label(0x4f) camera_movement(0x01be) cmd0175(60) hide_object(OBJ_DROPSHIP) if_controller_button_pressed(/*goto*/ 0x56) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01bf, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01bf, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000) @@ -1200,9 +1200,9 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_5) mute_channel(CHANNEL_6) mute_channel(CHANNEL_7) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01bf, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01bf, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000) set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_00000001) @@ -1219,8 +1219,8 @@ u8 func1002_intro[] = { yield set_function(CHR_TAKER1, FUNC_TAKER) set_function(CHR_TAKER2, FUNC_TAKER) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -1234,7 +1234,7 @@ u8 func0c02_outro_from_menu[] = { u8 func0408_outro[] = { camera_movement(0x017a) set_music_track(MUSIC_VILLA_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) @@ -1399,24 +1399,24 @@ u8 func1003_give_items[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x06) // PA - give_object_to_chr(0x01, CHR_JOANNA) - give_object_to_chr(0x89, CHR_VELVET) - chr_draw_weapon(CHR_JOANNA, WEAPON_UNARMED) - chr_draw_weapon(CHR_VELVET, WEAPON_UNARMED) + give_object_to_chr(0x01, CHR_BOND) + give_object_to_chr(0x89, CHR_COOP) + chr_draw_weapon(CHR_BOND, WEAPON_UNARMED) + chr_draw_weapon(CHR_COOP, WEAPON_UNARMED) hide_object(0x02) hide_object(0x8a) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x08) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x08) set_function(CHR_SELF, GFUNC_IDLE) // A and SA label(0x06) - give_object_to_chr(0x02, CHR_JOANNA) - give_object_to_chr(0x8a, CHR_VELVET) - chr_draw_weapon(CHR_JOANNA, WEAPON_SNIPERRIFLE) - chr_draw_weapon(CHR_VELVET, WEAPON_SNIPERRIFLE) + give_object_to_chr(0x02, CHR_BOND) + give_object_to_chr(0x8a, CHR_COOP) + chr_draw_weapon(CHR_BOND, WEAPON_SNIPERRIFLE) + chr_draw_weapon(CHR_COOP, WEAPON_SNIPERRIFLE) hide_object(0x01) hide_object(0x89) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x08) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x08) set_function(CHR_SELF, GFUNC_IDLE) // Velvet doesn't exist @@ -1438,7 +1438,7 @@ u8 func1004_check_negotiator[] = { endloop(0x04) label(0x06) - message(CHR_JOANNA, 0x200b) // "Negotiator has been killed." + message(CHR_BOND, 0x200b) // "Negotiator has been killed." set_stage_flag(STAGEFLAG_NEGOTIATOR_DEAD) // PA @@ -1494,11 +1494,11 @@ u8 func0402_taker[] = { label(0x60) if_self_flag_bankx_eq(CHRFLAG0_NOHEAR, TRUE, BANK_0, /*goto*/ 0x06) - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x06) + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x06) goto_next(0x03) label(0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x03) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x05) @@ -1506,7 +1506,7 @@ u8 func0402_taker[] = { if_chr_distance_gt(1000, /*goto*/ 0x2e) if_chr_distance_lt(300, /*goto*/ 0x06) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_LAPTOPGUN, /*goto*/ 0x0b) + if_chr_weapon_equipped(CHR_BOND, WEAPON_LAPTOPGUN, /*goto*/ 0x0b) label(0x2d) if_timer_gt(600, /*goto*/ 0x06) endloop(0x05) @@ -1531,7 +1531,7 @@ u8 func0402_taker[] = { // Laptop gun equipped label(0x0b) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer animation(0x0202, 0, -1, 0x100a, CHR_SELF, 2) @@ -1680,7 +1680,7 @@ u8 func0403_negotiator[] = { endloop(0x08) label(0x06) - message(CHR_JOANNA, 0x200d) // "Negotiator has escaped to safety." + message(CHR_BOND, 0x200d) // "Negotiator has escaped to safety." set_stage_flag(STAGEFLAG_NEGOTIATOR_ESCAPED) stop_music_channel(CHANNEL_1) remove_chr(CHR_SELF) @@ -1772,7 +1772,7 @@ u8 func1005_toggle_snipers[] = { u8 func0404_sniper[] = { stop_chr set_onshot_function(FUNC_SNIPER) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_dying(CHR_SELF, /*goto*/ 0x64) if_self_flag_bankx_eq(CHRFLAG0_08000000, TRUE, BANK_0, /*goto*/ 0x04) @@ -1949,7 +1949,7 @@ u8 func1006_check_snipers_dead[] = { endloop(0x04) label(0x2d) - message(CHR_JOANNA, 0x200c) // "Snipers have been eliminated." + message(CHR_BOND, 0x200c) // "Snipers have been eliminated." set_stage_flag(STAGEFLAG_SNIPERS_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2107,21 +2107,21 @@ u8 func100a_check_switches_destroyed[] = { beginloop(0x04) if_object_in_good_condition(0x03, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_COOLING_ACTIVE, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x2015) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x2015) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) if_object_in_good_condition(0x04, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_POWER_ACTIVE, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x2015) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x2015) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) if_object_in_good_condition(0x05, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_WINDMILL_ACTIVATED, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x2015) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x2015) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -2161,7 +2161,7 @@ u8 func100b_invoke_hackers[] = { endloop(0x08) label(0x06) - speak(CHR_JOANNA, 0x2016, 0x819f, CHANNEL_4, COLOR_05_GREEN) // "Joanna! It's Grimshaw. We've got hackers at the vi..." + speak(CHR_BOND, 0x2016, 0x819f, CHANNEL_4, COLOR_05_GREEN) // "Joanna! It's Grimshaw. We've got hackers at the vi..." set_stage_flag(STAGEFLAG_HACKERS_STARTED) set_object_flag_bank2(0x0b, OBJECTFLAG2_RTRACKED_YELLOW) set_object_flag_bank2(0x0d, OBJECTFLAG2_RTRACKED_YELLOW) @@ -2191,7 +2191,7 @@ u8 func100b_invoke_hackers[] = { // Timer expired label(0x06) - message(CHR_JOANNA, 0x2017) // "Hackers have uploaded vital data." + message(CHR_BOND, 0x2017) // "Hackers have uploaded vital data." set_stage_flag(STAGEFLAG_HACKERS_SUCCEEDED) // Hackers dead @@ -2275,7 +2275,7 @@ u8 func100c_check_hackers_dead[] = { label(0x2d) if_stage_flag_eq(STAGEFLAG_HACKERS_SUCCEEDED, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x2018) // "Hackers have been eliminated." + message(CHR_BOND, 0x2018) // "Hackers have been eliminated." set_stage_flag(STAGEFLAG_HACKERS_DEAD) // Hackers succeeded @@ -2300,12 +2300,12 @@ u8 func100e_check_objectives_complete[] = { set_stage_flag(STAGEFLAG_CARRINGTON_RESCUED) yield yield - set_invincible(CHR_JOANNA) - revoke_control(CHR_JOANNA, 4) + set_invincible(CHR_BOND) + revoke_control(CHR_BOND, 4) hide_countdown_timer stop_countdown_timer if_all_objectives_complete(/*goto*/ 0x5c) - message(CHR_JOANNA, 0x201a) // "All objectives not completed - mission failed." + message(CHR_BOND, 0x201a) // "All objectives not completed - mission failed." // If all objectives aren't complete, the player is shown the message, but // if the objective completes within the next 4 seconds you pass the level @@ -2325,14 +2325,14 @@ u8 func100e_check_objectives_complete[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) // Mission failed - players dead @@ -2393,7 +2393,7 @@ u8 func1013_check_guard_subdued[] = { // Captured someone label(0x06) if_stage_flag_eq(STAGEFLAG_GUARD_CAPTURED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x201d) // "Enemy guard has been subdued." + message(CHR_BOND, 0x201d) // "Enemy guard has been subdued." label(0x2e) unset_stage_flag(STAGEFLAG_FORGOT_TO_KO_GUARD) yield @@ -2483,7 +2483,7 @@ u8 func1015_check_computers_destroyed[] = { endloop(0x04) label(0x08) - message(CHR_JOANNA, 0x2015) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x2015) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_HACKER_PC_DESTROYED) label(0x09) set_function(CHR_SELF, GFUNC_IDLE) @@ -2561,7 +2561,7 @@ u8 func1017_msg_gottobequick[] = { endloop(0x08) label(0x06) - speak(CHR_JOANNA, 0x2024, 0x73ad, CHANNEL_6, COLOR_09_BLUE) // "I've got to be quick, or they'll kill the negotiat..." + speak(CHR_BOND, 0x2024, 0x73ad, CHANNEL_6, COLOR_09_BLUE) // "I've got to be quick, or they'll kill the negotiat..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -2601,7 +2601,7 @@ u8 func1019_msg_hackershavetobestopped[] = { endloop(0x08) label(0x2d) - speak(CHR_JOANNA, 0x2026, 0x73af, CHANNEL_6, COLOR_09_BLUE) // "Those hackers have to be stopped before I rescue D..." + speak(CHR_BOND, 0x2026, 0x73af, CHANNEL_6, COLOR_09_BLUE) // "Those hackers have to be stopped before I rescue D..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index 8569f8866..786c0d5d0 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -40,22 +40,22 @@ #define CHR_JONATHAN 0x38 // Objects -#define OBJ_RCP120 0x05 -#define OBJ_AUTOGUN1 0x06 -#define OBJ_AUTOGUN2 0x07 -#define OBJ_AUTOGUN3 0x08 -#define OBJ_SAFEINFO 0x09 -#define OBJ_AUTOGUN_SWITCH1 0x0a -#define OBJ_AUTOGUN_SWITCH2 0x0b -#define OBJ_AUTOGUN_SWITCH3 0x0c -#define OBJ_SAFEDOOR 0x39 -#define OBJ_SKEDAR_SHUTTLE 0x3c -#define OBJ_RCP120_GLASS 0x3d -#define OBJ_FR_GLASS 0x3e -#define OBJ_DEVASTATOR 0x45 -#define OBJ_FR_PC 0x4e -#define OBJ_DATAUPLINK_JOANNA 0x4f -#define OBJ_DATAUPLINK_VELVET 0x50 +#define OBJ_RCP120 0x05 +#define OBJ_AUTOGUN1 0x06 +#define OBJ_AUTOGUN2 0x07 +#define OBJ_AUTOGUN3 0x08 +#define OBJ_SAFEINFO 0x09 +#define OBJ_AUTOGUN_SWITCH1 0x0a +#define OBJ_AUTOGUN_SWITCH2 0x0b +#define OBJ_AUTOGUN_SWITCH3 0x0c +#define OBJ_SAFEDOOR 0x39 +#define OBJ_SKEDAR_SHUTTLE 0x3c +#define OBJ_RCP120_GLASS 0x3d +#define OBJ_FR_GLASS 0x3e +#define OBJ_DEVASTATOR 0x45 +#define OBJ_FR_PC 0x4e +#define OBJ_DATAUPLINK_BOND 0x4f +#define OBJ_DATAUPLINK_COOP 0x50 // Stage flags #define STAGEFLAG_00000001 0x00000001 // never set @@ -548,9 +548,9 @@ s32 path00[] = { u8 func1001_objectives_failed_msg[] = { yield - give_object_to_chr(OBJ_DATAUPLINK_JOANNA, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - give_object_to_chr(OBJ_DATAUPLINK_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_DATAUPLINK_BOND, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP) label(0x2e) set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_04000000) @@ -574,7 +574,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -720,7 +720,7 @@ u8 func0413_defend_pad[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_onshot_function(FUNC_DEFEND_PAD) set_return_function(CHR_SELF, FUNC_DEFEND_PAD) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -777,7 +777,7 @@ u8 func1004_check_hostages_killed[] = { label(0x08) if_stage_flag_eq(STAGEFLAG_ENOUGH_HOSTAGES_SAVED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_TOO_MANY_HOSTAGES_KILLED) - message(CHR_JOANNA, 0x2210) // "Too many hostages killed." + message(CHR_BOND, 0x2210) // "Too many hostages killed." label(0x2e) set_function(CHR_SELF, GFUNC_IDLE) @@ -793,7 +793,7 @@ u8 func1005_check_safeinfo_destroyed[] = { endloop(0x04) label(0x08) - message(CHR_JOANNA, 0x2212) // "Sensitive information has been destroyed." + message(CHR_BOND, 0x2212) // "Sensitive information has been destroyed." set_stage_flag(STAGEFLAG_SAFEINFO_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -833,7 +833,7 @@ u8 func1005_check_safeinfo_destroyed[] = { /* Autogun or switch destroyed */ \ label(0x0b) \ if_difficulty_lt(DIFF_SA, /*goto*/ 0x11) \ - message(CHR_JOANNA, 0x2222) /* "Critical mission object has been destroyed." */ \ + message(CHR_BOND, 0x2222) /* "Critical mission object has been destroyed." */ \ set_stage_flag(STAGEFLAG_AUTOGUN_SWITCH_DESTROYED) @@ -863,7 +863,7 @@ u8 func1009_autogun_switch3[] = { u8 func0c01_outro[] = { camera_movement(0x01a2) set_music_track(MUSIC_DEFENSE_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN) @@ -1030,7 +1030,7 @@ u8 func0c01_outro[] = { play_sound(0x0162, CHANNEL_10) wait_until(570, 0x71) - speak(CHR_JOANNA, 0x2231, 0x747d, CHANNEL_10, COLOR_09_BLUE) // "Get clear! I'll hold them off... You can come back..." + speak(CHR_BOND, 0x2231, 0x747d, CHANNEL_10, COLOR_09_BLUE) // "Get clear! I'll hold them off... You can come back..." wait_until(847, 0x87) play_sound(0x0161, CHANNEL_10) @@ -1039,35 +1039,35 @@ u8 func0c01_outro[] = { play_sound(0x0162, CHANNEL_10) wait_until(865, 0x72) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) wait_until(870, 0x89) label(0x8a) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield if_controller_button_pressed(/*goto*/ 0xb8) if_timer_gt(960, /*goto*/ 0x08) goto_first(0x8a) label(0x08) - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) - speak(CHR_JOANNA, 0x2232, 0x747e, CHANNEL_10, COLOR_09_BLUE) // "At least, I hope you can." + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) + speak(CHR_BOND, 0x2232, 0x747e, CHANNEL_10, COLOR_09_BLUE) // "At least, I hope you can." wait_until(1018, 0x8c) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) wait_until(1065, 0x94) play_sound(0x052b, CHANNEL_7) @@ -1122,13 +1122,13 @@ u8 func0c01_outro[] = { play_sound(0x00df, CHANNEL_10) wait_until(1350, 0x9b) - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, TRUE) + set_chr_shooting_in_cutscene(CHR_BOND, TRUE) yield - set_chr_shooting_in_cutscene(CHR_JOANNA, FALSE) + set_chr_shooting_in_cutscene(CHR_BOND, FALSE) play_sound(0x77ba, CHANNEL_10) play_sound(0x00e4, CHANNEL_10) @@ -1153,16 +1153,16 @@ u8 func0c01_outro[] = { u8 func1002_intro[] = { set_music_track(MUSIC_DEFENSE_INTRO) camera_movement(0x02bc) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(CHR_CARRINGTON, GFUNC_IDLE) set_function(0x19, GFUNC_IDLE) set_function(0x1a, GFUNC_IDLE) set_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02bd, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02bd, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000) @@ -1185,7 +1185,7 @@ u8 func1002_intro[] = { set_cutscene_weapon(0x1a, WEAPON_AR34, WEAPON_NONE) wait_until(4, 0x71) - speak(CHR_JOANNA, 0x2229, 0x7475, CHANNEL_10, COLOR_06_WHITE) // "All ready, Joanna? We can't keep the Maian delegat..." + speak(CHR_BOND, 0x2229, 0x7475, CHANNEL_10, COLOR_06_WHITE) // "All ready, Joanna? We can't keep the Maian delegat..." wait_until(72, 0x72) play_sound(0x0161, CHANNEL_10) @@ -1194,7 +1194,7 @@ u8 func1002_intro[] = { play_sound(0x0162, CHANNEL_10) wait_until(450, 0x74) - speak(CHR_JOANNA, 0x222a, 0x7476, CHANNEL_10, COLOR_09_BLUE) // "Am I ready? What do you mean? I was ready half an ..." + speak(CHR_BOND, 0x222a, 0x7476, CHANNEL_10, COLOR_09_BLUE) // "Am I ready? What do you mean? I was ready half an ..." wait_until(688, 0x76) play_sound(0x0163, CHANNEL_10) @@ -1203,7 +1203,7 @@ u8 func1002_intro[] = { play_sound(0x0164, CHANNEL_10) wait_until(800, 0x75) - speak(CHR_JOANNA, 0x222b, 0x7477, CHANNEL_10, COLOR_06_WHITE) // "But you know how it is, Joanna... I had to make su..." + speak(CHR_BOND, 0x222b, 0x7477, CHANNEL_10, COLOR_06_WHITE) // "But you know how it is, Joanna... I had to make su..." wait_until(822, 0x78) play_sound(0x0165, CHANNEL_10) @@ -1245,7 +1245,7 @@ u8 func1002_intro[] = { play_sound(0x0165, CHANNEL_10) wait_until(1160, 0x82) - speak(CHR_JOANNA, 0x222c, 0x7478, CHANNEL_10, COLOR_09_BLUE) // "They should keep you away from mirrors. Nervous?" + speak(CHR_BOND, 0x222c, 0x7478, CHANNEL_10, COLOR_09_BLUE) // "They should keep you away from mirrors. Nervous?" wait_until(1170, 0x86) play_sound(0x0166, CHANNEL_10) @@ -1257,7 +1257,7 @@ u8 func1002_intro[] = { play_sound(0x0168, CHANNEL_10) wait_until(1440, 0x89) - speak(CHR_JOANNA, 0x222d, 0x7479, CHANNEL_10, COLOR_06_WHITE) // "Very. I've waited for this moment for so many year..." + speak(CHR_BOND, 0x222d, 0x7479, CHANNEL_10, COLOR_06_WHITE) // "Very. I've waited for this moment for so many year..." wait_until(1442, 0x8a) play_sound(0x0162, CHANNEL_10) @@ -1290,7 +1290,7 @@ u8 func1002_intro[] = { play_sound(0x00b5, CHANNEL_10) wait_until(2410, 0x94) - speak(CHR_JOANNA, 0x222e, 0x747a, CHANNEL_10, COLOR_06_WHITE) // "Where did that come from?" + speak(CHR_BOND, 0x222e, 0x747a, CHANNEL_10, COLOR_06_WHITE) // "Where did that come from?" wait_until(2416, 0x95) play_sound(0x0165, CHANNEL_10) @@ -1308,7 +1308,7 @@ u8 func1002_intro[] = { play_sound(0x00b2, CHANNEL_10) wait_until(2628, 0x9b) - speak(CHR_JOANNA, 0x222f, 0x747b, CHANNEL_10, COLOR_09_BLUE) // "It was up on ground level..." + speak(CHR_BOND, 0x222f, 0x747b, CHANNEL_10, COLOR_09_BLUE) // "It was up on ground level..." wait_until(2804, 0x9c) play_sound(0x00b5, CHANNEL_10) @@ -1316,7 +1316,7 @@ u8 func1002_intro[] = { wait_until(2910, 0x9e) play_sound(0x0165, CHANNEL_10) set_cutscene_weapon(0x1a, WEAPON_NONE, WEAPON_NONE) - set_cutscene_weapon(CHR_JOANNA, WEAPON_AR34, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE) wait_until(2940, 0x9f) play_sound(0x03c5, CHANNEL_10) @@ -1325,7 +1325,7 @@ u8 func1002_intro[] = { play_sound(0x0168, CHANNEL_10) wait_until(2970, 0x9d) - speak(CHR_JOANNA, 0x2230, 0x747c, CHANNEL_10, COLOR_09_BLUE) // "Looks like someone doesn't know when to quit. We'v..." + speak(CHR_BOND, 0x2230, 0x747c, CHANNEL_10, COLOR_09_BLUE) // "Looks like someone doesn't know when to quit. We'v..." wait_until(2984, 0xa1) play_sound(0x0165, CHANNEL_10) @@ -1407,9 +1407,9 @@ u8 func1002_intro[] = { set_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_SKEDAR4, CHRFLAG2_00020000) animation(0x02c3, -1, -1, 0x0600, CHR_SKEDAR4, 4) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02c4, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02c4, -1, -1, 0x0600, CHR_BOND, 4) show_object(0x52) set_object_flag_bank1(0x52, OBJECTFLAG1_04000000) set_object_flag_bank2(0x52, OBJECTFLAG2_00000010) @@ -1488,10 +1488,10 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_6) mute_channel(CHANNEL_5) mute_channel(CHANNEL_10) - set_cutscene_weapon(CHR_JOANNA, WEAPON_AR34, WEAPON_NONE) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02c4, -2, -1, 0x0600, CHR_JOANNA, 2) + set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02c4, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000) animation(0x02be, -2, -1, 0x0600, CHR_CARRINGTON, 2) @@ -1520,8 +1520,8 @@ u8 func1002_intro[] = { set_stage_flag(STAGEFLAG_INTRO_FINISHED) restart_default_music reset_ambience - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) remove_chr(0x19) remove_chr(0x1a) set_function(0x19, GFUNC_IDLE) @@ -1567,7 +1567,7 @@ u8 func100c_check_carrington_dead[] = { endloop(0x04) label(0x2e) - message(CHR_JOANNA, 0x2213) // "Carrington has been killed." + message(CHR_BOND, 0x2213) // "Carrington has been killed." set_stage_flag(STAGEFLAG_CARRINGTON_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1633,7 +1633,7 @@ u8 func0414_firingrange_hostage[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_FIRINGRANGE_HOSTAGE) set_onshot_function(FUNC_FIRINGRANGE_HOSTAGE) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) set_function(CHR_SELF, GFUNC_IDLE) // Enemy not detected @@ -1744,9 +1744,9 @@ u8 func041a_hostage_holo[] = { // Wait until player in sight, or 2 seconds beginloop(0x0a) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x08) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x08) if_timer_gt(120, /*goto*/ 0x08) endloop(0x0a) @@ -1881,9 +1881,9 @@ u8 func041f_holoclone[] = { animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) \ \ beginloop(0xba) \ - set_target_chr(CHR_JOANNA) \ + set_target_chr(CHR_BOND) \ if_chr_sees_player(/*goto*/ 0xbb) \ - set_target_chr(CHR_VELVET) \ + set_target_chr(CHR_COOP) \ if_chr_sees_player(/*goto*/ 0xbb) \ if_timer_gt(60, /*goto*/ 0xbb) \ endloop(0xba) \ @@ -1896,7 +1896,7 @@ u8 func041f_holoclone[] = { yield \ try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xb9) \ label(0xb9) \ - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) \ + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) \ try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) \ \ beginloop(0x0a) \ @@ -1906,7 +1906,7 @@ u8 func041f_holoclone[] = { label(0x08) \ set_onshot_function(GFUNC_UNALERTED) \ set_return_function(CHR_SELF, GFUNC_UNALERTED) \ - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) @@ -1972,13 +1972,13 @@ u8 func0425_hostage_thank_and_run[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x03) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2e) - set_follow_chr(CHR_JOANNA) + set_follow_chr(CHR_BOND) goto_next(0x08) label(0x2e) - set_follow_chr(CHR_VELVET) + set_follow_chr(CHR_COOP) label(0x08) restart_timer @@ -2012,14 +2012,14 @@ u8 func0425_hostage_thank_and_run[] = { endloop(0x11) // Unreachable - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) beginloop(0x10) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2e) - set_target_chr(CHR_COUNTEROP) + set_target_chr(CHR_ANTI) if_chr_sees_player(/*goto*/ 0x2e) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2e) if_chr_distance_gt(500, /*goto*/ 0x08) label(0x2e) @@ -2064,13 +2064,13 @@ u8 func0427_drop_devastator[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x03) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2e) - set_follow_chr(CHR_JOANNA) + set_follow_chr(CHR_BOND) goto_next(0x08) label(0x2e) - set_follow_chr(CHR_VELVET) + set_follow_chr(CHR_COOP) label(0x08) restart_timer @@ -2101,7 +2101,7 @@ u8 func0427_drop_devastator[] = { endloop(0x11) // Unreachable - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) beginloop(0x10) if_chr_sees_player(/*goto*/ 0x2e) @@ -2204,9 +2204,9 @@ u8 func042b_deviceroom_hostage[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x12) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2e) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2e) stop_chr goto_next(0x10) @@ -2363,7 +2363,7 @@ u8 func0432_taker_attack[] = { yield try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xb9) label(0xb9) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) beginloop(0x0a) @@ -2374,7 +2374,7 @@ u8 func0432_taker_attack[] = { label(0x0f) set_onshot_function(GFUNC_UNALERTED) set_return_function(CHR_SELF, GFUNC_UNALERTED) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2445,7 +2445,7 @@ u8 func0433_inforoom_hostage[] = { unset_self_flag_bankx(CHRFLAG0_00000004, BANK_0) set_onshot_function(FUNC_INFOROOM_HOSTAGE) set_return_function(CHR_SELF, FUNC_INFOROOM_HOSTAGE) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x0d) if_kill_count_gt(1, /*goto*/ 0x2e) @@ -2631,7 +2631,7 @@ u8 func1013_check_hostages_saved[] = { // All rooms done label(0x2e) if_stage_flag_eq(STAGEFLAG_TOO_MANY_HOSTAGES_KILLED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2211) // "Hostages have been saved." + message(CHR_BOND, 0x2211) // "Hostages have been saved." set_stage_flag(STAGEFLAG_ENOUGH_HOSTAGES_SAVED) label(0x2e) @@ -2649,11 +2649,11 @@ u8 func1014_carrington_messages[] = { #define carrington_sanity_checks \ if_chr_dying(CHR_CARRINGTON, /*goto*/ 0xd9) \ - if_chr_dying(CHR_JOANNA, /*goto*/ 0x05) \ + if_chr_dying(CHR_BOND, /*goto*/ 0x05) \ goto_next(0x06) \ \ label(0x05) \ - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xd9) \ + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xd9) \ label(0x06) @@ -2672,7 +2672,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer if_difficulty_lt(DIFF_SA, /*goto*/ 0x0d) - speak(CHR_JOANNA, 0x2214, 0x8193, CHANNEL_6, COLOR_06_WHITE) // "Joanna - we're under attack." + speak(CHR_BOND, 0x2214, 0x8193, CHANNEL_6, COLOR_06_WHITE) // "Joanna - we're under attack." beginloop(0x0b) carrington_sanity_checks @@ -2680,7 +2680,7 @@ u8 func1014_carrington_messages[] = { endloop(0x0b) label(0x08) - speak(CHR_JOANNA, 0x2215, 0x8194, CHANNEL_6, COLOR_06_WHITE) // "Get the guns back on line - hurry." + speak(CHR_BOND, 0x2215, 0x8194, CHANNEL_6, COLOR_06_WHITE) // "Get the guns back on line - hurry." beginloop(0x0c) carrington_sanity_checks @@ -2708,7 +2708,7 @@ u8 func1014_carrington_messages[] = { label(0xda) restart_timer - speak(CHR_JOANNA, 0x2216, 0x8195, CHANNEL_6, COLOR_06_WHITE) // "The Skedar have taken hostages." + speak(CHR_BOND, 0x2216, 0x8195, CHANNEL_6, COLOR_06_WHITE) // "The Skedar have taken hostages." beginloop(0x0e) carrington_sanity_checks @@ -2717,7 +2717,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x2217, 0x8196, CHANNEL_6, COLOR_06_WHITE) // "Get up to the offices and save them." + speak(CHR_BOND, 0x2217, 0x8196, CHANNEL_6, COLOR_06_WHITE) // "Get up to the offices and save them." beginloop(0x0f) carrington_sanity_checks @@ -2745,7 +2745,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x2218, 0x8197, CHANNEL_6, COLOR_06_WHITE) // "They're using a new form of shield technology." + speak(CHR_BOND, 0x2218, 0x8197, CHANNEL_6, COLOR_06_WHITE) // "They're using a new form of shield technology." beginloop(0x11) carrington_sanity_checks @@ -2754,7 +2754,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x2219, 0x8198, CHANNEL_6, COLOR_06_WHITE) // "Foster was working on a new weapon which may be us..." + speak(CHR_BOND, 0x2219, 0x8198, CHANNEL_6, COLOR_06_WHITE) // "Foster was working on a new weapon which may be us..." beginloop(0x12) carrington_sanity_checks @@ -2777,7 +2777,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x221a, 0x8199, CHANNEL_6, COLOR_06_WHITE) // "Damn it. My office... If they get access..." + speak(CHR_BOND, 0x221a, 0x8199, CHANNEL_6, COLOR_06_WHITE) // "Damn it. My office... If they get access..." beginloop(0xc1) carrington_sanity_checks @@ -2786,7 +2786,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x221b, 0x819a, CHANNEL_6, COLOR_06_WHITE) // "Get there first, Jo, and destroy the files." + speak(CHR_BOND, 0x221b, 0x819a, CHANNEL_6, COLOR_06_WHITE) // "Get there first, Jo, and destroy the files." beginloop(0xc2) carrington_sanity_checks @@ -2803,24 +2803,24 @@ u8 func1014_carrington_messages[] = { // Wait until no one in skedar shuttle area beginloop(0x71) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0046, /*goto*/ 0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xe5) - if_chr_in_room(CHR_VELVET, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xe5) + if_chr_in_room(CHR_COOP, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0046, /*goto*/ 0x2e) label(0xe5) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0xe5) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0xe5) + if_chr_in_room(CHR_ANTI, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0046, /*goto*/ 0x2e) label(0xe5) goto_next(0x08) @@ -2837,7 +2837,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x221c, 0x819b, CHANNEL_6, COLOR_06_WHITE) // "Things are desperate. They've planted a bomb." + speak(CHR_BOND, 0x221c, 0x819b, CHANNEL_6, COLOR_06_WHITE) // "Things are desperate. They've planted a bomb." beginloop(0xc5) carrington_sanity_checks @@ -2846,7 +2846,7 @@ u8 func1014_carrington_messages[] = { label(0x08) restart_timer - speak(CHR_JOANNA, 0x221d, 0x819c, CHANNEL_6, COLOR_06_WHITE) // "Find it and get it out of the building." + speak(CHR_BOND, 0x221d, 0x819c, CHANNEL_6, COLOR_06_WHITE) // "Find it and get it out of the building." beginloop(0xc6) carrington_sanity_checks @@ -2877,7 +2877,7 @@ u8 func1014_carrington_messages[] = { label(0x2e) carrington_sanity_checks restart_timer - speak(CHR_JOANNA, 0x2220, 0x819d, CHANNEL_6, COLOR_06_WHITE) // "Well done, Joanna. We're nearly clear..." + speak(CHR_BOND, 0x2220, 0x819d, CHANNEL_6, COLOR_06_WHITE) // "Well done, Joanna. We're nearly clear..." beginloop(0xc9) if_timer_gt(180, /*goto*/ 0x08) @@ -2885,7 +2885,7 @@ u8 func1014_carrington_messages[] = { label(0x08) carrington_sanity_checks - speak(CHR_JOANNA, 0x2221, 0x819e, CHANNEL_6, COLOR_06_WHITE) // "The last dropship is waiting for you. Hurry." + speak(CHR_BOND, 0x2221, 0x819e, CHANNEL_6, COLOR_06_WHITE) // "The last dropship is waiting for you. Hurry." beginloop(0xca) if_timer_gt(180, /*goto*/ 0xcb) @@ -2902,15 +2902,15 @@ u8 func1014_carrington_messages[] = { endloop(0xcb) label(0x2e) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2e) + if_chr_dying(CHR_BOND, /*goto*/ 0x2e) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2e) goto_next(0x08) label(0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2e) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + if_chr_dying(CHR_COOP, /*goto*/ 0x2e) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2e) goto_next(0x08) label(0x2e) @@ -2918,7 +2918,7 @@ u8 func1014_carrington_messages[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x08) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, 0x0418) label(0xd9) @@ -2937,7 +2937,7 @@ u8 func1015_firingrange_pc[] = { reloop(0x0a) label(0x2f) - message(CHR_JOANNA, 0x2222) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x2222) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_FR_PC_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -3027,7 +3027,7 @@ u8 func040c_init_clone4[] = { }; u8 func040b_clone4[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr(/*goto*/ 0x2e) label(0x2e) set_function(CHR_SELF, GFUNC_ALERTED) @@ -3146,7 +3146,7 @@ u8 func0412_init_clone6[] = { }; u8 func0411_clone6[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr(/*goto*/ 0x2e) label(0x2e) set_function(CHR_SELF, GFUNC_ALERTED) @@ -3166,24 +3166,24 @@ u8 func1022_skedar_shuttle[] = { label(0x08) beginloop(0x71) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0046, /*goto*/ 0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0xe5) - if_chr_in_room(CHR_VELVET, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_VELVET, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0xe5) + if_chr_in_room(CHR_COOP, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x0046, /*goto*/ 0x2e) label(0xe5) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0xe5) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0045, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0047, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x004d, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0055, /*goto*/ 0x2e) - if_chr_in_room(CHR_COUNTEROP, 0x00, 0x0046, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0xe5) + if_chr_in_room(CHR_ANTI, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0047, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x004d, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0055, /*goto*/ 0x2e) + if_chr_in_room(CHR_ANTI, 0x00, 0x0046, /*goto*/ 0x2e) label(0xe5) goto_next(0x08) @@ -3228,7 +3228,7 @@ u8 func1022_skedar_shuttle[] = { hide_countdown_timer stop_countdown_timer destroy_object(OBJ_SKEDAR_SHUTTLE) - explosions_around_chr(CHR_JOANNA) + explosions_around_chr(CHR_BOND) restart_timer beginloop(0x72) @@ -3236,13 +3236,13 @@ u8 func1022_skedar_shuttle[] = { endloop(0x72) label(0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2f) - explosions_around_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2f) + explosions_around_chr(CHR_COOP) goto_next(0x41) label(0x2f) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x41) - explosions_around_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x41) + explosions_around_chr(CHR_ANTI) label(0x41) restart_timer @@ -3458,7 +3458,7 @@ u8 func101b_msg_autodefenses[] = { label(0x2e) yield yield - speak(CHR_JOANNA, 0x2223, 0x73d8, CHANNEL_6, COLOR_09_BLUE) // "The autodefenses will really help me out." + speak(CHR_BOND, 0x2223, 0x73d8, CHANNEL_6, COLOR_09_BLUE) // "The autodefenses will really help me out." label(0x0a) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3504,7 +3504,7 @@ u8 func101d_msg_countingonme[] = { endloop(0x0a) label(0x2e) - speak(CHR_JOANNA, 0x2225, 0x73da, CHANNEL_6, COLOR_09_BLUE) // "I'll have to go carefully... The hostages are coun..." + speak(CHR_BOND, 0x2225, 0x73da, CHANNEL_6, COLOR_09_BLUE) // "I'll have to go carefully... The hostages are coun..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3517,7 +3517,7 @@ u8 func101e_msg_wontknow[] = { endloop(0x04) label(0x2e) - speak(CHR_JOANNA, 0x2226, 0x73db, CHANNEL_6, COLOR_09_BLUE) // "Well, at least I won't know if I'm doing anything ..." + speak(CHR_BOND, 0x2226, 0x73db, CHANNEL_6, COLOR_09_BLUE) // "Well, at least I won't know if I'm doing anything ..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3609,9 +3609,9 @@ u8 func1023_check_skeder_shuttle_destroyed[] = { label(0x2e) if_stage_flag_eq(STAGEFLAG_BOMB_AIRBORNE, TRUE, /*goto*/ 0x0f) - message(CHR_JOANNA, 0x2227) // "The bomb has been detonated..." + message(CHR_BOND, 0x2227) // "The bomb has been detonated..." set_stage_flag(STAGEFLAG_BOMB_EXPLODING_ON_GROUND) - explosions_around_chr(CHR_JOANNA) + explosions_around_chr(CHR_BOND) restart_timer beginloop(0x72) @@ -3619,13 +3619,13 @@ u8 func1023_check_skeder_shuttle_destroyed[] = { endloop(0x72) label(0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2f) - explosions_around_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2f) + explosions_around_chr(CHR_COOP) goto_next(0x41) label(0x2f) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x41) - explosions_around_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x41) + explosions_around_chr(CHR_ANTI) label(0x41) restart_timer @@ -3700,19 +3700,19 @@ u8 func1027_uplink[] = { label(0x2f) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - if_chr_activated_object(TARGET_CHR, OBJ_SKEDAR_SHUTTLE, /*goto*/ 0x2e) + if_chr_activated_object(CHR_TARGET, OBJ_SKEDAR_SHUTTLE, /*goto*/ 0x2e) reloop(0x04) // Activated label(0x08) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2e) play_sound(0x8116, -1) - message(TARGET_CHR, 0x2233) // "You need the Data Uplink." + message(CHR_TARGET, 0x2233) // "You need the Data Uplink." reloop(0x04) // Activated with uplink label(0x2e) - message(TARGET_CHR, 0x2234) // "Connection has been made." + message(CHR_TARGET, 0x2234) // "Connection has been made." restart_timer beginloop(0x0a) @@ -3721,11 +3721,11 @@ u8 func1027_uplink[] = { label(0x2f) if_timer_gt(60, /*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_TARGET, 0x00, 0x0045, /*goto*/ 0x2e) goto_next(0x0b) label(0x2e) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2e) goto_next(0x0b) label(0x2e) @@ -3733,7 +3733,7 @@ u8 func1027_uplink[] = { // 1 second since uplink label(0x08) - message(TARGET_CHR, 0x2235) // "Bypassing security systems." + message(CHR_TARGET, 0x2235) // "Bypassing security systems." restart_timer assign_sound(0x01bf, CHANNEL_5) control_sound_from_object(CHANNEL_5, OBJ_SKEDAR_SHUTTLE, TRUE) @@ -3744,11 +3744,11 @@ u8 func1027_uplink[] = { label(0x2f) if_timer_gt(400, /*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x0045, /*goto*/ 0x2e) + if_chr_in_room(CHR_TARGET, 0x00, 0x0045, /*goto*/ 0x2e) goto_next(0x0b) label(0x2e) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_DATAUPLINK, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2e) goto_next(0x0b) label(0x2e) @@ -3759,9 +3759,9 @@ u8 func1027_uplink[] = { mute_channel(CHANNEL_5) assign_sound(0x01c1, CHANNEL_6) control_sound_from_object(CHANNEL_6, OBJ_SKEDAR_SHUTTLE, TRUE) - message(TARGET_CHR, 0x2236) // "Virus has been downloaded successfully." + message(CHR_TARGET, 0x2236) // "Virus has been downloaded successfully." yield - message(TARGET_CHR, 0x2237) // "Ship's engines have been activated." + message(CHR_TARGET, 0x2237) // "Ship's engines have been activated." set_stage_flag(STAGEFLAG_TRIGGER_SHUTTLE_TAKEOFF) beginloop(0x14) @@ -3774,7 +3774,7 @@ u8 func1027_uplink[] = { // Connection broken label(0x0b) - message(TARGET_CHR, 0x2238) // "Connection to ship has been broken." + message(CHR_TARGET, 0x2238) // "Connection to ship has been broken." mute_channel(CHANNEL_5) assign_sound(0x01c0, CHANNEL_6) control_sound_from_object(CHANNEL_6, OBJ_SKEDAR_SHUTTLE, TRUE) @@ -3846,19 +3846,19 @@ u8 func102b_safedoor_immunity[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x000c, /*goto*/ 0x2e) + if_chr_in_room(CHR_BOND, 0x00, 0x000c, /*goto*/ 0x2e) goto_next(0x0b) label(0x2e) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_LASER, /*goto*/ 0x0f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_LASER, /*goto*/ 0x0f) // Jo not in office room or laser not equipped label(0x0b) - if_chr_in_room(CHR_VELVET, 0x00, 0x000c, /*goto*/ 0x2e) + if_chr_in_room(CHR_COOP, 0x00, 0x000c, /*goto*/ 0x2e) goto_next(0x0e) label(0x2e) - if_chr_weapon_equipped(CHR_VELVET, WEAPON_LASER, /*goto*/ 0x0f) + if_chr_weapon_equipped(CHR_COOP, WEAPON_LASER, /*goto*/ 0x0f) // No one in office room with laser equipped label(0x0e) @@ -3878,7 +3878,7 @@ u8 func102b_safedoor_immunity[] = { u8 func102c_door_flags[] = { yield - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x0f) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x0f) lock_door(0x23, 0x40) lock_door(0x24, 0x40) set_object_flag_bank1(0x23, OBJECTFLAG1_00000004) @@ -3893,12 +3893,12 @@ u8 func102c_door_flags[] = { set_object_flag_bank1(0x19, OBJECTFLAG1_00000004) beginloop(0xe4) - if_chr_activated_object(CHR_JOANNA, 0x23, /*goto*/ 0x0a) - if_chr_activated_object(CHR_JOANNA, 0x23, /*goto*/ 0x0a) - if_chr_activated_object(CHR_JOANNA, 0x43, /*goto*/ 0x0b) - if_chr_activated_object(CHR_JOANNA, 0x44, /*goto*/ 0x0b) - if_chr_activated_object(CHR_JOANNA, 0x54, /*goto*/ 0x0c) - if_chr_activated_object(CHR_JOANNA, 0x19, /*goto*/ 0x0d) + if_chr_activated_object(CHR_BOND, 0x23, /*goto*/ 0x0a) + if_chr_activated_object(CHR_BOND, 0x23, /*goto*/ 0x0a) + if_chr_activated_object(CHR_BOND, 0x43, /*goto*/ 0x0b) + if_chr_activated_object(CHR_BOND, 0x44, /*goto*/ 0x0b) + if_chr_activated_object(CHR_BOND, 0x54, /*goto*/ 0x0c) + if_chr_activated_object(CHR_BOND, 0x19, /*goto*/ 0x0d) reloop(0xe4) label(0x0a) diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index dacf7c0e0..6d3c1e771 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -542,7 +542,7 @@ u8 func1400_setup_counterop[] = { set_object_flag_bank0(OBJ_HANGARLIFT_ELVIS, OBJECTFLAG0_DEACTIVATED) set_object_flag_bank0(OBJ_HANGARLIFT_JO, OBJECTFLAG0_DEACTIVATED) yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -552,17 +552,17 @@ u8 func1019_check_shields_lowered[] = { if_object_in_good_condition(OBJ_SHIELDCONSOLE1, /*goto*/ 0x06) if_object_in_good_condition(OBJ_SHIELDCONSOLE2, /*goto*/ 0x06) if_object_in_good_condition(OBJ_SHIELDCONSOLE3, /*goto*/ 0x06) - message(CHR_JOANNA, 0x260a) // "Ship's shields have been lowered." + message(CHR_BOND, 0x260a) // "Ship's shields have been lowered." set_stage_flag(STAGEFLAG_SHIELDS_DISABLED) if_difficulty_lt(DIFF_PA, /*goto*/ 0x09) restart_timer beginloop(0x08) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0002, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0002, /*goto*/ 0x2c) endloop(0x08) label(0x2c) - speak(CHR_JOANNA, 0x2611, 0x81a1, CHANNEL_6, COLOR_04_ORANGE) // "You've got to open the hangar doors so we can dock..." + speak(CHR_BOND, 0x2611, 0x81a1, CHANNEL_6, COLOR_04_ORANGE) // "You've got to open the hangar doors so we can dock..." set_function(CHR_SELF, GFUNC_IDLE) label(0x06) @@ -587,7 +587,7 @@ u8 func1004_check_hangar_doors_opened[] = { if_object_in_good_condition(OBJ_HANGARDOORCONSOLE, /*goto*/ 0x2d) // Console destroyed - message(CHR_JOANNA, 0x2630) // "Critical mission object destroyed." + message(CHR_BOND, 0x2630) // "Critical mission object destroyed." set_stage_flag(STAGEFLAG_HANGAR_DOOR_CONSOLE_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -603,7 +603,7 @@ u8 func1004_check_hangar_doors_opened[] = { // Console activated label(0x06) if_stage_flag_eq(STAGEFLAG_SHIELDS_DISABLED, TRUE, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x262f) // "Hangar doors locked - shields still active." + message(CHR_BOND, 0x262f) // "Hangar doors locked - shields still active." restart_timer beginloop(0x65) @@ -673,11 +673,11 @@ u8 func040d_elvis_wait_for_hangar_entry[] = { label(0x06) beginloop(0x65) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2c) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2c) - set_target_chr(CHR_COUNTEROP) + set_target_chr(CHR_ANTI) if_chr_sees_player(/*goto*/ 0x2c) goto_next(0x06) @@ -729,7 +729,7 @@ u8 func040e_elvis_give_ar34[] = { try_run_to_target_chr(/*goto*/ 0x09) beginloop(0x09) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_timer_gt(60, /*goto*/ 0x2c) if_chr_distance_lt(200, /*goto*/ 0x06) reloop(0x09) @@ -756,8 +756,8 @@ u8 func040e_elvis_give_ar34[] = { label(0x06) speak(CHR_P1P2, 0x2614, 0x12e2, CHANNEL_6, COLOR_04_ORANGE) // "Take this - you should find it useful..." - give_object_to_chr(OBJ_AR34, FOLLOW_CHR) - message(FOLLOW_CHR, 0x2615) // "Received AR34 assault rifle." + give_object_to_chr(OBJ_AR34, CHR_PRESET) + message(CHR_PRESET, 0x2615) // "Received AR34 assault rifle." restart_timer beginloop(0x0d) @@ -806,7 +806,7 @@ u8 func0409_elvis_follow[] = { // Injured label(0x2c) restart_timer - say_quip(CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) dprint 'I','N','J','U','R','E','D','\n',0, beginloop(0xc1) @@ -818,11 +818,11 @@ u8 func0409_elvis_follow[] = { label(0x06) dprint 'I','N','J','U','R','E','D','F','I','N','\n',0, if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) label(0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(500, /*goto*/ 0x06) try_run_to_target_chr_with_hand_up(/*goto*/ 0x04) @@ -840,7 +840,7 @@ u8 func0409_elvis_follow[] = { label(0x2c) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x2c) endloop(0x04) @@ -862,7 +862,7 @@ u8 func0409_elvis_follow[] = { label(0x2c) dprint 'A','T',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_gt(300, /*goto*/ 0x06) endloop(0x09) @@ -872,9 +872,9 @@ u8 func0409_elvis_follow[] = { // Enemy detected label(0x08) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2c) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2c) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2c) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2c) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2c) if_target_chrs_target_is_different(/*goto*/ 0x06) label(0x2c) goto_first(0x03) @@ -884,17 +884,17 @@ u8 func0409_elvis_follow[] = { call_rng if_rand_lt(85, /*goto*/ 0x65) if_rand_lt(170, /*goto*/ 0x66) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2c) label(0x65) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2c) label(0x66) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) label(0x2c) set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW) set_onshot_function(FUNC_ELVIS_FOLLOW) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // Elvis in nav room label(0xb5) @@ -914,8 +914,8 @@ u8 func0409_elvis_follow[] = { label(0x06) do_special_animation(-1) - message(CHR_JOANNA, 0x260d) // "Navigational information has been retrieved." - speak(FOLLOW_CHR, 0x261f, 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards..." + message(CHR_BOND, 0x260d) // "Navigational information has been retrieved." + speak(CHR_PRESET, 0x261f, 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards..." restart_timer set_stage_flag(STAGEFLAG_NAVIGATION_ROOM_DONE) @@ -954,10 +954,10 @@ u8 func041c_elvis_outside_prebridgelift[] = { // Alive label(0x06) stop_chr - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) set_stage_flag(STAGEFLAG_SAID_GO_ON_AHEAD) if_stage_flag_eq(STAGEFLAG_ENTERED_BRIDGELIFT, TRUE, /*goto*/ 0x2c) - speak(FOLLOW_CHR, 0x261a, 0x14dc, CHANNEL_6, COLOR_04_ORANGE) // "You go on ahead, Jo. I'll secure the perimeter. We..." + speak(CHR_PRESET, 0x261a, 0x14dc, CHANNEL_6, COLOR_04_ORANGE) // "You go on ahead, Jo. I'll secure the perimeter. We..." label(0x2c) run_to_pad(0x0063) @@ -976,7 +976,7 @@ u8 func041c_elvis_outside_prebridgelift[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_onshot_function(FUNC_ELVIS_OUTSIDE_PREBRIDGELIFT) set_return_function(CHR_SELF, FUNC_ELVIS_OUTSIDE_PREBRIDGELIFT) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -995,7 +995,7 @@ u8 func040a_elvis_go_to_hangar_lift[] = { label(0x06) label(0x03) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) restart_timer if_morale_lt(50, /*goto*/ 0x06) goto_next(0xc3) @@ -1013,7 +1013,7 @@ u8 func040a_elvis_go_to_hangar_lift[] = { // At player label(0x06) - speak(CHR_JOANNA, 0x2616, 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards. I'll take this lift; you tak..." + speak(CHR_BOND, 0x2616, 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards. I'll take this lift; you tak..." animation(ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2) set_morale(50) @@ -1075,7 +1075,7 @@ u8 func041b_elvis_at_bridge[] = { reloop(0x09) label(0x2c) - speak(TARGET_CHR, 0x2618, 0x12e3, CHANNEL_6, COLOR_04_ORANGE) // "Look out, Joanna! I think we've made them angry..." + speak(CHR_TARGET, 0x2618, 0x12e3, CHANNEL_6, COLOR_04_ORANGE) // "Look out, Joanna! I think we've made them angry..." set_stage_flag(STAGEFLAG_SAID_LOOKOUT) endloop(0x09) @@ -1091,7 +1091,7 @@ u8 func041b_elvis_at_bridge[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_onshot_function(FUNC_ELVIS_AT_BRIDGE) set_return_function(CHR_SELF, FUNC_ELVIS_AT_BRIDGE) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -1103,7 +1103,7 @@ u8 func1005_check_elvis_dead[] = { endloop(0x04) label(0x2c) - message(CHR_JOANNA, 0x260c) // "Elvis has been killed." + message(CHR_BOND, 0x260c) // "Elvis has been killed." set_stage_flag(STAGEFLAG_ELVIS_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1146,7 +1146,7 @@ u8 func0410_wake_suspendedanim_skedar[] = { set_armor(190) set_recovery_speed(0) set_shield(0) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_walk_to_target_chr(/*goto*/ 0x2c) label(0x2c) @@ -1234,19 +1234,19 @@ u8 func1006_wake_slayer_skedar[] = { u8 func1007_check_entered_slayer_area[] = { beginloop(0x08) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x003a, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x003b, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x003a, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x003b, /*goto*/ 0x2c) reloop(0x08) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_in_room(CHR_VELVET, 0x00, 0x003a, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x003b, /*goto*/ 0x06) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_in_room(CHR_COOP, 0x00, 0x003a, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x003b, /*goto*/ 0x06) endloop(0x08) label(0x2d) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x0d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x0d) label(0x06) set_stage_flag(STAGEFLAG_ENTERED_SLAYER_AREA) label(0x0d) @@ -1298,8 +1298,8 @@ u8 func1008_hangar_lifts[] = { beginloop(0x67) dprint 'T','R','\n',0, consider_coop_for_p1p2_chr(CHR_SELF) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0018, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0018, /*goto*/ 0x2c) if_door_state(0x39, (DOORSTATEBIT_CLOSED | DOORSTATEBIT_CLOSING), /*goto*/ 0x2d) if_door_state(0x3a, (DOORSTATEBIT_CLOSED | DOORSTATEBIT_CLOSING), /*goto*/ 0x2d) endloop(0x67) @@ -1311,15 +1311,15 @@ u8 func1008_hangar_lifts[] = { // Jo has entered the lift, or Jo dead in co-op label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_in_room(CHR_VELVET, 0x00, 0x0018, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_in_room(CHR_COOP, 0x00, 0x0018, /*goto*/ 0x2c) goto_first(0x67) // Jo or Velvet is in the lift - activate it // Note the lift naturally waits 5 seconds at each stop, // hence the 5 second wait if entered as soon as the door opens. label(0x2c) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) unset_object_flag_bank0(0x39, OBJECTFLAG0_40000000) unset_object_flag_bank0(0x3a, OBJECTFLAG0_40000000) unset_object_flag_bank0(OBJ_HANGARLIFT_JO, OBJECTFLAG0_DEACTIVATED) @@ -1387,7 +1387,7 @@ u8 func1008_hangar_lifts[] = { set_object_flag_bank0(OBJ_HANGARLIFT_ELVIS, OBJECTFLAG0_DEACTIVATED) unset_object_flag_bank0(0x3b, OBJECTFLAG0_02000000) unset_object_flag_bank0(0x3c, OBJECTFLAG0_02000000) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) if_chr_y(CHR_ELVIS, 400, OPERATOR_LESS_THAN, /*goto*/ 0x06) goto_next(0x68) @@ -1410,8 +1410,8 @@ u8 func1008_hangar_lifts[] = { consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, 0x3b, /*goto*/ 0x2c) if_chr_activated_object(CHR_P1P2, 0x3c, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x3b, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x3c, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x3b, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x3c, /*goto*/ 0x2c) endloop(0x68) // Bring Elvis's lift down @@ -1718,7 +1718,7 @@ u8 func0414_hangarclone[] = { label(0x2c) set_onshot_function(FUNC_HANGARCLONE) set_return_function(CHR_SELF, FUNC_HANGARCLONE) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -1782,7 +1782,7 @@ u8 func0419_hangar_maian[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_HANGAR_MAIAN) set_onshot_function(FUNC_HANGAR_MAIAN) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // Everything below here is unreachable label(0xb5) @@ -1801,7 +1801,7 @@ u8 func0419_hangar_maian[] = { endloop(0x10) label(0x06) - message(CHR_JOANNA, 0x260d) // "Navigational information has been retrieved." + message(CHR_BOND, 0x260d) // "Navigational information has been retrieved." set_stage_flag(STAGEFLAG_NAVIGATION_ROOM_DONE) goto_first(0x03) @@ -1885,7 +1885,7 @@ u8 func100b_msg_getshieldsdown[] = { endloop(0xc2) label(0x06) - speak(CHR_JOANNA, 0x2610, 0x81a0, CHANNEL_6, COLOR_04_ORANGE) // "Outside, Joanna. Get the shields down and we can h..." + speak(CHR_BOND, 0x2610, 0x81a0, CHANNEL_6, COLOR_04_ORANGE) // "Outside, Joanna. Get the shields down and we can h..." set_stage_flag(STAGEFLAG_SAID_GETSHIELDSDOWN) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1909,7 +1909,7 @@ u8 func100c_engineroom[] = { if_chr_unloaded(CHR_ELVIS, /*goto*/ 0x2c) set_function(CHR_ELVIS, FUNC_ELVIS_RUN_FROM_ENGINEROOM) play_x_music(CHANNEL_10, 10) - speak(CHR_JOANNA, 0x262e, 0x73d7, CHANNEL_6, COLOR_04_ORANGE) // "We have to get out of here!" + speak(CHR_BOND, 0x262e, 0x73d7, CHANNEL_6, COLOR_04_ORANGE) // "We have to get out of here!" label(0x2c) set_countdown_timer(10) show_countdown_timer @@ -1943,7 +1943,7 @@ u8 func100c_engineroom[] = { destroy_object(0x1e) destroy_object(0x1f) destroy_object(0x20) - message(CHR_JOANNA, 0x2617) // "Engines have been disabled." + message(CHR_BOND, 0x2617) // "Engines have been disabled." set_stage_flag(STAGEFLAG_ENGINES_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1982,8 +1982,8 @@ u8 func100d_prebridgelift[] = { consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, 0x3d, /*goto*/ 0x2c) if_chr_activated_object(CHR_P1P2, 0x3e, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x3d, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x3e, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x3d, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x3e, /*goto*/ 0x2c) endloop(0x68) // Activate lift @@ -2064,8 +2064,8 @@ u8 func100e_bridgelift[] = { consider_coop_for_p1p2_chr(CHR_SELF) if_chr_activated_object(CHR_P1P2, 0x2f, /*goto*/ 0x2c) if_chr_activated_object(CHR_P1P2, 0x30, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x2f, /*goto*/ 0x2c) - if_chr_activated_object(CHR_COUNTEROP, 0x30, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x2f, /*goto*/ 0x2c) + if_chr_activated_object(CHR_ANTI, 0x30, /*goto*/ 0x2c) endloop(0x68) // Activate lift @@ -2270,18 +2270,18 @@ u8 func041a_bridgeclone[] = { label(0x2c) call_rng if_rand_gt(128, /*goto*/ 0x2c) - set_target_chr(CHR_VELVET) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) + set_target_chr(CHR_COOP) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) goto_next(0xc2) label(0x2c) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x03) beginloop(0xc2) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2c) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2c) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2c) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2c) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) @@ -2297,9 +2297,9 @@ u8 func041a_bridgeclone[] = { beginloop(0x08) if_chr_dying(CHR_SELF, /*goto*/ 0xb8) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_timer_gt(120, /*goto*/ 0x09) endloop(0x08) @@ -2310,9 +2310,9 @@ u8 func041a_bridgeclone[] = { // Start running beginloop(0x0a) if_chr_dying(CHR_SELF, /*goto*/ 0xb8) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_distance_to_home_gt_50_maybe(/*goto*/ 0x2c) if_chr_distance_lt(150, /*goto*/ 0x2e) label(0x2c) @@ -2334,9 +2334,9 @@ u8 func041a_bridgeclone[] = { beginloop(0x0b) if_chr_dying(CHR_SELF, /*goto*/ 0xb8) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_jo_ccw_direction_gt(246, /*goto*/ 0x06) if_timer_gt(15, /*goto*/ 0x06) @@ -2349,9 +2349,9 @@ u8 func041a_bridgeclone[] = { beginloop(0x2f) if_chr_dying(CHR_SELF, /*goto*/ 0xb8) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_chr_stopped(/*goto*/ 0x06) endloop(0x2f) @@ -2469,7 +2469,7 @@ u8 func1010_check_bridge_captured[] = { goto_first(0x09) label(0x2c) - message(CHR_JOANNA, 0x2619) // "Bridge has been captured." + message(CHR_BOND, 0x2619) // "Bridge has been captured." set_stage_flag(STAGEFLAG_BRIDGE_CAPTURED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2488,15 +2488,15 @@ u8 func1011_check_end_level[] = { endloop(0x08) label(0x06) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_dying(CHR_BOND, /*goto*/ 0x2c) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2c) goto_next(0x06) // Both players dead @@ -2511,7 +2511,7 @@ u8 func1011_check_end_level[] = { if_chr_unloaded(CHR_ELVIS, /*goto*/ 0x2c) // Mission complete - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) // Elvis dead @@ -2521,15 +2521,15 @@ u8 func1011_check_end_level[] = { }; u8 func1003_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_ATTACKSHIP_INTRO) camera_movement(0x01c2) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01c3, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01c3, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN) @@ -2542,9 +2542,9 @@ u8 func1003_intro[] = { animation(0x01c5, -1, -1, 0x0600, CHR_INTRO_SKEDAR, 4) restart_timer - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -2571,16 +2571,16 @@ u8 func1003_intro[] = { play_sound(0x0174, CHANNEL_10) wait_until(320, 0x9e) - speak(CHR_JOANNA, 0x2620, 0x747f, CHANNEL_10, COLOR_09_BLUE) // "Oohhh... I'd better not be where I think I am." + speak(CHR_BOND, 0x2620, 0x747f, CHANNEL_10, COLOR_09_BLUE) // "Oohhh... I'd better not be where I think I am." wait_until(505, 0x9f) play_sound(0x0427, CHANNEL_10) wait_until(600, 0xa0) - speak(CHR_JOANNA, 0x2621, 0x7480, CHANNEL_10, COLOR_04_ORANGE) // "And it's worse than that, my dear. Just look who y..." + speak(CHR_BOND, 0x2621, 0x7480, CHANNEL_10, COLOR_04_ORANGE) // "And it's worse than that, my dear. Just look who y..." wait_until(1000, 0xa1) - speak(CHR_JOANNA, 0x2622, 0x7481, CHANNEL_10, COLOR_09_BLUE) // "You! I thought you'd managed to escape. We found n..." + speak(CHR_BOND, 0x2622, 0x7481, CHANNEL_10, COLOR_09_BLUE) // "You! I thought you'd managed to escape. We found n..." wait_until(1018, 0xa2) play_sound(0x0175, CHANNEL_10) @@ -2607,7 +2607,7 @@ u8 func1003_intro[] = { play_sound(0x0172, CHANNEL_10) wait_until(1400, 0xa8) - speak(CHR_JOANNA, 0x2623, 0x7482, CHANNEL_10, COLOR_04_ORANGE) // "You couldn't find me. But there was no hiding from..." + speak(CHR_BOND, 0x2623, 0x7482, CHANNEL_10, COLOR_04_ORANGE) // "You couldn't find me. But there was no hiding from..." wait_until(1520, 0x67) play_sound(0x0176, CHANNEL_10) @@ -2636,7 +2636,7 @@ u8 func1003_intro[] = { play_sound(0x0530, CHANNEL_10) wait_until(1870, 0x6f) - speak(CHR_JOANNA, 0x2624, 0x7483, CHANNEL_10, COLOR_04_ORANGE) // "This is it. Wait there! I'll make a distraction; i..." + speak(CHR_BOND, 0x2624, 0x7483, CHANNEL_10, COLOR_04_ORANGE) // "This is it. Wait there! I'll make a distraction; i..." wait_until(1874, 0x70) play_sound(0x0174, CHANNEL_10) @@ -2683,7 +2683,7 @@ u8 func1003_intro[] = { play_sound(0x0177, CHANNEL_10) wait_until(2581, 0x7e) - speak(CHR_JOANNA, 0x2625, 0x7484, CHANNEL_10, COLOR_09_BLUE) // "Why are you doing this, Cassandra?" + speak(CHR_BOND, 0x2625, 0x7484, CHANNEL_10, COLOR_09_BLUE) // "Why are you doing this, Cassandra?" wait_until(2614, 0x7f) play_sound(0x0171, CHANNEL_10) @@ -2704,7 +2704,7 @@ u8 func1003_intro[] = { play_sound(0x0175, CHANNEL_10) wait_until(2790, 0x85) - speak(CHR_JOANNA, 0x2626, 0x7485, CHANNEL_10, COLOR_04_ORANGE) // "The Skedar used me, Joanna. You are my best chance..." + speak(CHR_BOND, 0x2626, 0x7485, CHANNEL_10, COLOR_04_ORANGE) // "The Skedar used me, Joanna. You are my best chance..." wait_until(2792, 0x86) play_sound(0x0172, CHANNEL_10) @@ -2734,7 +2734,7 @@ u8 func1003_intro[] = { wait_until(3313, 0x8d) play_sound(0x052a, CHANNEL_10) - speak(CHR_JOANNA, 0x2627, 0x7c86, CHANNEL_10, COLOR_04_ORANGE) // "Eeeeaaarrrrggghhh!!!" + speak(CHR_BOND, 0x2627, 0x7c86, CHANNEL_10, COLOR_04_ORANGE) // "Eeeeaaarrrrggghhh!!!" beginloop(0x08) if_camera_animating(/*goto*/ 0x2c) @@ -2750,11 +2750,11 @@ u8 func1003_intro[] = { set_stage_flag(STAGEFLAG_INTRO_FINISHED) open_door(0x17) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01c3, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01c3, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000) @@ -2780,24 +2780,24 @@ u8 func1003_intro[] = { }; u8 func0c01_outro[] = { - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - set_target_chr(CHR_JOANNA) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + set_target_chr(CHR_BOND) goto_next(0x06) label(0x2c) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) label(0x06) hide_object(0x2c) camera_movement(0x01e1) set_music_track(MUSIC_ATTACKSHIP_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x01e2, -1, -1, 0x0600, TARGET_CHR, 4) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x01e2, -1, -1, 0x0600, CHR_TARGET, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(CHR_ELVIS, GFUNC_IDLE) @@ -2814,9 +2814,9 @@ u8 func0c01_outro[] = { show_nonessential_chrs(FALSE) restart_timer - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) yield set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) @@ -2828,7 +2828,7 @@ u8 func0c01_outro[] = { play_sound(0x00fd, CHANNEL_10) wait_until(150, 0xa9) - speak(CHR_JOANNA, 0x2628, 0x7487, CHANNEL_10, COLOR_09_BLUE) // "Wow. That's the first time I've seen another plane..." + speak(CHR_BOND, 0x2628, 0x7487, CHANNEL_10, COLOR_09_BLUE) // "Wow. That's the first time I've seen another plane..." wait_until(368, 0x67) play_sound(0x00fa, CHANNEL_10) @@ -2845,10 +2845,10 @@ u8 func0c01_outro[] = { play_sound(0x00fb, CHANNEL_10) wait_until(690, 0x6e) - speak(CHR_JOANNA, 0x2629, 0x7488, CHANNEL_10, COLOR_04_ORANGE) // "Hmmmm?" + speak(CHR_BOND, 0x2629, 0x7488, CHANNEL_10, COLOR_04_ORANGE) // "Hmmmm?" wait_until(850, 0x6f) - speak(CHR_JOANNA, 0x262a, 0x7489, CHANNEL_10, COLOR_04_ORANGE) // "I don't... I don't believe it!" + speak(CHR_BOND, 0x262a, 0x7489, CHANNEL_10, COLOR_04_ORANGE) // "I don't... I don't believe it!" wait_until(963, 0x70) play_sound(0x80d4, CHANNEL_10) @@ -2860,7 +2860,7 @@ u8 func0c01_outro[] = { play_sound(0x80db, CHANNEL_10) wait_until(1000, 0x72) - speak(CHR_JOANNA, 0x262b, 0x748a, CHANNEL_10, COLOR_09_BLUE) // "Elvis? What is it?" + speak(CHR_BOND, 0x262b, 0x748a, CHANNEL_10, COLOR_09_BLUE) // "Elvis? What is it?" wait_until(1030, 0x73) play_sound(0x80da, CHANNEL_10) @@ -2875,7 +2875,7 @@ u8 func0c01_outro[] = { play_sound(0x80da, CHANNEL_10) wait_until(1200, 0x77) - speak(CHR_JOANNA, 0x262c, 0x748b, CHANNEL_10, COLOR_09_BLUE) // "Where are you going?" + speak(CHR_BOND, 0x262c, 0x748b, CHANNEL_10, COLOR_09_BLUE) // "Where are you going?" wait_until(1237, 0x78) play_sound(0x80db, CHANNEL_10) @@ -2890,7 +2890,7 @@ u8 func0c01_outro[] = { play_sound(0x80da, CHANNEL_10) wait_until(1301, 0x62) - speak(CHR_JOANNA, 0x262d, 0x748c, CHANNEL_10, COLOR_04_ORANGE) // "We have to get down to the surface! Follow me!" + speak(CHR_BOND, 0x262d, 0x748c, CHANNEL_10, COLOR_04_ORANGE) // "We have to get down to the surface! Follow me!" open_door(OBJ_HANGARDOOR1) open_door(OBJ_HANGARDOOR2) open_door(OBJ_HANGARDOOR3) @@ -2962,7 +2962,7 @@ u8 func0421_bridge_skedar[] = { endloop(0x53) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2980,7 +2980,7 @@ u8 func0421_bridge_skedar[] = { set_self_flag_bank3(CHRFLAG3_00000040) label(0xc6) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0xc7) label(0x06) kneel @@ -3002,14 +3002,14 @@ u8 func0421_bridge_skedar[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x2c) if_target_chr_in_sight(/*goto*/ 0xc8) label(0x2c) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) endloop(0xc7) label(0xc8) set_view_distance(100) if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2c) goto_next(0xca) @@ -3078,7 +3078,7 @@ u8 func0421_bridge_skedar[] = { if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ 0x60) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xb1) label(0xb1) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2c) @@ -3107,7 +3107,7 @@ u8 func1013_msg_gottogetshieldsdown[] = { endloop(0x08) label(0x2c) - speak(CHR_JOANNA, 0x261b, 0x73dc, CHANNEL_6, COLOR_09_BLUE) // "I've got to get those shields down to let Elvis in..." + speak(CHR_BOND, 0x261b, 0x73dc, CHANNEL_6, COLOR_09_BLUE) // "I've got to get those shields down to let Elvis in..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3128,7 +3128,7 @@ u8 func1014_msg_hangarbaydoors[] = { endloop(0x08) label(0x2c) - speak(CHR_JOANNA, 0x261c, 0x73dd, CHANNEL_6, COLOR_09_BLUE) // "Now only the hangar bay doors are in the way." + speak(CHR_BOND, 0x261c, 0x73dd, CHANNEL_6, COLOR_09_BLUE) // "Now only the hangar bay doors are in the way." label(0x09) set_function(CHR_SELF, GFUNC_IDLE) @@ -3256,11 +3256,11 @@ u8 func0423_shy_skedar[] = { // Set target chr based on who it can see label(0x2d) stop_chr - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2c) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2c) - set_target_chr(CHR_COUNTEROP) + set_target_chr(CHR_ANTI) if_chr_sees_player(/*goto*/ 0x2c) label(0x2c) @@ -3322,8 +3322,8 @@ u8 func1017_pa_skedar_alertness[] = { u8 func1012_update_elvis_target_chr[] = { beginloop(0x04) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x09) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x08) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x09) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x08) goto_next(0x09) // Unreachable @@ -3331,12 +3331,12 @@ u8 func1012_update_elvis_target_chr[] = { // Jo dead label(0x08) - set_chr_target_chr(CHR_ELVIS, CHR_VELVET) + set_chr_target_chr(CHR_ELVIS, CHR_COOP) reloop(0x04) // Velvet dead or both alive label(0x09) - set_chr_target_chr(CHR_ELVIS, CHR_JOANNA) + set_chr_target_chr(CHR_ELVIS, CHR_BOND) endloop(0x04) set_function(CHR_SELF, GFUNC_IDLE) @@ -3455,7 +3455,7 @@ u8 func101d_unlock_doors[] = { u8 func101e_bridge_music[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) - if_chr_in_room(CHR_JOANNA, 0x00, 0x006e, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x006e, /*goto*/ 0x2c) endloop(0x04) label(0x2c) @@ -3547,7 +3547,7 @@ u8 func1021_check_ammo_wasted[] = { // Ammo wasted label(0x2c) set_stage_flag(STAGEFLAG_AMMO_WASTED) - message(CHR_JOANNA, 0x2631) // "Ammo depleted - consoles can't be destroyed." + message(CHR_BOND, 0x2631) // "Ammo depleted - consoles can't be destroyed." beginloop(0x66) if_stage_flag_eq(STAGEFLAG_SHIELDS_DISABLED, TRUE, /*goto*/ 0x2c) @@ -3599,7 +3599,7 @@ u8 unregistered_function1[] = { endloop(0x04) label(0x2c) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index dd7828914..43804c0df 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -21,37 +21,37 @@ #define CHR_INTRO_DEAD_GUARD 0x49 // Objects -#define OBJ_LABCOAT1 0x00 -#define OBJ_DOOR_TERMINAL 0x02 -#define OBJ_DATAUPLINK_JOANNA 0x05 -#define OBJ_KEYCARD 0x06 -#define OBJ_CRATE 0x17 -#define OBJ_WALL 0x18 -#define OBJ_AUTOGUN 0x19 -#define OBJ_CHAMBER1 0x1a -#define OBJ_CHAMBER2 0x1b -#define OBJ_CHAMBER3 0x1c -#define OBJ_CHAMBER4 0x1d -#define OBJ_CHAMBER5 0x1e -#define OBJ_CHAMBER6 0x1f -#define OBJ_CHAMBER7 0x20 -#define OBJ_CHAMBER8 0x21 -#define OBJ_CHAMBER1_SWITCH 0x22 -#define OBJ_CHAMBER2_SWITCH 0x23 -#define OBJ_CHAMBER3_SWITCH 0x24 -#define OBJ_CHAMBER4_SWITCH 0x25 -#define OBJ_CHAMBER5_SWITCH 0x26 -#define OBJ_CHAMBER6_SWITCH 0x27 -#define OBJ_CHAMBER7_SWITCH 0x28 -#define OBJ_CHAMBER8_SWITCH 0x29 -#define OBJ_DATAUPLINK_VELVET 0x3a -#define OBJ_LABCOAT2 0x3e -#define OBJ_LABCOAT3 0x3f -#define OBJ_LABCOAT4 0x40 -#define OBJ_LABCOAT5 0x41 -#define OBJ_FALCON2SILENCED1 0x4c -#define OBJ_FALCON2SILENCED2 0x4d -#define OBJ_PHOENIX 0x4e +#define OBJ_LABCOAT1 0x00 +#define OBJ_DOOR_TERMINAL 0x02 +#define OBJ_DATAUPLINK_BOND 0x05 +#define OBJ_KEYCARD 0x06 +#define OBJ_CRATE 0x17 +#define OBJ_WALL 0x18 +#define OBJ_AUTOGUN 0x19 +#define OBJ_CHAMBER1 0x1a +#define OBJ_CHAMBER2 0x1b +#define OBJ_CHAMBER3 0x1c +#define OBJ_CHAMBER4 0x1d +#define OBJ_CHAMBER5 0x1e +#define OBJ_CHAMBER6 0x1f +#define OBJ_CHAMBER7 0x20 +#define OBJ_CHAMBER8 0x21 +#define OBJ_CHAMBER1_SWITCH 0x22 +#define OBJ_CHAMBER2_SWITCH 0x23 +#define OBJ_CHAMBER3_SWITCH 0x24 +#define OBJ_CHAMBER4_SWITCH 0x25 +#define OBJ_CHAMBER5_SWITCH 0x26 +#define OBJ_CHAMBER6_SWITCH 0x27 +#define OBJ_CHAMBER7_SWITCH 0x28 +#define OBJ_CHAMBER8_SWITCH 0x29 +#define OBJ_DATAUPLINK_COOP 0x3a +#define OBJ_LABCOAT2 0x3e +#define OBJ_LABCOAT3 0x3f +#define OBJ_LABCOAT4 0x40 +#define OBJ_LABCOAT5 0x41 +#define OBJ_FALCON2SILENCED1 0x4c +#define OBJ_FALCON2SILENCED2 0x4d +#define OBJ_PHOENIX 0x4e // Stage flags #define STAGEFLAG_CHAMBER4_RAISED 0x00000001 @@ -849,9 +849,9 @@ s32 path14[] = { u8 func1400_give_datauplinks[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_22) - give_object_to_chr(OBJ_DATAUPLINK_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_DATAUPLINK_VELVET, CHR_VELVET) + set_chr_team(CHR_ANTI, TEAM_22) + give_object_to_chr(OBJ_DATAUPLINK_BOND, CHR_BOND) + give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -882,7 +882,7 @@ u8 func1007_check_disguise_collected[] = { u8 func1026_check_records_destroyed[] = { beginloop(0x04) if_object_in_good_condition(0x04, /*goto*/ 0x06) - message(CHR_JOANNA, 0x2a0e) // "Research records destroyed." + message(CHR_BOND, 0x2a0e) // "Research records destroyed." set_stage_flag(STAGEFLAG_RECORDS_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x06) @@ -1314,7 +1314,7 @@ u8 func0410_labtech_showers_sa_pa[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -1330,8 +1330,8 @@ u8 func0410_labtech_showers_sa_pa[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -1363,32 +1363,32 @@ u8 func0410_labtech_showers_sa_pa[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - speak(TARGET_CHR, 0x2a25, 0x1b2d, CHANNEL_4, COLOR_08_RED) // "Who are you?" + speak(CHR_TARGET, 0x2a25, 0x1b2d, CHANNEL_4, COLOR_08_RED) // "Who are you?" restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x64) // Wait until seeing Jo with a gun, or Jo has clothes beginloop(0x64) if_timer_lt(120, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) if_chr_in_view(/*goto*/ 0x53) label(0x2d) - if_chr_has_object(TARGET_CHR, OBJ_LABCOAT1, /*goto*/ 0x0d) - if_chr_has_object(TARGET_CHR, OBJ_LABCOAT2, /*goto*/ 0x0d) - if_chr_has_object(TARGET_CHR, OBJ_LABCOAT3, /*goto*/ 0x0d) - if_chr_has_object(TARGET_CHR, OBJ_LABCOAT4, /*goto*/ 0x0d) - if_chr_has_object(TARGET_CHR, OBJ_LABCOAT5, /*goto*/ 0x0d) + if_chr_has_object(CHR_TARGET, OBJ_LABCOAT1, /*goto*/ 0x0d) + if_chr_has_object(CHR_TARGET, OBJ_LABCOAT2, /*goto*/ 0x0d) + if_chr_has_object(CHR_TARGET, OBJ_LABCOAT3, /*goto*/ 0x0d) + if_chr_has_object(CHR_TARGET, OBJ_LABCOAT4, /*goto*/ 0x0d) + if_chr_has_object(CHR_TARGET, OBJ_LABCOAT5, /*goto*/ 0x0d) endloop(0x64) // Jo has clothes label(0x0d) - speak(TARGET_CHR, 0x2a26, 0x1b2e, CHANNEL_4, COLOR_08_RED) // "Hey - you've got my clothes." + speak(CHR_TARGET, 0x2a26, 0x1b2e, CHANNEL_4, COLOR_08_RED) // "Hey - you've got my clothes." restart_timer beginloop(0x0e) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x53) label(0x2d) @@ -1396,12 +1396,12 @@ u8 func0410_labtech_showers_sa_pa[] = { endloop(0x0e) label(0x06) - speak(TARGET_CHR, 0x2a2b, 0x1b32, CHANNEL_4, COLOR_08_RED) // "Give me back my clothes - or else!" + speak(CHR_TARGET, 0x2a2b, 0x1b32, CHANNEL_4, COLOR_08_RED) // "Give me back my clothes - or else!" restart_timer beginloop(0x0f) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x53) label(0x2d) @@ -1435,21 +1435,21 @@ u8 func0410_labtech_showers_sa_pa[] = { // Jo is in one of many rooms label(0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x53) // Jo is in one of many rooms with nothing equipped - attack her label(0x2d) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x2d) - speak(TARGET_CHR, 0x2a2c, 0x1b33, CHANNEL_4, COLOR_08_RED) // "Right - you've asked for it!" + speak(CHR_TARGET, 0x2a2c, 0x1b33, CHANNEL_4, COLOR_08_RED) // "Right - you've asked for it!" set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) goto_next(0x06) label(0x2d) call_rng if_rand_gt(25, /*goto*/ 0x06) - speak(TARGET_CHR, 0x2a2d, 0x1b34, CHANNEL_4, COLOR_08_RED) // "Give me my clothes." + speak(CHR_TARGET, 0x2a2d, 0x1b34, CHANNEL_4, COLOR_08_RED) // "Give me my clothes." label(0x06) try_run_to_target_chr(/*goto*/ 0x6f) restart_timer @@ -1476,7 +1476,7 @@ u8 func0410_labtech_showers_sa_pa[] = { label(0x53) animation(ANIM_SURPRISED_0202, 0, -1, 0x1010, CHR_SELF, 2) dprint 'T','A','L','K',' ','1','\n',0, - speak(TARGET_CHR, 0x2a29, 0x8156, CHANNEL_4, COLOR_08_RED) // "Oh, my God - a gun!" + speak(CHR_TARGET, 0x2a29, 0x8156, CHANNEL_4, COLOR_08_RED) // "Oh, my God - a gun!" restart_timer beginloop(0x0a) @@ -1486,7 +1486,7 @@ u8 func0410_labtech_showers_sa_pa[] = { // Jo in an unknown room, or follow through from seeing weapon label(0x06) restart_timer - speak(TARGET_CHR, 0x2a27, 0x1b2f, CHANNEL_4, COLOR_08_RED) // "Help - help!" + speak(CHR_TARGET, 0x2a27, 0x1b2f, CHANNEL_4, COLOR_08_RED) // "Help - help!" try_set_target_chr_to_teammate(/*goto*/ 0x06) // No chr in same group - run to pad instead @@ -1497,14 +1497,14 @@ u8 func0410_labtech_showers_sa_pa[] = { endloop(0x10) label(0x06) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x0b) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x0b) beginloop(0x0b) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x61) + if_detected_chr(CHR_PRESET, /*goto*/ 0x61) endloop(0x0b) label(0x61) - speak(TARGET_CHR, 0x2a2a, 0x1b31, CHANNEL_4, COLOR_08_RED) // "There's an intruder in the complex." + speak(CHR_TARGET, 0x2a2a, 0x1b31, CHANNEL_4, COLOR_08_RED) // "There's an intruder in the complex." set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED) set_squadron_alertness(100) stop_chr @@ -1521,16 +1521,16 @@ u8 func1009_disguise_timer[] = { // Pointless check if_stage_flag_eq(STAGEFLAG_LABTECH_DEAD, TRUE, /*goto*/ 0x2d) label(0x2d) - if_chr_has_object(CHR_JOANNA, OBJ_LABCOAT1, /*goto*/ 0x2d) - if_chr_has_object(CHR_JOANNA, OBJ_LABCOAT2, /*goto*/ 0x2d) - if_chr_has_object(CHR_JOANNA, OBJ_LABCOAT3, /*goto*/ 0x2d) - if_chr_has_object(CHR_JOANNA, OBJ_LABCOAT4, /*goto*/ 0x2d) - if_chr_has_object(CHR_JOANNA, OBJ_LABCOAT5, /*goto*/ 0x2d) - if_chr_has_object(CHR_VELVET, OBJ_LABCOAT1, /*goto*/ 0x2d) - if_chr_has_object(CHR_VELVET, OBJ_LABCOAT2, /*goto*/ 0x2d) - if_chr_has_object(CHR_VELVET, OBJ_LABCOAT3, /*goto*/ 0x2d) - if_chr_has_object(CHR_VELVET, OBJ_LABCOAT4, /*goto*/ 0x2d) - if_chr_has_object(CHR_VELVET, OBJ_LABCOAT5, /*goto*/ 0x2d) + if_chr_has_object(CHR_BOND, OBJ_LABCOAT1, /*goto*/ 0x2d) + if_chr_has_object(CHR_BOND, OBJ_LABCOAT2, /*goto*/ 0x2d) + if_chr_has_object(CHR_BOND, OBJ_LABCOAT3, /*goto*/ 0x2d) + if_chr_has_object(CHR_BOND, OBJ_LABCOAT4, /*goto*/ 0x2d) + if_chr_has_object(CHR_BOND, OBJ_LABCOAT5, /*goto*/ 0x2d) + if_chr_has_object(CHR_COOP, OBJ_LABCOAT1, /*goto*/ 0x2d) + if_chr_has_object(CHR_COOP, OBJ_LABCOAT2, /*goto*/ 0x2d) + if_chr_has_object(CHR_COOP, OBJ_LABCOAT3, /*goto*/ 0x2d) + if_chr_has_object(CHR_COOP, OBJ_LABCOAT4, /*goto*/ 0x2d) + if_chr_has_object(CHR_COOP, OBJ_LABCOAT5, /*goto*/ 0x2d) endloop(0x04) label(0x2d) @@ -1541,7 +1541,7 @@ u8 func1009_disguise_timer[] = { endloop(0x09) label(0x06) - speak(CHR_JOANNA, 0x2a2e, 0x72ab, CHANNEL_4, COLOR_09_BLUE) // "I don't have much time!!!" + speak(CHR_BOND, 0x2a2e, 0x72ab, CHANNEL_4, COLOR_09_BLUE) // "I don't have much time!!!" if_difficulty_lt(DIFF_SA, /*goto*/ 0x5d) if_difficulty_lt(DIFF_PA, /*goto*/ 0x5f) set_countdown_timer(90) @@ -1584,7 +1584,7 @@ u8 func1009_disguise_timer[] = { activate_alarm yield label(0x2d) - message(CHR_JOANNA, 0x2a2f) // "The enemy has discovered the disguise." + message(CHR_BOND, 0x2a2f) // "The enemy has discovered the disguise." set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED) hide_countdown_timer set_function(CHR_SELF, GFUNC_IDLE) @@ -1696,7 +1696,7 @@ u8 func0418_doorman[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -1708,7 +1708,7 @@ u8 func0418_doorman[] = { // Gun shot out of hand label(0x06) set_squadron_alertness(100) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) // Waiting for Jo to arrive @@ -1733,7 +1733,7 @@ u8 func0418_doorman[] = { endloop(0x09) label(0x06) - speak(TARGET_CHR, 0x2a32, 0x8157, CHANNEL_4, COLOR_08_RED) // "So, you got here at last." + speak(CHR_TARGET, 0x2a32, 0x8157, CHANNEL_4, COLOR_08_RED) // "So, you got here at last." beginloop(0x0a) if_timer_gt(240, /*goto*/ 0x06) @@ -1746,7 +1746,7 @@ u8 func0418_doorman[] = { // Disguise not used, or uncovered label(0x2d) dprint 'T','A','L','K',' ','1','\n',0, - speak(TARGET_CHR, 0x2a33, 0x8158, CHANNEL_4, COLOR_08_RED) // "Hey, you're not... SECURITY ALERT!" + speak(CHR_TARGET, 0x2a33, 0x8158, CHANNEL_4, COLOR_08_RED) // "Hey, you're not... SECURITY ALERT!" restart_timer stop_chr @@ -1756,47 +1756,47 @@ u8 func0418_doorman[] = { label(0x2d) set_stage_flag(STAGEFLAG_DOORMAN_REJECTED) - message(TARGET_CHR, 0x2a39) // "Cannot gain access to autopsy lab." + message(CHR_TARGET, 0x2a39) // "Cannot gain access to autopsy lab." goto_next(0x64) // Disguised label(0x06) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x59) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x59) // Jo has gun equipped label(0x2d) - speak(TARGET_CHR, 0x2a34, 0x8159, CHANNEL_4, COLOR_08_RED) // "No guns allowed in here - put your weapon away." + speak(CHR_TARGET, 0x2a34, 0x8159, CHANNEL_4, COLOR_08_RED) // "No guns allowed in here - put your weapon away." restart_timer beginloop(0x0c) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x59) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x59) if_timer_gt(300, /*goto*/ 0x06) endloop(0x0c) label(0x06) - speak(TARGET_CHR, 0x2a35, 0x815a, CHANNEL_4, COLOR_08_RED) // "I won't tell you again - lose the weapon." + speak(CHR_TARGET, 0x2a35, 0x815a, CHANNEL_4, COLOR_08_RED) // "I won't tell you again - lose the weapon." restart_timer beginloop(0x0d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x59) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x59) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x59) if_timer_gt(600, /*goto*/ 0x06) endloop(0x0d) label(0x1b) label(0x06) - speak(TARGET_CHR, 0x2a36, 0x815b, CHANNEL_4, COLOR_08_RED) // "Right - I'm calling security." + speak(CHR_TARGET, 0x2a36, 0x815b, CHANNEL_4, COLOR_08_RED) // "Right - I'm calling security." restart_timer label(0x10) set_stage_flag(STAGEFLAG_DOORMAN_REJECTED) - message(TARGET_CHR, 0x2a39) // "Cannot gain access to autopsy lab." + message(CHR_TARGET, 0x2a39) // "Cannot gain access to autopsy lab." goto_next(0x64) // Jo disguised and unarmed label(0x59) - speak(TARGET_CHR, 0x2a37, 0x815c, CHANNEL_4, COLOR_08_RED) // "Everyone's been waiting for you..." + speak(CHR_TARGET, 0x2a37, 0x815c, CHANNEL_4, COLOR_08_RED) // "Everyone's been waiting for you..." restart_timer beginloop(0x0e) @@ -1822,8 +1822,8 @@ u8 func0418_doorman[] = { beginloop(0x0f) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x06) if_shot_near_chr(0x00, /*goto*/ 0x06) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) @@ -1837,7 +1837,7 @@ u8 func0418_doorman[] = { label(0x06) set_squadron_alertness(100) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) label(0x64) @@ -1857,20 +1857,20 @@ u8 func100b_check_doorman_dead[] = { reloop(0x04) label(0x2d) - if_chr_has_object(CHR_JOANNA, 0x06, /*goto*/ 0x0d) - if_chr_has_object(CHR_VELVET, 0x06, /*goto*/ 0x0d) + if_chr_has_object(CHR_BOND, 0x06, /*goto*/ 0x0d) + if_chr_has_object(CHR_COOP, 0x06, /*goto*/ 0x0d) if_door_locked(0x4a, 0x40, /*goto*/ 0x2d) goto_next(0x0d) label(0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0083, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0084, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0085, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0086, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0087, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0088, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0089, /*goto*/ 0x06) - if_chr_in_room(CHR_JOANNA, 0x00, 0x008a, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0083, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0084, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0085, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0086, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0087, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0088, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x0089, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x008a, /*goto*/ 0x06) message(CHR_P1P2, 0x2a38) // "Critical mission personnel killed." restart_timer @@ -1915,7 +1915,7 @@ u8 func041a_labtech_harrysmate[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -1930,8 +1930,8 @@ u8 func041a_labtech_harrysmate[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -1966,7 +1966,7 @@ u8 func041a_labtech_harrysmate[] = { endloop(0x09) label(0x06) - speak(TARGET_CHR, 0x2a3a, 0x1abb, CHANNEL_4, COLOR_08_RED) // "Hey, that's not Harry. It's an intruder." + speak(CHR_TARGET, 0x2a3a, 0x1abb, CHANNEL_4, COLOR_08_RED) // "Hey, that's not Harry. It's an intruder." set_squadron_alertness(120) restart_timer animation(0x002e, 0, -1, 0x1810, CHR_SELF, 2) @@ -1993,7 +1993,7 @@ u8 func041a_labtech_harrysmate[] = { dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0, try_draw_weapon(MODEL_CHRDRUGGUN, WEAPON_TRANQUILIZER, 0x10000000, /*goto*/ 0x06) label(0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -2015,7 +2015,7 @@ u8 func041b_labtech_keycardguy[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2032,8 +2032,8 @@ u8 func041b_labtech_keycardguy[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -2083,7 +2083,7 @@ u8 func041b_labtech_keycardguy[] = { dprint 'C','R','E','A','T','E','D',' ','W','E','A','P','\n',0, try_draw_weapon(MODEL_CHRDRUGGUN, WEAPON_TRANQUILIZER, 0x10000000, /*goto*/ 0x06) label(0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -2141,7 +2141,7 @@ u8 func100e_elvis_timer[] = { stop_countdown_timer hide_countdown_timer set_stage_flag(STAGEFLAG_ELVIS_DEAD) - message(CHR_JOANNA, 0x2a40) // "Elvis has been killed." + message(CHR_BOND, 0x2a40) // "Elvis has been killed." set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) @@ -2165,22 +2165,22 @@ u8 func100f_check_end_level[] = { endloop(0x04) label(0x2d) - set_invincible(CHR_JOANNA) - revoke_control(CHR_JOANNA, 4) + set_invincible(CHR_BOND) + revoke_control(CHR_BOND, 4) hide_countdown_timer stop_countdown_timer restart_timer beginloop(0x5c) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) @@ -2269,7 +2269,7 @@ u8 func0413_mechanic[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2285,8 +2285,8 @@ u8 func0413_mechanic[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -2337,7 +2337,7 @@ u8 func0413_mechanic[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - speak(CHR_JOANNA, 0x2a41, 0x80fb, CHANNEL_4, COLOR_08_RED) // "Get the hell out of here!" + speak(CHR_BOND, 0x2a41, 0x80fb, CHANNEL_4, COLOR_08_RED) // "Get the hell out of here!" restart_timer animation(ANIM_SURRENDER_002E, 0, -1, 0x1810, CHR_SELF, 2) @@ -2394,10 +2394,10 @@ u8 func0415_warehouse_spawner[] = { consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) if_chr_sees_player(/*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x00f8, /*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x00f7, /*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x00f6, /*goto*/ 0x08) - if_chr_in_room(TARGET_CHR, 0x00, 0x00f4, /*goto*/ 0x08) + if_chr_in_room(CHR_TARGET, 0x00, 0x00f8, /*goto*/ 0x08) + if_chr_in_room(CHR_TARGET, 0x00, 0x00f7, /*goto*/ 0x08) + if_chr_in_room(CHR_TARGET, 0x00, 0x00f6, /*goto*/ 0x08) + if_chr_in_room(CHR_TARGET, 0x00, 0x00f4, /*goto*/ 0x08) reloop(0x04) label(0x08) @@ -2410,7 +2410,7 @@ u8 func0415_warehouse_spawner[] = { reloop(0x04) label(0x08) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) label(0x4e) @@ -2434,7 +2434,7 @@ u8 func0415_warehouse_spawner[] = { }; u8 func0417_warehouse_clone[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_alertness(100) try_run_to_target_chr(/*goto*/ 0x2d) label(0x2d) @@ -2449,7 +2449,7 @@ u8 func1013_check_chamber_switch_destroyed[] = { beginloop(0x04) if_object_in_good_condition(OBJ_CHAMBER1_SWITCH, /*goto*/ 0x06) if_stage_flag_eq(STAGEFLAG_CHAMBER1_RAISED, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x2a44) // "Mission critical equipment destroyed." + message(CHR_BOND, 0x2a44) // "Mission critical equipment destroyed." set_stage_flag(STAGEFLAG_CHAMBER_SWITCH_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) @@ -2485,7 +2485,7 @@ u8 func1014_check_crate_destroyed[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) - message(CHR_JOANNA, 0x2a44) // "Mission critical equipment destroyed." + message(CHR_BOND, 0x2a44) // "Mission critical equipment destroyed." set_stage_flag(STAGEFLAG_CRATE_DESTROYED) beginloop(0x08) @@ -2497,7 +2497,7 @@ u8 func1014_check_crate_destroyed[] = { label(0x2e) unset_stage_flag(STAGEFLAG_CRATE_DESTROYED) - message(CHR_JOANNA, 0x2a59) // "Alternative entrance to medlabs created." + message(CHR_BOND, 0x2a59) // "Alternative entrance to medlabs created." set_function(CHR_SELF, GFUNC_IDLE) label(0x06) @@ -2554,8 +2554,8 @@ u8 func1016_check_undisguised[] = { endloop(0x04) label(0x06) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) - unset_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -2575,7 +2575,7 @@ u8 func041f_labtech_lights[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2591,8 +2591,8 @@ u8 func041f_labtech_lights[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) @@ -2641,38 +2641,38 @@ u8 func041f_labtech_lights[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) label(0x06) object_do_animation(0x025a, 0xff, 0x02ff, 0xff) - speak(TARGET_CHR, 0x2a25, 0x8103, CHANNEL_4, COLOR_08_RED) // "Who are you?" + speak(CHR_TARGET, 0x2a25, 0x8103, CHANNEL_4, COLOR_08_RED) // "Who are you?" goto_next(0x06) label(0x2d) - speak(TARGET_CHR, 0x2a53, 0x127f, CHANNEL_4, COLOR_08_RED) // "Should you be in here?" + speak(CHR_TARGET, 0x2a53, 0x127f, CHANNEL_4, COLOR_08_RED) // "Should you be in here?" restart_timer do_special_animation(-1) beginloop(0x64) if_sound_finished(CHANNEL_4, /*goto*/ 0x06) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) label(0x2d) endloop(0x64) label(0x06) stop_chr - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x0c) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x0c) label(0x06) - speak(TARGET_CHR, 0x2a52, 0x1286, CHANNEL_4, COLOR_08_RED) // "Leave this area now." + speak(CHR_TARGET, 0x2a52, 0x1286, CHANNEL_4, COLOR_08_RED) // "Leave this area now." restart_timer do_special_animation(-1) beginloop(0x66) if_sound_finished(CHANNEL_4, /*goto*/ 0x53) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) label(0x2d) endloop(0x66) @@ -2680,7 +2680,7 @@ u8 func041f_labtech_lights[] = { set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) label(0x0a) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) restart_timer try_run_to_target_chr(/*goto*/ 0x0b) @@ -2706,8 +2706,8 @@ u8 func041f_labtech_lights[] = { if_target_chr_in_sight(/*goto*/ 0x2d) if_shot_near_chr(0x00, /*goto*/ 0x0f) label(0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x0f) label(0x2d) @@ -2744,8 +2744,8 @@ u8 func041f_labtech_lights[] = { if_target_chr_in_sight(/*goto*/ 0x2d) if_shot_near_chr(0x00, /*goto*/ 0x0f) label(0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x0f) label(0x2d) @@ -2756,7 +2756,7 @@ u8 func041f_labtech_lights[] = { endloop(0x0e) label(0x0f) - speak(TARGET_CHR, 0x2a54, 0x8124, CHANNEL_4, COLOR_08_RED) // "Holy..." + speak(CHR_TARGET, 0x2a54, 0x8124, CHANNEL_4, COLOR_08_RED) // "Holy..." set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) animation(ANIM_SURPRISED_0202, -1, -1, 0x140a, CHR_SELF, 2) restart_timer @@ -2787,7 +2787,7 @@ u8 func0420_labtech_doors[] = { goto_next(0x2d) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2802,8 +2802,8 @@ u8 func0420_labtech_doors[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) @@ -2824,15 +2824,15 @@ u8 func0420_labtech_doors[] = { beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) set_target_chr(CHR_P1P2) - set_target_chr(CHR_JOANNA) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) + set_target_chr(CHR_BOND) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) label(0x06) goto_next(0x2e) label(0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2e) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2e) if_self_flag_bankx_eq(CHRFLAG0_08000000, TRUE, BANK_0, /*goto*/ 0x06) label(0x2e) if_chr_sees_player(/*goto*/ 0x03) @@ -2860,22 +2860,22 @@ u8 func0420_labtech_doors[] = { label(0x06) dprint 'T','A','L','K',' ','1','\n',0, - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) label(0x06) dprint 'T','A','L','K',' ','2','\n',0, goto_next(0x06) label(0x2d) dprint 'T','A','L','K',' ','3','\n',0, - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) dprint 'T','A','L','K',' ','4','\n',0, goto_next(0x06) label(0x2d) do_special_animation(3) - say_quip(CHR_JOANNA, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_08000000, BANK_0) beginloop(0x7b) @@ -2899,11 +2899,11 @@ u8 func0420_labtech_doors[] = { label(0x2d) if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2e) - speak(CHR_JOANNA, 0x2a55, 0x1aa6, CHANNEL_4, COLOR_08_RED) // "It's a spy!" + speak(CHR_BOND, 0x2a55, 0x1aa6, CHANNEL_4, COLOR_08_RED) // "It's a spy!" goto_next(0x2d) label(0x2e) - speak(CHR_JOANNA, 0x2a57, 0x1aa5, CHANNEL_4, COLOR_08_RED) // "Imposter!" + speak(CHR_BOND, 0x2a57, 0x1aa5, CHANNEL_4, COLOR_08_RED) // "Imposter!" label(0x2d) label(0x06) go_to_target_pad(SPEED_JOG) @@ -3006,7 +3006,7 @@ u8 func0422_labtech_records[] = { goto_first(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) @@ -3019,8 +3019,8 @@ u8 func0422_labtech_records[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x06) if_num_times_shot_lt(1, /*goto*/ 0x06) if_timer_lt(20, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) @@ -3071,12 +3071,12 @@ u8 func0422_labtech_records[] = { goto_first(0x04) label(0x03) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x2d) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) goto_first(0x04) @@ -3095,7 +3095,7 @@ u8 func0422_labtech_records[] = { label(0x06) if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x2d) set_squadron_alertness(100) - speak(TARGET_CHR, 0x2a57, 0x1aa5, CHANNEL_4, COLOR_08_RED) // "Imposter!" + speak(CHR_TARGET, 0x2a57, 0x1aa5, CHANNEL_4, COLOR_08_RED) // "Imposter!" animation(0x0202, -1, -1, 0x140a, CHR_SELF, 2) restart_timer label(0x79) @@ -3105,7 +3105,7 @@ u8 func0422_labtech_records[] = { label(0x2d) dprint 'T','A','L','K',' ','1','\n',0, - speak(TARGET_CHR, 0x2a56, 0x04ce, CHANNEL_4, COLOR_08_RED) // "Warn the others..." + speak(CHR_TARGET, 0x2a56, 0x04ce, CHANNEL_4, COLOR_08_RED) // "Warn the others..." label(0x2d) label(0x06) run_to_pad(0x0108) @@ -3450,7 +3450,7 @@ u8 func0425_hiddenguy[] = { u8 func0426_check_looking_at_alien[] = { beginloop(0x04) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_self_flag_bank3(CHRFLAG3_HIDDEN, /*goto*/ 0x61) if_chr_distance_lt(300, /*goto*/ 0x64) goto_next(0x66) @@ -3461,7 +3461,7 @@ u8 func0426_check_looking_at_alien[] = { // Jo is too far away or not looking at alien label(0x66) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_distance_lt(300, /*goto*/ 0x68) goto_next(0x69) @@ -3634,15 +3634,15 @@ u8 func1023_setup_door_locks[] = { }; u8 func0c01_outro[] = { - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) camera_movement(0x0198) set_music_track(MUSIC_RESCUE_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_function(CHR_BIOTECH1, GFUNC_IDLE) set_function(CHR_BIOTECH2, GFUNC_IDLE) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) @@ -3741,15 +3741,15 @@ u8 func0c01_outro[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_RESCUE_INTRO) camera_movement(0x01c6) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01c8, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01c8, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN) @@ -3768,15 +3768,15 @@ u8 func1002_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SILENCER, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SILENCER, WEAPON_NONE) wait_until(62, 0x67) play_sound(0x0161, CHANNEL_10) wait_until(90, 0x64) - speak(CHR_JOANNA, 0x2a5a, 0x7429, CHANNEL_5, COLOR_03_RED) // "The problem you have is that there is no way to sn..." + speak(CHR_BOND, 0x2a5a, 0x7429, CHANNEL_5, COLOR_03_RED) // "The problem you have is that there is no way to sn..." wait_until(108, 0x66) play_sound(0x0162, CHANNEL_10) @@ -3791,10 +3791,10 @@ u8 func1002_intro[] = { play_sound(0x0161, CHANNEL_10) wait_until(810, 0x6b) - speak(CHR_JOANNA, 0x2a5b, 0x742a, CHANNEL_5, COLOR_09_BLUE) // "Doesn't sound like a problem to me. Where are thes..." + speak(CHR_BOND, 0x2a5b, 0x742a, CHANNEL_5, COLOR_09_BLUE) // "Doesn't sound like a problem to me. Where are thes..." wait_until(1104, 0x6c) - speak(CHR_JOANNA, 0x2a5c, 0x742b, CHANNEL_5, COLOR_03_RED) // "In that crate." + speak(CHR_BOND, 0x2a5c, 0x742b, CHANNEL_5, COLOR_03_RED) // "In that crate." wait_until(1186, 0x6d) play_sound(0x0162, CHANNEL_10) @@ -3813,7 +3813,7 @@ u8 func1002_intro[] = { control_sound_from_object(CHANNEL_1, OBJ_CRATE, TRUE) wait_until(1390, 0x72) - speak(CHR_JOANNA, 0x2a5d, 0x742c, CHANNEL_5, COLOR_09_BLUE) // "Cute. Very cute." + speak(CHR_BOND, 0x2a5d, 0x742c, CHANNEL_5, COLOR_09_BLUE) // "Cute. Very cute." wait_until(1440, 0x73) play_sound(0x0161, CHANNEL_10) @@ -3825,7 +3825,7 @@ u8 func1002_intro[] = { play_sound(0x0163, CHANNEL_10) wait_until(1597, 0x76) - speak(CHR_JOANNA, 0x2a5e, 0x742d, CHANNEL_5, COLOR_03_RED) // "By the way, the stores are crawling with guards. I..." + speak(CHR_BOND, 0x2a5e, 0x742d, CHANNEL_5, COLOR_03_RED) // "By the way, the stores are crawling with guards. I..." wait_until(1628, 0x77) play_sound(0x0161, CHANNEL_10) @@ -3849,16 +3849,16 @@ u8 func1002_intro[] = { play_sound(0x0162, CHANNEL_10) wait_until(2017, 0x7e) - speak(CHR_JOANNA, 0x2a5f, 0x742e, CHANNEL_5, COLOR_09_BLUE) // "Certainly. Any other pearls of wisdom?" + speak(CHR_BOND, 0x2a5f, 0x742e, CHANNEL_5, COLOR_09_BLUE) // "Certainly. Any other pearls of wisdom?" wait_until(2275, 0x7f) - speak(CHR_JOANNA, 0x2a60, 0x742f, CHANNEL_5, COLOR_03_RED) // "That crate..." + speak(CHR_BOND, 0x2a60, 0x742f, CHANNEL_5, COLOR_03_RED) // "That crate..." wait_until(2338, 0x80) - speak(CHR_JOANNA, 0x2a61, 0x7430, CHANNEL_5, COLOR_09_BLUE) // "Yes?" + speak(CHR_BOND, 0x2a61, 0x7430, CHANNEL_5, COLOR_09_BLUE) // "Yes?" wait_until(2409, 0x81) - speak(CHR_JOANNA, 0x2a62, 0x7431, CHANNEL_5, COLOR_03_RED) // "It really doesn't like being shot." + speak(CHR_BOND, 0x2a62, 0x7431, CHANNEL_5, COLOR_03_RED) // "It really doesn't like being shot." wait_until(2440, 0x65) open_door(0x33) @@ -3868,7 +3868,7 @@ u8 func1002_intro[] = { play_sound(0x0172, CHANNEL_10) wait_until(2680, 0x83) - speak(CHR_JOANNA, 0x2a63, 0x7432, CHANNEL_5, COLOR_09_BLUE) // "Great. Now, if I can just fight the urge to report..." + speak(CHR_BOND, 0x2a63, 0x7432, CHANNEL_5, COLOR_09_BLUE) // "Great. Now, if I can just fight the urge to report..." wait_until(2690, 0x84) play_sound(0x0173, CHANNEL_10) @@ -3900,11 +3900,11 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_1) assign_sound(0x8169, CHANNEL_1) control_sound_from_object(CHANNEL_1, OBJ_CRATE, TRUE) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01c8, -2, -1, 0x0600, CHR_JOANNA, 2) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01c8, -2, -1, 0x0600, CHR_BOND, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE) remove_chr(CHR_JONATHAN) unset_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_UNPLAYABLE) @@ -3972,7 +3972,7 @@ u8 func1025_toggle_guards[] = { endloop(0x08) label(0x2d) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) unset_chr_flag_bank3(0x33, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x34, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x33, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) @@ -4083,7 +4083,7 @@ u8 func042a_init_xray_clone[] = { }; u8 func042b_xray_clone[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -4132,7 +4132,7 @@ u8 func042e_biotech_guard_alerted[] = { set_armor(0) set_recovery_speed(0) set_shield(0) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -4147,11 +4147,11 @@ u8 func142d_start_lifts[] = { u8 func1027_check_disguise_worn[] = { beginloop(0x04) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2d) endloop(0x04) label(0x2d) - message(CHR_JOANNA, 0x2a4d) // "Disguise has been worn." + message(CHR_BOND, 0x2a4d) // "Disguise has been worn." set_return_function(0x00, 0x0401) set_return_function(0x01, 0x0402) set_return_function(0x02, 0x0403) @@ -4244,17 +4244,17 @@ u8 func1028_toggle_mechanic[] = { u8 func1029_msg_showers[] = { beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00a9, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00aa, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00a9, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00bc, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x009b, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00b5, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x00ad, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00a9, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00aa, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00a9, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00bc, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x009b, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00b5, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x00ad, /*goto*/ 0x2d) endloop(0x04) label(0x2d) - speak(CHR_JOANNA, 0x2a4e, 0x73bc, CHANNEL_6, COLOR_09_BLUE) // "The showers... Now, if I can convince someone to p..." + speak(CHR_BOND, 0x2a4e, 0x73bc, CHANNEL_6, COLOR_09_BLUE) // "The showers... Now, if I can convince someone to p..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -4263,33 +4263,33 @@ u8 func102a_msg_temperaturedropping[] = { restart_timer beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x010a, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x010a, /*goto*/ 0x2d) endloop(0x04) label(0x2d) - speak(CHR_JOANNA, 0x2a4f, 0x8180, CHANNEL_6, COLOR_09_BLUE) // "The temperature's dropping... You must be close to..." + speak(CHR_BOND, 0x2a4f, 0x8180, CHANNEL_6, COLOR_09_BLUE) // "The temperature's dropping... You must be close to..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func102b_msg_airrecycled[] = { beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x007f, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x007f, /*goto*/ 0x2d) endloop(0x04) label(0x2d) - speak(CHR_JOANNA, 0x2a50, 0x73be, CHANNEL_6, COLOR_09_BLUE) // "The air's heavily recycled around here - must be n..." + speak(CHR_BOND, 0x2a50, 0x73be, CHANNEL_6, COLOR_09_BLUE) // "The air's heavily recycled around here - must be n..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; u8 func102c_msg_hurry[] = { beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0093, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0093, /*goto*/ 0x2d) endloop(0x04) label(0x2d) - speak(CHR_JOANNA, 0x2a51, 0x8181, CHANNEL_6, COLOR_09_BLUE) // "There he is, Jo! Hurry or you'll be too late!" + speak(CHR_BOND, 0x2a51, 0x8181, CHANNEL_6, COLOR_09_BLUE) // "There he is, Jo! Hurry or you'll be too late!" set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -4307,7 +4307,7 @@ u8 func0416_become_unaware[] = { return label(0x2d) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) // Dying/dead @@ -4694,7 +4694,7 @@ u8 func1036_check_door_terminal_destroyed[] = { beginloop(0x0b) if_object_in_good_condition(OBJ_DOOR_TERMINAL, /*goto*/ 0x2d) if_stage_flag_eq(STAGEFLAG_DOOR_VIRUS_DOWNLOADED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2a44) // "Mission critical equipment destroyed." + message(CHR_BOND, 0x2a44) // "Mission critical equipment destroyed." set_stage_flag(STAGEFLAG_UPLINK_TERMINAL_DESTROYED) label(0x2e) set_function(CHR_SELF, GFUNC_IDLE) diff --git a/src/files/setup/setuplue.c b/src/files/setup/setuplue.c index 1970d4095..4786dfaa0 100644 --- a/src/files/setup/setuplue.c +++ b/src/files/setup/setuplue.c @@ -16,7 +16,7 @@ #define OBJ_INTERCEPTOR3 0x04 #define OBJ_MAINGATE_SWITCH 0x05 #define OBJ_ANTENNA 0x07 -#define OBJ_BUG1_JOANNA 0x08 +#define OBJ_BUG1_BOND 0x08 #define OBJ_ANTENNA_SWITCH 0x09 #define OBJ_KEYCARD 0x0a #define OBJ_LIFT1_SWITCH 0x0b @@ -30,10 +30,10 @@ #define OBJ_MINE4 0x1b #define OBJ_MINE5 0x1c #define OBJ_MINE6 0x1d -#define OBJ_BUG2_JOANNA 0x2e +#define OBJ_BUG2_BOND 0x2e #define OBJ_AUTOGUN_AT_START 0x35 -#define OBJ_BUG1_VELVET 0x36 -#define OBJ_BUG2_VELVET 0x37 +#define OBJ_BUG1_COOP 0x36 +#define OBJ_BUG2_COOP 0x37 #define OBJ_ROCKETLAUNCHER 0x53 #define OBJ_EXPLOSIVE_BRICK 0x54 #define OBJ_HOVERBIKE 0x55 @@ -935,25 +935,25 @@ u8 func140e_check_interceptors_destroyed[] = { if_object_in_good_condition(OBJ_INTERCEPTOR1, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR1_DESTROYED) - message(CHR_JOANNA, 0x2c13) // "Robot interceptor disabled." + message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_object_in_good_condition(OBJ_INTERCEPTOR2, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR2_DESTROYED) - message(CHR_JOANNA, 0x2c13) // "Robot interceptor disabled." + message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_object_in_good_condition(OBJ_INTERCEPTOR3, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_INTERCEPTOR3_DESTROYED) - message(CHR_JOANNA, 0x2c13) // "Robot interceptor disabled." + message(CHR_BOND, 0x2c13) // "Robot interceptor disabled." label(0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, FALSE, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, FALSE, /*goto*/ 0x2e) if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, FALSE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2c14) // "All robot interceptors disabled." + message(CHR_BOND, 0x2c14) // "All robot interceptors disabled." set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) @@ -1012,16 +1012,16 @@ u8 func100c_maingate_switch[] = { u8 func1400_give_bugs[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) - give_object_to_chr(OBJ_BUG1_JOANNA, CHR_JOANNA) + give_object_to_chr(OBJ_BUG1_BOND, CHR_BOND) label(0x2e) - give_object_to_chr(OBJ_BUG2_JOANNA, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) + give_object_to_chr(OBJ_BUG2_BOND, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e) - give_object_to_chr(OBJ_BUG1_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_BUG1_COOP, CHR_COOP) label(0x2e) - give_object_to_chr(OBJ_BUG2_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_BUG2_COOP, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) label(0x2e) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) @@ -1067,19 +1067,19 @@ u8 func1400_give_bugs[] = { * @unused */ u8 func0422_check_bug_wasted_target[] = { - check_bug_wasted(TARGET_CHR) + check_bug_wasted(CHR_TARGET) endfunction }; -u8 func1003_check_bug_wasted_joanna[] = { - set_target_chr(CHR_JOANNA) - check_bug_wasted(CHR_JOANNA) +u8 func1003_check_bug_wasted_bond[] = { + set_target_chr(CHR_BOND) + check_bug_wasted(CHR_BOND) endfunction }; -u8 func1023_check_bug_wasted_velvet[] = { - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - set_target_chr(CHR_VELVET) +u8 func1023_check_bug_wasted_coop[] = { + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + set_target_chr(CHR_COOP) goto_next(0x06) label(0x2e) @@ -1087,14 +1087,14 @@ u8 func1023_check_bug_wasted_velvet[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - check_bug_wasted(CHR_VELVET) + check_bug_wasted(CHR_COOP) endfunction }; u8 func1004_check_antenna_destroyed[] = { beginloop(0x04) if_object_in_good_condition(OBJ_ANTENNA, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2c1c) // "Antenna has been destroyed." + message(CHR_BOND, 0x2c1c) // "Antenna has been destroyed." set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2e) @@ -1193,7 +1193,7 @@ u8 func1006_lift_switches[] = { label(0x0a) assign_sound(0x043f, CHANNEL_7) play_sound_from_entity(CHANNEL_7, OBJ_LIFT2_SWITCH, 0x012c, 0x0190, 0x00) - if_chr_has_object(CHR_JOANNA, OBJ_KEYCARD, /*goto*/ 0x2e) + if_chr_has_object(CHR_BOND, OBJ_KEYCARD, /*goto*/ 0x2e) message(CHR_P1P2, 0x2c24) // "Lift access denied - key card needed." goto_next(0x0b) @@ -1257,15 +1257,15 @@ u8 func1008_check_end_level[] = { set_stage_flag(STAGEFLAG_MET_JON) yield yield - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2e) + if_chr_dying(CHR_BOND, /*goto*/ 0x2e) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2e) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + if_chr_dying(CHR_COOP, /*goto*/ 0x2e) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) @@ -1273,7 +1273,7 @@ u8 func1008_check_end_level[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1287,7 +1287,7 @@ u8 func1009_check_radar_shut_down[] = { endloop(0x04) label(0x2e) - message(CHR_JOANNA, 0x2c29) // "Air intercept radar shut down." + message(CHR_BOND, 0x2c29) // "Air intercept radar shut down." mute_channel(CHANNEL_0) set_stage_flag(STAGEFLAG_RADAR_SHUT_DOWN) set_function(CHR_SELF, GFUNC_IDLE) @@ -1450,7 +1450,7 @@ u8 func0414_init_hangar_guard4[] = { label(0x06) jog_to_pad(0x041d) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, FUNC_ALERT_WHEN_STOPPED) endfunction }; @@ -1749,7 +1749,7 @@ u8 func040e_outro[] = { hide_object(OBJ_HOVERBIKE) camera_movement(0x017d) set_music_track(MUSIC_INFILTRATION_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) @@ -1889,8 +1889,8 @@ u8 func040e_outro[] = { }; u8 func0410_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) if_controller_button_pressed(/*goto*/ 0x54) set_music_track(MUSIC_INFILTRATION_INTRO) camera_movement(0x0181) @@ -1900,27 +1900,27 @@ u8 func0410_intro[] = { unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN) set_chr_flag_bank2(0x32, CHRFLAG2_00020000) animation(0x0182, -1, -1, 0x0600, 0x32, 4) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2, WEAPON_NONE) wait_until(26, 0x60) - speak(CHR_JOANNA, 0x2c3a, 0x7418, CHANNEL_7, COLOR_06_WHITE) // "Okay, Joanna, take a look at this. Our operative i..." + speak(CHR_BOND, 0x2c3a, 0x7418, CHANNEL_7, COLOR_06_WHITE) // "Okay, Joanna, take a look at this. Our operative i..." wait_until(500, 0x61) - speak(CHR_JOANNA, 0x2c3b, 0x7419, CHANNEL_7, COLOR_06_WHITE) // "This is your entry point... A deserted helipad on ..." + speak(CHR_BOND, 0x2c3b, 0x7419, CHANNEL_7, COLOR_06_WHITE) // "This is your entry point... A deserted helipad on ..." wait_until(800, 0x62) - speak(CHR_JOANNA, 0x2c3c, 0x741a, CHANNEL_7, COLOR_06_WHITE) // "The lift down to the hangars and the rendezvous po..." + speak(CHR_BOND, 0x2c3c, 0x741a, CHANNEL_7, COLOR_06_WHITE) // "The lift down to the hangars and the rendezvous po..." wait_until(1200, 0x63) wait_until(1236, 0x64) - speak(CHR_JOANNA, 0x2c3d, 0x741b, CHANNEL_7, COLOR_06_WHITE) // "Here is the communications antenna. Attach a comms..." + speak(CHR_BOND, 0x2c3d, 0x741b, CHANNEL_7, COLOR_06_WHITE) // "Here is the communications antenna. Attach a comms..." beginloop(0x09) if_camera_animating(/*goto*/ 0x2e) @@ -1934,11 +1934,11 @@ u8 func0410_intro[] = { label(0x06) label(0x55) unset_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) label(0x54) if_controller_button_pressed(/*goto*/ 0x54) camera_movement(0x0183) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x29, CHRFLAG3_HIDDEN) @@ -1961,10 +1961,10 @@ u8 func0410_intro[] = { restart_timer wait_until(186, 0x65) - speak(CHR_JOANNA, 0x2c3e, 0x81b9, CHANNEL_7, COLOR_09_BLUE) // "Oh, my God!" + speak(CHR_BOND, 0x2c3e, 0x81b9, CHANNEL_7, COLOR_09_BLUE) // "Oh, my God!" wait_until(380, 0x66) - speak(CHR_JOANNA, 0x2c3f, 0x741d, CHANNEL_7, COLOR_06_WHITE) // "Here is our friend. He appears to be physically un..." + speak(CHR_BOND, 0x2c3f, 0x741d, CHANNEL_7, COLOR_06_WHITE) // "Here is our friend. He appears to be physically un..." beginloop(0x0a) if_camera_animating(/*goto*/ 0x2e) @@ -1976,7 +1976,7 @@ u8 func0410_intro[] = { endloop(0x0a) label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) @@ -1984,7 +1984,7 @@ u8 func0410_intro[] = { label(0x54) if_controller_button_pressed(/*goto*/ 0x54) camera_movement(0x0188) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN) @@ -2002,10 +2002,10 @@ u8 func0410_intro[] = { restart_timer wait_until(416, 0x67) - speak(CHR_JOANNA, 0x2c40, 0x741e, CHANNEL_7, COLOR_09_BLUE) // "But who was...?" + speak(CHR_BOND, 0x2c40, 0x741e, CHANNEL_7, COLOR_09_BLUE) // "But who was...?" wait_until(485, 0x68) - speak(CHR_JOANNA, 0x2c41, 0x741f, CHANNEL_7, COLOR_06_WHITE) // "Any questions? No. Good. Away you go to the hangar..." + speak(CHR_BOND, 0x2c41, 0x741f, CHANNEL_7, COLOR_06_WHITE) // "Any questions? No. Good. Away you go to the hangar..." beginloop(0x0b) if_camera_animating(/*goto*/ 0x2e) @@ -2017,7 +2017,7 @@ u8 func0410_intro[] = { endloop(0x0b) label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE) unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000) @@ -2025,16 +2025,16 @@ u8 func0410_intro[] = { camera_movement(0x00f0) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x54) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00f1, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00f1, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(0x03, CHRFLAG2_00020000) unset_chr_flag_bank3(0x03, CHRFLAG3_HIDDEN) restart_timer wait_until(1, 0x69) - speak(CHR_JOANNA, 0x2c42, 0x7420, CHANNEL_10, COLOR_09_BLUE) // "Agent Dark Mission Log, 1028 hours. Against my bet..." + speak(CHR_BOND, 0x2c42, 0x7420, CHANNEL_10, COLOR_09_BLUE) // "Agent Dark Mission Log, 1028 hours. Against my bet..." wait_until(340, 0x6a) play_sound(0x80d5, CHANNEL_10) @@ -2083,8 +2083,8 @@ u8 func0410_intro[] = { label(0x54) mute_channel(CHANNEL_10) mute_channel(CHANNEL_7) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN) remove_chr(0x32) @@ -2092,10 +2092,10 @@ u8 func0410_intro[] = { remove_chr(0x2a) remove_chr(0x2b) hide_object(0x2f) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00f1, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00f1, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE) set_function(0x02, 0x0426) set_function(0x03, 0x0426) @@ -2126,7 +2126,7 @@ u8 func0418_walk_to_pad[] = { u8 func1010_bunker_lighting[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) restart_timer beginloop(0x09) @@ -2920,7 +2920,7 @@ u8 func0421_activate_autogun[] = { set_function(CHR_SELF, GFUNC_ALERTED) label(0x0e) - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) @@ -2969,7 +2969,7 @@ u8 func1022_check_lift_switches_destroyed[] = { if_stage_flag_eq(STAGEFLAG_LIFT2_CALLED, TRUE, /*goto*/ 0x06) if_object_in_good_condition(OBJ_LIFT1_SWITCH, /*goto*/ 0x2e) if_object_in_good_condition(OBJ_LIFT2_SWITCH, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2c39) // "Lift access terminals destroyed." + message(CHR_BOND, 0x2c39) // "Lift access terminals destroyed." set_stage_flag(STAGEFLAG_LIFT_SWITCHES_DESTROYED) goto_next(0x06) @@ -3164,7 +3164,7 @@ u8 func0424_activate_lasers[] = { if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x2e) set_stage_flag(STAGEFLAG_ANY_LASER_DESTROYED) if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2c2f) // "Intruder detected - security system online." + message(CHR_BOND, 0x2c2f) // "Intruder detected - security system online." // A and SA label(0x2e) @@ -3205,7 +3205,7 @@ u8 func102d_check_antenna_switch_destroyed[] = { label(0x2e) if_stage_flag_eq(STAGEFLAG_ANTENNA_LOWERED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x2c2a) // "Critical mission object destroyed." + message(CHR_BOND, 0x2c2a) // "Critical mission object destroyed." set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED) label(0x2e) label(0x0e) @@ -3314,7 +3314,7 @@ struct ailists functions[] = { { func1400_give_bugs, 0x1400 }, { func1001_objectives_failed_msg, 0x1001 }, { func0c00_init_intro, 0x1002 }, - { func1003_check_bug_wasted_joanna, 0x1003 }, + { func1003_check_bug_wasted_bond, 0x1003 }, { func1004_check_antenna_destroyed, 0x1004 }, { func1405_antenna_switch, 0x1405 }, { func1006_lift_switches, 0x1006 }, @@ -3343,7 +3343,7 @@ struct ailists functions[] = { { func1020_choose_autogun_guard, 0x1020 }, { func1021_damage_rl_guard, 0x1021 }, { func1022_check_lift_switches_destroyed, 0x1022 }, - { func1023_check_bug_wasted_velvet, 0x1023 }, + { func1023_check_bug_wasted_coop, 0x1023 }, { func1024_lift_door_sounds, 0x1024 }, { func1025_spawn_bunker_guards, 0x1025 }, { func1026_check_laser1_broken, 0x1026 }, diff --git a/src/files/setup/setupoat.c b/src/files/setup/setupoat.c index fd281d963..2e538ea76 100644 --- a/src/files/setup/setupoat.c +++ b/src/files/setup/setupoat.c @@ -85,8 +85,8 @@ u8 func0401_init_enemy[] = { label(0x01) assign_path(0) start_path - set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) - set_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET) + set_function(CHR_SELF, GFUNC_CHOOSE_TARGET) endfunction }; @@ -126,8 +126,8 @@ u8 func0402_init_maian[] = { label(0x01) assign_path(0) start_path - set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) - set_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET) + set_function(CHR_SELF, GFUNC_CHOOSE_TARGET) endfunction }; @@ -144,7 +144,7 @@ u8 unregistered_function1[] = { // The object doesn't exist in the props code though, so was likely removed. label(0x04) yield - if_chr_looking_at_object(CHR_JOANNA, 0x00, /*goto*/ 0x01) + if_chr_looking_at_object(CHR_BOND, 0x00, /*goto*/ 0x01) goto_first(0x04) label(0x01) @@ -198,7 +198,7 @@ u8 func0407_defend_pad[] = { label(0xa5) dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, 0x0407) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; diff --git a/src/files/setup/setupold.c b/src/files/setup/setupold.c index f3a1b1664..a1d293737 100644 --- a/src/files/setup/setupold.c +++ b/src/files/setup/setupold.c @@ -44,8 +44,8 @@ struct aipaths paths[] = { * to the next camera animation rather than ending the cutscene. */ u8 func0c00_017c[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_INTRO) camera_movement(0x045d) cmd01c8(2) @@ -147,8 +147,8 @@ u8 func0c00_017c[] = { endloop(0x0e) label(0x59) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) cmd01c8(5) beginloop(0x15) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index b2e411c8f..665a78d6b 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -23,7 +23,7 @@ #define STAGEFLAG_DONE_FIRST_TELEPORT 0x00000004 #define STAGEFLAG_PURPLE_GUARD_SHOT_JO_OR_ELVIS 0x00000010 #define STAGEFLAG_TELEPORT_DONE 0x00000020 -#define STAGEFLAG_ELVIS_FOLLOWING_VELVET 0x00000080 +#define STAGEFLAG_ELVIS_FOLLOWING_COOP 0x00000080 #define STAGEFLAG_TELEPORTALS_ACTIVATED 0x00000100 #define STAGEFLAG_MIDCUTSCENE_FINISHED 0x00000200 #define STAGEFLAG_ESCAPED 0x00000400 @@ -63,12 +63,12 @@ #define FUNC_OUTRO 0x0410 #define FUNC_HIDE 0x0411 #define FUNC_CLOAK_AND_HIDE 0x0413 -#define FUNC_TELEPORT_JOANNA_TO_SAPA 0x0414 -#define FUNC_TELEPORT_JOANNA_TO_DRCAROLL 0x0415 -#define FUNC_TELEPORT_JOANNA_TO_A_PA_DRCAROLL 0x0416 -#define FUNC_TELEPORT_VELVET_TO_SAPA 0x0417 -#define FUNC_TELEPORT_VELVET_TO_DRCAROLL 0x0418 -#define FUNC_TELEPORT_VELVET_TO_A_PA_DRCAROLL 0x0419 +#define FUNC_TELEPORT_BOND_TO_SAPA 0x0414 +#define FUNC_TELEPORT_BOND_TO_DRCAROLL 0x0415 +#define FUNC_TELEPORT_BOND_TO_A_PA_DRCAROLL 0x0416 +#define FUNC_TELEPORT_COOP_TO_SAPA 0x0417 +#define FUNC_TELEPORT_COOP_TO_DRCAROLL 0x0418 +#define FUNC_TELEPORT_COOP_TO_A_PA_DRCAROLL 0x0419 #define FUNC_INIT_SNIPER 0x041a #define FUNC_SNIPER_WAIT_FOR_DETECTION 0x041b #define FUNC_TELEPORT_ACTIVATION_RESPONDER 0x041c @@ -732,7 +732,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -754,7 +754,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { dprint 'B','A','C','K',' ','T','O',' ','E','L','V','I','S','\n',0, set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS) set_onshot_function(FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -774,7 +774,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { goto_next(0x12) label(0x2f) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) @@ -792,13 +792,13 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { // No enemy nearby label(0x06) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) // Jo distance >= 200 label(0x03) dprint 'G','O','T','O','W','\n',0, - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(300, /*goto*/ 0x06) try_run_to_target_chr_with_hand_up(/*goto*/ 0x04) @@ -817,7 +817,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { if_stage_flag_eq(STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x2e) if_chr_in_room(CHR_ELVIS, 0x00, 0x003c, /*goto*/ 0x5f) label(0x2e) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x2e) endloop(0x04) @@ -839,7 +839,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { if_stage_flag_eq(STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x2e) if_chr_in_room(CHR_ELVIS, 0x00, 0x003c, /*goto*/ 0x5f) label(0x2e) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_gt(300, /*goto*/ 0x06) endloop(0x09) @@ -856,24 +856,24 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { if_rand_lt(85, /*goto*/ 0x63) if_rand_lt(170, /*goto*/ 0x64) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x63) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x64) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) label(0x2e) set_onshot_function(FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS) set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // In teleport control room label(0x5f) stop_chr - speak(TARGET_CHR, 0x301d, 0x14eb, CHANNEL_6, COLOR_04_ORANGE) // "Time to reactivate those teleportals." + speak(CHR_TARGET, 0x301d, 0x14eb, CHANNEL_6, COLOR_04_ORANGE) // "Time to reactivate those teleportals." jog_to_pad(0x01c3) beginloop(0x0f) @@ -890,8 +890,8 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { endloop(0x10) label(0x06) - say_quip(CHR_JOANNA, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) - message(CHR_JOANNA, 0x301e) // "Teleportals have been reactivated." + say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + message(CHR_BOND, 0x301e) // "Teleportals have been reactivated." set_stage_flag(STAGEFLAG_TELEPORTALS_ACTIVATED) set_self_flag_bank3(CHRFLAG3_01000000) play_sound(0x8148, -1) @@ -914,11 +914,11 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = { u8 func0433_unused[] = { beginloop(0x04) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x06) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x06) - set_target_chr(CHR_COUNTEROP) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x06) goto_next(0x2e) @@ -939,7 +939,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { set_self_flag_bank3(CHRFLAG3_00080000) unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1) set_onshot_function(FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -956,7 +956,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) @@ -968,10 +968,10 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { if_stage_flag_eq(STAGEFLAG_ELVIS_SAID_SABOTAGE, TRUE, /*goto*/ 0x5f) label(0x2e) if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) label(0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(300, /*goto*/ 0x06) try_run_to_target_chr_with_hand_up(/*goto*/ 0x04) @@ -984,7 +984,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { label(0x2e) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x2e) endloop(0x04) @@ -1002,7 +1002,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { label(0x2e) dprint 'A','T',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_gt(300, /*goto*/ 0x06) endloop(0x09) @@ -1015,24 +1015,24 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { if_rand_lt(85, /*goto*/ 0x63) if_rand_lt(170, /*goto*/ 0x64) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x63) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x64) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) label(0x2e) set_onshot_function(FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON) set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // In Agent megaweapon room label(0x1d) - speak(TARGET_CHR, 0x301c, 0x14ec, CHANNEL_6, COLOR_04_ORANGE) // "It looks like this could benefit from a little bit..." + speak(CHR_TARGET, 0x301c, 0x14ec, CHANNEL_6, COLOR_04_ORANGE) // "It looks like this could benefit from a little bit..." label(0x5f) set_stage_flag(STAGEFLAG_ELVIS_SAID_SABOTAGE) stop_chr @@ -1053,9 +1053,9 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = { endloop(0x10) label(0x06) - say_quip(CHR_JOANNA, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) set_self_flag_bank3(CHRFLAG3_01000000) - message(CHR_JOANNA, 0x3014) // "Cetan megaweapon has been disabled." + message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled." set_stage_flag(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED) set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED) set_lights_state(0x006c, 0x03, 0x64, 0xff, 0x78) @@ -1080,7 +1080,7 @@ u8 func0405_elvis_follow_nocombat[] = { set_self_flag_bank3(CHRFLAG3_00080000) unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1) set_onshot_function(0x0405) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -1097,7 +1097,7 @@ u8 func0405_elvis_follow_nocombat[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) @@ -1105,10 +1105,10 @@ u8 func0405_elvis_follow_nocombat[] = { label(0x06) if_enemy_distance_lt_and_los(300, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) label(0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(300, /*goto*/ 0x06) try_run_to_target_chr_with_hand_up(/*goto*/ 0x04) @@ -1119,7 +1119,7 @@ u8 func0405_elvis_follow_nocombat[] = { label(0x2e) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(300, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x2e) endloop(0x04) @@ -1135,7 +1135,7 @@ u8 func0405_elvis_follow_nocombat[] = { label(0x2e) dprint 'A','T',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2000, /*goto*/ 0x08) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_gt(300, /*goto*/ 0x06) endloop(0x09) @@ -1145,7 +1145,7 @@ u8 func0405_elvis_follow_nocombat[] = { // Detected enemy label(0x08) restart_timer - say_quip(CHR_JOANNA, 0x29, 0xff, 0x14, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x14, 0xff, BANK_1, 0x00, 0x00) retreat(0x02, 0x01) beginloop(0x09) @@ -1160,7 +1160,7 @@ u8 func0405_elvis_follow_nocombat[] = { u8 func0406_elvis_follow_and_do_sa_megaweapon[] = { set_onshot_function(FUNC_ELVIS_FOLLOW_AND_DO_SA_MEGAWEAPON) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -1177,7 +1177,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x5f) @@ -1244,9 +1244,9 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = { goto_first(0x1b) label(0x2e) - say_quip(CHR_JOANNA, 0x2c, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x2c, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) set_self_flag_bank3(CHRFLAG3_01000000) - message(CHR_JOANNA, 0x3014) // "Cetan megaweapon has been disabled." + message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled." set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED) try_draw_weapon(MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x04) label(0x04) @@ -1260,7 +1260,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = { u8 func0407_elvis_go_to_sa_teleport[] = { set_onshot_function(FUNC_ELVIS_GO_TO_SA_TELEPORT) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -1277,14 +1277,14 @@ u8 func0407_elvis_go_to_sa_teleport[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) endloop(0x12) label(0x06) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) label(0x5f) restart_timer if_chr_distance_lt(1400, /*goto*/ 0x2e) @@ -1317,25 +1317,25 @@ u8 func0407_elvis_go_to_sa_teleport[] = { call_rng if_rand_lt(85, /*goto*/ 0x63) if_rand_lt(170, /*goto*/ 0x64) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x63) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x64) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) label(0x2e) set_onshot_function(FUNC_ELVIS_GO_TO_SA_TELEPORT) set_return_function(CHR_SELF, FUNC_ELVIS_GO_TO_SA_TELEPORT) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; u8 func0403_elvis_give_farsight[] = { set_onshot_function(FUNC_ELVIS_GIVE_FARSIGHT) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -1352,7 +1352,7 @@ u8 func0403_elvis_give_farsight[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) @@ -1360,11 +1360,11 @@ u8 func0403_elvis_give_farsight[] = { // Healthy label(0x06) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) label(0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(300, /*goto*/ 0x06) try_run_to_target_chr_with_hand_up(/*goto*/ 0x04) @@ -1373,7 +1373,7 @@ u8 func0403_elvis_give_farsight[] = { beginloop(0x04) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x2e) endloop(0x04) @@ -1385,8 +1385,8 @@ u8 func0403_elvis_give_farsight[] = { stop_chr label(0x09) do_special_animation(5) - speak(TARGET_CHR, 0x3012, 0x12ea, CHANNEL_6, COLOR_04_ORANGE) // "Here, take this gun and keep those Skedar off my b..." - give_object_to_chr(0x73, TARGET_CHR) + speak(CHR_TARGET, 0x3012, 0x12ea, CHANNEL_6, COLOR_04_ORANGE) // "Here, take this gun and keep those Skedar off my b..." + give_object_to_chr(0x73, CHR_TARGET) yield set_stage_flag(STAGEFLAG_TRIGGER_MINISKEDAR_SPAWNING) @@ -1483,7 +1483,7 @@ u8 func0c01_midcutscene[] = { fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 15) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(CHR_ELVIS, GFUNC_IDLE) set_music_track(MUSIC_DEEPSEA_MIDCUTSCENE) camera_movement(0x01d4) @@ -1532,7 +1532,7 @@ u8 func0c01_midcutscene[] = { wait_until(114, 0x63) - speak(CHR_JOANNA, 0x3023, 0x746d, CHANNEL_10, COLOR_09_BLUE) // "Here goes. I just hope dataDyne haven't done anyth..." + speak(CHR_BOND, 0x3023, 0x746d, CHANNEL_10, COLOR_09_BLUE) // "Here goes. I just hope dataDyne haven't done anyth..." wait_until(300, 0x64) play_sound(0x0171, CHANNEL_2) @@ -1547,7 +1547,7 @@ u8 func0c01_midcutscene[] = { play_sound(0x04f7, CHANNEL_10) wait_until(490, 0x6b) - speak(CHR_JOANNA, 0x3024, 0x746e, CHANNEL_10, COLOR_04_ORANGE) // "Virus detected." + speak(CHR_BOND, 0x3024, 0x746e, CHANNEL_10, COLOR_04_ORANGE) // "Virus detected." wait_until(570, 0x69) @@ -1562,7 +1562,7 @@ u8 func0c01_midcutscene[] = { label(0x06) set_drcaroll_image(CHR_DRCAROLL, 0x02, 0x02) - speak(CHR_JOANNA, 0x3025, 0x746f, CHANNEL_10, COLOR_09_BLUE) // "Me and my big mouth." + speak(CHR_BOND, 0x3025, 0x746f, CHANNEL_10, COLOR_09_BLUE) // "Me and my big mouth." wait_until(700, 0x6d) play_sound(0x0172, CHANNEL_6) @@ -1581,7 +1581,7 @@ u8 func0c01_midcutscene[] = { goto_first(0x71) label(0x06) - speak(CHR_JOANNA, 0x3026, 0x7470, CHANNEL_10, COLOR_04_ORANGE) // "Commencing countermeasures. Commenc..... *** ooOOo..." + speak(CHR_BOND, 0x3026, 0x7470, CHANNEL_10, COLOR_04_ORANGE) // "Commencing countermeasures. Commenc..... *** ooOOo..." wait_until_with_images(746, 0x73, 0x02, 0x08) play_sound(0x0128, CHANNEL_5) @@ -1687,7 +1687,7 @@ u8 func0c01_midcutscene[] = { play_sound(0x0171, CHANNEL_3) wait_until_with_images(1500, 0xd4, 0x08, 0x00) - speak(CHR_JOANNA, 0x3027, 0x7471, CHANNEL_10, COLOR_09_BLUE) // "Dr. Caroll? Are you in control again? Can you stop..." + speak(CHR_BOND, 0x3027, 0x7471, CHANNEL_10, COLOR_09_BLUE) // "Dr. Caroll? Are you in control again? Can you stop..." set_drcaroll_image(CHR_DRCAROLL, 0x00, 0x00) wait_until(1534, 0xd6) @@ -1700,7 +1700,7 @@ u8 func0c01_midcutscene[] = { play_sound(0x0175, CHANNEL_5) wait_until(1810, 0xe3) - speak(CHR_JOANNA, 0x3028, 0x7472, CHANNEL_10, COLOR_04_ORANGE) // "Yes, I'm back again, my dear. But the program has ..." + speak(CHR_BOND, 0x3028, 0x7472, CHANNEL_10, COLOR_04_ORANGE) // "Yes, I'm back again, my dear. But the program has ..." wait_until(1810, 0xe5) play_sound(0x0177, CHANNEL_3) @@ -1710,10 +1710,10 @@ u8 func0c01_midcutscene[] = { wait_until(2378, 0xe9) mute_channel(CHANNEL_7) - speak(CHR_JOANNA, 0x3029, 0x7473, CHANNEL_10, COLOR_09_BLUE) // "What do you mean?" + speak(CHR_BOND, 0x3029, 0x7473, CHANNEL_10, COLOR_09_BLUE) // "What do you mean?" wait_until(2510, 0xea) - speak(CHR_JOANNA, 0x302a, 0x7474, CHANNEL_10, COLOR_04_ORANGE) // "When the program has run, I will have control of a..." + speak(CHR_BOND, 0x302a, 0x7474, CHANNEL_10, COLOR_04_ORANGE) // "When the program has run, I will have control of a..." wait_until(3126, 0xf5) play_sound(0x012b, CHANNEL_5) @@ -1814,8 +1814,8 @@ u8 func0c01_midcutscene[] = { fade_to_color(0xffffffff, 0) fade_to_color(0x00000000, 15) hide_object(0xbb) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000) animation(0x01d5, -2, -1, 0x0600, CHR_P1P2, 2) @@ -1833,9 +1833,9 @@ u8 func0c01_midcutscene[] = { chr_move_to_pad(CHR_ELVIS, 0x0013, 0x01, /*goto*/ 0x2e) label(0x2e) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) - chr_move_to_pad(CHR_JOANNA, 0x019f, 0x01, /*goto*/ 0x2e) + chr_move_to_pad(CHR_BOND, 0x019f, 0x01, /*goto*/ 0x2e) label(0x2e) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) restart_default_music reset_ambience play_x_music(CHANNEL_10, 60) @@ -1869,16 +1869,16 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = { u8 func0c02_outro[] = { show_nonessential_chrs(FALSE) hide_countdown_timer - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_DEEPSEA_OUTRO) camera_movement(0x02d7) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) restart_timer @@ -1983,15 +1983,15 @@ u8 func0c02_outro[] = { label(0x57) if_all_objectives_complete(/*goto*/ 0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - explosions_around_chr(CHR_JOANNA) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + explosions_around_chr(CHR_BOND) label(0x2e) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) enter_firstperson - grant_control(CHR_JOANNA) + grant_control(CHR_BOND) restart_timer beginloop(0x0d) @@ -1999,8 +1999,8 @@ u8 func0c02_outro[] = { endloop(0x0d) label(0x2f) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - explosions_around_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + explosions_around_chr(CHR_COOP) label(0x2e) beginloop(0x0e) @@ -2019,15 +2019,15 @@ u8 func0c02_outro[] = { u8 func1002_intro[] = { set_drcaroll_image(CHR_DRCAROLL, 0x02, 0x02) - chr_draw_weapon_in_cutscene(CHR_JOANNA, WEAPON_FALCON2_SCOPE) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2_SCOPE) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_DEEPSEA_INTRO) camera_movement(0x01ef) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01f0, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01f0, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) @@ -2041,9 +2041,9 @@ u8 func1002_intro[] = { set_chr_flag_bank2(0x40, CHRFLAG2_00020000) animation(0x0471, -1, -1, 0x0600, 0x40, 4) restart_timer - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) wait_until(0, 0x63) play_sound_from_object2(CHANNEL_5, 0x07, 0x81aa, 0x00, 0x00) @@ -2066,7 +2066,7 @@ u8 func1002_intro[] = { play_sound(0x0171, CHANNEL_7) wait_until(1210, 0x65) - speak(CHR_JOANNA, 0x301f, 0x7469, CHANNEL_10, COLOR_04_ORANGE) // "This doesn't seem normal. No one's around." + speak(CHR_BOND, 0x301f, 0x7469, CHANNEL_10, COLOR_04_ORANGE) // "This doesn't seem normal. No one's around." wait_until(1266, 0x66) play_sound(0x0172, CHANNEL_7) @@ -2079,7 +2079,7 @@ u8 func1002_intro[] = { play_sound_from_object2(CHANNEL_5, 0x07, 0x81a9, 0x00, 0x00) wait_until(1522, 0x6c) - speak(CHR_JOANNA, 0x3020, 0x746a, CHANNEL_10, COLOR_09_BLUE) // "No signs of conflict. No spent ammo cases or bulle..." + speak(CHR_BOND, 0x3020, 0x746a, CHANNEL_10, COLOR_09_BLUE) // "No signs of conflict. No spent ammo cases or bulle..." wait_until(1548, 0x6d) play_sound(0x0174, CHANNEL_7) @@ -2094,7 +2094,7 @@ u8 func1002_intro[] = { play_sound(0x0177, CHANNEL_7) wait_until(1945, 0x71) - speak(CHR_JOANNA, 0x3021, 0x746b, CHANNEL_10, COLOR_04_ORANGE) // "But there ought to be a rear guard at least. It ma..." + speak(CHR_BOND, 0x3021, 0x746b, CHANNEL_10, COLOR_04_ORANGE) // "But there ought to be a rear guard at least. It ma..." wait_until(1958, 0x72) play_sound(0x0178, CHANNEL_7) @@ -2124,7 +2124,7 @@ u8 func1002_intro[] = { play_sound(0x0178, CHANNEL_7) wait_until(2420, 0x7b) - speak(CHR_JOANNA, 0x3022, 0x746c, CHANNEL_10, COLOR_09_BLUE) // "There has to be someone farther inside. Cover me." + speak(CHR_BOND, 0x3022, 0x746c, CHANNEL_10, COLOR_09_BLUE) // "There has to be someone farther inside. Cover me." wait_until(2426, 0x7c) play_sound(0x0171, CHANNEL_7) @@ -2181,11 +2181,11 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_4) mute_channel(CHANNEL_10) remove_chr(0x40) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01f0, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01f0, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) animation(0x01f1, -2, -1, 0x0600, CHR_ELVIS, 2) @@ -2268,7 +2268,7 @@ u8 func1007_msg_antibodymasking[] = { // Unreachable label(0x2e) - speak(CHR_JOANNA, 0x300b, 0x73d5, CHANNEL_6, COLOR_09_BLUE) // "This antibody masking will protect us from the aut..." + speak(CHR_BOND, 0x300b, 0x73d5, CHANNEL_6, COLOR_09_BLUE) // "This antibody masking will protect us from the aut..." label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) @@ -2297,7 +2297,7 @@ u8 func1008_msg_theresdrcaroll[] = { endloop(0x04) label(0x2e) - speak(CHR_JOANNA, 0x300c, 0x73d6, CHANNEL_6, COLOR_04_ORANGE) // "There's Dr. Caroll. Let's see if we can reverse wh..." + speak(CHR_BOND, 0x300c, 0x73d6, CHANNEL_6, COLOR_04_ORANGE) // "There's Dr. Caroll. Let's see if we can reverse wh..." // Elvis dead, Dr Caroll dead, or Elvis didn't get teleported label(0x0d) @@ -2321,7 +2321,7 @@ u8 func1009_msg_getoutofhere[] = { endloop(0x08) label(0x2e) - speak(CHR_JOANNA, 0x300d, 0x73d7, CHANNEL_6, COLOR_04_ORANGE) // "We have to get out of here!" + speak(CHR_BOND, 0x300d, 0x73d7, CHANNEL_6, COLOR_04_ORANGE) // "We have to get out of here!" label(0x0d) set_function(CHR_SELF, GFUNC_IDLE) @@ -2333,22 +2333,22 @@ u8 func1009_msg_getoutofhere[] = { * * Map of how these functions call each other: * - * 100a func100a_joanna_teleports - * - calls 0414 teleport_joanna_to_sapa - * - calls 0416 teleport_joanna_to_a_pa_drcaroll - * - calls 0415 teleport_joanna_to_drcaroll - * - calls 0415 teleport_joanna_to_drcaroll + * 100a func100a_bond_teleports + * - calls 0414 teleport_bond_to_sapa + * - calls 0416 teleport_bond_to_a_pa_drcaroll + * - calls 0415 teleport_bond_to_drcaroll + * - calls 0415 teleport_bond_to_drcaroll */ -u8 func100a_joanna_teleports[] = { +u8 func100a_bond_teleports[] = { beginloop(0x1f) if_stage_flag_eq(STAGEFLAG_TELEPORTALS_ACTIVATED, TRUE, /*goto*/ 0x04) endloop(0x1f) beginloop(0x04) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08) if_stage_flag_eq(STAGEFLAG_DONE_FIRST_TELEPORT, TRUE, /*goto*/ 0x2e) endloop(0x04) @@ -2377,11 +2377,11 @@ u8 func100a_joanna_teleports[] = { // label(0x59) set_stage_flag(STAGEFLAG_DONE_FIRST_TELEPORT) - revoke_control(CHR_JOANNA, 0) - teleport_to_pad(PAD_STARTAREA_TELEPORT, CHR_JOANNA) + revoke_control(CHR_BOND, 0) + teleport_to_pad(PAD_STARTAREA_TELEPORT, CHR_BOND) label(0x5b) - if_teleport_full_white(/*goto*/ 0x5e, CHR_JOANNA) + if_teleport_full_white(/*goto*/ 0x5e, CHR_BOND) yield goto_first(0x5b) @@ -2390,7 +2390,7 @@ u8 func100a_joanna_teleports[] = { label(0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x64) - set_function(CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_SAPA) + set_function(CHR_BOND, FUNC_TELEPORT_BOND_TO_SAPA) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x31) @@ -2398,8 +2398,8 @@ u8 func100a_joanna_teleports[] = { endloop(0x31) label(0x2e) - grant_control(CHR_JOANNA) - teleport_to_pad(0x0000, CHR_JOANNA) + grant_control(CHR_BOND) + teleport_to_pad(0x0000, CHR_BOND) goto_first(0x04) // @@ -2414,15 +2414,15 @@ u8 func100a_joanna_teleports[] = { // Teleport is active label(0x2e) unset_stage_flag(STAGEFLAG_SA_EXIT_TELEPORT_DISABLED) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59) endloop(0x09) label(0x59) - teleport_to_pad(0x00c0, CHR_JOANNA) - revoke_control(CHR_JOANNA, 0) + teleport_to_pad(0x00c0, CHR_BOND) + revoke_control(CHR_BOND, 0) label(0x5c) - if_teleport_full_white(/*goto*/ 0x5e, CHR_JOANNA) + if_teleport_full_white(/*goto*/ 0x5e, CHR_BOND) yield goto_first(0x5c) @@ -2438,7 +2438,7 @@ u8 func100a_joanna_teleports[] = { goto_next(0x2e) label(0x2e) - set_function(CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_A_PA_DRCAROLL) + set_function(CHR_BOND, FUNC_TELEPORT_BOND_TO_A_PA_DRCAROLL) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x32) @@ -2446,8 +2446,8 @@ u8 func100a_joanna_teleports[] = { endloop(0x32) label(0x2e) - grant_control(CHR_JOANNA) - teleport_to_pad(0x0000, CHR_JOANNA) + grant_control(CHR_BOND) + teleport_to_pad(0x0000, CHR_BOND) if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2e) label(0x06) @@ -2460,29 +2460,29 @@ u8 func100a_joanna_teleports[] = { // At Agent or PA teleport // beginloop(0x08) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59) - if_chr_distance_to_pad_lt(CHR_JOANNA, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_BOND, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a) endloop(0x08) // Agent teleport label(0x59) - revoke_control(CHR_JOANNA, 0) - teleport_to_pad(0x0054, CHR_JOANNA) + revoke_control(CHR_BOND, 0) + teleport_to_pad(0x0054, CHR_BOND) goto_next(0x5d) // PA teleport label(0x5a) - revoke_control(CHR_JOANNA, 0) - teleport_to_pad(0x0111, CHR_JOANNA) + revoke_control(CHR_BOND, 0) + teleport_to_pad(0x0111, CHR_BOND) label(0x5d) - if_teleport_full_white(/*goto*/ 0x5e, CHR_JOANNA) + if_teleport_full_white(/*goto*/ 0x5e, CHR_BOND) yield goto_first(0x5d) label(0x5e) set_function(CHR_ELVIS, FUNC_ELVIS_STOP) - set_function(CHR_JOANNA, FUNC_TELEPORT_JOANNA_TO_DRCAROLL) + set_function(CHR_BOND, FUNC_TELEPORT_BOND_TO_DRCAROLL) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x33) @@ -2490,18 +2490,18 @@ u8 func100a_joanna_teleports[] = { endloop(0x33) label(0x2e) - grant_control(CHR_JOANNA) - teleport_to_pad(0x0000, CHR_JOANNA) + grant_control(CHR_BOND) + teleport_to_pad(0x0000, CHR_BOND) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; -u8 func0414_teleport_joanna_to_sapa[] = { - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) +u8 func0414_teleport_bond_to_sapa[] = { + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2528,10 +2528,10 @@ u8 func0414_teleport_joanna_to_sapa[] = { yield stop_chr set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) set_function(CHR_ELVIS, FUNC_ELVIS_GIVE_FARSIGHT) @@ -2540,12 +2540,12 @@ u8 func0414_teleport_joanna_to_sapa[] = { endfunction }; -u8 func0415_teleport_joanna_to_drcaroll[] = { - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) +u8 func0415_teleport_bond_to_drcaroll[] = { + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2562,7 +2562,7 @@ u8 func0415_teleport_joanna_to_drcaroll[] = { set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) goto_next(0x63) label(0x07) - message(CHR_JOANNA, 0x300e) // "Elvis has been killed." + message(CHR_BOND, 0x300e) // "Elvis has been killed." label(0x62) @@ -2574,10 +2574,10 @@ u8 func0415_teleport_joanna_to_drcaroll[] = { stop_chr yield set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2593,12 +2593,12 @@ u8 func0415_teleport_joanna_to_drcaroll[] = { * If SA: Warp to Dr Caroll Area * If PA: Warp to PA area */ -u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) +u8 func0416_teleport_bond_to_a_pa_drcaroll[] = { + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2609,10 +2609,10 @@ u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x08) // PA - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2637,10 +2637,10 @@ u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { label(0x2e) stop_chr yield - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2652,14 +2652,14 @@ u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { // SA label(0x08) - set_function(CHR_SELF, FUNC_TELEPORT_JOANNA_TO_DRCAROLL) + set_function(CHR_SELF, FUNC_TELEPORT_BOND_TO_DRCAROLL) // Agent label(0x09) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2685,10 +2685,10 @@ u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { stop_chr yield set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, FALSE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x61) - if_chr_dying(CHR_VELVET, /*goto*/ 0x61) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61) + if_chr_dying(CHR_COOP, /*goto*/ 0x61) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2703,14 +2703,14 @@ u8 func0416_teleport_joanna_to_a_pa_drcaroll[] = { * * Map of how these functions call each other: * - * 100b func100b_velvet_teleports - * - calls 0417 teleport_velvet_to_sapa - * - calls 0419 teleport_velvet_to_a_pa_drcaroll - * - calls 0418 teleport_velvet_to_drcaroll - * - calls 0418 teleport_velvet_to_drcaroll + * 100b func100b_coop_teleports + * - calls 0417 teleport_coop_to_sapa + * - calls 0419 teleport_coop_to_a_pa_drcaroll + * - calls 0418 teleport_coop_to_drcaroll + * - calls 0418 teleport_coop_to_drcaroll */ -u8 func100b_velvet_teleports[] = { - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) +u8 func100b_coop_teleports[] = { + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) goto_next(0x1f) label(0x2e) @@ -2721,28 +2721,28 @@ u8 func100b_velvet_teleports[] = { endloop(0x1f) beginloop(0x04) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_STARTAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x09) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x08) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x08) endloop(0x04) // // At start area teleport // label(0x59) - revoke_control(CHR_VELVET, 0) - teleport_to_pad(PAD_STARTAREA_TELEPORT, CHR_VELVET) + revoke_control(CHR_COOP, 0) + teleport_to_pad(PAD_STARTAREA_TELEPORT, CHR_COOP) label(0x5b) - if_teleport_full_white(/*goto*/ 0x5e, CHR_VELVET) + if_teleport_full_white(/*goto*/ 0x5e, CHR_COOP) yield goto_first(0x5b) label(0x5e) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2750,7 +2750,7 @@ u8 func100b_velvet_teleports[] = { label(0x62) label(0x2e) if_difficulty_lt(DIFF_SA, /*goto*/ 0x64) - set_function(CHR_VELVET, FUNC_TELEPORT_VELVET_TO_SAPA) + set_function(CHR_COOP, FUNC_TELEPORT_COOP_TO_SAPA) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x31) @@ -2758,8 +2758,8 @@ u8 func100b_velvet_teleports[] = { endloop(0x31) label(0x2e) - grant_control(CHR_VELVET) - teleport_to_pad(0x0000, CHR_VELVET) + grant_control(CHR_COOP) + teleport_to_pad(0x0000, CHR_COOP) goto_first(0x04) // @@ -2773,22 +2773,22 @@ u8 func100b_velvet_teleports[] = { label(0x2e) unset_stage_flag(STAGEFLAG_SA_EXIT_TELEPORT_DISABLED) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_SAPAAREA_TELEPORT, /*goto*/ 0x59) endloop(0x09) label(0x59) - teleport_to_pad(0x00c0, CHR_VELVET) - revoke_control(CHR_VELVET, 0) + teleport_to_pad(0x00c0, CHR_COOP) + revoke_control(CHR_COOP, 0) label(0x5c) - if_teleport_full_white(/*goto*/ 0x5e, CHR_VELVET) + if_teleport_full_white(/*goto*/ 0x5e, CHR_COOP) yield goto_first(0x5c) label(0x5e) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2801,7 +2801,7 @@ u8 func100b_velvet_teleports[] = { goto_next(0x2e) label(0x2e) - set_function(CHR_VELVET, FUNC_TELEPORT_VELVET_TO_A_PA_DRCAROLL) + set_function(CHR_COOP, FUNC_TELEPORT_COOP_TO_A_PA_DRCAROLL) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x32) @@ -2809,8 +2809,8 @@ u8 func100b_velvet_teleports[] = { endloop(0x32) label(0x2e) - grant_control(CHR_VELVET) - teleport_to_pad(0x0000, CHR_VELVET) + grant_control(CHR_COOP) + teleport_to_pad(0x0000, CHR_COOP) if_difficulty_lt(DIFF_SA, /*goto*/ 0x06) if_difficulty_lt(DIFF_PA, /*goto*/ 0x2e) label(0x06) @@ -2823,36 +2823,36 @@ u8 func100b_velvet_teleports[] = { // At Agent or PA area teleport // beginloop(0x08) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59) - if_chr_distance_to_pad_lt(CHR_VELVET, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_AGENTAREA_TELEPORT, /*goto*/ 0x59) + if_chr_distance_to_pad_lt(CHR_COOP, 250, PAD_PAAREA_TELEPORT, /*goto*/ 0x5a) endloop(0x08) // Agent teleport label(0x59) - revoke_control(CHR_VELVET, 0) - teleport_to_pad(0x0054, CHR_VELVET) + revoke_control(CHR_COOP, 0) + teleport_to_pad(0x0054, CHR_COOP) goto_next(0x5d) // PA teleport label(0x5a) - revoke_control(CHR_VELVET, 0) - teleport_to_pad(0x0111, CHR_VELVET) + revoke_control(CHR_COOP, 0) + teleport_to_pad(0x0111, CHR_COOP) label(0x5d) - if_teleport_full_white(/*goto*/ 0x5e, CHR_VELVET) + if_teleport_full_white(/*goto*/ 0x5e, CHR_COOP) yield goto_first(0x5d) label(0x5e) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) set_function(CHR_ELVIS, FUNC_ELVIS_STOP) label(0x62) - set_function(CHR_VELVET, FUNC_TELEPORT_VELVET_TO_DRCAROLL) + set_function(CHR_COOP, FUNC_TELEPORT_COOP_TO_DRCAROLL) unset_stage_flag(STAGEFLAG_TELEPORT_DONE) beginloop(0x33) @@ -2860,17 +2860,17 @@ u8 func100b_velvet_teleports[] = { endloop(0x33) label(0x2e) - grant_control(CHR_VELVET) - teleport_to_pad(0x0000, CHR_VELVET) + grant_control(CHR_COOP) + teleport_to_pad(0x0000, CHR_COOP) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; -u8 func0417_teleport_velvet_to_sapa[] = { - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) +u8 func0417_teleport_coop_to_sapa[] = { + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2897,10 +2897,10 @@ u8 func0417_teleport_velvet_to_sapa[] = { yield stop_chr set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2911,11 +2911,11 @@ u8 func0417_teleport_velvet_to_sapa[] = { endfunction }; -u8 func0418_teleport_velvet_to_drcaroll[] = { - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) +u8 func0418_teleport_coop_to_drcaroll[] = { + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2933,7 +2933,7 @@ u8 func0418_teleport_velvet_to_drcaroll[] = { goto_next(0x63) label(0x07) - message(CHR_JOANNA, 0x300e) // "Elvis has been killed." + message(CHR_BOND, 0x300e) // "Elvis has been killed." label(0x62) beginloop(0x63) @@ -2944,10 +2944,10 @@ u8 func0418_teleport_velvet_to_drcaroll[] = { stop_chr yield set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2962,11 +2962,11 @@ u8 func0418_teleport_velvet_to_drcaroll[] = { * If SA: Warp to Dr Caroll Area * If PA: Warp to PA area */ -u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) +u8 func0419_teleport_coop_to_a_pa_drcaroll[] = { + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -2976,10 +2976,10 @@ u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x08) // PA - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -3004,10 +3004,10 @@ u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { label(0x2e) stop_chr yield - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -3018,14 +3018,14 @@ u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { // SA label(0x08) - set_function(CHR_SELF, FUNC_TELEPORT_VELVET_TO_DRCAROLL) + set_function(CHR_SELF, FUNC_TELEPORT_COOP_TO_DRCAROLL) // Agent label(0x09) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0x07) @@ -3050,10 +3050,10 @@ u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { stop_chr yield set_stage_flag(STAGEFLAG_TELEPORT_DONE) - if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_VELVET, TRUE, /*goto*/ 0x61) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x61) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x61) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x61) + if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, TRUE, /*goto*/ 0x61) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x61) + if_chr_dying(CHR_BOND, /*goto*/ 0x61) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x61) goto_next(0x62) label(0x61) @@ -3071,9 +3071,9 @@ u8 func0419_teleport_velvet_to_a_pa_drcaroll[] = { */ u8 func041c_teleport_activation_responder[] = { beginloop(0x04) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2e) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2e) unset_self_flag_bank3(CHRFLAG3_HIDDEN) set_function(CHR_SELF, FUNC_INIT_SNIPER) @@ -3194,7 +3194,7 @@ u8 func041d_sniper[] = { label(0x06) dprint '2','\n',0, - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) goto_next(0x06) // Unreachable @@ -3237,7 +3237,7 @@ u8 func041d_sniper[] = { label(0x06) set_chr_cloaked(CHR_SELF, TRUE, TRUE) label(0x0d) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) goto_first(0x03) label(0x10) @@ -3308,15 +3308,15 @@ u8 func100c_countdown_timer[] = { label(0x09) yield label(0x2e) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2e) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2e) + if_chr_dying(CHR_BOND, /*goto*/ 0x2e) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2e) goto_next(0x06) label(0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2e) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + if_chr_dying(CHR_COOP, /*goto*/ 0x2e) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2e) goto_next(0x06) // Both players dead @@ -3326,8 +3326,8 @@ u8 func100c_countdown_timer[] = { // Mission complete label(0x06) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(CHR_SELF, FUNC_OUTRO) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3341,7 +3341,7 @@ u8 func100e_check_elvis_dead[] = { endloop(0x04) label(0x2e) - message(CHR_JOANNA, 0x300e) // "Elvis has been killed." + message(CHR_BOND, 0x300e) // "Elvis has been killed." set_stage_flag(STAGEFLAG_ALLY_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3355,7 +3355,7 @@ u8 func100f_check_drcaroll_dead[] = { endloop(0x04) label(0x2e) - message(CHR_JOANNA, 0x300f) // "Dr. Caroll has been killed." + message(CHR_BOND, 0x300f) // "Dr. Caroll has been killed." set_stage_flag(STAGEFLAG_ALLY_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3420,7 +3420,7 @@ u8 func040f_miniskedar[] = { endloop(0x10) label(0x2e) - say_quip(CHR_JOANNA, 0x05, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x05, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) set_function(CHR_SELF, GFUNC_IDLE) // Alive @@ -3472,7 +3472,7 @@ u8 func040f_miniskedar[] = { endloop(0x0b) label(0x06) - say_quip(CHR_JOANNA, 0x04, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x04, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) if_chr_distance_lt(200, /*goto*/ 0x2f) miniskedar_try_pounce(0x04, 0x000e, /*goto*/ 0x34) reloop(0x03) @@ -3975,7 +3975,7 @@ u8 func040a_check_pa_canisters_destroyed[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e) - message(CHR_JOANNA, 0x302b) // "Cetan megaweapon has been disabled." + message(CHR_BOND, 0x302b) // "Cetan megaweapon has been disabled." set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED) label(0x2e) open_door(0x0f) @@ -4219,7 +4219,7 @@ u8 func1022_control_room[] = { u8 func1023_check_drcaroll_restored[] = { if_difficulty_lt(DIFF_PA, /*goto*/ 0x04) yield - give_object_to_chr(OBJ_BACKUPDISK, CHR_JOANNA) + give_object_to_chr(OBJ_BACKUPDISK, CHR_BOND) beginloop(0x04) if_chr_death_animation_finished(CHR_DRCAROLL, /*goto*/ 0x0d) @@ -4257,19 +4257,19 @@ u8 func1023_check_drcaroll_restored[] = { u8 func1024_update_elvis_target_chr[] = { beginloop(0x04) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x08) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x08) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x08) - set_chr_target_chr(CHR_ELVIS, CHR_JOANNA) - unset_stage_flag(STAGEFLAG_ELVIS_FOLLOWING_VELVET) + if_chr_dying(CHR_BOND, /*goto*/ 0x08) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x08) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x08) + set_chr_target_chr(CHR_ELVIS, CHR_BOND) + unset_stage_flag(STAGEFLAG_ELVIS_FOLLOWING_COOP) endloop(0x04) beginloop(0x08) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2e) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2e) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2e) - set_chr_target_chr(CHR_ELVIS, CHR_VELVET) - set_stage_flag(STAGEFLAG_ELVIS_FOLLOWING_VELVET) + if_chr_dying(CHR_COOP, /*goto*/ 0x2e) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2e) + set_chr_target_chr(CHR_ELVIS, CHR_COOP) + set_stage_flag(STAGEFLAG_ELVIS_FOLLOWING_COOP) endloop(0x08) label(0x2e) @@ -4301,7 +4301,7 @@ u8 func042e_elvis_run_to_exit[] = { set_self_flag_bank3(CHRFLAG3_00080000) set_onshot_function(FUNC_ELVIS_RUN_TO_EXIT) set_return_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x2e) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e) if_chr_unloaded(CHR_SELF, /*goto*/ 0x2e) @@ -4318,7 +4318,7 @@ u8 func042e_elvis_run_to_exit[] = { // Injured label(0x2e) - say_quip(CHR_JOANNA, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x29, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) beginloop(0x12) if_chr_stopped(/*goto*/ 0x06) @@ -4327,7 +4327,7 @@ u8 func042e_elvis_run_to_exit[] = { // Healthy label(0x1f) label(0x06) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) label(0x5f) restart_timer if_chr_distance_lt(1400, /*goto*/ 0x2e) @@ -4363,17 +4363,17 @@ u8 func042e_elvis_run_to_exit[] = { call_rng if_rand_lt(85, /*goto*/ 0x63) if_rand_lt(170, /*goto*/ 0x64) - say_quip(CHR_JOANNA, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x26, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x63) - say_quip(CHR_JOANNA, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) goto_next(0x2e) label(0x64) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x28, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00) label(0x2e) set_onshot_function(FUNC_ELVIS_RUN_TO_EXIT) set_return_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -4616,7 +4616,7 @@ u8 func1030_unlock_agent_teleport_door[] = { */ u8 func1031_unset_trigger_buddy_warp[] = { beginloop(0x08) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e) reloop(0x08) label(0x2e) @@ -4627,7 +4627,7 @@ u8 func1031_unset_trigger_buddy_warp[] = { endloop(0x09) label(0x2e) - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) endloop(0x08) set_function(CHR_SELF, GFUNC_IDLE) @@ -4713,24 +4713,24 @@ u8 func102d_check_farsight_ammo_wasted[] = { // Probable @bug: Looks like the objective will fail if one buddy uses all // their ammo but the other is still stocked. beginloop(0x1f) - if_chr_weapon_equipped(CHR_JOANNA, WEAPON_FARSIGHTXR20, /*goto*/ 0x2e) - if_chr_weapon_equipped(CHR_VELVET, WEAPON_FARSIGHTXR20, /*goto*/ 0x2f) + if_chr_weapon_equipped(CHR_BOND, WEAPON_FARSIGHTXR20, /*goto*/ 0x2e) + if_chr_weapon_equipped(CHR_COOP, WEAPON_FARSIGHTXR20, /*goto*/ 0x2f) endloop(0x1f) label(0x2e) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) goto_next(0x63) label(0x2f) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) beginloop(0x63) if_objective_complete(1, /*goto*/ 0x0d) - if_ammo_quantity_lt(TARGET_CHR, AMMOTYPE_FARSIGHT, 1, /*goto*/ 0x2e) + if_ammo_quantity_lt(CHR_TARGET, AMMOTYPE_FARSIGHT, 1, /*goto*/ 0x2e) endloop(0x63) label(0x2e) - message(CHR_JOANNA, 0x302c) // "Ammo wasted - unable to disable megaweapon." + message(CHR_BOND, 0x302c) // "Ammo wasted - unable to disable megaweapon." set_stage_flag(STAGEFLAG_FARSIGHT_AMMO_WASTED) set_function(CHR_SELF, GFUNC_IDLE) label(0x0d) @@ -4758,8 +4758,8 @@ struct ailists functions[] = { { func1007_msg_antibodymasking, 0x1007 }, { func1008_msg_theresdrcaroll, 0x1008 }, { func1009_msg_getoutofhere, 0x1009 }, - { func100a_joanna_teleports, 0x100a }, - { func100b_velvet_teleports, 0x100b }, + { func100a_bond_teleports, 0x100a }, + { func100b_coop_teleports, 0x100b }, { func100c_countdown_timer, 0x100c }, { func100e_check_elvis_dead, 0x100e }, { func100f_check_drcaroll_dead, 0x100f }, @@ -4818,12 +4818,12 @@ struct ailists functions[] = { { func0408_check_pa_earlydoorcylinders_destroyed, 0x0408 }, { func0409_check_pa_latedoorcylinders_destroyed, 0x0409 }, { func040a_check_pa_canisters_destroyed, 0x040a }, - { func0414_teleport_joanna_to_sapa, 0x0414 }, - { func0415_teleport_joanna_to_drcaroll, 0x0415 }, - { func0416_teleport_joanna_to_a_pa_drcaroll, 0x0416 }, - { func0417_teleport_velvet_to_sapa, 0x0417 }, - { func0418_teleport_velvet_to_drcaroll, 0x0418 }, - { func0419_teleport_velvet_to_a_pa_drcaroll, 0x0419 }, + { func0414_teleport_bond_to_sapa, 0x0414 }, + { func0415_teleport_bond_to_drcaroll, 0x0415 }, + { func0416_teleport_bond_to_a_pa_drcaroll, 0x0416 }, + { func0417_teleport_coop_to_sapa, 0x0417 }, + { func0418_teleport_coop_to_drcaroll, 0x0418 }, + { func0419_teleport_coop_to_a_pa_drcaroll, 0x0419 }, { func041a_init_sniper, 0x041a }, { func041b_sniper_wait_for_detection, 0x041b }, { func041c_teleport_activation_responder, 0x041c }, diff --git a/src/files/setup/setuppete.c b/src/files/setup/setuppete.c index 44ffececf..807454ead 100644 --- a/src/files/setup/setuppete.c +++ b/src/files/setup/setuppete.c @@ -502,7 +502,7 @@ u8 func0401_3ae8[] = { if_controller_button_pressed(/*goto*/ 0x00) camera_movement(0x00cf) set_music_track(MUSIC_CHICAGO_INTRO) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) chicago_car_do_animation(OBJ_CAR1, 0x00d6) chicago_car_do_animation(OBJ_CAR2, 0x00d7) @@ -515,7 +515,7 @@ u8 func0401_3ae8[] = { chicago_wait_for_camera - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) hide_object(OBJ_CAR1) hide_object(OBJ_CAR2) hide_object(OBJ_CAR3) @@ -527,11 +527,11 @@ u8 func0401_3ae8[] = { }; u8 func0402_3bb4[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) if_controller_button_pressed(/*goto*/ 0x00) camera_movement(0x00d0) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) chicago_car_do_animation(OBJ_CAR1, 0x00dc) chicago_car_do_animation(OBJ_CAR2, 0x00dd) @@ -542,7 +542,7 @@ u8 func0402_3bb4[] = { chicago_wait_for_camera - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) hide_object(OBJ_CAR1) hide_object(OBJ_CAR2) hide_object(OBJ_CAR4) @@ -556,20 +556,20 @@ u8 func0402_3bb4[] = { u8 func0403_3c74[] = { if_controller_button_pressed(/*goto*/ 0x00) camera_movement(0x00d1) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) show_object(OBJ_CAR4) set_object_flag_bank1(OBJ_CAR4, OBJECTFLAG1_04000000) set_object_flag_bank2(OBJ_CAR4, OBJECTFLAG2_00000010) object_do_animation(0x00de, OBJ_CAR4, 0x04ff, 0xff) set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) chicago_wait_for_camera - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) hide_object(OBJ_CAR4) unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) label(0x00) @@ -585,15 +585,15 @@ u8 func0404_3ce0[] = { if_controller_button_pressed(/*goto*/ 0x00) camera_movement(0x00e0) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00e1, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00e1, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) chicago_wait_for_camera unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) label(0x00) return endfunction @@ -603,9 +603,9 @@ u8 func0405_3d50[] = { camera_movement(0x00d2) cmd0175(60) if_controller_button_pressed(/*goto*/ 0x00) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00df, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00df, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) restart_timer @@ -616,9 +616,9 @@ u8 func0405_3d50[] = { endloop(0x2d) label(0x04) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) beginloop(0x2f) if_controller_button_pressed(/*goto*/ 0x04) @@ -629,14 +629,14 @@ u8 func0405_3d50[] = { chicago_wait_for_camera label(0x00) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) mute_channel(CHANNEL_7) unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x00df, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x00df, -2, -1, 0x0600, CHR_BOND, 2) restart_default_music reset_ambience @@ -719,26 +719,26 @@ u8 func100f_check_mine[] = { beginloop(0x11) dprint 'M','A','I','N','\n',0, - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x29) - if_chr_dying(TARGET_CHR, /*goto*/ 0x29) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x29) - if_ammo_quantity_lt(TARGET_CHR, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x03) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x29) + if_chr_dying(CHR_TARGET, /*goto*/ 0x29) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x29) + if_ammo_quantity_lt(CHR_TARGET, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x03) endloop(0x11) label(0x29) label(0x54) yield dprint 'D','E','A','D','\n',0, - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x28) - if_chr_dying(TARGET_CHR, /*goto*/ 0x28) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x28) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x28) + if_chr_dying(CHR_TARGET, /*goto*/ 0x28) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x28) yield dprint 'N','O','T','D','E','A','D','\n',0, - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x29) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x29) reloop(0x08) label(0x29) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x29) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_REMOTE_MINE, 1, /*goto*/ 0x29) endloop(0x08) label(0x29) @@ -906,7 +906,7 @@ u8 func040d_limo[] = { if_stage_flag_eq(STAGEFLAG_TRACERBUG_PLACED, TRUE, /*goto*/ 0x03) if_difficulty_lt(DIFF_PA, /*goto*/ 0x03) set_stage_flag(STAGEFLAG_LIMO_ESCAPED) - message(CHR_JOANNA, 0x321c) // "DataDyne limo has escaped." + message(CHR_BOND, 0x321c) // "DataDyne limo has escaped." label(0x03) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1068,14 +1068,14 @@ u8 func040c_taxi[] = { -u8 func1004_tracerbug_joanna[] = { - tracerbug_logic(CHR_JOANNA, CHR_JOANNA) +u8 func1004_tracerbug_bond[] = { + tracerbug_logic(CHR_BOND, CHR_BOND) endfunction }; -u8 func1011_trackerbug_velvet[] = { +u8 func1011_trackerbug_coop[] = { yield - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x03) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x03) goto_next(0x04) label(0x03) @@ -1083,7 +1083,7 @@ u8 func1011_trackerbug_velvet[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x04) - tracerbug_logic(CHR_VELVET, FOLLOW_CHR) + tracerbug_logic(CHR_COOP, CHR_PRESET) endfunction }; @@ -1095,7 +1095,7 @@ u8 func1005_check_things_destroyed[] = { set_stage_flag(STAGEFLAG_LIMO_DESTROYED) mute_channel(CHANNEL_1) if_difficulty_lt(DIFF_SA, /*goto*/ 0x03) - message(CHR_JOANNA, 0x3219) // "Mission critical vehicle destroyed." + message(CHR_BOND, 0x3219) // "Mission critical vehicle destroyed." // Check taxi label(0x03) @@ -1104,7 +1104,7 @@ u8 func1005_check_things_destroyed[] = { if_object_in_good_condition(OBJ_TAXI, /*goto*/ 0x03) mute_channel(CHANNEL_0) set_stage_flag(STAGEFLAG_TAXI_DESTROYED) - message(CHR_JOANNA, 0x3219) // "Mission critical vehicle destroyed." + message(CHR_BOND, 0x3219) // "Mission critical vehicle destroyed." // Check robot label(0x03) @@ -1122,7 +1122,7 @@ u8 func1005_check_things_destroyed[] = { label(0x04) set_stage_flag(STAGEFLAG_ROBOT_DESTROYED) - message(CHR_JOANNA, 0x3219) // "Mission critical vehicle destroyed." + message(CHR_BOND, 0x3219) // "Mission critical vehicle destroyed." label(0x03) endloop(0x10) @@ -1159,8 +1159,8 @@ u8 func1006_check_for_end[] = { dprint 'I','N',' ','T','H','E',' ','E','L','E','V','A','T','O','R','\n',0, yield yield - set_invincible(CHR_JOANNA) - revoke_control(CHR_JOANNA, 4) + set_invincible(CHR_BOND) + revoke_control(CHR_BOND, 4) // But there is no countdown timer... hide_countdown_timer @@ -1183,15 +1183,15 @@ u8 func1006_check_for_end[] = { // Objectives complete label(0x05) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x03) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x03) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x03) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x03) + if_chr_dying(CHR_BOND, /*goto*/ 0x03) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x03) goto_next(0x04) label(0x03) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x03) - if_chr_dying(CHR_VELVET, /*goto*/ 0x03) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x03) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x03) + if_chr_dying(CHR_COOP, /*goto*/ 0x03) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x03) goto_next(0x04) label(0x03) @@ -1478,7 +1478,7 @@ u8 func0412_cia[] = { rebuild_teams rebuild_squadrons set_action(ACTION_COWER, FALSE) - say_quip(CHR_JOANNA, 0x18, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x18, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) animation(ANIM_SURRENDER_002E, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x0a) @@ -1506,19 +1506,19 @@ u8 func0412_cia[] = { set_chr_team(CHR_SELF, TEAM_NONCOMBAT) rebuild_teams rebuild_squadrons - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x06) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x06) beginloop(0x06) if_self_distance_to_chr_lt(2520, CHR_HIDDENGUY, /*goto*/ 0x03) reloop(0x06) label(0x03) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x04) + if_detected_chr(CHR_PRESET, /*goto*/ 0x04) endloop(0x06) label(0x04) set_squadron_alertness(100) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) label(0x0b) set_chr_team(CHR_SELF, TEAM_NONCOMBAT) rebuild_teams @@ -1597,10 +1597,10 @@ u8 func0413_bugspotter[] = { label(0x04) if_chr_weapon_equipped(CHR_P1P2, WEAPON_UNARMED, /*goto*/ 0x03) if_chr_weapon_equipped(CHR_P1P2, WEAPON_NONE, /*goto*/ 0x03) - say_quip(CHR_JOANNA, 0x1a, 0xff, 0x0a, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x1a, 0xff, 0x0a, 0xff, 0x81, 0x00, 0x00) goto_next(0x04) label(0x03) - say_quip(CHR_JOANNA, 0x17, 0xff, 0x0a, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0xff, 0x0a, 0xff, 0x81, 0x00, 0x00) label(0x04) animation(ANIM_TALKING_00A3, 0, -1, 0x0010, CHR_SELF, 2) @@ -1637,7 +1637,7 @@ u8 func0413_bugspotter[] = { assign_sound(0x044a, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) set_stage_flag(STAGEFLAG_TRACERBUG_SPOTTED) - message(CHR_JOANNA, 0x3243) // "Tracer Bug has been spotted." + message(CHR_BOND, 0x3243) // "Tracer Bug has been spotted." // Wait for talking animation to finish beginloop(0x05) @@ -1655,7 +1655,7 @@ u8 func0413_bugspotter[] = { goto_next(0x0b) label(0x04) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x06) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x06) // Wait until detected target guard beginloop(0x06) @@ -1664,7 +1664,7 @@ u8 func0413_bugspotter[] = { if_object_in_good_condition(OBJ_LIMO, /*goto*/ 0x03) goto_next(LABEL_RUN_AWAY) label(0x03) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x04) + if_detected_chr(CHR_PRESET, /*goto*/ 0x04) endloop(0x06) // Alert everyone in group @@ -1814,7 +1814,7 @@ u8 func041d_fbi[] = { // Unreachable label(0x04) - say_quip(CHR_JOANNA, 0x1b, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x1b, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) set_squadron_alertness(100) goto_next(0x16) @@ -1876,7 +1876,7 @@ u8 func041d_fbi[] = { endloop(0x0d) label(0x04) - say_quip(CHR_JOANNA, 0x1b, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x1b, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) animation(0x0266, 0, 193, 0x0010, CHR_SELF, 2) beginloop(0x0e) @@ -1909,7 +1909,7 @@ u8 func041d_fbi[] = { \ label(0x05) \ set_stage_flag(STAGEFLAG_CIVILIAN_DEAD) \ - message(CHR_JOANNA, 0x321d) /* "Mission failed - unacceptable civilian casualties." */ \ + message(CHR_BOND, 0x321d) /* "Mission failed - unacceptable civilian casualties." */ \ set_function(CHR_SELF, GFUNC_IDLE) @@ -1934,7 +1934,7 @@ u8 func100a_check_cia2_dead[] = { label(0x05) set_stage_flag(STAGEFLAG_CIVILIAN_DEAD) - message(CHR_JOANNA, 0x321d) // "Mission failed - unacceptable civilian casualties." + message(CHR_BOND, 0x321d) // "Mission failed - unacceptable civilian casualties." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -2209,7 +2209,7 @@ u8 func041e_sealer1[] = { set_stage_flag(STAGEFLAG_ELEVATOR_SEALED) assign_sound(0x0469, CHANNEL_6) play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) - message(CHR_JOANNA, 0x3221) // "Elevator access sealed." + message(CHR_BOND, 0x3221) // "Elevator access sealed." animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x1010, CHR_SELF, 2) beginloop(0x06) @@ -2415,28 +2415,28 @@ u8 func101f_setup_robot_noise[] = { */ u8 func1400_give_briefcases[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_20) + set_chr_team(CHR_ANTI, TEAM_20) set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION) set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_00000020) set_chr_flag_bank3(0x0a, CHRFLAG3_00000020) if_difficulty_lt(DIFF_PA, /*goto*/ 0x03) // PA - give_object_to_chr(OBJ_BRIEFCASE3, CHR_JOANNA) + give_object_to_chr(OBJ_BRIEFCASE3, CHR_BOND) // All difficulties label(0x03) - give_object_to_chr(OBJ_BRIEFCASE4, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x03) + give_object_to_chr(OBJ_BRIEFCASE4, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x03) if_difficulty_lt(DIFF_PA, /*goto*/ 0x04) // PA - give_object_to_chr(OBJ_BRIEFCASE5, CHR_VELVET) + give_object_to_chr(OBJ_BRIEFCASE5, CHR_COOP) // All difficulties label(0x04) - give_object_to_chr(OBJ_BRIEFCASE6, CHR_VELVET) + give_object_to_chr(OBJ_BRIEFCASE6, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) // Velvet doesn't exist @@ -2509,7 +2509,7 @@ u8 func1014_crash[] = { move_object_to_pad(OBJ_MINE1, 0x0029) destroy_object(OBJ_MINE1) set_stage_flag(STAGEFLAG_DIVERSION_CREATED) - message(CHR_JOANNA, 0x3236) // "Diversion has been created." + message(CHR_BOND, 0x3236) // "Diversion has been created." destroy_object(OBJ_TAXI) restart_timer @@ -2552,16 +2552,16 @@ u8 func040a_intro_sfx[] = { wait_until(30, 0x55) - speak(CHR_JOANNA, 0x3244, 0x7408, CHANNEL_7, COLOR_05_GREEN) // "We suspect the G5 Corporation is just a front for ..." + speak(CHR_BOND, 0x3244, 0x7408, CHANNEL_7, COLOR_05_GREEN) // "We suspect the G5 Corporation is just a front for ..." wait_until(1060, 0x56) - speak(CHR_JOANNA, 0x3245, 0x7409, CHANNEL_7, COLOR_09_BLUE) // "Just who is this help you keep referring to?" + speak(CHR_BOND, 0x3245, 0x7409, CHANNEL_7, COLOR_09_BLUE) // "Just who is this help you keep referring to?" wait_until(1260, 0x57) - speak(CHR_JOANNA, 0x3246, 0x740a, CHANNEL_7, COLOR_05_GREEN) // "Not now, Joanna. Time for radio silence. Good luck..." + speak(CHR_BOND, 0x3246, 0x740a, CHANNEL_7, COLOR_05_GREEN) // "Not now, Joanna. Time for radio silence. Good luck..." wait_until(1488, 0x58) - speak(CHR_JOANNA, 0x3247, 0x740b, CHANNEL_7, COLOR_09_BLUE) // "Thanks a lot." + speak(CHR_BOND, 0x3247, 0x740b, CHANNEL_7, COLOR_09_BLUE) // "Thanks a lot." label(0x2d) yield @@ -2675,7 +2675,7 @@ u8 func040a_intro_sfx[] = { u8 func040b_outro[] = { camera_movement(0x0178) set_music_track(MUSIC_CHICAGO_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) open_door2(0x10) @@ -3040,7 +3040,7 @@ u8 func101e_check_sealer_guards_dead[] = { label(0x03) if_stage_flag_eq(STAGEFLAG_DIVERSION_CREATED, TRUE, /*goto*/ 0x03) - message(CHR_JOANNA, 0x3242) // "An alternative diversion has been created!" + message(CHR_BOND, 0x3242) // "An alternative diversion has been created!" unset_stage_flag(STAGEFLAG_TAXI_DESTROYED) unset_stage_flag(STAGEFLAG_ROBOT_DESTROYED) set_stage_flag(STAGEFLAG_DIVERSION_CREATED) @@ -3284,7 +3284,7 @@ struct ailists functions[] = { { func1001_objectives_failed_msg, 0x1001 }, { func1002_rebuild_groups, 0x1002 }, { func040a_intro_from_gameplay, 0x1003 }, - { func1004_tracerbug_joanna, 0x1004 }, + { func1004_tracerbug_bond, 0x1004 }, { func1005_check_things_destroyed, 0x1005 }, { func1006_check_for_end, 0x1006 }, { func040d_limo_timing, 0x1007 }, @@ -3296,7 +3296,7 @@ struct ailists functions[] = { { func100d_spawn_alarm_responders, 0x100d }, { func100f_check_mine, 0x100f }, { func1010_elevator_switch, 0x1010 }, - { func1011_trackerbug_velvet, 0x1011 }, + { func1011_trackerbug_coop, 0x1011 }, { func1012_update_robot_position_flags, 0x1012 }, { func1014_crash, 0x1014 }, { func040a_intro_sfx, 0x1415 }, diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index 10654d451..724e0a2bb 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -19,18 +19,18 @@ // Objects #define OBJ_EQUIPMENT 0x00 -#define OBJ_DATAUPLINK_JOANNA 0x01 +#define OBJ_DATAUPLINK_BOND 0x01 #define OBJ_COMMSHUB1 0x02 #define OBJ_AUTOPILOT_SWITCH 0x03 -#define OBJ_REMOTEMINE_JOANNA 0x04 +#define OBJ_REMOTEMINE_BOND 0x04 #define OBJ_DUMBWAITER1 0x05 #define OBJ_DUMBWAITER2 0x06 #define OBJ_DUMBWAITER1_SWITCH 0x07 #define OBJ_DUMBWAITER2_SWITCH 0x08 #define OBJ_FLOORHATCH 0x0b #define OBJ_COCKPITDOOR 0x0e -#define OBJ_DATAUPLINK_VELVET 0x16 -#define OBJ_REMOTEMINE_VELVET 0x17 +#define OBJ_DATAUPLINK_COOP 0x16 +#define OBJ_REMOTEMINE_COOP 0x17 #define OBJ_EQUIPMENT_SWITCH 0x1e #define OBJ_HOVERBIKE_SWITCH 0x21 #define OBJ_KEYCARD 0x22 @@ -42,14 +42,14 @@ #define OBJ_COMMSHUB4 0x29 #define OBJ_COMMSHUB5 0x2a #define OBJ_FLOOR_HATCH_DETACHED 0x2e -#define OBJ_EQUIPMENT_VELVET 0x3a +#define OBJ_EQUIPMENT_COOP 0x3a // Stage flags #define STAGEFLAG_POD_DESTROYED 0x00000004 #define STAGEFLAG_ALL_OBJECTIVES_COMPLETE 0x00000008 #define STAGEFLAG_PLANE_NOSEDIVING 0x00000010 -#define STAGEFLAG_JOANNA_MINE_WASTED 0x00000020 -#define STAGEFLAG_VELVET_MINE_WASTED 0x00000040 +#define STAGEFLAG_BOND_MINE_WASTED 0x00000020 +#define STAGEFLAG_COOP_MINE_WASTED 0x00000040 #define STAGEFLAG_AI_BUDDY_EXISTS 0x00000080 #define STAGEFLAG_PRESIDENT_STARTED_RUNNING 0x00000100 #define STAGEFLAG_PRESIDENT_AT_POD 0x00000200 @@ -553,9 +553,9 @@ u8 func1400_setup_counterop[] = { yield yield yield - set_chr_team(CHR_COUNTEROP, TEAM_04) - chr_draw_weapon(CHR_JOANNA, WEAPON_UNARMED) - chr_draw_weapon(CHR_VELVET, WEAPON_UNARMED) + set_chr_team(CHR_ANTI, TEAM_04) + chr_draw_weapon(CHR_BOND, WEAPON_UNARMED) + chr_draw_weapon(CHR_COOP, WEAPON_UNARMED) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -567,18 +567,18 @@ u8 func1003_rebuild_groups[] = { u8 func1024_give_objects[] = { if_difficulty_gt(DIFF_A, /*goto*/ 0x2d) - give_object_to_chr(OBJ_EQUIPMENT, CHR_JOANNA) - give_object_to_chr(OBJ_EQUIPMENT_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_EQUIPMENT, CHR_BOND) + give_object_to_chr(OBJ_EQUIPMENT_COOP, CHR_COOP) label(0x2d) - set_object_flag_bank1(OBJ_DATAUPLINK_JOANNA, OBJECTFLAG1_INVISIBLE) - set_object_flag_bank0(OBJ_DATAUPLINK_JOANNA, OBJECTFLAG0_00100000) - set_object_flag_bank1(OBJ_REMOTEMINE_JOANNA, OBJECTFLAG1_INVISIBLE) - set_object_flag_bank0(OBJ_REMOTEMINE_JOANNA, OBJECTFLAG0_00100000) - set_object_flag_bank1(OBJ_DATAUPLINK_VELVET, OBJECTFLAG1_INVISIBLE) - set_object_flag_bank0(OBJ_DATAUPLINK_VELVET, OBJECTFLAG0_00100000) - set_object_flag_bank1(OBJ_REMOTEMINE_VELVET, OBJECTFLAG1_INVISIBLE) - set_object_flag_bank0(OBJ_REMOTEMINE_VELVET, OBJECTFLAG0_00100000) + set_object_flag_bank1(OBJ_DATAUPLINK_BOND, OBJECTFLAG1_INVISIBLE) + set_object_flag_bank0(OBJ_DATAUPLINK_BOND, OBJECTFLAG0_00100000) + set_object_flag_bank1(OBJ_REMOTEMINE_BOND, OBJECTFLAG1_INVISIBLE) + set_object_flag_bank0(OBJ_REMOTEMINE_BOND, OBJECTFLAG0_00100000) + set_object_flag_bank1(OBJ_DATAUPLINK_COOP, OBJECTFLAG1_INVISIBLE) + set_object_flag_bank0(OBJ_DATAUPLINK_COOP, OBJECTFLAG0_00100000) + set_object_flag_bank1(OBJ_REMOTEMINE_COOP, OBJECTFLAG1_INVISIBLE) + set_object_flag_bank0(OBJ_REMOTEMINE_COOP, OBJECTFLAG0_00100000) beginloop(0x04) consider_coop_for_p1p2_chr(CHR_SELF) @@ -586,11 +586,11 @@ u8 func1024_give_objects[] = { endloop(0x04) label(0x06) - give_object_to_chr(OBJ_DATAUPLINK_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_REMOTEMINE_JOANNA, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - give_object_to_chr(OBJ_DATAUPLINK_VELVET, CHR_VELVET) - give_object_to_chr(OBJ_REMOTEMINE_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_DATAUPLINK_BOND, CHR_BOND) + give_object_to_chr(OBJ_REMOTEMINE_BOND, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP) + give_object_to_chr(OBJ_REMOTEMINE_COOP, CHR_COOP) label(0x2d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -663,7 +663,7 @@ u8 func1005_check_neutrals_killed[] = { endloop(0x04) label(0x2d) - message(CHR_JOANNA, 0x3614) // "Too many neutral casualties inflicted." + message(CHR_BOND, 0x3614) // "Too many neutral casualties inflicted." set_stage_flag(STAGEFLAG_KILLED_NEUTRALS) label(0x06) @@ -825,8 +825,8 @@ u8 func1006_hijack[] = { unlock_door(OBJ_COCKPITDOOR, 0x40) rebuild_teams rebuild_squadrons - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) - unset_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) + unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -847,12 +847,12 @@ u8 func0403_stripes[] = { // Got target label(0x06) if_chr_lost_track_of_target_maybe(/*goto*/ 0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2d) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2d) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2d) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2d) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2d) set_return_function(CHR_SELF, FUNC_STRIPES) set_onshot_function(FUNC_STRIPES) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x06) unset_self_flag_bankx(CHRFLAG1_00001000, BANK_1) @@ -938,7 +938,7 @@ u8 unregistered_function1[] = { \ /* Commshub damaged */ \ label(0x06) \ - message(CHR_JOANNA, 0x3615) /* "UFO attachment damaged." */ \ + message(CHR_BOND, 0x3615) /* "UFO attachment damaged." */ \ set_stage_flag(STAGEFLAG_UFO_ATTACHMENT_DAMAGED) \ unset_stage_flag(STAGEFLAG_BOTH_MINES_WASTED) \ set_function(CHR_SELF, GFUNC_IDLE) \ @@ -950,26 +950,26 @@ u8 unregistered_function1[] = { set_function(CHR_SELF, GFUNC_IDLE) \ \ label(0x2d) \ - message(CHR_JOANNA, 0x3645) /* "Timed mine has been wasted." */ \ + message(CHR_BOND, 0x3645) /* "Timed mine has been wasted." */ \ set_stage_flag(STAGEFLAG_BOTH_MINES_WASTED) \ set_function(CHR_SELF, GFUNC_IDLE) -u8 func1008_check_mine_wasted_joanna[] = { - check_mine_wasted(CHR_JOANNA, TARGET_CHR, STAGEFLAG_JOANNA_MINE_WASTED, STAGEFLAG_VELVET_MINE_WASTED) +u8 func1008_check_mine_wasted_bond[] = { + check_mine_wasted(CHR_BOND, CHR_TARGET, STAGEFLAG_BOND_MINE_WASTED, STAGEFLAG_COOP_MINE_WASTED) endfunction }; -u8 func1021_check_mine_wasted_velvet[] = { - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) +u8 func1021_check_mine_wasted_coop[] = { + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - set_stage_flag(STAGEFLAG_VELVET_MINE_WASTED) + set_stage_flag(STAGEFLAG_COOP_MINE_WASTED) set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - check_mine_wasted(CHR_VELVET, CHR_VELVET, STAGEFLAG_VELVET_MINE_WASTED, STAGEFLAG_JOANNA_MINE_WASTED) + check_mine_wasted(CHR_COOP, CHR_COOP, STAGEFLAG_COOP_MINE_WASTED, STAGEFLAG_BOND_MINE_WASTED) endfunction }; @@ -1080,15 +1080,15 @@ u8 func1009_check_end_level[] = { label(0x08) yield label(0x06) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) // Both players dead @@ -1097,15 +1097,15 @@ u8 func1009_check_end_level[] = { // Redundant check label(0x06) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) @@ -1114,7 +1114,7 @@ u8 func1009_check_end_level[] = { // Mission complete label(0x06) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) endfunction }; @@ -1198,7 +1198,7 @@ u8 func0405_president_in_room[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer label(0x08) try_face_entity(0x0200, 0x0000, /*goto*/ 0x09) @@ -1215,13 +1215,13 @@ u8 func0405_president_in_room[] = { label(0x06) do_special_animation(0) - speak(TARGET_CHR, 0x3623, 0x12c5, CHANNEL_6, COLOR_08_RED) // "Who are you, young lady?" + speak(CHR_TARGET, 0x3623, 0x12c5, CHANNEL_6, COLOR_08_RED) // "Who are you, young lady?" restart_timer beginloop(0x60) - if_chr_in_room(TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0055, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0056, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0057, /*goto*/ 0x2d) if_chr_sees_player(/*goto*/ 0x2d) goto_next(0x86) @@ -1234,7 +1234,7 @@ u8 func0405_president_in_room[] = { endloop(0x60) label(0x06) - speak(TARGET_CHR, 0x3625, 0x72bc, CHANNEL_7, COLOR_09_BLUE) // "Mr. President, you're in danger. Trent is trying t..." + speak(CHR_TARGET, 0x3625, 0x72bc, CHANNEL_7, COLOR_09_BLUE) // "Mr. President, you're in danger. Trent is trying t..." restart_timer stop_chr try_face_entity(0x0200, 0x0000, /*goto*/ 0x78) @@ -1242,9 +1242,9 @@ u8 func0405_president_in_room[] = { // In this loop the president will continue to turn to face the player // because it lacks an if_jo_ccw_direction_lt check. beginloop(0x78) - if_chr_in_room(TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0055, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0056, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0057, /*goto*/ 0x2d) if_chr_sees_player(/*goto*/ 0x2d) goto_next(0x86) @@ -1258,13 +1258,13 @@ u8 func0405_president_in_room[] = { label(0x06) do_special_animation(1) - speak(TARGET_CHR, 0x3628, 0x12c6, CHANNEL_6, COLOR_08_RED) // "You can't make accusations like that without evide..." + speak(CHR_TARGET, 0x3628, 0x12c6, CHANNEL_6, COLOR_08_RED) // "You can't make accusations like that without evide..." restart_timer beginloop(0x79) - if_chr_in_room(TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0055, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0056, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0057, /*goto*/ 0x2d) if_chr_sees_player(/*goto*/ 0x2d) goto_next(0x86) @@ -1278,14 +1278,14 @@ u8 func0405_president_in_room[] = { endloop(0x79) label(0x84) - if_chr_has_object(TARGET_CHR, OBJ_EQUIPMENT, /*goto*/ 0x10) - if_chr_has_object(TARGET_CHR, OBJ_EQUIPMENT_VELVET, /*goto*/ 0x10) + if_chr_has_object(CHR_TARGET, OBJ_EQUIPMENT, /*goto*/ 0x10) + if_chr_has_object(CHR_TARGET, OBJ_EQUIPMENT_COOP, /*goto*/ 0x10) // No equipment label(0x85) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) - set_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISE_UNCOVERED) - speak(TARGET_CHR, 0x3624, 0x12c4, CHANNEL_6, COLOR_08_RED) // "Security, SECURITY!!" + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED) + speak(CHR_TARGET, 0x3624, 0x12c4, CHANNEL_6, COLOR_08_RED) // "Security, SECURITY!!" restart_timer animation(0x0231, 0, 193, 0x1810, CHR_SELF, 2) @@ -1328,16 +1328,16 @@ u8 func0405_president_in_room[] = { // Has equipment label(0x10) stop_chr - speak(TARGET_CHR, 0x3629, 0x72bd, CHANNEL_6, COLOR_09_BLUE) // "This is a recording of a meeting between Trent and..." + speak(CHR_TARGET, 0x3629, 0x72bd, CHANNEL_6, COLOR_09_BLUE) // "This is a recording of a meeting between Trent and..." restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x0b) // This loop uses an if_sound_finished check rather than a timer check, // which allows the speech to be skipped. beginloop(0x0b) - if_chr_in_room(TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0055, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0056, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0057, /*goto*/ 0x2d) if_chr_sees_player(/*goto*/ 0x2d) goto_next(0x86) @@ -1349,13 +1349,13 @@ u8 func0405_president_in_room[] = { label(0x06) do_special_animation(2) - speak(TARGET_CHR, 0x362a, 0x12c7, CHANNEL_6, COLOR_08_RED) // "Seems overwhelming... I'm in your hands. What do w..." + speak(CHR_TARGET, 0x362a, 0x12c7, CHANNEL_6, COLOR_08_RED) // "Seems overwhelming... I'm in your hands. What do w..." restart_timer beginloop(0x7a) - if_chr_in_room(TARGET_CHR, 0x00, 0x0055, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0056, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0057, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0055, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0056, /*goto*/ 0x2d) + if_chr_in_room(CHR_TARGET, 0x00, 0x0057, /*goto*/ 0x2d) if_chr_sees_player(/*goto*/ 0x2d) goto_next(0x86) @@ -1392,7 +1392,7 @@ u8 func0405_president_in_room[] = { label(0x06) do_special_animation(-1) - speak(TARGET_CHR, 0x3626, 0x816e, CHANNEL_6, COLOR_08_RED) // "What the hell was that!" + speak(CHR_TARGET, 0x3626, 0x816e, CHANNEL_6, COLOR_08_RED) // "What the hell was that!" restart_timer beginloop(0x0c) @@ -1402,7 +1402,7 @@ u8 func0405_president_in_room[] = { label(0x06) stop_chr set_stage_flag(STAGEFLAG_PRESIDENT_STARTED_RUNNING) - speak(TARGET_CHR, 0x3627, 0x72be, CHANNEL_6, COLOR_09_BLUE) // "We have to get you to the escape pod. Follow me." + speak(CHR_TARGET, 0x3627, 0x72be, CHANNEL_6, COLOR_09_BLUE) // "We have to get you to the escape pod. Follow me." restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x0e) @@ -1411,7 +1411,7 @@ u8 func0405_president_in_room[] = { endloop(0x0e) label(0x06) - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) set_chr_health(CHR_SELF, 500) set_onshot_function(FUNC_PRESIDENT_RUNNING) set_function(CHR_SELF, FUNC_PRESIDENT_RUNNING) @@ -1425,7 +1425,7 @@ u8 func0405_president_in_room[] = { u8 func0404_president_running[] = { set_self_flag_bank3(CHRFLAG3_01000000) set_onshot_function(FUNC_PRESIDENT_RUNNING) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x06) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06) if_chr_unloaded(CHR_SELF, /*goto*/ 0x06) @@ -1459,7 +1459,7 @@ u8 func0404_president_running[] = { play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01) if_stage_flag_eq(STAGEFLAG_PRESIDENT_INJURED, TRUE, /*goto*/ 0x56) set_stage_flag(STAGEFLAG_PRESIDENT_INJURED) - message(CHR_JOANNA, 0x3648) // "The President is under attack." + message(CHR_BOND, 0x3648) // "The President is under attack." beginloop(0x56) if_num_times_shot_lt(1, /*goto*/ 0x06) @@ -1482,14 +1482,14 @@ u8 func0404_president_running[] = { // Both blondes dead // This room is the entrace to Trent's room - if_chr_in_room(TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10) + if_chr_in_room(CHR_TARGET, 0x00, 0x000d, /*goto*/ 0x10) // At least one Blonde is alive, or follow through // These rooms are the escape pod area label(0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11) + 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_chr_sees_player(/*goto*/ 0x06) goto_next(0x58) @@ -1503,16 +1503,16 @@ u8 func0404_president_running[] = { label(0x2d) call_rng if_rand_lt(64, /*goto*/ 0x2d) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x55) label(0x2d) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x55) // Unreachable label(0x06) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x55) // Distance to player > 200 or line of sight broken, so start following @@ -1529,25 +1529,25 @@ u8 func0404_president_running[] = { // Both blondes dead // This room is the entrace to Trent's room - if_chr_in_room(TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10) + if_chr_in_room(CHR_TARGET, 0x00, 0x000d, /*goto*/ 0x10) // At least one Blonde is alive, or follow through // These rooms are the escape pod area label(0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11) + 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) if_chr_distance_lt(100, /*goto*/ 0x5b) if_chr_stopped(/*goto*/ 0x5b) if_timer_gt(360, /*goto*/ 0x2d) endloop(0x59) label(0x2d) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x58) label(0x06) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) + say_quip(CHR_BOND, 0x21, 0xff, 0x02, 0xff, BANK_1, 0x00, 0x00) goto_first(0x58) // Stopped because president is close to player's sampled position @@ -1560,11 +1560,11 @@ u8 func0404_president_running[] = { beginloop(0x5d) if_stage_flag_eq(STAGEFLAG_BOTH_BLONDES_DEAD, FALSE, /*goto*/ 0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x000d, /*goto*/ 0x10) + if_chr_in_room(CHR_TARGET, 0x00, 0x000d, /*goto*/ 0x10) label(0x2d) - if_chr_in_room(TARGET_CHR, 0x00, 0x0030, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0031, /*goto*/ 0x11) - if_chr_in_room(TARGET_CHR, 0x00, 0x0032, /*goto*/ 0x11) + 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) endloop(0x5d) label(0x5e) @@ -1629,7 +1629,7 @@ u8 func100b_check_president_dead[] = { label(0x06) set_stage_flag(STAGEFLAG_PRESIDENT_DEAD) - message(CHR_JOANNA, 0x361a) // "The President has been incapacitated." + message(CHR_BOND, 0x361a) // "The President has been incapacitated." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -1643,12 +1643,12 @@ u8 func0409_unused[] = { label(0x06) if_chr_lost_track_of_target_maybe(/*goto*/ 0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2d) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2d) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2d) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2d) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2d) set_return_function(CHR_SELF, 0x0409) set_onshot_function(0x0409) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x2d) endloop(0x04) @@ -1686,12 +1686,12 @@ u8 func100c_cockpit_stripes[] = { label(0x06) if_chr_lost_track_of_target_maybe(/*goto*/ 0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2d) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2d) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2d) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2d) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2d) set_return_function(CHR_SELF, FUNC_COCKPIT_STRIPES) - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x2d) endloop(0x04) @@ -1762,15 +1762,15 @@ u8 func0413_taker[] = { endloop(0x0c) label(0x06) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x11) - if_chr_dying(TARGET_CHR, /*goto*/ 0x11) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x11) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x11) + if_chr_dying(CHR_TARGET, /*goto*/ 0x11) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x11) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x06) label(0x06) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x08) label(0x08) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer beginloop(0x09) @@ -1784,14 +1784,14 @@ u8 func0413_taker[] = { goto_next(0x11) label(0x2d) - damage_chr(TARGET_CHR, 18) + damage_chr(CHR_TARGET, 18) beginloop(0x0b) if_chr_stopped(/*goto*/ 0x06) endloop(0x0b) label(0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x06) + if_chr_dying(CHR_TARGET, /*goto*/ 0x06) goto_first(0x0a) label(0x11) @@ -1861,7 +1861,7 @@ u8 func100c_cockpit[] = { damage_chr(CHR_PILOT2, 18) yield set_stage_flag(STAGEFLAG_PILOTS_DEAD) - message(CHR_JOANNA, 0x361b) // "Pilots have been killed." + message(CHR_BOND, 0x361b) // "Pilots have been killed." goto_next(0x06) // Both takers dead @@ -1895,7 +1895,7 @@ u8 func100c_cockpit[] = { label(0x0b) if_stage_flag_eq(STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11) - message(CHR_JOANNA, 0x361d) // "Air Force One is about to crash." + message(CHR_BOND, 0x361d) // "Air Force One is about to crash." // Wait until the 50 second mark beginloop(0x0c) @@ -1907,7 +1907,7 @@ u8 func100c_cockpit[] = { // Crash label(0x0e) set_stage_flag(STAGEFLAG_PLANE_CRASHED) - explosions_around_chr(CHR_JOANNA) + explosions_around_chr(CHR_BOND) restart_timer beginloop(0x65) @@ -1923,7 +1923,7 @@ u8 func100c_cockpit[] = { label(0x2d) set_object_image(0x03, 0x00, 0x13) set_stage_flag(STAGEFLAG_PLANE_STABILIZED) - message(CHR_JOANNA, 0x361c) // "Pilots have been saved." + message(CHR_BOND, 0x361c) // "Pilots have been saved." reset_ambience set_function(CHR_SELF, GFUNC_IDLE) @@ -2009,8 +2009,8 @@ u8 func0428_start_path02[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_AIRFORCEONE_INTRO) camera_movement(0x018c) set_chr_flag_bank3(0x30, CHRFLAG3_UNPLAYABLE) @@ -2030,9 +2030,9 @@ u8 func1002_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -2046,14 +2046,14 @@ u8 func1002_intro[] = { wait_until(140, 0x94) wait_until(180, 0x60) - speak(CHR_JOANNA, 0x3649, 0x744c, CHANNEL_7, COLOR_05_GREEN) // "Have you thought any more about that proposal I ga..." + speak(CHR_BOND, 0x3649, 0x744c, CHANNEL_7, COLOR_05_GREEN) // "Have you thought any more about that proposal I ga..." wait_until(330, 0x95) wait_until(360, 0x96) wait_until(438, 0x77) - speak(CHR_JOANNA, 0x364a, 0x744d, CHANNEL_7, COLOR_08_RED) // "My answer remains the same... I'm sorry Trent, but..." + speak(CHR_BOND, 0x364a, 0x744d, CHANNEL_7, COLOR_08_RED) // "My answer remains the same... I'm sorry Trent, but..." wait_until(486, 0x97) @@ -2062,13 +2062,13 @@ u8 func1002_intro[] = { wait_until(850, 0x99) wait_until(1020, 0x78) - speak(CHR_JOANNA, 0x364b, 0x744e, CHANNEL_7, COLOR_05_GREEN) // "But this is a golden opportunity to show that Amer..." + speak(CHR_BOND, 0x364b, 0x744e, CHANNEL_7, COLOR_05_GREEN) // "But this is a golden opportunity to show that Amer..." wait_until(1402, 0x79) - speak(CHR_JOANNA, 0x364c, 0x81bb, CHANNEL_7, COLOR_08_RED) // "Damn it, man! I say no and I mean no! I'm not gonn..." + speak(CHR_BOND, 0x364c, 0x81bb, CHANNEL_7, COLOR_08_RED) // "Damn it, man! I say no and I mean no! I'm not gonn..." wait_until(2348, 0x7a) - speak(CHR_JOANNA, 0x364d, 0x7450, CHANNEL_7, COLOR_05_GREEN) // "As you wish, sir." + speak(CHR_BOND, 0x364d, 0x7450, CHANNEL_7, COLOR_05_GREEN) // "As you wish, sir." wait_until(2406, 0x9a) @@ -2084,7 +2084,7 @@ u8 func1002_intro[] = { wait_until(2616, 0x9e) wait_until(2654, 0x7b) - speak(CHR_JOANNA, 0x364e, 0x7451, CHANNEL_7, COLOR_05_GREEN) // "My last chance? Ha! You fool. That was yours." + speak(CHR_BOND, 0x364e, 0x7451, CHANNEL_7, COLOR_05_GREEN) // "My last chance? Ha! You fool. That was yours." close_door(0x15) play_sound(0x8008, CHANNEL_10) @@ -2113,22 +2113,22 @@ u8 func1002_intro[] = { label(0x7d) mute_channel(CHANNEL_10) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - set_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED) label(0x2d) if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06) goto_next(0x7e) label(0x06) camera_movement(0x01d0) cmd0175(60) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - chr_move_to_pad(CHR_VELVET, 0x008a, 0x01, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + chr_move_to_pad(CHR_COOP, 0x008a, 0x01, /*goto*/ 0x2d) label(0x2d) if_controller_button_pressed(/*goto*/ 0x5f) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01d1, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01d1, -1, -1, 0x0600, CHR_BOND, 4) beginloop(0x09) if_camera_animating(/*goto*/ 0x2d) @@ -2139,20 +2139,20 @@ u8 func1002_intro[] = { endloop(0x09) label(0x7e) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISED) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - set_chr_flag_bank2(CHR_VELVET, CHRFLAG2_DISGUISED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED) label(0x2d) dprint 'D','I','S','G','U','I','S','E','D','\n',0, camera_movement(0x01d2) cmd0175(60) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - chr_move_to_pad(CHR_VELVET, 0x00b2, 0x01, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + chr_move_to_pad(CHR_COOP, 0x00b2, 0x01, /*goto*/ 0x2d) label(0x2d) if_controller_button_pressed(/*goto*/ 0x5f) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x01d3, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x01d3, -1, -1, 0x0600, CHR_BOND, 4) beginloop(0x0a) if_camera_animating(/*goto*/ 0x2d) @@ -2164,16 +2164,16 @@ u8 func1002_intro[] = { label(0x5f) mute_channel(CHANNEL_7) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) - animation(0x01d3, -2, -1, 0x0600, CHR_JOANNA, 2) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) + animation(0x01d3, -2, -1, 0x0600, CHR_BOND, 2) goto_next(0x2d) label(0x06) - animation(0x01d1, -2, -1, 0x0600, CHR_JOANNA, 2) + animation(0x01d1, -2, -1, 0x0600, CHR_BOND, 2) label(0x2d) restart_default_music reset_ambience @@ -2364,7 +2364,7 @@ u8 func040a_defend_pad[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_DEFEND_PAD) set_onshot_function(FUNC_DEFEND_PAD) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2411,7 +2411,7 @@ u8 func040b_defend_president[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_DEFEND_PRESIDENT) set_onshot_function(FUNC_DEFEND_PRESIDENT) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2687,7 +2687,7 @@ u8 func041c_init_clone3[] = { }; u8 func041d_clone3[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr(/*goto*/ 0x04) label(0x04) yield @@ -2732,7 +2732,7 @@ u8 func041e_blonde[] = { endloop(0x54) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -2754,7 +2754,7 @@ u8 func041e_blonde[] = { beginloop(0x75) label(0x2d) consider_coop_for_p1p2_chr(CHR_P1P2) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_target_chr_in_sight(/*goto*/ 0x6a) if_near_miss(/*goto*/ 0x6b) label(0x2d) @@ -2768,7 +2768,7 @@ u8 func041e_blonde[] = { label(0x6a) if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2d) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x6c) @@ -2833,7 +2833,7 @@ u8 func041e_blonde[] = { goto_first(0x6a) label(0x6c) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) label(0x06) goto_first(0x6d) @@ -2844,7 +2844,7 @@ u8 func041e_blonde[] = { label(0x76) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x74) label(0x74) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2d) label(0x06) @@ -2872,7 +2872,7 @@ u8 func0421_trent_waiting[] = { label(0x06) restart_timer - speak(TARGET_CHR, 0x362d, 0x816f, CHANNEL_6, COLOR_05_GREEN) // "How the hell did you get on board?" + speak(CHR_TARGET, 0x362d, 0x816f, CHANNEL_6, COLOR_05_GREEN) // "How the hell did you get on board?" animation(ANIM_TALKING_0231, 0, -1, 0x1010, CHR_SELF, 2) beginloop(0x08) @@ -2909,7 +2909,7 @@ u8 func0420_trent_attacking[] = { label(0x76) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x74) label(0x74) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x08) goto_next(0x2d) @@ -2918,9 +2918,9 @@ u8 func0420_trent_attacking[] = { endloop(0x08) label(0x06) - if_chr_dying(TARGET_CHR, /*goto*/ 0x09) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x09) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x09) + if_chr_dying(CHR_TARGET, /*goto*/ 0x09) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x09) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x09) goto_first(0x03) label(0x2d) @@ -2948,9 +2948,9 @@ u8 func0422_trent_running[] = { endloop(0x08) label(0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x06) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x06) set_self_flag_bank3(CHRFLAG3_HIDDEN) remove_chr(CHR_SELF) @@ -3029,7 +3029,7 @@ u8 func1013_unhide_trent_and_blondes[] = { */ u8 func0429_be_unalert[] = { set_onshot_function(GFUNC_ALERTED) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_alertness(0) label(0x03) @@ -3063,7 +3063,7 @@ u8 func1014_uncover_disguise[] = { endloop(0x04) label(0x06) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3239,7 +3239,7 @@ u8 func0407_steward[] = { label(0x06) set_squadron_alertness(100) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) do_special_animation(-1) restart_timer speak(CHR_P1P2, 0x362b, 0x1abb, CHANNEL_4, COLOR_04_ORANGE) // "Hey, that's not..." @@ -3294,7 +3294,7 @@ u8 func0407_stewardess[] = { endloop(0x09) label(0x06) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_DISGUISE_UNCOVERED) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED) animation(ANIM_WALK_BACKWARDS, -1, -1, 0x1010, CHR_SELF, 2) restart_timer @@ -3307,10 +3307,10 @@ u8 func0407_stewardess[] = { goto_next(0x0a) label(0x2d) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x7f) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x7f) beginloop(0x7f) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x80) + if_detected_chr(CHR_PRESET, /*goto*/ 0x80) if_chr_stopped(/*goto*/ 0x80) endloop(0x7f) @@ -3347,7 +3347,7 @@ u8 func1015_msg_retrievetheevidence[] = { endloop(0x08) label(0x2d) - speak(CHR_JOANNA, 0x362e, 0x73c8, CHANNEL_6, COLOR_09_BLUE) // "Now, let's retrieve the evidence." + speak(CHR_BOND, 0x362e, 0x73c8, CHANNEL_6, COLOR_09_BLUE) // "Now, let's retrieve the evidence." label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3365,8 +3365,8 @@ u8 func1016_msg_onthislevel[] = { endloop(0x04) label(0x2d) - set_target_chr(FOLLOW_CHR) - speak(TARGET_CHR, 0x362f, 0x8185, CHANNEL_6, COLOR_09_BLUE) // "The President's room is on this level, Joanna." + set_target_chr(CHR_PRESET) + speak(CHR_TARGET, 0x362f, 0x8185, CHANNEL_6, COLOR_09_BLUE) // "The President's room is on this level, Joanna." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3390,7 +3390,7 @@ u8 func1017_msg_gettothecockpit[] = { endloop(0x08) label(0x2d) - speak(CHR_JOANNA, 0x3630, 0x8186, CHANNEL_5, COLOR_09_BLUE) // "Something's wrong... You have to get to the cockpi..." + speak(CHR_BOND, 0x3630, 0x8186, CHANNEL_5, COLOR_09_BLUE) // "Something's wrong... You have to get to the cockpi..." label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) @@ -3424,24 +3424,24 @@ u8 func0c02_outro_from_menu[] = { u8 func0423_outro[] = { set_lighting(0x0000, 0x0d, 0x00) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - set_target_chr(CHR_JOANNA) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + set_target_chr(CHR_BOND) goto_next(0x06) label(0x2d) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) label(0x06) camera_movement(0x02d8) set_music_track(MUSIC_AIRFORCEONE_OUTRO) set_lighting(0x0000, 0x0d, 0x00) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) - set_function(TARGET_CHR, GFUNC_IDLE) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x02da, -1, -1, 0x0600, TARGET_CHR, 4) - set_chr_hud_visible(TARGET_CHR, TRUE) + set_function(CHR_TARGET, GFUNC_IDLE) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x02da, -1, -1, 0x0600, CHR_TARGET, 4) + set_chr_hud_visible(CHR_TARGET, TRUE) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) @@ -3463,9 +3463,9 @@ u8 func0423_outro[] = { set_object_flag_bank2(0x37, OBJECTFLAG2_00000010) object_do_animation(0x02de, 0x37, 0x04ff, 0xff) restart_timer - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) show_nonessential_chrs(FALSE) label(0x60) yield @@ -3474,7 +3474,7 @@ u8 func0423_outro[] = { goto_first(0x60) label(0x06) - speak(CHR_JOANNA, 0x364f, 0x7452, CHANNEL_7, COLOR_09_BLUE) // "Elvis! Elvis! I can't detach that tube from the fu..." + speak(CHR_BOND, 0x364f, 0x7452, CHANNEL_7, COLOR_09_BLUE) // "Elvis! Elvis! I can't detach that tube from the fu..." #define outro_wait_until(time, loopid) \ beginloop(loopid) \ @@ -3486,20 +3486,20 @@ u8 func0423_outro[] = { outro_wait_until(426, 0x77) - speak(CHR_JOANNA, 0x3650, 0x7453, CHANNEL_7, COLOR_06_WHITE) // "Piece of cake, Joanna. Watch this!" + speak(CHR_BOND, 0x3650, 0x7453, CHANNEL_7, COLOR_06_WHITE) // "Piece of cake, Joanna. Watch this!" outro_wait_until(1045, 0x65) play_sound(0x0063, CHANNEL_10) outro_wait_until(1050, 0x78) - speak(CHR_JOANNA, 0x3651, 0x7454, CHANNEL_7, COLOR_06_WHITE) // "Uh-oh." + speak(CHR_BOND, 0x3651, 0x7454, CHANNEL_7, COLOR_06_WHITE) // "Uh-oh." emit_sparks(0x23) outro_wait_until(1112, 0x79) - speak(CHR_JOANNA, 0x3652, 0x7455, CHANNEL_7, COLOR_09_BLUE) // "Watch what? Will you stop playing around and shoot..." + speak(CHR_BOND, 0x3652, 0x7455, CHANNEL_7, COLOR_09_BLUE) // "Watch what? Will you stop playing around and shoot..." outro_wait_until(1380, 0x7a) - speak(CHR_JOANNA, 0x3653, 0x7456, CHANNEL_7, COLOR_06_WHITE) // "Out of options... Joanna, brace yourself for impac..." + speak(CHR_BOND, 0x3653, 0x7456, CHANNEL_7, COLOR_06_WHITE) // "Out of options... Joanna, brace yourself for impac..." outro_wait_until(1950, 0x7b) @@ -3547,7 +3547,7 @@ u8 func0423_outro[] = { set_lighting(0x0000, 0x0d, 0x00) hide_object(0x19) hide_object(0x1a) - set_chr_hud_visible(TARGET_CHR, FALSE) + set_chr_hud_visible(CHR_TARGET, FALSE) end_level set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3559,8 +3559,8 @@ u8 func1019_midcutscene[] = { endloop(0x08) label(0x2d) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_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, @@ -3600,8 +3600,8 @@ u8 func1019_midcutscene[] = { set_stage_flag(STAGEFLAG_MIDCUTSCENE_FINISHED) restart_default_music reset_ambience - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_function(CHR_SELF, GFUNC_END_CINEMA) endfunction }; @@ -3738,7 +3738,7 @@ u8 func101c_check_equipment_switch_destroyed[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_EQUIPMENT_RAISED, TRUE, /*goto*/ 0x2d) set_stage_flag(STAGEFLAG_EQUIPMENT_SWITCH_DESTROYED) - message(CHR_JOANNA, 0x363e) // "Mission critical object has been destroyed." + message(CHR_BOND, 0x363e) // "Mission critical object has been destroyed." label(0x2d) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -3785,9 +3785,9 @@ u8 func042c_remove_if_offscreen[] = { label(0x04) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x06) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x06) label(0x08) chr_drop_weapon(CHR_SELF) @@ -3833,7 +3833,7 @@ u8 func101d_handle_early_president_death[] = { u8 func1007_check_pod_destroyed[] = { beginloop(0x04) if_object_in_good_condition(OBJ_ESCAPE_POD, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x363e) // "Mission critical object has been destroyed." + message(CHR_BOND, 0x363e) // "Mission critical object has been destroyed." set_stage_flag(STAGEFLAG_POD_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) @@ -3908,7 +3908,7 @@ u8 func1022_pilots_stabilizing[] = { endloop(0x93) label(0x06) - message(CHR_JOANNA, 0x3654) // "The pilots have stabilized Air Force One." + message(CHR_BOND, 0x3654) // "The pilots have stabilized Air Force One." set_stage_flag(STAGEFLAG_PLANE_STABILIZED) label(0x0e) @@ -3963,7 +3963,7 @@ u8 func1025_disable_buddy_warp[] = { yield yield yield - unset_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP) + unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -4001,7 +4001,7 @@ struct ailists functions[] = { { func1005_check_neutrals_killed, 0x1005 }, { func1006_hijack, 0x1006 }, { func1007_check_pod_destroyed, 0x1007 }, - { func1008_check_mine_wasted_joanna, 0x1008 }, + { func1008_check_mine_wasted_bond, 0x1008 }, { func1009_check_end_level, 0x1009 }, { func100a_autopilot_switch, 0x100a }, { func100b_check_president_dead, 0x100b }, @@ -4023,7 +4023,7 @@ struct ailists functions[] = { { func101e_blow_mines, 0x101e }, { func101f_setup_rtracker, 0x101f }, { func1420_setup_lighting, 0x1420 }, - { func1021_check_mine_wasted_velvet, 0x1021 }, + { func1021_check_mine_wasted_coop, 0x1021 }, { func1022_pilots_stabilizing, 0x1022 }, { func1023_check_pilots_dead, 0x1023 }, { func1024_give_objects, 0x1024 }, diff --git a/src/files/setup/setupsev.c b/src/files/setup/setupsev.c index a9ddd7719..0484b5284 100644 --- a/src/files/setup/setupsev.c +++ b/src/files/setup/setupsev.c @@ -865,11 +865,11 @@ struct aipaths paths[] = { u8 func1000_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) // These objects don't exist...? - give_object_to_chr(0x05, CHR_JOANNA) - give_object_to_chr(0x3a, CHR_VELVET) + give_object_to_chr(0x05, CHR_BOND) + give_object_to_chr(0x3a, CHR_COOP) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction @@ -1131,7 +1131,7 @@ u8 func100d_start_lifts[] = { u8 func1003_check_experiment_destroyed[] = { beginloop(0x04) if_object_in_good_condition(OBJ_EXPERIMENT, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x3c07) // "Medical experiment has been sabotaged." + message(CHR_BOND, 0x3c07) // "Medical experiment has been sabotaged." set_stage_flag(STAGEFLAG_EXPERIMENT_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -1143,7 +1143,7 @@ u8 func1003_check_experiment_destroyed[] = { u8 func1004_check_saucer_destroyed[] = { beginloop(0x04) if_object_in_good_condition(0x3e, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x3c08) // "Captured Maian saucer has been destroyed." + message(CHR_BOND, 0x3c08) // "Captured Maian saucer has been destroyed." set_stage_flag(STAGEFLAG_SAUCER_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) label(0x2c) @@ -1256,7 +1256,7 @@ u8 func0410_clone_spawner2[] = { // Wait until player is in room 0x005e beginloop(0x0d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x005e, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x005e, /*goto*/ 0x2c) endloop(0x0d) beginloop(0x04) @@ -1327,13 +1327,13 @@ u8 func1008_check_console[] = { label(0x2c) assign_sound(0x8111, CHANNEL_0) play_sound_from_object(CHANNEL_0, OBJ_CONSOLE, 0x012c, 0x0190) - message(CHR_JOANNA, 0x3c09) // "Distress signal has been sent." + message(CHR_BOND, 0x3c09) // "Distress signal has been sent." set_stage_flag(STAGEFLAG_CONSOLE_ACTIVATED) set_function(CHR_SELF, GFUNC_IDLE) // Console destroyed label(0x08) - message(CHR_JOANNA, 0x3c0a) // "Critical mission object has been destroyed." + message(CHR_BOND, 0x3c0a) // "Critical mission object has been destroyed." set_stage_flag(STAGEFLAG_CONSOLE_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1354,17 +1354,17 @@ u8 func1009_check_for_exit[] = { endloop(0x08) label(0x2c) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2c) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_dying(CHR_BOND, /*goto*/ 0x2c) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2c) goto_next(0x06) // Both players dead @@ -1407,10 +1407,10 @@ u8 func100a_vertical_door_sounds[] = { u8 func100b_check_medlab_escapable[] = { // While player is in the starting area beginloop(0x04) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0095, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0096, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0097, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0098, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0095, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0096, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0097, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0098, /*goto*/ 0x2c) reloop(0x04) // If any glass is broken, jump to 0x0d where we'll return @@ -1433,7 +1433,7 @@ u8 func100b_check_medlab_escapable[] = { // Wait until we have pistol ammo (ie. Falcon 2), then wait until we don't. label(0x06) if_stage_flag_eq(STAGEFLAG_GOT_FALCON2, TRUE, /*goto*/ 0x66) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_PISTOL, 1, /*goto*/ 0x67) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_PISTOL, 1, /*goto*/ 0x67) set_stage_flag(STAGEFLAG_GOT_FALCON2) reloop(0x04) @@ -1441,7 +1441,7 @@ u8 func100b_check_medlab_escapable[] = { reloop(0x04) label(0x66) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_PISTOL, 1, /*goto*/ 0x2c) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_PISTOL, 1, /*goto*/ 0x2c) reloop(0x04) // Trolley is destroyed. Wait 3 seconds for explosion to break any glass. @@ -1474,11 +1474,11 @@ u8 func100b_check_medlab_escapable[] = { if_chr_unloaded(CHR_LABTECH2, /*goto*/ 0x65) label(0x06) - if_chr_has_object(CHR_JOANNA, OBJ_PSYCHOSISGUN, /*goto*/ 0x2c) + if_chr_has_object(CHR_BOND, OBJ_PSYCHOSISGUN, /*goto*/ 0x2c) reloop(0x04) label(0x2c) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_PSYCHOSIS, 1, /*goto*/ 0x2c) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_PSYCHOSIS, 1, /*goto*/ 0x2c) reloop(0x04) // Both lab techs dead @@ -1486,7 +1486,7 @@ u8 func100b_check_medlab_escapable[] = { // Player has psychosis gun but ammo depleted label(0x2c) - message(CHR_JOANNA, 0x3c0b) // "Mission failed - cannot escape from medlab." + message(CHR_BOND, 0x3c0b) // "Mission failed - cannot escape from medlab." set_stage_flag(STAGEFLAG_TRAPPED_AT_START) goto_next(0x0e) @@ -1496,16 +1496,16 @@ u8 func100b_check_medlab_escapable[] = { set_function(CHR_SELF, GFUNC_IDLE) beginloop(0x0e) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0095, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0096, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0097, /*goto*/ 0x2c) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0098, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0095, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0096, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0097, /*goto*/ 0x2c) + if_chr_in_room(CHR_BOND, 0x00, 0x0098, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) endloop(0x0e) label(0x06) - message(CHR_JOANNA, 0x3c0c) // "Alternative escape route found." + message(CHR_BOND, 0x3c0c) // "Alternative escape route found." unset_stage_flag(STAGEFLAG_TRAPPED_AT_START) goto_first(0x04) @@ -1513,14 +1513,14 @@ u8 func100b_check_medlab_escapable[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_INTRO) camera_movement(0x0476) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0477, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0477, -1, -1, 0x0600, CHR_BOND, 4) set_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000) set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010) object_do_animation(0x0478, OBJ_TROLLEY, 0x04ff, 0xff) @@ -1559,12 +1559,12 @@ u8 func1002_intro[] = { endloop(0x08) label(0x87) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0477, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0477, -2, -1, 0x0600, CHR_BOND, 2) unset_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000) set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010) object_do_animation(0x0478, OBJ_TROLLEY, 0x04ff, 0xfe) @@ -1576,15 +1576,15 @@ u8 func1002_intro[] = { }; u8 func041b_outro[] = { - set_invincible(CHR_JOANNA) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_invincible(CHR_BOND) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_OUTRO) camera_movement(0x0479) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x047a, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x047a, -1, -1, 0x0600, CHR_BOND, 4) unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE) @@ -1881,14 +1881,14 @@ u8 func1010_unload_part1_chrs[] = { u8 func0414_unload[] = { label(0x2c) yield - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x06) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x06) label(0x2c) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x08) - set_target_chr(CHR_COUNTEROP) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x08) + set_target_chr(CHR_ANTI) if_within_units_of_sight(30, /*goto*/ 0x06) label(0x08) yield diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index 191ddfba1..3566c4bc5 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -5,18 +5,18 @@ #include "stagesetup.h" // Characters -#define CHR_KING1 0x33 -#define CHR_KING_SKEDAR_SPAWNER 0x34 +#define CHR_KING1 0x33 +#define CHR_KING_SKEDAR_SPAWNER 0x34 #define CHR_KING_MINISKEDAR_SPAWNER 0x35 -#define CHR_ELVIS 0x36 -#define CHR_KING2 0x3b +#define CHR_ELVIS 0x36 +#define CHR_KING2 0x3b // Objects #define OBJ_PILLAR1 0x01 #define OBJ_PILLAR2 0x02 #define OBJ_PILLAR3 0x03 #define OBJ_BRIDGE 0x05 -#define OBJ_TARGETAMP_JOANNA 0x08 +#define OBJ_TARGETAMP_BOND 0x08 #define OBJ_ALTAR 0x0b #define OBJ_SPIKE_ML 0x13 #define OBJ_SPIKE_MR 0x14 @@ -33,7 +33,7 @@ #define OBJ_SPIKE_NOSHAD_BL 0x20 #define OBJ_SPIKE_NOSHAD_BR 0x21 #define OBJ_SPIKE_NOSHAD_T 0x22 -#define OBJ_TARGETAMP_VELVET 0x35 +#define OBJ_TARGETAMP_COOP 0x35 #define OBJ_PHOENIX1 0x42 #define OBJ_PHOENIX2 0x43 #define OBJ_REMOTEMINE 0x44 @@ -47,11 +47,11 @@ #define OBJ_BUDDYBARRICADE 0x51 // Stage flags -#define STAGEFLAG_VELVET_THREW_FIRST_BUG 0x00000001 -#define STAGEFLAG_VELVET_THREW_SECOND_BUG 0x00000002 -#define STAGEFLAG_VELVET_THREW_THIRD_BUG 0x00000004 -#define STAGEFLAG_VELVET_BUGS_WASTED 0x00000008 -#define STAGEFLAG_JOANNA_BUGS_WASTED 0x00000010 +#define STAGEFLAG_COOP_THREW_FIRST_BUG 0x00000001 +#define STAGEFLAG_COOP_THREW_SECOND_BUG 0x00000002 +#define STAGEFLAG_COOP_THREW_THIRD_BUG 0x00000004 +#define STAGEFLAG_COOP_BUGS_WASTED 0x00000008 +#define STAGEFLAG_BOND_BUGS_WASTED 0x00000010 #define STAGEFLAG_IN_INTRO 0x00000020 #define STAGEFLAG_IN_OUTRO 0x00000040 #define STAGEFLAG_AI_BUDDY_EXISTS 0x00000080 @@ -64,9 +64,9 @@ #define STAGEFLAG_ARMY_DEFEATED 0x00004000 #define STAGEFLAG_CROSSED_RAVINE_WITHOUT_BRIDGE 0x00008000 #define STAGEFLAG_TRIGGER_BRIDGE 0x00010000 -#define STAGEFLAG_JOANNA_THREW_FIRST_BUG 0x00020000 -#define STAGEFLAG_JOANNA_THREW_SECOND_BUG 0x00040000 -#define STAGEFLAG_JOANNA_THREW_THIRD_BUG 0x00080000 +#define STAGEFLAG_BOND_THREW_FIRST_BUG 0x00020000 +#define STAGEFLAG_BOND_THREW_SECOND_BUG 0x00040000 +#define STAGEFLAG_BOND_THREW_THIRD_BUG 0x00080000 #define STAGEFLAG_GRENADES_WASTED 0x00100000 #define STAGEFLAG_ACCESSED_SANCTUM 0x00200000 #define STAGEFLAG_KING_SKEDAR_CLONE_EXISTS 0x00800000 @@ -535,9 +535,9 @@ u8 func0402_unarmed_skedar[] = { if_self_flag_bankx_eq(CHRFLAG0_AIVSAI, FALSE, BANK_0, /*goto*/ 0x2e) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x2d) label(0x2e) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2d) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2d) if_self_flag_bankx_eq(CHRFLAG0_00000004, FALSE, BANK_0, /*goto*/ 0x2e) if_just_injured(CHR_SELF, /*goto*/ 0x2d) @@ -545,7 +545,7 @@ u8 func0402_unarmed_skedar[] = { label(0x2e) call_rng if_rand_gt(1, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) label(0x06) endloop(0x03) @@ -559,7 +559,7 @@ u8 func0402_unarmed_skedar[] = { if_enemy_distance_lt_and_los(2540, /*goto*/ 0x2e) label(0x2e) set_chr_cloaked(CHR_SELF, FALSE, TRUE) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) if_chr_distance_lt(150, /*goto*/ 0x2f) label(0x54) if_num_times_shot_lt(1, /*goto*/ 0x2d) @@ -569,7 +569,7 @@ u8 func0402_unarmed_skedar[] = { label(0x2d) restart_timer set_action(ACTION_WAIT, TRUE) - say_quip(CHR_JOANNA, 0x03, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x03, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) try_walk_to_target_chr(/*goto*/ 0x08) beginloop(0x08) @@ -584,19 +584,19 @@ u8 func0402_unarmed_skedar[] = { goto_next(0x2d) label(0x06) - say_quip(CHR_JOANNA, 0x01, 0x20, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0x20, 0x00, 0xff, BANK_0, 0x00, 0x00) label(0x2d) restart_timer set_action(ACTION_FOLLOW, TRUE) try_run_to_target_chr(/*goto*/ 0x0b) beginloop(0x0b) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ 0x10) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10) if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA) if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_distance_to_home_gt_50_maybe(/*goto*/ 0x2d) if_chr_distance_lt(150, /*goto*/ 0x2f) label(0x2d) @@ -617,12 +617,12 @@ u8 func0402_unarmed_skedar[] = { try_face_entity(0x0200, 0x0001, /*goto*/ 0x0c) beginloop(0x0c) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ 0x10) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10) if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA) if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_jo_ccw_direction_lt(10, /*goto*/ 0x06) if_jo_ccw_direction_gt(246, /*goto*/ 0x06) if_timer_gt(60, /*goto*/ 0x06) @@ -637,20 +637,20 @@ u8 func0402_unarmed_skedar[] = { label(0x31) beginloop(0x30) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ 0x10) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10) if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA) if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) if_chr_stopped(/*goto*/ 0x06) endloop(0x30) // Finished attack label(0x06) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x10) - if_chr_dying(TARGET_CHR, /*goto*/ 0x10) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x10) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10) + if_chr_dying(CHR_TARGET, /*goto*/ 0x10) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x10) goto_first(0xd9) // Killed target @@ -703,9 +703,9 @@ u8 func0405_puzzleroom_miniskedar_waiting[] = { if_enemy_distance_lt_and_los(2540, /*goto*/ 0x2d) label(0x2e) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x2d) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x2d) if_just_injured(CHR_SELF, /*goto*/ 0x2d) endloop(0x03) @@ -761,7 +761,7 @@ u8 func0404_miniskedar[] = { // Healthy call_rng - say_quip(CHR_JOANNA, 0x06, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x06, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) label(0x06) label(0x06) goto_next(0x54) @@ -892,7 +892,7 @@ u8 func0408_cloaked_skedar[] = { // 1 in 256 chance of making skedar roar sound call_rng if_rand_gt(1, /*goto*/ 0x06) - say_quip(CHR_JOANNA, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) label(0x06) endloop(0x08) @@ -964,20 +964,20 @@ u8 unregistered_function3[] = { u8 func1001_objectives_failed_msg[] = { yield - give_object_to_chr(OBJ_TARGETAMP_JOANNA, CHR_JOANNA) - give_object_to_chr(OBJ_TARGETAMP_VELVET, CHR_VELVET) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) + give_object_to_chr(OBJ_TARGETAMP_BOND, CHR_BOND) + give_object_to_chr(OBJ_TARGETAMP_COOP, CHR_COOP) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG) label(0x2d) - hide_object(OBJ_TARGETAMP_VELVET) + hide_object(OBJ_TARGETAMP_COOP) set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG) endfunction }; u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -1047,7 +1047,7 @@ u8 func100c_check_army_defeated[] = { endloop(0x04) label(0x2d) - message(CHR_JOANNA, 0x421d) // "Skedar secret army has been defeated." + message(CHR_BOND, 0x421d) // "Skedar secret army has been defeated." set_stage_flag(STAGEFLAG_ARMY_DEFEATED) beginloop(0x91) @@ -1187,42 +1187,42 @@ u8 func1006_bridge[] = { endfunction }; -u8 func1007_bug_throws_joanna[] = { +u8 func1007_bug_throws_bond[] = { beginloop(0x03) - if_stage_flag_eq(STAGEFLAG_JOANNA_THREW_FIRST_BUG, FALSE, /*goto*/ 0x55) - if_stage_flag_eq(STAGEFLAG_JOANNA_THREW_SECOND_BUG, FALSE, /*goto*/ 0x56) - if_stage_flag_eq(STAGEFLAG_JOANNA_THREW_THIRD_BUG, FALSE, /*goto*/ 0x57) + if_stage_flag_eq(STAGEFLAG_BOND_THREW_FIRST_BUG, FALSE, /*goto*/ 0x55) + if_stage_flag_eq(STAGEFLAG_BOND_THREW_SECOND_BUG, FALSE, /*goto*/ 0x56) + 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_JOANNA, AMMOTYPE_BUG, 3, /*goto*/ 0x2d) + 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_JOANNA_THREW_FIRST_BUG) + 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_JOANNA, AMMOTYPE_BUG, 2, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 2, /*goto*/ 0x2d) goto_first(0x03) label(0x2d) - set_stage_flag(STAGEFLAG_JOANNA_THREW_SECOND_BUG) + set_stage_flag(STAGEFLAG_BOND_THREW_SECOND_BUG) goto_next(0x0e) // Check for third label(0x57) dprint 'C','H','E','C','K',' ','3','\n',0, - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) goto_first(0x03) label(0x2d) - set_stage_flag(STAGEFLAG_JOANNA_THREW_THIRD_BUG) + set_stage_flag(STAGEFLAG_BOND_THREW_THIRD_BUG) goto_next(0x0e) beginloop(0x0e) @@ -1250,34 +1250,34 @@ u8 func1007_bug_throws_joanna[] = { 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) - message(CHR_JOANNA, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_BOND, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) 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) - message(CHR_JOANNA, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_BOND, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) 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) - message(CHR_JOANNA, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_BOND, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) 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_VELVET, /*goto*/ 0x2e) - if_stage_flag_eq(STAGEFLAG_VELVET_BUGS_WASTED, TRUE, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2e) + if_stage_flag_eq(STAGEFLAG_COOP_BUGS_WASTED, TRUE, /*goto*/ 0x2d) goto_next(0x0f) label(0x2d) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x2e) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x2e) goto_next(0x0f) label(0x2e) @@ -1287,10 +1287,10 @@ u8 func1007_bug_throws_joanna[] = { goto_next(0x2d) label(0x06) - set_stage_flag(STAGEFLAG_JOANNA_BUGS_WASTED) - if_stage_flag_eq(STAGEFLAG_VELVET_BUGS_WASTED, FALSE, /*goto*/ 0x0f) + set_stage_flag(STAGEFLAG_BOND_BUGS_WASTED) + if_stage_flag_eq(STAGEFLAG_COOP_BUGS_WASTED, FALSE, /*goto*/ 0x0f) set_stage_flag(STAGEFLAG_BUG_WASTED) - message(CHR_JOANNA, 0x421a) // "Target Amplifier placed incorrectly." + message(CHR_BOND, 0x421a) // "Target Amplifier placed incorrectly." label(0x2d) set_function(CHR_SELF, GFUNC_IDLE) @@ -1300,46 +1300,46 @@ u8 func1007_bug_throws_joanna[] = { endfunction }; -u8 func101b_bug_throws_velvet[] = { - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) +u8 func101b_bug_throws_coop[] = { + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) goto_next(0x03) label(0x2d) - set_stage_flag(STAGEFLAG_VELVET_BUGS_WASTED) + set_stage_flag(STAGEFLAG_COOP_BUGS_WASTED) set_function(CHR_SELF, GFUNC_IDLE) beginloop(0x03) - if_stage_flag_eq(STAGEFLAG_VELVET_THREW_FIRST_BUG, FALSE, /*goto*/ 0x55) - if_stage_flag_eq(STAGEFLAG_VELVET_THREW_SECOND_BUG, FALSE, /*goto*/ 0x56) - if_stage_flag_eq(STAGEFLAG_VELVET_THREW_THIRD_BUG, FALSE, /*goto*/ 0x57) + if_stage_flag_eq(STAGEFLAG_COOP_THREW_FIRST_BUG, FALSE, /*goto*/ 0x55) + if_stage_flag_eq(STAGEFLAG_COOP_THREW_SECOND_BUG, FALSE, /*goto*/ 0x56) + 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_VELVET, AMMOTYPE_BUG, 3, /*goto*/ 0x2d) + 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_VELVET_THREW_FIRST_BUG) + 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_VELVET, AMMOTYPE_BUG, 2, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 2, /*goto*/ 0x2d) goto_first(0x03) label(0x2d) - set_stage_flag(STAGEFLAG_VELVET_THREW_SECOND_BUG) + set_stage_flag(STAGEFLAG_COOP_THREW_SECOND_BUG) goto_next(0x0e) label(0x57) dprint 'C','O','O','P',' ','C','H','E','C','K',' ','3','\n',0, - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) goto_first(0x03) label(0x2d) - set_stage_flag(STAGEFLAG_VELVET_THREW_THIRD_BUG) + set_stage_flag(STAGEFLAG_COOP_THREW_THIRD_BUG) goto_next(0x0e) beginloop(0x0e) @@ -1368,8 +1368,8 @@ u8 func101b_bug_throws_velvet[] = { unset_object_flag_bank2(OBJ_PILLAR1, OBJECTFLAG2_RTRACKED_YELLOW) if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x0d) set_stage_flag(STAGEFLAG_PILLAR1_MARKED) - message(CHR_VELVET, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_COOP, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) goto_first(0x03) label(0x0b) @@ -1377,8 +1377,8 @@ u8 func101b_bug_throws_velvet[] = { unset_object_flag_bank2(OBJ_PILLAR2, OBJECTFLAG2_RTRACKED_YELLOW) if_stage_flag_eq(STAGEFLAG_PILLAR2_MARKED, TRUE, /*goto*/ 0x0d) set_stage_flag(STAGEFLAG_PILLAR2_MARKED) - message(CHR_VELVET, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_COOP, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) goto_first(0x03) label(0x0c) @@ -1386,17 +1386,17 @@ u8 func101b_bug_throws_velvet[] = { unset_object_flag_bank2(OBJ_PILLAR3, OBJECTFLAG2_RTRACKED_YELLOW) if_stage_flag_eq(STAGEFLAG_PILLAR3_MARKED, TRUE, /*goto*/ 0x0d) set_stage_flag(STAGEFLAG_PILLAR3_MARKED) - message(CHR_VELVET, 0x4219) // "Target Amplifier placed correctly." - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) + message(CHR_COOP, 0x4219) // "Target Amplifier placed correctly." + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d) 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_JOANNA, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) goto_next(0x0f) label(0x2d) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x2d) goto_next(0x0f) label(0x2d) @@ -1406,10 +1406,10 @@ u8 func101b_bug_throws_velvet[] = { goto_next(0x2d) label(0x06) - set_stage_flag(STAGEFLAG_VELVET_BUGS_WASTED) + set_stage_flag(STAGEFLAG_COOP_BUGS_WASTED) if_self_flag_bankx_eq(CHRFLAG0_00000010, FALSE, BANK_0, /*goto*/ 0x0f) set_stage_flag(STAGEFLAG_BUG_WASTED) - message(CHR_VELVET, 0x421a) // "Target Amplifier placed incorrectly." + message(CHR_COOP, 0x421a) // "Target Amplifier placed incorrectly." label(0x2d) set_function(CHR_SELF, GFUNC_IDLE) @@ -1664,7 +1664,7 @@ u8 func0409_reaper_slayer_skedar[] = { endloop(0x5d) label(0x06) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -1682,7 +1682,7 @@ u8 func0409_reaper_slayer_skedar[] = { set_self_flag_bank3(CHRFLAG3_00000040) label(0x5e) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x5f) label(0x06) kneel @@ -1709,7 +1709,7 @@ u8 func0409_reaper_slayer_skedar[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x2d) if_target_chr_in_sight(/*goto*/ 0x60) label(0x2d) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) goto_first(0x5f) label(0x60) @@ -1721,7 +1721,7 @@ u8 func0409_reaper_slayer_skedar[] = { set_view_distance(100) if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2d) set_self_flag_bankx(CHRFLAG0_00000004, BANK_0) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x71) @@ -1792,7 +1792,7 @@ u8 func0409_reaper_slayer_skedar[] = { if_self_flag_bankx_eq(CHRFLAG0_00002000, FALSE, BANK_0, /*goto*/ 0x72) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x70) label(0x70) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2d) @@ -1877,12 +1877,12 @@ u8 func040b_mauler_skedar[] = { label(0x2d) set_alertness(100) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) try_run_to_target_chr_with_hand_up(/*goto*/ 0x2d) label(0x2d) - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) - set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) + set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -2031,10 +2031,10 @@ u8 func040d_king_combat[] = { endloop(0x7a) label(0x06) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x70) label(0x70) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x7b) goto_next(0x2d) @@ -2056,7 +2056,7 @@ u8 func040d_king_combat[] = { // Spawn skedar // label(LABEL_SPAWN_SKEDAR) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer animation(0x0350, 0, -1, 0x1010, CHR_SELF, 2) @@ -2075,7 +2075,7 @@ u8 func040d_king_combat[] = { // Spawn miniskedar // label(LABEL_SPAWN_MINISKEDAR) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer animation(0x0350, 0, -1, 0x1010, CHR_SELF, 2) @@ -2094,7 +2094,7 @@ u8 func040d_king_combat[] = { // Cloak and warp to player for hand combat // label(LABEL_CLOAK) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer animation(0x0350, 0, -1, 0x1010, CHR_SELF, 2) @@ -2144,7 +2144,7 @@ u8 func040d_king_combat[] = { // Distance to player < 150 label(0x06) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 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, @@ -2200,7 +2200,7 @@ u8 func040d_king_combat[] = { // Unreachable - nothing jumps here label(0x77) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer animation(0x0350, 0, -1, 0x1010, CHR_SELF, 2) @@ -2215,7 +2215,7 @@ u8 func040d_king_combat[] = { // Shield < 20 label(LABEL_LOW_SHIELD) - say_quip(CHR_JOANNA, 0x02, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x02, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) jog_to_pad(0x0096) beginloop(0x7d) @@ -2483,15 +2483,15 @@ u8 func1014_spike_top[] = { set_stage_flag(STAGEFLAG_SPIKE5_DESTROYED) yield - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) label(0x2d) @@ -2499,7 +2499,7 @@ u8 func1014_spike_top[] = { set_function(CHR_SELF, GFUNC_IDLE) label(0x06) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2531,11 +2531,11 @@ u8 func040f_update_spike_stageflags[] = { }; u8 func0c00_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_SKEDARRUINS_INTRO) set_stage_flag(STAGEFLAG_IN_INTRO) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00080000) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000) set_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN) camera_movement(0x02e9) @@ -2552,18 +2552,18 @@ u8 func0c00_intro[] = { if_controller_button_pressed(/*goto*/ 0x86) camera_movement(0x02ea) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02eb, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02eb, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) animation(0x02ec, -1, -1, 0x0600, CHR_ELVIS, 4) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_CALLISTONTG, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_CALLISTONTG, WEAPON_NONE) beginloop(0x09) if_camera_animating(/*goto*/ 0x2d) @@ -2575,7 +2575,7 @@ u8 func0c00_intro[] = { endloop(0x09) label(0x86) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) if_controller_button_pressed(/*goto*/ 0x86) camera_movement(0x02ed) @@ -2611,18 +2611,18 @@ u8 func0c00_intro[] = { if_controller_button_pressed(/*goto*/ 0x86) camera_movement(0x02f1) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x02f2, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x02f2, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) animation(0x02f3, -1, -1, 0x0600, CHR_ELVIS, 4) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_DEVASTATOR, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_DEVASTATOR, WEAPON_NONE) beginloop(0x0c) if_camera_animating(/*goto*/ 0x2d) @@ -2634,7 +2634,7 @@ u8 func0c00_intro[] = { endloop(0x0c) label(0x86) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) if_controller_button_pressed(/*goto*/ 0x86) camera_movement(0x02f4) @@ -2722,9 +2722,9 @@ u8 func0c00_intro[] = { set_chr_flag_bank2(CHR_KING2, CHRFLAG2_00020000) animation(0x0300, -1, -1, 0x0600, CHR_KING2, 4) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) beginloop(0x0f) if_camera_animating(/*goto*/ 0x2d) @@ -2751,9 +2751,9 @@ u8 func0c00_intro[] = { object_do_animation(0x0302, 0x36, 0x04ff, 0xff) set_object_part_visible(0x36, FALSE) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0303, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0303, -1, -1, 0x0600, CHR_BOND, 4) beginloop(0x10) if_camera_animating(/*goto*/ 0x2d) @@ -2766,12 +2766,12 @@ u8 func0c00_intro[] = { label(0x86) unset_stage_flag(STAGEFLAG_IN_INTRO) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00080000) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000) mute_channel(CHANNEL_7) label(0x06) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0303, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0303, -2, -1, 0x0600, CHR_BOND, 2) hide_object(0x36) remove_chr(0x37) remove_chr(0x38) @@ -2785,8 +2785,8 @@ u8 func0c00_intro[] = { set_object_flag_bank1(0x2c, OBJECTFLAG1_04000000) set_object_flag_bank1(0x2d, OBJECTFLAG1_04000000) set_object_flag_bank1(0x2e, OBJECTFLAG1_04000000) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) restart_default_music reset_ambience enter_firstperson @@ -2805,22 +2805,22 @@ u8 func0414_outro_from_menu[] = { }; u8 func0414_outro[] = { - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - set_target_chr(CHR_JOANNA) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + set_target_chr(CHR_BOND) goto_next(0x06) label(0x2d) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) label(0x06) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_KILLCOUNTABLE) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_KILLCOUNTABLE) camera_movement(0x044c) set_music_track(MUSIC_SKEDARRUINS_OUTRO) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_function(TARGET_CHR, GFUNC_IDLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_function(CHR_TARGET, GFUNC_IDLE) remove_chr(0x05) remove_chr(0x06) remove_chr(0x07) @@ -2877,10 +2877,10 @@ u8 func0414_outro[] = { set_chr_flag_bank2(CHR_KING1, CHRFLAG2_00020000) animation(0x0450, -1, -1, 0x0600, CHR_KING1, 4) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x0451, -1, -1, 0x0600, TARGET_CHR, 4) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x0451, -1, -1, 0x0600, CHR_TARGET, 4) object_do_animation(0x0452, OBJ_SPIKE_T, 0x04ff, 0xff) @@ -2927,10 +2927,10 @@ u8 func0414_outro[] = { hide_object(0x3c) camera_movement(0x02c7) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x02c8, -1, -1, 0x0600, TARGET_CHR, 4) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x02c8, -1, -1, 0x0600, CHR_TARGET, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) @@ -2967,8 +2967,8 @@ u8 func0414_outro[] = { endloop(0x0b) label(0x86) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_KILLCOUNTABLE) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_KILLCOUNTABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE) unset_stage_flag(STAGEFLAG_IN_OUTRO) hide_object(0x23) hide_object(0x24) @@ -3188,12 +3188,12 @@ u8 func101d_remove_pillar_shadow[] = { u8 func0c00_intro_sounds[] = { label(0xda) - if_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00080000, /*goto*/ 0xdb) + if_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000, /*goto*/ 0xdb) yield goto_first(0xda) label(0xdb) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_00080000) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000) #define wait_until_with_stageflag(time, loopid) \ beginloop(loopid) \ @@ -3220,13 +3220,13 @@ u8 func0c00_intro_sounds[] = { restart_timer wait_until_with_stageflag(100, 0x91) - speak(CHR_JOANNA, 0x4222, 0x748d, CHANNEL_10, COLOR_04_ORANGE) // "This is the Skedar fanatics' most holy place. They..." + speak(CHR_BOND, 0x4222, 0x748d, CHANNEL_10, COLOR_04_ORANGE) // "This is the Skedar fanatics' most holy place. They..." wait_until_with_stageflag(770, 0xa4) play_sound(0x0433, CHANNEL_10) wait_until_with_stageflag(800, 0x92) - speak(CHR_JOANNA, 0x4223, 0x748e, CHANNEL_10, COLOR_09_BLUE) // "So let me get this straight - it's holy. But there..." + speak(CHR_BOND, 0x4223, 0x748e, CHANNEL_10, COLOR_09_BLUE) // "So let me get this straight - it's holy. But there..." wait_until_with_stageflag(1018, 0xa5) play_sound(0x05a0, CHANNEL_10) @@ -3238,7 +3238,7 @@ u8 func0c00_intro_sounds[] = { play_sound(0x05a0, CHANNEL_10) wait_until_with_stageflag(1210, 0x93) - speak(CHR_JOANNA, 0x4224, 0x748f, CHANNEL_10, COLOR_04_ORANGE) // "Yes. In all of the time that we Maians fought the ..." + speak(CHR_BOND, 0x4224, 0x748f, CHANNEL_10, COLOR_04_ORANGE) // "Yes. In all of the time that we Maians fought the ..." wait_until_with_stageflag(1230, 0xa8) play_sound(0x05a1, CHANNEL_10) @@ -3307,10 +3307,10 @@ u8 func0c00_intro_sounds[] = { play_sound(0x05a0, CHANNEL_10) wait_until_with_stageflag(2650, 0x94) - speak(CHR_JOANNA, 0x4225, 0x7490, CHANNEL_10, COLOR_09_BLUE) // "Then we have to be certain that no fanatics surviv..." + speak(CHR_BOND, 0x4225, 0x7490, CHANNEL_10, COLOR_09_BLUE) // "Then we have to be certain that no fanatics surviv..." wait_until_with_stageflag(3250, 0x95) - speak(CHR_JOANNA, 0x4226, 0x7491, CHANNEL_10, COLOR_04_ORANGE) // "If you're caught on the ground when the fleet gets..." + speak(CHR_BOND, 0x4226, 0x7491, CHANNEL_10, COLOR_04_ORANGE) // "If you're caught on the ground when the fleet gets..." wait_until(3330, 0xc3) play_sound(0x0530, CHANNEL_10) @@ -3320,7 +3320,7 @@ u8 func0c00_intro_sounds[] = { wait_until_with_stageflag(3600, 0x96) mute_channel(CHANNEL_7) - speak(CHR_JOANNA, 0x4227, 0x7492, CHANNEL_10, COLOR_09_BLUE) // "That's a mistake I don't intend to make." + speak(CHR_BOND, 0x4227, 0x7492, CHANNEL_10, COLOR_09_BLUE) // "That's a mistake I don't intend to make." wait_until(4040, 0xc0) play_sound(0x05a0, CHANNEL_10) @@ -3368,17 +3368,17 @@ u8 func0414_outro_sounds[] = { // The kill countable flag is probably just used to track which player // destroyed the final spike so they can be shown in the outro. label(0xda) - if_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdb) - if_chr_flag_bank3(CHR_VELVET, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdc) + if_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdb) + if_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdc) yield goto_first(0xda) label(0xdb) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) goto_next(0x2d) label(0xdc) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) goto_next(0x2d) #define outro_wait_until_with_stageflag(time, loopid) \ @@ -3401,8 +3401,8 @@ u8 func0414_outro_sounds[] = { label(0x2d) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_KILLCOUNTABLE) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_KILLCOUNTABLE) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE) restart_timer @@ -3422,7 +3422,7 @@ u8 func0414_outro_sounds[] = { play_sound(0x052d, CHANNEL_10) outro_wait_until_with_stageflag(230, 0x9b) - speak(CHR_JOANNA, 0x4228, 0x74de, CHANNEL_10, COLOR_09_BLUE) // "Yesss..." + speak(CHR_BOND, 0x4228, 0x74de, CHANNEL_10, COLOR_09_BLUE) // "Yesss..." outro_wait_until_with_stageflag(470, 0xa9) play_sound(0x8099, CHANNEL_10) @@ -3474,31 +3474,31 @@ u8 func0414_outro_sounds[] = { outro_wait_until(920, 0xaf) fade_to_color(0xffffffff, 0) fade_to_color(0x00000000, 120) - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) yield set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) outro_wait_until_with_stageflag(1680, 0x91) mute_channel(CHANNEL_10) - speak(CHR_JOANNA, 0x4229, 0x7493, CHANNEL_10, COLOR_04_ORANGE) // "Joanna! Joanna!" + speak(CHR_BOND, 0x4229, 0x7493, CHANNEL_10, COLOR_04_ORANGE) // "Joanna! Joanna!" outro_wait_until_with_stageflag(2020, 0x9c) - speak(CHR_JOANNA, 0x4236, 0x7755, CHANNEL_10, COLOR_04_ORANGE) // "Where are you? Are you hurt?" + speak(CHR_BOND, 0x4236, 0x7755, CHANNEL_10, COLOR_04_ORANGE) // "Where are you? Are you hurt?" outro_wait_until_with_stageflag(2206, 0x92) - speak(CHR_JOANNA, 0x422a, 0x7494, CHANNEL_10, COLOR_09_BLUE) // "Elvis! Elvis! Over here." + speak(CHR_BOND, 0x422a, 0x7494, CHANNEL_10, COLOR_09_BLUE) // "Elvis! Elvis! Over here." outro_wait_until_with_stageflag(2625, 0x93) - speak(CHR_JOANNA, 0x422b, 0x7495, CHANNEL_10, COLOR_04_ORANGE) // "No problem. Grab my arms - we'll get you out in no..." + speak(CHR_BOND, 0x422b, 0x7495, CHANNEL_10, COLOR_04_ORANGE) // "No problem. Grab my arms - we'll get you out in no..." outro_wait_until_with_stageflag(2810, 0xd4) play_sound(0x0531, CHANNEL_10) outro_wait_until_with_stageflag(2895, 0x94) - speak(CHR_JOANNA, 0x422c, 0x7496, CHANNEL_10, COLOR_09_BLUE) // "No, quick! Give me your gun!" + speak(CHR_BOND, 0x422c, 0x7496, CHANNEL_10, COLOR_09_BLUE) // "No, quick! Give me your gun!" outro_wait_until_with_stageflag(3160, 0xca) set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) @@ -3506,42 +3506,42 @@ u8 func0414_outro_sounds[] = { set_cutscene_weapon(CHR_ELVIS, WEAPON_PHOENIX, WEAPON_NONE) outro_wait_until_with_stageflag(3280, 0xcb) - set_cutscene_weapon(TARGET_CHR, WEAPON_PHOENIX, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_PHOENIX, WEAPON_NONE) set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE) outro_wait_until_with_stageflag(3290, 0x95) - speak(CHR_JOANNA, 0x422d, 0x7497, CHANNEL_10, COLOR_09_BLUE) // "Will! You! Just! Let! Go!" + speak(CHR_BOND, 0x422d, 0x7497, CHANNEL_10, COLOR_09_BLUE) // "Will! You! Just! Let! Go!" outro_wait_until_with_stageflag(3420, 0xcf) - set_chr_shooting_in_cutscene(TARGET_CHR, TRUE) + set_chr_shooting_in_cutscene(CHR_TARGET, TRUE) yield yield - set_chr_shooting_in_cutscene(TARGET_CHR, FALSE) + set_chr_shooting_in_cutscene(CHR_TARGET, FALSE) play_sound(0x052e, CHANNEL_10) outro_wait_until_with_stageflag(3445, 0xd0) - set_chr_shooting_in_cutscene(TARGET_CHR, TRUE) + set_chr_shooting_in_cutscene(CHR_TARGET, TRUE) yield yield - set_chr_shooting_in_cutscene(TARGET_CHR, FALSE) + set_chr_shooting_in_cutscene(CHR_TARGET, FALSE) outro_wait_until_with_stageflag(3470, 0xd1) - set_chr_shooting_in_cutscene(TARGET_CHR, TRUE) + set_chr_shooting_in_cutscene(CHR_TARGET, TRUE) yield yield - set_chr_shooting_in_cutscene(TARGET_CHR, FALSE) + set_chr_shooting_in_cutscene(CHR_TARGET, FALSE) outro_wait_until_with_stageflag(3495, 0xd2) - set_chr_shooting_in_cutscene(TARGET_CHR, TRUE) + set_chr_shooting_in_cutscene(CHR_TARGET, TRUE) yield yield - set_chr_shooting_in_cutscene(TARGET_CHR, FALSE) + set_chr_shooting_in_cutscene(CHR_TARGET, FALSE) outro_wait_until_with_stageflag(3520, 0xd3) - set_chr_shooting_in_cutscene(TARGET_CHR, TRUE) + set_chr_shooting_in_cutscene(CHR_TARGET, TRUE) yield yield - set_chr_shooting_in_cutscene(TARGET_CHR, FALSE) + set_chr_shooting_in_cutscene(CHR_TARGET, FALSE) play_sound_from_object2(CHANNEL_6, 0x25, 0x052d, 0x00, 0x00) outro_wait_until_with_stageflag(3600, 0xd7) @@ -3551,19 +3551,19 @@ u8 func0414_outro_sounds[] = { play_sound(0x0427, CHANNEL_10) outro_wait_until_with_stageflag(3990, 0x96) - speak(CHR_JOANNA, 0x422e, 0x7498, CHANNEL_10, COLOR_04_ORANGE) // "I managed to get the fleet to stop the bombardment..." + speak(CHR_BOND, 0x422e, 0x7498, CHANNEL_10, COLOR_04_ORANGE) // "I managed to get the fleet to stop the bombardment..." outro_wait_until_with_stageflag(4425, 0x97) - speak(CHR_JOANNA, 0x422f, 0x7499, CHANNEL_10, COLOR_09_BLUE) // "I'd have got out in time if that one hadn't grabbe..." + speak(CHR_BOND, 0x422f, 0x7499, CHANNEL_10, COLOR_09_BLUE) // "I'd have got out in time if that one hadn't grabbe..." outro_wait_until_with_stageflag(4650, 0x98) - speak(CHR_JOANNA, 0x4230, 0x749a, CHANNEL_10, COLOR_04_ORANGE) // "Of course, Joanna, of course." + speak(CHR_BOND, 0x4230, 0x749a, CHANNEL_10, COLOR_04_ORANGE) // "Of course, Joanna, of course." outro_wait_until_with_stageflag(4825, 0x99) - speak(CHR_JOANNA, 0x4231, 0x749b, CHANNEL_10, COLOR_09_BLUE) // "No, I would have." + speak(CHR_BOND, 0x4231, 0x749b, CHANNEL_10, COLOR_09_BLUE) // "No, I would have." outro_wait_until_with_stageflag(4960, 0x9a) - speak(CHR_JOANNA, 0x4232, 0x749c, CHANNEL_10, COLOR_04_ORANGE) // "I believe you." + speak(CHR_BOND, 0x4232, 0x749c, CHANNEL_10, COLOR_04_ORANGE) // "I believe you." outro_wait_until_with_stageflag(5560, 0x9d) play_sound(0x0161, CHANNEL_7) @@ -3642,8 +3642,8 @@ u8 unregistered_function1[] = { endloop(0x04) label(0x2d) - chr_drop_weapon(CHR_JOANNA) - message(CHR_JOANNA, 0x421a) // "Target Amplifier placed incorrectly." + chr_drop_weapon(CHR_BOND) + message(CHR_BOND, 0x421a) // "Target Amplifier placed incorrectly." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3666,12 +3666,12 @@ u8 unregistered_function2[] = { u8 func1024_check_grenades_wasted[] = { beginloop(0x04) - if_ammo_quantity_lt(CHR_JOANNA, AMMOTYPE_DEVASTATOR, 1, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_DEVASTATOR, 1, /*goto*/ 0x2d) reloop(0x04) label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_ammo_quantity_lt(CHR_VELVET, AMMOTYPE_DEVASTATOR, 1, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_DEVASTATOR, 1, /*goto*/ 0x2d) endloop(0x04) label(0x2d) @@ -3698,12 +3698,12 @@ u8 func1024_check_grenades_wasted[] = { // Blown up using other means (eg. Phoenix or all guns cheat) unset_stage_flag(STAGEFLAG_GRENADES_WASTED) - message(CHR_JOANNA, 0x4235) // "Alternative entrance to Shrine created." + message(CHR_BOND, 0x4235) // "Alternative entrance to Shrine created." set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) if_stage_flag_eq(STAGEFLAG_GRENADES_WASTED, TRUE, /*goto*/ 0x2d) - message(CHR_JOANNA, 0x4234) // "Grenade ammo used up - can't enter Shrine." + message(CHR_BOND, 0x4234) // "Grenade ammo used up - can't enter Shrine." set_stage_flag(STAGEFLAG_GRENADES_WASTED) label(0x2d) endloop(0x09) @@ -3862,7 +3862,7 @@ u8 func1427_setup_lighting[] = { u8 func1025_unlock_doors_for_buddy[] = { yield - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) // Co-op mode // Wait for pillars objective @@ -3956,7 +3956,7 @@ struct ailists functions[] = { { func1004_setup_pillars, 0x1004 }, { func1005_5e0c, 0x1005 }, { func1006_bridge, 0x1006 }, - { func1007_bug_throws_joanna, 0x1007 }, + { func1007_bug_throws_bond, 0x1007 }, { func1008_lock_door, 0x1008 }, { func1009_altar, 0x1009 }, { func100a_army_room, 0x100a }, @@ -3975,7 +3975,7 @@ struct ailists functions[] = { { func1018_msg_cutoffthehead, 0x1018 }, { func1019_blow_pillars, 0x1019 }, { func101a_pointless, 0x101a }, - { func101b_bug_throws_velvet, 0x101b }, + { func101b_bug_throws_coop, 0x101b }, { func101c_setup_corridor_lighting, 0x101c }, { func101d_remove_pillar_shadow, 0x101d }, { func0c00_intro_sounds, 0x141e }, diff --git a/src/files/setup/setupstat.c b/src/files/setup/setupstat.c index 77db34221..2bfdcf47c 100644 --- a/src/files/setup/setupstat.c +++ b/src/files/setup/setupstat.c @@ -295,7 +295,7 @@ u8 func1001_objectives_failed_msg[] = { u8 func1000_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -390,13 +390,13 @@ u8 func0401_defend[] = { endloop(0x8f) label(0x2d) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2d) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2d) - if_chr_dying(TARGET_CHR, /*goto*/ 0x2d) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x2d) + if_chr_dying(CHR_TARGET, /*goto*/ 0x2d) dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_DEFEND) set_onshot_function(FUNC_DEFEND) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x2d) goto_first(0x03) @@ -544,9 +544,9 @@ u8 func0404_maian[] = { beginloop(0x04) dprint 'G','O',' ','T','O',' ','P','A','D','\n',0, if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08) - if_chr_dying(TARGET_CHR, /*goto*/ 0x06) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x06) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x06) + if_chr_dying(CHR_TARGET, /*goto*/ 0x06) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x06) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x06) endloop(0x04) // King died while running to him @@ -556,12 +556,12 @@ 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_dying(TARGET_CHR, /*goto*/ 0x06) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x06) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x06) + if_chr_dying(CHR_TARGET, /*goto*/ 0x06) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x06) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x06) set_return_function(CHR_SELF, FUNC_MAIAN) set_onshot_function(FUNC_MAIAN) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // King died while fighting label(0x06) @@ -895,7 +895,7 @@ u8 func0406_skedar[] = { dprint 'D','E','T','E','C','T','E','D','\n',0, set_return_function(CHR_SELF, FUNC_SKEDAR) set_onshot_function(FUNC_SKEDAR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -907,7 +907,7 @@ u8 func1005_check_leader_dead[] = { endloop(0x03) label(0x2d) - message(CHR_JOANNA, 0x4607) // "Maian leader has been killed." + message(CHR_BOND, 0x4607) // "Maian leader has been killed." set_stage_flag(STAGEFLAG_LEADER_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -923,7 +923,7 @@ u8 func1009_check_king1_dead[] = { endloop(0x03) label(0x2d) - message(CHR_JOANNA, 0x4608) // "Skedar King has been killed." + message(CHR_BOND, 0x4608) // "Skedar King has been killed." set_stage_flag(STAGEFLAG_KING1_DEAD) unlock_door(0x3e, 0x40) unlock_door(0x3f, 0x40) @@ -942,7 +942,7 @@ u8 func100a_check_king2_dead[] = { endloop(0x03) label(0x2d) - message(CHR_JOANNA, 0x4608) // "Skedar King has been killed." + message(CHR_BOND, 0x4608) // "Skedar King has been killed." set_stage_flag(STAGEFLAG_KING2_DEAD) label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) @@ -960,7 +960,7 @@ u8 func100b_check_king3_dead[] = { endloop(0x03) label(0x2d) - message(CHR_JOANNA, 0x4608) // "Skedar King has been killed." + message(CHR_BOND, 0x4608) // "Skedar King has been killed." set_stage_flag(STAGEFLAG_KING3_DEAD) label(0x0e) set_function(CHR_SELF, GFUNC_IDLE) @@ -983,16 +983,16 @@ u8 func1007_check_end_level[] = { // Check Jo not dead label(0x2d) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2d) + if_chr_dying(CHR_BOND, /*goto*/ 0x2d) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2d) goto_next(0x06) // Check Velvet not dead label(0x2d) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2d) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d) + if_chr_dying(CHR_COOP, /*goto*/ 0x2d) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2d) goto_next(0x06) // Mission failed @@ -1017,16 +1017,16 @@ u8 func040c_hide[] = { u8 func100d_king1_invincible[] = { beginloop(0x03) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0070, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0071, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0072, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0073, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0074, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0075, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0076, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0077, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0078, /*goto*/ 0x2d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x0079, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0070, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0071, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0072, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0073, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0074, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0075, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0076, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0077, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0078, /*goto*/ 0x2d) + if_chr_in_room(CHR_BOND, 0x00, 0x0079, /*goto*/ 0x2d) set_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) reloop(0x03) @@ -1056,7 +1056,7 @@ u8 unregistered_function[] = { // Remove Blonde if counterop doesn't exist label(0x03) - if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x2d) + if_chr_death_animation_finished(CHR_ANTI, /*goto*/ 0x2d) set_function(CHR_SELF, GFUNC_IDLE) label(0x2d) remove_chr(CHR_BLONDE) @@ -1065,17 +1065,17 @@ u8 unregistered_function[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_INTRO) - set_chr_flag_bank2(CHR_COUNTEROP, CHRFLAG2_00020000) + set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000) set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000) camera_movement(0x047c) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x047d, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x047d, -1, -1, 0x0600, CHR_BOND, 4) unset_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_UNPLAYABLE) @@ -1090,9 +1090,9 @@ u8 func1002_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_PHOENIX, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_PHOENIX, WEAPON_NONE) // Wait 200 frames (3.3 secs) or until button pressed beginloop(0x96) @@ -1116,13 +1116,13 @@ u8 func1002_intro[] = { // Outro done label(0x82) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(CHR_COUNTEROP, CHRFLAG2_00020000) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x047d, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x047d, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000) @@ -1144,14 +1144,14 @@ u8 func1002_intro[] = { }; u8 func040b_outro[] = { - set_invincible(CHR_JOANNA) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_invincible(CHR_BOND) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_OUTRO) camera_movement(0x0480) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index 43e75b541..30fa0db57 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -10,14 +10,14 @@ // Objects #define OBJ_HOVERBED 0x00 // with Elvis on it -#define OBJ_MEDPACK_JOANNA 0x01 +#define OBJ_MEDPACK_BOND 0x01 #define OBJ_TERMINAL1 0x03 #define OBJ_TERMINAL2 0x04 #define OBJ_WALLMINE 0x02 #define OBJ_MEDPACK_SWITCH 0x14 #define OBJ_UFO1 0x1f #define OBJ_UFO2 0x22 -#define OBJ_MEDPACK_VELVET 0x20 +#define OBJ_MEDPACK_COOP 0x20 #define OBJ_WALLOBJECT 0x21 #define OBJ_MEDPACK_GLASS 0x2a #define OBJ_HOVERBIKE 0x35 @@ -597,7 +597,7 @@ u8 intro[] = { u8 func1400_setup_counterop[] = { yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction }; @@ -608,15 +608,15 @@ u8 func1001_objectives_failed_msg[] = { endfunction }; -u8 func1022_gas_damage_joanna[] = { - set_target_chr(CHR_JOANNA) +u8 func1022_gas_damage_bond[] = { + set_target_chr(CHR_BOND) set_function(CHR_SELF, FUNC_GAS_DAMAGE) endfunction }; -u8 func1023_gas_damage_velvet[] = { - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x32) +u8 func1023_gas_damage_coop[] = { + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x32) set_function(CHR_SELF, FUNC_GAS_DAMAGE) label(0x32) @@ -633,19 +633,19 @@ u8 func0401_gas_damage[] = { restart_timer beginloop(0x04) - if_chr_in_room(TARGET_CHR, 0x00, 0x009a, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0099, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x008f, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0090, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0092, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0093, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0094, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0095, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0096, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0097, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0098, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0099, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x009a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x009a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0099, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x008f, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0090, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0092, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0093, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0094, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0095, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0096, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0097, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0098, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0099, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x009a, /*goto*/ 0x06) reloop(0x04) label(0x06) @@ -656,25 +656,25 @@ u8 func0401_gas_damage[] = { yield call_rng if_rand_gt(50, /*goto*/ 0x32) - add_motion_blur(CHR_JOANNA, 7, TRUE) + add_motion_blur(CHR_BOND, 7, TRUE) label(0x32) if_timer_lt(460, /*goto*/ 0x32) restart_timer - damage_chr2(TARGET_CHR, 514) + damage_chr2(CHR_TARGET, 514) label(0x32) - if_chr_in_room(TARGET_CHR, 0x00, 0x009a, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0099, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x008f, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0090, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0092, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0093, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0094, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0095, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0096, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0097, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0098, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x0099, /*goto*/ 0x06) - if_chr_in_room(TARGET_CHR, 0x00, 0x009a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x009a, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0099, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x008f, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0090, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0092, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0093, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0094, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0095, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0096, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0097, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0098, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x0099, /*goto*/ 0x06) + if_chr_in_room(CHR_TARGET, 0x00, 0x009a, /*goto*/ 0x06) endloop(0x04) label(0x06) @@ -699,7 +699,7 @@ u8 func1004_jon_msgs_gravedanger[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x480e, 0x814f, CHANNEL_4, COLOR_03_RED) // "Joanna - this is Jonathan. You're in grave danger." + speak(CHR_BOND, 0x480e, 0x814f, CHANNEL_4, COLOR_03_RED) // "Joanna - this is Jonathan. You're in grave danger." beginloop(0x08) if_timer_gt(240, /*goto*/ 0x06) @@ -707,7 +707,7 @@ u8 func1004_jon_msgs_gravedanger[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x480f, 0x8150, CHANNEL_4, COLOR_03_RED) // "They've flooded the area with nerve gas." + speak(CHR_BOND, 0x480f, 0x8150, CHANNEL_4, COLOR_03_RED) // "They've flooded the area with nerve gas." beginloop(0x09) if_timer_gt(240, /*goto*/ 0x06) @@ -715,7 +715,7 @@ u8 func1004_jon_msgs_gravedanger[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x4810, 0x8151, CHANNEL_4, COLOR_03_RED) // "Get our friend to the containment lab. There's a h..." + speak(CHR_BOND, 0x4810, 0x8151, CHANNEL_4, COLOR_03_RED) // "Get our friend to the containment lab. There's a h..." beginloop(0x0a) if_timer_gt(270, /*goto*/ 0x06) @@ -723,7 +723,7 @@ u8 func1004_jon_msgs_gravedanger[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x4811, 0x8152, CHANNEL_4, COLOR_03_RED) // "I'll contact you when you get there - good luck!" + speak(CHR_BOND, 0x4811, 0x8152, CHANNEL_4, COLOR_03_RED) // "I'll contact you when you get there - good luck!" beginloop(0x0c) if_timer_gt(240, /*goto*/ 0x06) @@ -745,12 +745,12 @@ u8 func1005_jon_msgs_meetup[] = { unset_object_flag_bank1(0x0d, OBJECTFLAG1_08000000) set_object_flag_bank1(0x0d, OBJECTFLAG1_10000000) unlock_door(0x0d, 0x20) - release_grabbed_object(CHR_JOANNA) + release_grabbed_object(CHR_BOND) yield unset_object_flag_bank2(OBJ_HOVERBED, OBJECTFLAG2_GRABBABLE) unset_object_flag_bank2(OBJ_HOVERBED, OBJECTFLAG2_PUSHABLE) restart_timer - speak(CHR_JOANNA, 0x4812, 0x8153, CHANNEL_4, COLOR_03_RED) // "Good work, Jo. We need to meet up. They're getting..." + speak(CHR_BOND, 0x4812, 0x8153, CHANNEL_4, COLOR_03_RED) // "Good work, Jo. We need to meet up. They're getting..." beginloop(0x08) if_timer_gt(300, /*goto*/ 0x06) @@ -758,7 +758,7 @@ u8 func1005_jon_msgs_meetup[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x4813, 0x8154, CHANNEL_4, COLOR_03_RED) // "Use the maintenance hatch I've opened in one of th..." + speak(CHR_BOND, 0x4813, 0x8154, CHANNEL_4, COLOR_03_RED) // "Use the maintenance hatch I've opened in one of th..." beginloop(0x09) if_timer_gt(300, /*goto*/ 0x06) @@ -772,8 +772,8 @@ u8 func1005_jon_msgs_meetup[] = { u8 func1007_check_medpack_collected[] = { beginloop(0x04) - if_chr_has_object(CHR_JOANNA, OBJ_MEDPACK_JOANNA, /*goto*/ 0x06) - if_chr_has_object(CHR_VELVET, OBJ_MEDPACK_JOANNA, /*goto*/ 0x06) + if_chr_has_object(CHR_BOND, OBJ_MEDPACK_BOND, /*goto*/ 0x06) + if_chr_has_object(CHR_COOP, OBJ_MEDPACK_BOND, /*goto*/ 0x06) endloop(0x04) label(0x06) @@ -963,7 +963,7 @@ u8 func0404_jonathan_following_and_mine[] = { // Saw enemy label(0x09) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // In mine room label(0x0a) @@ -1079,7 +1079,7 @@ u8 func0413_jonathan_hangar[] = { // Attack enemy (jumped to from further below) label(0x09) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // Alive and well label(0x63) @@ -1151,7 +1151,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x4829, 0x72a7, CHANNEL_5, COLOR_09_BLUE) // "It's the only way out of here." + speak(CHR_BOND, 0x4829, 0x72a7, CHANNEL_5, COLOR_09_BLUE) // "It's the only way out of here." beginloop(0x15) if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0xc3) @@ -1182,7 +1182,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x482a, 0x72a8, CHANNEL_5, COLOR_09_BLUE) // "You're the only one who can fly it, Elvis, so get ..." + speak(CHR_BOND, 0x482a, 0x72a8, CHANNEL_5, COLOR_09_BLUE) // "You're the only one who can fly it, Elvis, so get ..." beginloop(0x17) if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0xc3) @@ -1213,7 +1213,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x482b, 0x72a9, CHANNEL_5, COLOR_09_BLUE) // "But we can't leave you behind." + speak(CHR_BOND, 0x482b, 0x72a9, CHANNEL_5, COLOR_09_BLUE) // "But we can't leave you behind." beginloop(0x18) if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0xc3) @@ -1228,7 +1228,7 @@ u8 func0413_jonathan_hangar[] = { label(0x06) restart_timer - speak(CHR_JOANNA, 0x482c, 0x72aa, CHANNEL_5, COLOR_09_BLUE) // "There must be a way out of here." + speak(CHR_BOND, 0x482c, 0x72aa, CHANNEL_5, COLOR_09_BLUE) // "There must be a way out of here." beginloop(0x19) if_chr_death_animation_finished(CHR_ELVIS, /*goto*/ 0xc3) @@ -1334,7 +1334,7 @@ u8 func0413_jonathan_hangar[] = { // Jo taking over label(0x59) - speak(CHR_JOANNA, 0x482f, 0x72ac, CHANNEL_5, COLOR_09_BLUE) // "Jonathan, go with Elvis. I'll see to the consoles." + speak(CHR_BOND, 0x482f, 0x72ac, CHANNEL_5, COLOR_09_BLUE) // "Jonathan, go with Elvis. I'll see to the consoles." restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x46) @@ -1425,7 +1425,7 @@ u8 func041b_jonathan_after_terminals[] = { endloop(0x4d) label(0x09) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -1482,7 +1482,7 @@ u8 func0406_unused_0406[] = { label(0x06) set_alertness(100) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -1561,7 +1561,7 @@ u8 func1008_spawngroup1_guard[] = { run_to_pad(0x013e) rebuild_teams rebuild_squadrons - set_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_function(CHR_SELF, GFUNC_CHOOSE_TARGET) endfunction }; @@ -1635,7 +1635,7 @@ u8 func1013_spawngroup2_guard[] = { set_squadron(SPAWNGROUP2) rebuild_teams rebuild_squadrons - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -1738,7 +1738,7 @@ u8 func1014_spawngroup3_guard[] = { set_squadron(SPAWNGROUP3) rebuild_teams rebuild_squadrons - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) set_function(CHR_SELF, GFUNC_ALERTED) endfunction }; @@ -1821,7 +1821,7 @@ u8 func1015_spawngroup4_guard[] = { rebuild_teams rebuild_squadrons run_to_pad(0x0168) - set_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_function(CHR_SELF, GFUNC_CHOOSE_TARGET) endfunction }; @@ -1869,13 +1869,13 @@ u8 func100b_check_jonathan_dead[] = { // A and SA label(0x32) - give_object_to_chr(OBJ_MEDPACK_JOANNA, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x32) - give_object_to_chr(OBJ_MEDPACK_VELVET, CHR_VELVET) + give_object_to_chr(OBJ_MEDPACK_BOND, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32) + give_object_to_chr(OBJ_MEDPACK_COOP, CHR_COOP) goto_next(0x04) label(0x32) - hide_object(OBJ_MEDPACK_VELVET) + hide_object(OBJ_MEDPACK_COOP) // All difficulties beginloop(0x04) @@ -1886,7 +1886,7 @@ u8 func100b_check_jonathan_dead[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_STARTED_OUTRO, TRUE, /*goto*/ 0x32) - message(CHR_JOANNA, 0x481d) // "Jonathan has been killed." + message(CHR_BOND, 0x481d) // "Jonathan has been killed." set_stage_flag(STAGEFLAG_JON_DEAD) label(0x32) @@ -1946,16 +1946,16 @@ u8 func100c_medpack_activation[] = { if_chr_death_animation_finished(CHR_JONATHAN, /*goto*/ 0x32) if_chr_dying(CHR_JONATHAN, /*goto*/ 0x32) if_chr_unloaded(CHR_JONATHAN, /*goto*/ 0x32) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x33) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x33) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x33) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x33) + if_chr_dying(CHR_BOND, /*goto*/ 0x33) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x33) goto_next(0x06) // Joanna is dead label(0x33) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x32) - if_chr_dying(CHR_VELVET, /*goto*/ 0x32) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x32) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32) + if_chr_dying(CHR_COOP, /*goto*/ 0x32) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x32) goto_next(0x06) // Everyone is alive @@ -2108,7 +2108,7 @@ u8 func100d_check_terminals_destroyed[] = { endloop(0x04) label(0x08) - message(CHR_JOANNA, 0x4824) // "Mission critical object destroyed." + message(CHR_BOND, 0x4824) // "Mission critical object destroyed." set_stage_flag(STAGEFLAG_HANGAR_TERMINAL_DESTROYED) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2124,7 +2124,7 @@ u8 func100e_check_elvis_dead[] = { label(0x06) if_stage_flag_eq(STAGEFLAG_STARTED_OUTRO, TRUE, /*goto*/ 0x32) set_stage_flag(STAGEFLAG_ELVIS_DEAD) - message(CHR_JOANNA, 0x481e) // "Elvis has been killed." + message(CHR_BOND, 0x481e) // "Elvis has been killed." label(0x32) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2172,16 +2172,16 @@ u8 func1010_check_end_level[] = { if_chr_dying(CHR_JONATHAN, /*goto*/ 0x0f) if_chr_unloaded(CHR_JONATHAN, /*goto*/ 0x0f) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x32) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x32) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x32) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x32) + if_chr_dying(CHR_BOND, /*goto*/ 0x32) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x32) goto_next(0x06) // Joanna is dead label(0x32) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x33) - if_chr_dying(CHR_VELVET, /*goto*/ 0x33) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x33) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x33) + if_chr_dying(CHR_COOP, /*goto*/ 0x33) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x33) goto_next(0x06) // Both Joanna and Velvet are dead @@ -2195,7 +2195,7 @@ u8 func1010_check_end_level[] = { set_function(CHR_SELF, FUNC_UFO_EXIT) label(0x32) - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) set_function(CHR_SELF, FUNC_OUTRO) // Jonathan and/or Elvis are dead @@ -2359,7 +2359,7 @@ u8 func1017_check_both_hangar_doors_open[] = { endloop(0x04) label(0x32) - message(CHR_JOANNA, 0x4835) // "The hangar doors are now open." + message(CHR_BOND, 0x4835) // "The hangar doors are now open." set_stage_flag(STAGEFLAG_BOTH_HANGAR_DOORS_OPEN) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -2452,15 +2452,15 @@ u8 func1019_enable_biotechs_after_stash[] = { }; u8 func1002_intro[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_ESCAPE_INTRO) camera_movement(0x019c) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x019d, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x019d, -1, -1, 0x0600, CHR_BOND, 4) set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE) @@ -2480,9 +2480,9 @@ u8 func1002_intro[] = { restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 90) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_FALCON2_SCOPE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_FALCON2_SCOPE, WEAPON_NONE) #define wait_until(time, loopid) \ beginloop(loopid) \ @@ -2494,7 +2494,7 @@ u8 func1002_intro[] = { wait_until(2, 0xc5) - speak(CHR_JOANNA, 0x4851, 0x81ba, CHANNEL_7, COLOR_02_WHITE) // "What the hell do you think you're doing? This is s..." + speak(CHR_BOND, 0x4851, 0x81ba, CHANNEL_7, COLOR_02_WHITE) // "What the hell do you think you're doing? This is s..." wait_until(60, 0x6a) play_sound(0x0161, CHANNEL_6) @@ -2529,7 +2529,7 @@ u8 func1002_intro[] = { play_sound(0x0161, CHANNEL_6) wait_until(545, 0x8a) - speak(CHR_JOANNA, 0x4854, 0x7758, CHANNEL_7, COLOR_09_BLUE) // "I don't care much for procedures!" + speak(CHR_BOND, 0x4854, 0x7758, CHANNEL_7, COLOR_09_BLUE) // "I don't care much for procedures!" wait_until(588, 0x74) play_sound(0x0162, CHANNEL_5) @@ -2543,7 +2543,7 @@ u8 func1002_intro[] = { wait_until(706, 0x77) wait_until(770, 0xc6) - speak(CHR_JOANNA, 0x4852, 0x7436, CHANNEL_7, COLOR_02_WHITE) // "Director Easton will hear about this, young lady." + speak(CHR_BOND, 0x4852, 0x7436, CHANNEL_7, COLOR_02_WHITE) // "Director Easton will hear about this, young lady." wait_until(810, 0xbe) close_door(0x0e) @@ -2556,7 +2556,7 @@ u8 func1002_intro[] = { play_sound(0x0162, CHANNEL_4) wait_until(998, 0xc7) - speak(CHR_JOANNA, 0x4853, 0x7437, CHANNEL_7, COLOR_02_WHITE) // "You can't take that! It's government property! Thi..." + speak(CHR_BOND, 0x4853, 0x7437, CHANNEL_7, COLOR_02_WHITE) // "You can't take that! It's government property! Thi..." wait_until(1032, 0x7b) play_sound(0x0161, CHANNEL_5) @@ -2619,7 +2619,7 @@ u8 func1002_intro[] = { play_sound(0x00fa, CHANNEL_10) wait_until(1736, 0x96) - speak(CHR_JOANNA, 0x483f, 0x7438, CHANNEL_7, COLOR_02_WHITE) // "Let's see how that overconfident thief deals with ..." + speak(CHR_BOND, 0x483f, 0x7438, CHANNEL_7, COLOR_02_WHITE) // "Let's see how that overconfident thief deals with ..." set_stage_flag(STAGEFLAG_GAS_ON) wait_until(1773, 0x9a) @@ -2650,7 +2650,7 @@ u8 func1002_intro[] = { play_sound(0x0161, CHANNEL_6) wait_until(2218, 0xa8) - speak(CHR_JOANNA, 0x4840, 0x7439, CHANNEL_7, COLOR_09_BLUE) // "What's that noise? Can't be... Gas!" + speak(CHR_BOND, 0x4840, 0x7439, CHANNEL_7, COLOR_09_BLUE) // "What's that noise? Can't be... Gas!" wait_until(2271, 0xa9) play_sound(0x0162, CHANNEL_6) @@ -2671,7 +2671,7 @@ u8 func1002_intro[] = { play_sound(0x0161, CHANNEL_6) wait_until(2582, 0xaf) - speak(CHR_JOANNA, 0x4841, 0x743a, CHANNEL_7, COLOR_02_WHITE) // "Noooo, that wasn't meant to happen!" + speak(CHR_BOND, 0x4841, 0x743a, CHANNEL_7, COLOR_02_WHITE) // "Noooo, that wasn't meant to happen!" wait_until(2725, 0xb1) play_sound(0x0429, CHANNEL_10) @@ -2723,7 +2723,7 @@ u8 func1002_intro[] = { play_sound(0x00fa, CHANNEL_10) wait_until(3894, 0xba) - speak(CHR_JOANNA, 0x4843, 0x743b, CHANNEL_7, COLOR_09_BLUE) // "You idiot! We'd better get out of here." + speak(CHR_BOND, 0x4843, 0x743b, CHANNEL_7, COLOR_09_BLUE) // "You idiot! We'd better get out of here." wait_until(4146, 0xbb) play_sound(0x0162, CHANNEL_6) @@ -2749,11 +2749,11 @@ u8 func1002_intro[] = { mute_channel(CHANNEL_7) mute_channel(CHANNEL_6) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x019d, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x019d, -2, -1, 0x0600, CHR_BOND, 2) unset_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(0x23, CHRFLAG2_00020000) @@ -2772,10 +2772,10 @@ u8 func1002_intro[] = { restart_default_music reset_ambience enter_firstperson - revoke_control(CHR_JOANNA, 0) + revoke_control(CHR_BOND, 0) yield - grab_object(CHR_JOANNA, OBJ_HOVERBED) - grant_control(CHR_JOANNA) + grab_object(CHR_BOND, OBJ_HOVERBED) + grant_control(CHR_BOND) yield kill(0x23) kill(0x24) @@ -2784,34 +2784,34 @@ u8 func1002_intro[] = { }; u8 func0c01_midcutscene[] = { - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_ESCAPE_MIDCUTSCENE) camera_movement(0x01cb) cmd0175(60) hide_object(OBJ_HOVERBED) - set_target_chr(CHR_JOANNA) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x33) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x33) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x33) + set_target_chr(CHR_BOND) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x33) + if_chr_dying(CHR_BOND, /*goto*/ 0x33) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x33) goto_next(0x06) label(0x33) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x06) - if_chr_dying(CHR_VELVET, /*goto*/ 0x06) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x06) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x06) + if_chr_dying(CHR_COOP, /*goto*/ 0x06) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x06) + set_target_chr(CHR_COOP) label(0x06) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(CHR_JONATHAN, GFUNC_IDLE) - set_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_HIDDEN) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x01ce, -1, -1, 0x0600, TARGET_CHR, 4) + set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x01ce, -1, -1, 0x0600, CHR_TARGET, 4) set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN) @@ -2835,12 +2835,12 @@ u8 func0c01_midcutscene[] = { move_object_to_pad(OBJ_HOVERBIKE, 0x038a) label(0x32) restart_timer - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(TARGET_CHR, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_TARGET, WEAPON_NONE, WEAPON_NONE) wait_until(83, 0x6a) - speak(TARGET_CHR, 0x4845, 0x743c, CHANNEL_7, COLOR_06_WHITE) // "***aahh...! aahaa...! aaaaahhh! aha. ahh.***" + speak(CHR_TARGET, 0x4845, 0x743c, CHANNEL_7, COLOR_06_WHITE) // "***aahh...! aahaa...! aaaaahhh! aha. ahh.***" wait_until(116, 0x6b) play_sound(0x80c4, CHANNEL_6) @@ -2864,22 +2864,22 @@ u8 func0c01_midcutscene[] = { play_sound(0x80c5, CHANNEL_6) wait_until(690, 0x72) - speak(TARGET_CHR, 0x4846, 0x743d, CHANNEL_7, COLOR_06_WHITE) // "I'm alive. I thought I'd be chopped up like the ot..." + speak(CHR_TARGET, 0x4846, 0x743d, CHANNEL_7, COLOR_06_WHITE) // "I'm alive. I thought I'd be chopped up like the ot..." wait_until(1392, 0x73) - speak(TARGET_CHR, 0x4847, 0x743e, CHANNEL_7, COLOR_09_BLUE) // "You... You speak our language?" + speak(CHR_TARGET, 0x4847, 0x743e, CHANNEL_7, COLOR_09_BLUE) // "You... You speak our language?" wait_until(1400, 0x74) play_sound(0x80c4, CHANNEL_6) wait_until(1554, 0x75) - speak(TARGET_CHR, 0x4848, 0x743f, CHANNEL_7, COLOR_03_RED) // "Watch her... she's sharp." + speak(CHR_TARGET, 0x4848, 0x743f, CHANNEL_7, COLOR_03_RED) // "Watch her... she's sharp." wait_until(1688, 0x76) - speak(TARGET_CHR, 0x4849, 0x7440, CHANNEL_7, COLOR_06_WHITE) // "Earrggghh...eerggh..." + speak(CHR_TARGET, 0x4849, 0x7440, CHANNEL_7, COLOR_06_WHITE) // "Earrggghh...eerggh..." wait_until(1962, 0x77) - speak(TARGET_CHR, 0x484a, 0x7441, CHANNEL_7, COLOR_09_BLUE) // "What's wrong?" + speak(CHR_TARGET, 0x484a, 0x7441, CHANNEL_7, COLOR_09_BLUE) // "What's wrong?" wait_until(1988, 0x78) play_sound(0x80c5, CHANNEL_6) @@ -2888,10 +2888,10 @@ u8 func0c01_midcutscene[] = { play_sound(0x80c4, CHANNEL_4) wait_until(2113, 0x7a) - speak(TARGET_CHR, 0x484b, 0x7442, CHANNEL_7, COLOR_06_WHITE) // "I have a headache. And with a head this big, that'..." + speak(CHR_TARGET, 0x484b, 0x7442, CHANNEL_7, COLOR_06_WHITE) // "I have a headache. And with a head this big, that'..." wait_until(2470, 0x7b) - speak(TARGET_CHR, 0x484c, 0x7443, CHANNEL_7, COLOR_09_BLUE) // "Can you walk? We must leave before they get organi..." + speak(CHR_TARGET, 0x484c, 0x7443, CHANNEL_7, COLOR_09_BLUE) // "Can you walk? We must leave before they get organi..." wait_until(2480, 0x7c) play_sound(0x80c5, CHANNEL_6) @@ -2924,13 +2924,13 @@ u8 func0c01_midcutscene[] = { play_sound(0x80c5, CHANNEL_4) wait_until(2842, 0x86) - speak(TARGET_CHR, 0x484d, 0x7444, CHANNEL_7, COLOR_06_WHITE) // "I think so. What's your name?" + speak(CHR_TARGET, 0x484d, 0x7444, CHANNEL_7, COLOR_06_WHITE) // "I think so. What's your name?" wait_until(3024, 0x87) - speak(TARGET_CHR, 0x484e, 0x7445, CHANNEL_7, COLOR_09_BLUE) // "I'm Agent Dark. Or Joanna, if you prefer." + speak(CHR_TARGET, 0x484e, 0x7445, CHANNEL_7, COLOR_09_BLUE) // "I'm Agent Dark. Or Joanna, if you prefer." wait_until(3270, 0x88) - speak(TARGET_CHR, 0x484f, 0x7446, CHANNEL_7, COLOR_06_WHITE) // "Well, Joanna, I'm Protector One. But you can call ..." + speak(CHR_TARGET, 0x484f, 0x7446, CHANNEL_7, COLOR_06_WHITE) // "Well, Joanna, I'm Protector One. But you can call ..." wait_until(3308, 0x89) play_sound(0x80c6, CHANNEL_6) @@ -2949,11 +2949,11 @@ u8 func0c01_midcutscene[] = { mute_channel(CHANNEL_7) restart_default_music reset_ambience - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(TARGET_CHR, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_00020000) - animation(0x01ce, -2, -1, 0x0600, TARGET_CHR, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000) + animation(0x01ce, -2, -1, 0x0600, CHR_TARGET, 2) unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE) set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000) @@ -2972,8 +2972,8 @@ u8 func0c01_midcutscene[] = { unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) set_function(CHR_JONATHAN, FUNC_JONATHAN_HANGAR) set_function(CHR_ELVIS, FUNC_INIT_ELVIS) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x32) - chr_move_to_pad(CHR_VELVET, 0x0156, 0x01, /*goto*/ 0x32) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32) + chr_move_to_pad(CHR_COOP, 0x0156, 0x01, /*goto*/ 0x32) label(0x32) show_nonessential_chrs(TRUE) set_function(CHR_SELF, GFUNC_END_CINEMA) @@ -2999,9 +2999,9 @@ u8 func0c02_outro[] = { set_object_flag_bank0(0x2c, OBJECTFLAG0_40000000) set_object_flag_bank0(0x2d, OBJECTFLAG0_40000000) label(0x32) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_ESCAPE_OUTRO_LONG) camera_movement(0x02d2) label(0x32) @@ -3073,8 +3073,8 @@ u8 func0c02_outro[] = { set_stage_flag(STAGEFLAG_ESCAPED) yield yield - set_invincible(CHR_JOANNA) - revoke_control(CHR_JOANNA, 4) + set_invincible(CHR_BOND) + revoke_control(CHR_BOND, 4) hide_countdown_timer stop_countdown_timer unset_eeprom_flag(EEPROMFLAG_DEFENSE_JON) @@ -3141,15 +3141,15 @@ u8 func1021_jo_escaping[] = { set_stage_flag(STAGEFLAG_ESCAPED) yield yield - set_invincible(CHR_JOANNA) - revoke_control(CHR_JOANNA, 4) + set_invincible(CHR_BOND) + revoke_control(CHR_BOND, 4) hide_countdown_timer stop_countdown_timer label(0x62) set_eeprom_flag(EEPROMFLAG_DEFENSE_JON) set_music_track(MUSIC_ESCAPE_OUTRO_LONG) camera_movement(0x02d4) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN) set_function(CHR_P1P2, GFUNC_IDLE) @@ -3250,12 +3250,12 @@ u8 func0417_init_follower_clone[] = { u8 func0418_follower_clone[] = { call_rng if_rand_lt(128, /*goto*/ 0x32) - set_target_chr(CHR_VELVET) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x32) + set_target_chr(CHR_COOP) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32) goto_next(0x06) label(0x32) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) label(0x06) set_function(CHR_SELF, GFUNC_ALERTED) endfunction @@ -3292,7 +3292,7 @@ u8 func101a_medpack_switch[] = { if_object_in_good_condition(OBJ_MEDPACK_SWITCH, /*goto*/ 0x32) if_difficulty_lt(DIFF_PA, /*goto*/ 0x06) set_stage_flag(STAGEFLAG_MEDPACK_SWITCH_DESTROYED) - message(CHR_JOANNA, 0x4824) // "Mission critical object destroyed." + message(CHR_BOND, 0x4824) // "Mission critical object destroyed." label(0x06) set_function(CHR_SELF, GFUNC_IDLE) @@ -3336,9 +3336,9 @@ u8 unregistered_function1[] = { * @unused */ u8 func040f_warp_jon_to_catwalk[] = { - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0x06) - set_target_chr(CHR_VELVET) + set_target_chr(CHR_COOP) if_chr_sees_player(/*goto*/ 0x06) stop_chr yield @@ -3384,7 +3384,7 @@ u8 func101e_msg_hookup[] = { endloop(0x6a) label(0x32) - speak(CHR_JOANNA, 0x4838, 0x73c1, CHANNEL_6, COLOR_09_BLUE) // "Time to hook up with Jonathan, before he gets into..." + speak(CHR_BOND, 0x4838, 0x73c1, CHANNEL_6, COLOR_09_BLUE) // "Time to hook up with Jonathan, before he gets into..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3426,7 +3426,7 @@ u8 func1020_msg_jetbike[] = { endloop(0x6a) label(0x32) - speak(CHR_JOANNA, 0x483a, 0x73c3, CHANNEL_6, COLOR_09_BLUE) // "The jetbike should get me out before they lock the..." + speak(CHR_BOND, 0x483a, 0x73c3, CHANNEL_6, COLOR_09_BLUE) // "The jetbike should get me out before they lock the..." set_function(CHR_SELF, GFUNC_IDLE) endfunction }; @@ -3831,8 +3831,8 @@ struct ailists functions[] = { { func101f_msg_oil, 0x101f }, { func1020_msg_jetbike, 0x1020 }, { func1021_jo_escaping, 0x1021 }, - { func1022_gas_damage_joanna, 0x1022 }, - { func1023_gas_damage_velvet, 0x1023 }, + { func1022_gas_damage_bond, 0x1022 }, + { func1023_gas_damage_coop, 0x1023 }, { func1024_wall_immune_to_explosives, 0x1024 }, { func1026_ufo_spinning, 0x1026 }, { func102e_keep_hangar_doors_open, 0x102e }, diff --git a/src/files/setup/setupwax.c b/src/files/setup/setupwax.c index 65863febb..5dd8ae968 100644 --- a/src/files/setup/setupwax.c +++ b/src/files/setup/setupwax.c @@ -13,8 +13,8 @@ #define OBJ_CHIEF_LIFT 0x4e #define OBJ_BLONDE_LIFT 0x4f #define OBJ_SHUTTLE1 0x51 -#define OBJ_JOANNA_BOMB 0x52 -#define OBJ_VELVET_BOMB 0x53 +#define OBJ_BOND_BOMB 0x52 +#define OBJ_COOP_BOMB 0x53 #define OBJ_PLANTED_BOMB 0x54 #define OBJ_LOBBYDOOR_LEFT 0x5f #define OBJ_LOBBYDOOR_RIGHT 0x60 @@ -1206,12 +1206,12 @@ u8 func1001_objectives_failed_msg[] = { u8 func1000_setup_counterop[] = { noop016c yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) + set_chr_team(CHR_ANTI, TEAM_ENEMY) yield - set_chr_team(CHR_COUNTEROP, TEAM_ENEMY) - give_object_to_chr(OBJ_JOANNA_BOMB, CHR_JOANNA) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - give_object_to_chr(OBJ_VELVET_BOMB, CHR_VELVET) + set_chr_team(CHR_ANTI, TEAM_ENEMY) + give_object_to_chr(OBJ_BOND_BOMB, CHR_BOND) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + give_object_to_chr(OBJ_COOP_BOMB, CHR_COOP) label(0x2c) set_function(CHR_SELF, GFUNC_REBUILD_GROUPS) endfunction @@ -1276,7 +1276,7 @@ u8 func0411_cass_in_office[] = { set_stage_flag(STAGEFLAG_TRIGGER_YWSM) set_onshot_function(FUNC_CASS_RUNNING) restart_timer - speak(TARGET_CHR, 0x4a08, 0x0d23, CHANNEL_6, COLOR_06_WHITE) // "Go to the helipad if you want to live." + speak(CHR_TARGET, 0x4a08, 0x0d23, CHANNEL_6, COLOR_06_WHITE) // "Go to the helipad if you want to live." animation(0x0226, -1, -1, 0x1010, CHR_SELF, 2) yield @@ -1325,7 +1325,7 @@ u8 func0411_cass_in_office[] = { animation(0x0245, 0, -1, 0x1010, CHR_SELF, 2) try_draw_weapon(MODEL_CHRFALCON2, WEAPON_FALCON2, 0x00000000, /*goto*/ 0x2c) label(0x2c) - speak(TARGET_CHR, 0x4a07, 0x81a3, CHANNEL_6, COLOR_04_ORANGE) // "Get the hell out of my office..." + speak(CHR_TARGET, 0x4a07, 0x81a3, CHANNEL_6, COLOR_04_ORANGE) // "Get the hell out of my office..." beginloop(0x58) if_sound_finished(CHANNEL_6, /*goto*/ 0x2c) @@ -1427,7 +1427,7 @@ u8 func0413_cass_running[] = { do_special_animation(-1) restart_timer if_stage_flag_eq(STAGEFLAG_CASS_SAID_YWSM, FALSE, /*goto*/ 0x06) - say_quip(TARGET_CHR, 0x2b, 0xff, 0x00, 0xff, BANK_1, 0x0a, 0x04) + say_quip(CHR_TARGET, 0x2b, 0xff, 0x00, 0xff, BANK_1, 0x0a, 0x04) // And wait 2 seconds for the speech to finish beginloop(0x0b) @@ -1464,7 +1464,7 @@ u8 func1004_check_cass_dead[] = { endloop(0x03) label(0x2c) - message(CHR_JOANNA, 0x4a0e) // "Cassandra has been immobilized." + message(CHR_BOND, 0x4a0e) // "Cassandra has been immobilized." set_stage_flag(STAGEFLAG_CASS_DEAD) set_function(CHR_SELF, GFUNC_IDLE) endfunction @@ -1477,7 +1477,7 @@ u8 func1005_check_cass_captured[] = { if_chr_dying(CHR_CASS, /*goto*/ 0x0d) if_chr_unloaded(CHR_CASS, /*goto*/ 0x0d) if_chr_y(CHR_CASS, 0, OPERATOR_LESS_THAN, /*goto*/ 0x2c) - message(CHR_JOANNA, 0x4a0f) // "Cassandra has been captured successfully." + message(CHR_BOND, 0x4a0f) // "Cassandra has been captured successfully." set_stage_flag(STAGEFLAG_CASS_CAPTURED) set_function(CHR_SELF, GFUNC_IDLE) @@ -1520,7 +1520,7 @@ u8 func1006_lift_disabling[] = { unset_object_flag_bank0(OBJ_CHIEF_LIFT, OBJECTFLAG0_DEACTIVATED) unset_chr_flag_bank3(CHR_CHIEF, CHRFLAG3_HIDDEN) set_function(CHR_CHIEF, FUNC_CHIEF) - message(CHR_JOANNA, 0x4a19) // "Lift has been disabled." + message(CHR_BOND, 0x4a19) // "Lift has been disabled." // Wait until chief dead beginloop(0x08) @@ -1530,7 +1530,7 @@ u8 func1006_lift_disabling[] = { endloop(0x08) label(0x2c) - message(CHR_JOANNA, 0x4a10) // "Security chief has been eliminated." + message(CHR_BOND, 0x4a10) // "Security chief has been eliminated." set_stage_flag(STAGEFLAG_CHIEF_DEAD) restart_timer @@ -1646,11 +1646,11 @@ u8 func1007_bomb_logic[] = { // Plant bomb label(0x2c) - message(CHR_JOANNA, 0x4a16) // "Skedar bomb has been placed successfully." + message(CHR_BOND, 0x4a16) // "Skedar bomb has been placed successfully." remove_weapon_from_inventory(WEAPON_SKEDARBOMB) set_stage_flag(STAGEFLAG_BOMB_PLANTED) - hide_object(OBJ_JOANNA_BOMB) - hide_object(OBJ_VELVET_BOMB) + hide_object(OBJ_BOND_BOMB) + hide_object(OBJ_COOP_BOMB) assign_sound(0x8144, CHANNEL_1) play_sound_from_object(CHANNEL_1, OBJ_PLANTED_BOMB, 0x0258, 0x04b0) unset_object_flag_bank1(OBJ_PLANTED_BOMB, OBJECTFLAG1_INVISIBLE) @@ -1678,7 +1678,7 @@ u8 func1007_bomb_logic[] = { set_countdown_timer(0) stop_countdown_timer set_stage_flag(STAGEFLAG_BOMB_EXPIRED) - message(CHR_JOANNA, 0x4a17) // "Skedar bomb has detonated." + message(CHR_BOND, 0x4a17) // "Skedar bomb has detonated." // Wait 2 seconds restart_timer @@ -1689,7 +1689,7 @@ u8 func1007_bomb_logic[] = { // Bomb exploding label(0xb2) label(0x2c) - explosions_around_chr(CHR_JOANNA) + explosions_around_chr(CHR_BOND) // Wait 2 seconds for player to die restart_timer @@ -1733,15 +1733,15 @@ u8 func1008_check_bomb_unplantable[] = { yield consider_coop_for_p1p2_chr(CHR_SELF) if_stage_flag_eq(STAGEFLAG_BOMB_PLANTED, TRUE, /*goto*/ 0x0d) - if_chr_in_room(CHR_JOANNA, 0x00, 0x002b, /*goto*/ 0x06) - if_chr_in_room(CHR_VELVET, 0x00, 0x002b, /*goto*/ 0x06) + if_chr_in_room(CHR_BOND, 0x00, 0x002b, /*goto*/ 0x06) + if_chr_in_room(CHR_COOP, 0x00, 0x002b, /*goto*/ 0x06) goto_next(0x2c) label(0x06) endloop(0xb1) // Fail mission label(0x2c) - message(CHR_JOANNA, 0x4a18) // "Lift doors locked - bomb cannot be placed." + message(CHR_BOND, 0x4a18) // "Lift doors locked - bomb cannot be placed." set_stage_flag(STAGEFLAG_BOMB_UNPLANTABLE) // Difficulty is agent or bomb has been planted - return @@ -1849,15 +1849,15 @@ u8 func100a_check_for_completion[] = { // If either player is alive label(0x06) - if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_dying(CHR_JOANNA, /*goto*/ 0x2c) - if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c) + if_chr_dying(CHR_BOND, /*goto*/ 0x2c) + if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c) goto_next(0x06) label(0x2c) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2c) - if_chr_dying(CHR_VELVET, /*goto*/ 0x2c) - if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2c) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2c) + if_chr_dying(CHR_COOP, /*goto*/ 0x2c) + if_chr_unloaded(CHR_COOP, /*goto*/ 0x2c) goto_next(0x06) // Both players dead @@ -1931,20 +1931,20 @@ u8 func0416_intro[] = { set_object_flag_bank1(0x62, OBJECTFLAG1_INVISIBLE) unset_object_flag_bank0(0x61, OBJECTFLAG0_00000100) unset_object_flag_bank0(0x62, OBJECTFLAG0_00000100) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_INTRO) camera_movement(0x0472) cmd0175(60) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0473, -1, -1, 0x0600, CHR_JOANNA, 4) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0473, -1, -1, 0x0600, CHR_BOND, 4) restart_timer fade_to_color(0x000000ff, 0) fade_to_color(0x00000000, 110) - set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE) yield - set_cutscene_weapon(CHR_JOANNA, WEAPON_MAULER, WEAPON_NONE) + set_cutscene_weapon(CHR_BOND, WEAPON_MAULER, WEAPON_NONE) open_door(OBJ_LOBBYDOOR_LEFT) open_door(OBJ_LOBBYDOOR_RIGHT) @@ -1995,11 +1995,11 @@ u8 func0416_intro[] = { set_object_flag_bank0(0x61, OBJECTFLAG0_00000100) set_object_flag_bank0(0x62, OBJECTFLAG0_00000100) mute_channel(CHANNEL_10) - unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) - unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - animation(0x0473, -2, -1, 0x0600, CHR_JOANNA, 2) + unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) + unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + animation(0x0473, -2, -1, 0x0600, CHR_BOND, 2) restart_default_music reset_ambience enter_firstperson @@ -2008,15 +2008,15 @@ u8 func0416_intro[] = { }; u8 func0417_outro[] = { - set_invincible(CHR_JOANNA) + set_invincible(CHR_BOND) hide_object(OBJ_SHUTTLE1) - set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN) - set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN) set_music_track(MUSIC_G5_OUTRO) camera_movement(0x0474) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE) - set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000) - set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE) + set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000) + set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN) set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE) show_object(OBJ_SHUTTLE2) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 10e7ddfe2..1e2b8179f 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -11020,11 +11020,11 @@ bool aiChrSetTeam(void) bool ai010c(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - struct chrdata *chr = chrFindById(g_Vars.chrdata, FOLLOW_CHR); + struct chrdata *chr = chrFindById(g_Vars.chrdata, CHR_PRESET); if (!chr || (!chr->unk020 && chr->pos->unk00 != 6)) { - chrSetChrPreset(g_Vars.chrdata, CHR_JOANNA); - chr = chrFindById(g_Vars.chrdata, FOLLOW_CHR); + chrSetChrPreset(g_Vars.chrdata, CHR_BOND); + chr = chrFindById(g_Vars.chrdata, CHR_PRESET); } if (func0f04aa8c(chr, g_Vars.chrdata, cmd[2])) { @@ -16459,7 +16459,7 @@ bool aiSetChrSpecialDeathAnimation(void) */ bool aiSetRoomToSearch(void) { - struct chrdata *target = chrFindById(g_Vars.chrdata, TARGET_CHR); + struct chrdata *target = chrFindById(g_Vars.chrdata, CHR_TARGET); if (target && target->pos) { g_Vars.chrdata->bitfielddata.roomtosearch = target->pos->room; diff --git a/src/include/constants.h b/src/include/constants.h index d3c86b4ce..8a170e585 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -80,16 +80,16 @@ #define CHANNEL_9 9 #define CHANNEL_10 10 -#define CHR_P1P2 0xf2 -#define CHR_F3 0xf3 -#define CHR_COUNTEROP 0xf4 -#define CHR_VELVET 0xf5 -#define TARGET_CHR 0xf6 -#define CHR_JOANNA 0xf8 -#define CHR_CLONE 0xf9 -#define CHR_FRIEND 0xfb // when seeing friend die -#define FOLLOW_CHR 0xfc -#define CHR_SELF 0xfd +#define CHR_P1P2 0xf2 +#define CHR_F3 0xf3 +#define CHR_ANTI 0xf4 +#define CHR_COOP 0xf5 +#define CHR_TARGET 0xf6 +#define CHR_BOND 0xf8 +#define CHR_CLONE 0xf9 +#define CHR_SEEDIE 0xfb +#define CHR_PRESET 0xfc +#define CHR_SELF 0xfd // Character flags - bank 0 (chr struct offset 0x114 - chr->flags) #define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware @@ -301,8 +301,8 @@ #define GFUNC_WAKEUP 0x0008 #define GFUNC_IDLE_0009 0x0009 #define GFUNC_BUSY 0x000a -#define GFUNC_CHOOSE_TARGET_CHR 0x000b -#define GFUNC_COMBAT_WITH_TARGET_CHR 0x000c +#define GFUNC_CHOOSE_TARGET 0x000b +#define GFUNC_COMBAT_WITH_TARGET 0x000c #define GFUNC_INIT_COMBAT 0x000d // unused #define GFUNC_SEE_THEN_ATTACK 0x000e // unused #define GFUNC_HAND_COMBAT 0x000f @@ -326,7 +326,7 @@ #define GFUNC_STOP_AND_IDLE 0x0021 #define GFUNC_COMMENT_ON_PLAYER_DEAD 0x0022 // unused #define GFUNC_DODGE 0x0023 -#define GFUNC_FOLLOW_JOANNA 0x0024 +#define GFUNC_FOLLOW_BOND 0x0024 #define GFUNC_POINTLESS 0x0025 // unused #define GFUNC_INIT_PSYCHOSIS 0x0026 #define GFUNC_PSYCHOSISED 0x0027 diff --git a/src/setup/ailists.c b/src/setup/ailists.c index 83685a3fd..9641d0568 100644 --- a/src/setup/ailists.c +++ b/src/setup/ailists.c @@ -82,7 +82,7 @@ u8 func0006_unalerted[] = { // Injured or has no gun label(0x16) - say_quip(CHR_JOANNA, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" dprint 'N','O','G','U','N',',','\n',0, if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x06) unset_self_flag_bankx(CHRFLAG1_DOINGIDLEANIMATION, BANK_1) @@ -105,16 +105,16 @@ u8 func0006_unalerted[] = { label(0x06) dprint 'B','E','E','N',' ','S','H','O','T','\n',0, // if 01000000, set 04000000 - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_01000000, /*goto*/ 0x14) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x14) goto_next(0x13) label(0x14) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_04000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000) // Stop chr, either immediately or by waiting for their animation to end. // I think the animation is their injured animation. label(0x13) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) if_chr_idle(/*goto*/ 0x13) goto_next(0x03) @@ -130,7 +130,7 @@ u8 func0006_unalerted[] = { label(0x16) if_self_flag_bankx_eq(CHRFLAG1_WARNED, TRUE, BANK_1, /*goto*/ LABEL_SCAN_START) - say_quip(CHR_JOANNA, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ 0x13) set_squadron_alertness(100) @@ -289,33 +289,33 @@ u8 func0006_unalerted[] = { // Handle seeing player label(LABEL_SEE_DETECT) dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0, - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000, /*goto*/ 0x14) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0x14) goto_next(0x13) label(0x14) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_COMBATBOOST, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x15) if_chr_in_view(/*goto*/ LABEL_DISGUISE_UNCOVERED) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED) label(0x15) dprint 'N','O','T',' ','A','I','M','I','N','G',' ','A','T',' ','M','E','\n',0, label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13) goto_next(LABEL_DISGUISE_UNCOVERED) label(0x13) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_COMBATBOOST, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x15) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x15) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x15) goto_next(0x14) label(0x15) @@ -323,15 +323,15 @@ u8 func0006_unalerted[] = { goto_next(0xea) label(0x14) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000, /*goto*/ 0xe8) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_01000000, /*goto*/ 0xe8) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0xe8) label(0xea) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0xe6) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0xe6) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_COMBATBOOST, /*goto*/ 0xe6) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0xe6) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0xe6) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0xe6) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0xe6) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0xe6) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0xe6) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0xe6) dprint 'T','A','L','K',' ','D','I','S','T',' ','G','U','N','\n',0, if_chr_distance_gt(900, /*goto*/ 0x15) goto_next(0xe8) @@ -363,18 +363,18 @@ u8 func0006_unalerted[] = { if_near_miss(/*goto*/ 0x16) if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, TRUE, BANK_0, /*goto*/ 0x94) label(0x16) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x14) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14) if_any_chr_doing_action(ACTION_WARN_OTHERS, /*goto*/ 0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_RUN_FOR_ALARM, TRUE, BANK_0, /*goto*/ 0x9f) label(0x16) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" label(0x9f) set_squadron_alertness(100) goto_next(0x77) label(0xdb) // jumped to from below label(0x14) - say_quip(CHR_JOANNA, 0x20, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Imposter!","It's a spy!" + say_quip(CHR_BOND, 0x20, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Imposter!","It's a spy!" set_squadron_alertness(100) goto_next(0x77) @@ -383,15 +383,15 @@ u8 func0006_unalerted[] = { yield yield dprint 'S','3',0, - say_quip(CHR_JOANNA, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" set_squadron_alertness(100) goto_next(0x77) label(0x94) label(0x16) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_PSYCHOSISED) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED) dprint 'S','U','R','P','R','I','S','E','D','!','\n',0, - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x16) if_chr_idle_action_eq(IDLEACTION_SITTING_TYPING, /*goto*/ 0x13) @@ -424,7 +424,7 @@ u8 func0006_unalerted[] = { yield dprint 'S','7',0, dprint 'H','E','A','R','D','E','T','E','C','T','\n',0, - say_quip(CHR_JOANNA, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Did you hear that?","What's that noise?","I heard a noise..." + say_quip(CHR_BOND, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Did you hear that?","What's that noise?","I heard a noise..." if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ LABEL_HEARSPAWN) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x80) @@ -482,31 +482,31 @@ u8 func0006_unalerted[] = { // label(LABEL_NEAR_MISS) increase_self_alertness(100) - say_quip(CHR_JOANNA, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" - set_target_chr(CHR_JOANNA) + say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x13) goto_next(0x16) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13) goto_next(0x16) label(0x13) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_next(0x94) label(0x16) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x16) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x16) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x13) goto_next(0x16) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13) goto_next(0x16) label(0x13) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_next(0x94) label(0x16) @@ -521,7 +521,7 @@ u8 func0006_unalerted[] = { label(0x94) label(0x16) dprint 'S','U','R','P','R','I','S','E','D','!','\n',0, - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x76) animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) @@ -533,7 +533,7 @@ u8 func0006_unalerted[] = { label(0x17) if_self_flag_bankx_eq(CHRFLAG0_CAN_EXAMINE_BODY, FALSE, BANK_0, /*goto*/ 0x7d) - try_run_to_chr_with_hand_up(CHR_FRIEND, /*goto*/ 0x7e) + try_run_to_chr_with_hand_up(CHR_SEEDIE, /*goto*/ 0x7e) dprint 'W','A','L','K','F','A','I','L','\n',0, beginloop(0x7e) @@ -545,7 +545,7 @@ u8 func0006_unalerted[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x13) if_target_chr_in_sight(/*goto*/ 0x16) label(0x13) - if_self_distance_to_chr_lt(150, CHR_FRIEND, /*goto*/ 0x7f) + if_self_distance_to_chr_lt(150, CHR_SEEDIE, /*goto*/ 0x7f) if_chr_stopped(/*goto*/ 0x7f) endloop(0x7e) @@ -570,7 +570,7 @@ u8 func0006_unalerted[] = { label(0x13) if_self_flag_bankx_eq(CHRFLAG0_CAN_EXAMINE_BODY, FALSE, BANK_0, /*goto*/ 0x13) if_timer_lt(120, /*goto*/ 0x13) - say_quip(CHR_JOANNA, 0x13, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Are you okay?","Got a man down!","He's bought it..." + say_quip(CHR_BOND, 0x13, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Are you okay?","Got a man down!","He's bought it..." unset_self_flag_bankx(CHRFLAG0_CAN_EXAMINE_BODY, BANK_0) label(0x13) if_timer_gt(600, /*goto*/ 0x7d) @@ -579,37 +579,37 @@ u8 func0006_unalerted[] = { // Heard gunfire label(0x16) set_alertness(100) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_first(LABEL_SCAN_START) // Saw player label(0x17) set_alertness(100) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_first(LABEL_SCAN_START) // Examination finished label(0x7d) dprint 'E','X','A','M',' ','B','O','D','Y','D','O','N','E','\n',0, - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x13) goto_next(0x16) label(0x13) set_alertness(100) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_first(0xdb) // Can't see Jonna label(0x16) - if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x16) - set_target_chr(CHR_VELVET) + if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x16) + set_target_chr(CHR_COOP) if_within_units_of_sight(30, /*goto*/ 0x13) goto_next(0x16) label(0x13) set_alertness(100) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) goto_first(0xdb) label(0x16) @@ -741,7 +741,7 @@ u8 func0006_unalerted[] = { label(0x13) dprint 'W','A','R','N','E','D','B','E','N','D','3','\n',0, if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, FALSE, BANK_0, /*goto*/ 0x77) - say_quip(CHR_JOANNA, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x75) animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) @@ -780,7 +780,7 @@ u8 unregistered_function1[] = { }; u8 func0008_wakeup[] = { - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_PSYCHOSISED) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED) if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13) goto_next(0x16) @@ -853,7 +853,7 @@ u8 func0007_alerted[] = { #define LABEL_SNIPE 0xde #define LABEL_FLEE_GRENADE 0xe4 - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_PSYCHOSISED) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED) if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13) goto_next(0x16) @@ -873,7 +873,7 @@ u8 func0007_alerted[] = { goto_next(0x16) label(0x13) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // is_chr_is_dead_maybe (named wrong) was false label(0x16) @@ -901,7 +901,7 @@ u8 func0007_alerted[] = { endloop(0x1c) label(0x16) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "You bitch!","Oh... my... god","She got me" + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "You bitch!","Oh... my... god","She got me" set_onshot_function(GFUNC_IDLE) set_function(CHR_SELF, GFUNC_IDLE) @@ -930,8 +930,8 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x16) if_num_times_shot_lt(1, /*goto*/ 0x16) if_timer_lt(20, /*goto*/ 0x16) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Medic!","Help!","You shot me?!" - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Medic!","Help!","You shot me?!" + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x16) if_timer_gt(180, /*goto*/ 0x13) @@ -947,7 +947,7 @@ u8 func0007_alerted[] = { dprint 'L','O','S','T',' ','M','Y',' ','G','U','N','\n',0, label(0xac) set_chr_dodge_rating(2, 0x00) - say_quip(CHR_JOANNA, 0x21, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "My gun!" + say_quip(CHR_BOND, 0x21, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "My gun!" stop_chr restart_timer yield @@ -1067,7 +1067,7 @@ u8 func0007_alerted[] = { yield label(0x16) if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01) label(0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ LABEL_TRACK) dprint 'C','H','E','C','K','I','N','J','U','R','Y','E','N','D','\n',0, @@ -1080,7 +1080,7 @@ u8 func0007_alerted[] = { // No need to warn label(0x16) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) goto_next(0x16) // Unreachable - nothing jumps here @@ -1100,11 +1100,11 @@ u8 func0007_alerted[] = { goto_next(0x93) label(0x13) - say_quip(CHR_JOANNA, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" + say_quip(CHR_BOND, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" goto_next(LABEL_FLANK_LEFT) label(0x15) - say_quip(CHR_JOANNA, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" + say_quip(CHR_BOND, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" goto_next(LABEL_FLANK_RIGHT) // Attempt trap (hide and ambush when player gets near) @@ -1169,7 +1169,7 @@ u8 func0007_alerted[] = { label(0x16) dprint 'A','T',' ','T','R','A','P',' ','P','A','D','\n',0, label(0x9b) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x03) beginloop(0x03) @@ -1222,14 +1222,14 @@ u8 func0007_alerted[] = { label(0xee) if_chr_lost_track_of_target_maybe(/*goto*/ 0x13) - set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_return_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x13) dprint 'A','M','B','U','S','H',' ','P','L','A','Y','E','R','\n',0, set_accuracy(30) set_self_flag_bankx(CHRFLAG0_02000000, BANK_0) - say_quip(CHR_JOANNA, 0x01, 0x50, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" + say_quip(CHR_BOND, 0x01, 0x50, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" goto_first(0x1b) label(0xa3) @@ -1261,7 +1261,7 @@ u8 func0007_alerted[] = { label(0xa7) dprint 'U','N','D','E','R',' ','P','O','P','P','E','R','\n',0, label(0xa8) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xa9) beginloop(0xa9) @@ -1298,7 +1298,7 @@ u8 func0007_alerted[] = { endloop(0xab) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x13) goto_first(0xa8) @@ -1370,7 +1370,7 @@ u8 func0007_alerted[] = { label(0x13) restart_timer - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) cmd01ba(0x0022, 0x0000, /*goto*/ 0xdf) beginloop(0xdf) @@ -1491,13 +1491,13 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_orders(ACTION_SYNC_SHOOT, /*goto*/ 0x16) label(0x16) - say_quip(CHR_JOANNA, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer cmd0124_run_for_cover_maybe(ACTION_UNDER_COVER) beginloop(0x55) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -1521,12 +1521,12 @@ u8 func0007_alerted[] = { set_self_flag_bankx(CHRFLAG0_00000010, BANK_0) dprint 'U','N','D','E','R',' ','C','O','V','E','R','\n',0, label(0x58) - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) restart_timer set_action(ACTION_UNDER_COVER, TRUE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x59) beginloop(0x59) @@ -1542,7 +1542,7 @@ u8 func0007_alerted[] = { endloop(0x59) label(0x61) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) dprint 'B','R','E','A','K',' ','C','O','V','E','R','\n',0, if_self_flag_bankx_eq(CHRFLAG0_00008000, TRUE, BANK_0, /*goto*/ 0x66) label(0x16) @@ -1614,7 +1614,7 @@ u8 func0007_alerted[] = { if_in_disarm_range(/*goto*/ 0x26) goto_next(0x87) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -1635,7 +1635,7 @@ u8 func0007_alerted[] = { goto_next(0x48) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) call_rng if_rand_lt(10, /*goto*/ 0x57) if_rand_gt(64, /*goto*/ 0x16) @@ -1674,7 +1674,7 @@ u8 func0007_alerted[] = { endloop(0x60) label(0x57) - say_quip(CHR_JOANNA, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_special_animation(-2) goto_next(0xe8) @@ -1772,7 +1772,7 @@ u8 func0007_alerted[] = { beginloop(0x30) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -1865,7 +1865,7 @@ u8 func0007_alerted[] = { set_orders(ACTION_THROW_GRENADE, /*goto*/ 0x47) beginloop(0x47) - say_quip(CHR_JOANNA, 0x05, 0xff, 0x07, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x05, 0xff, 0x07, 0x00, BANK_0, 0x00, 0x00) if_chr_stopped(/*goto*/ 0x4a) endloop(0x47) @@ -1904,7 +1904,7 @@ u8 func0007_alerted[] = { set_action(ACTION_WAIT, TRUE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x40) beginloop(0x40) @@ -1964,7 +1964,7 @@ u8 func0007_alerted[] = { endloop(0x89) label(0x8a) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -1985,7 +1985,7 @@ u8 func0007_alerted[] = { goto_first(0x48) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) call_rng if_rand_lt(10, /*goto*/ 0x57) if_rand_gt(64, /*goto*/ 0x16) @@ -2024,7 +2024,7 @@ u8 func0007_alerted[] = { endloop(0x43) label(0x57) - say_quip(CHR_JOANNA, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_special_animation(-2) goto_next(0xe9) @@ -2034,13 +2034,13 @@ u8 func0007_alerted[] = { set_accuracy(0) label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x16) label(0x13) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) @@ -2085,7 +2085,7 @@ u8 func0007_alerted[] = { endloop(0x4f) label(0x50) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -2102,7 +2102,7 @@ u8 func0007_alerted[] = { label(0x13) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) goto_next(0x16) label(0x13) @@ -2148,7 +2148,7 @@ u8 func0007_alerted[] = { goto_first(0x1b) label(LABEL_TRACK) - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) dprint 'T','R','A','C','K','\n',0, set_action(ACTION_FOLLOW, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) @@ -2159,10 +2159,10 @@ u8 func0007_alerted[] = { beginloop(0x35) if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01) label(0x13) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -2201,7 +2201,7 @@ u8 func0007_alerted[] = { label(0x16) if_chr_lost_track_of_target_maybe(/*goto*/ 0x13) set_return_function(CHR_SELF, GFUNC_UNALERTED) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x13) if_chr_distance_gt(1300, /*goto*/ 0x3c) @@ -2238,11 +2238,11 @@ u8 func0007_alerted[] = { label(0x13) dprint 'C','O','M','P','L','E','T','E','D','\n',0, - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) goto_first(0xf7) label(0x36) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) dprint 'E','N','D',' ','T','R','A','C','K','\n',0, set_alertness(0) set_return_function(CHR_SELF, GFUNC_ALERTED) @@ -2269,7 +2269,7 @@ u8 func0007_alerted[] = { beginloop(0x85) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -2294,7 +2294,7 @@ u8 func0007_alerted[] = { label(0x26) dprint 'I','C','A','N','S','E',' ','P','L','A','Y','E','R','\n',0, - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13) if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16) if_chr_distance_lt(120, /*goto*/ 0x16) @@ -2321,7 +2321,7 @@ u8 func0007_alerted[] = { goto_first(0x48) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED) call_rng if_rand_lt(10, /*goto*/ 0x57) if_rand_gt(64, /*goto*/ 0x16) @@ -2361,8 +2361,8 @@ u8 func0007_alerted[] = { goto_next(0x67) label(0x44) - say_quip(CHR_JOANNA, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0x45) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) @@ -2370,7 +2370,7 @@ u8 func0007_alerted[] = { endloop(0x45) label(0x57) - say_quip(CHR_JOANNA, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_special_animation(-2) goto_next(0xea) label(0x2a) @@ -2379,13 +2379,13 @@ u8 func0007_alerted[] = { set_accuracy(0) label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x16) label(0x13) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) @@ -2461,7 +2461,7 @@ u8 func0007_alerted[] = { set_action(ACTION_RETREAT, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_JOANNA, 0x04, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Go to plan B","Get the hell out of here!","Retreat!" + say_quip(CHR_BOND, 0x04, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Go to plan B","Get the hell out of here!","Retreat!" try_set_target_chr_to_teammate(/*goto*/ 0x95) if_self_flag_bankx_eq(CHRFLAG1_00000002, TRUE, BANK_1, /*goto*/ 0x16) label(0x16) @@ -2507,7 +2507,7 @@ u8 func0007_alerted[] = { set_action(ACTION_SURRENDER, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_JOANNA, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) // "Please! Don't shoot me!","I give up!","You win! I surrender" + say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) // "Please! Don't shoot me!","I give up!","You win! I surrender" restart_timer surrender @@ -2530,26 +2530,26 @@ u8 func0007_alerted[] = { goto_first(0x71) label(0x72) - say_quip(CHR_JOANNA, 0x08, 0x23, 0x0a, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x08, 0x23, 0x0a, 0x00, BANK_0, 0x00, 0x00) restart_timer goto_first(0x71) label(0x95) unset_self_flag_bankx(CHRFLAG0_CAN_RETREAT, BANK_0) unset_self_flag_bankx(CHRFLAG0_CANT_ALERT_GROUP, BANK_0) - try_run_to_chr(FOLLOW_CHR, /*goto*/ 0x96) + try_run_to_chr(CHR_PRESET, /*goto*/ 0x96) beginloop(0x96) cmd013d_if_grenade_thrown_nearby_maybe(ACTION_GRENADE_STOP, /*goto*/ LABEL_FLEE_GRENADE) - if_chr_death_animation_finished(FOLLOW_CHR, /*goto*/ 0x84) - if_chr_unloaded(FOLLOW_CHR, /*goto*/ 0x84) - if_detected_chr(FOLLOW_CHR, /*goto*/ 0x97) + if_chr_death_animation_finished(CHR_PRESET, /*goto*/ 0x84) + if_chr_unloaded(CHR_PRESET, /*goto*/ 0x84) + if_detected_chr(CHR_PRESET, /*goto*/ 0x97) if_chr_stopped(/*goto*/ 0x97) endloop(0x96) label(0x97) dprint 'W','A','R','N',' ','F','R','I','E','N','D','S','\n',0, - say_quip(CHR_JOANNA, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) set_squadron_alertness(100) label(0x84) goto_first(0x1b) @@ -2564,7 +2564,7 @@ u8 func0007_alerted[] = { set_action(ACTION_WARN_OTHERS, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_JOANNA, 0x22, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Trigger the alarm" + say_quip(CHR_BOND, 0x22, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Trigger the alarm" go_to_target_pad(SPEED_JOG) beginloop(0x9d) @@ -2723,7 +2723,7 @@ u8 func000a_do_idle_animation[] = { label(0x12) set_return_function(CHR_SELF, GFUNC_UNALERTED) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2745,18 +2745,18 @@ u8 func000a_do_idle_animation[] = { * If both fail, the function yields and continues checking. */ u8 func000b_choose_target_chr[] = { - set_onshot_function(GFUNC_CHOOSE_TARGET_CHR) + set_onshot_function(GFUNC_CHOOSE_TARGET) if_num_times_shot_lt(1, /*goto*/ 0xd3) // Has been shot - say_quip(CHR_JOANNA, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" beginloop(0x03) if_chr_stopped(/*goto*/ 0x16) endloop(0x03) label(0x16) - say_quip(CHR_JOANNA, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, set_squadron_alertness(100) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, @@ -2764,7 +2764,7 @@ u8 func000b_choose_target_chr[] = { goto_next(0xd3) label(0x13) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) // Hasn't been shot, or can't engage target chr label(0xd3) @@ -2790,8 +2790,8 @@ u8 func000b_choose_target_chr[] = { label(0x16) dprint 'F','O','U','N','D','\n',0, set_squadron_alertness(100) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) - set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) + set_return_function(CHR_SELF, GFUNC_CHOOSE_TARGET) label(0x13) dprint 'F','O','U','N','D','A','L','E','R','T','\n',0, @@ -2802,12 +2802,12 @@ u8 func000b_choose_target_chr[] = { goto_first(0xd3) label(0x13) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; u8 func000d_init_combat[] = { - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) // If not idle, turn off special death animation if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, FALSE, BANK_1, /*goto*/ 0x13) @@ -2832,8 +2832,8 @@ u8 func000d_init_combat[] = { label(0x13) label(0x16) - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -2909,11 +2909,11 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) if_chr_is_dead_maybe(CHR_SELF, /*goto*/ 0x16) - say_quip(CHR_JOANNA, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_next(0x17) label(0x16) - say_quip(CHR_JOANNA, 0x02, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x02, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x17) set_onshot_function(GFUNC_IDLE) @@ -2938,8 +2938,8 @@ u8 func000c_combat_with_target_chr[] = { if_self_flag_bankx_eq(CHRFLAG0_SAID_INJURY_QUIP, TRUE, BANK_0, /*goto*/ 0x16) if_num_times_shot_lt(1, /*goto*/ 0x16) if_timer_lt(20, /*goto*/ 0x16) - say_quip(CHR_JOANNA, 0x0d, 0x28, 0x03, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0d, 0x28, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x16) if_chr_stopped(/*goto*/ 0x13) @@ -2950,7 +2950,7 @@ u8 func000c_combat_with_target_chr[] = { dprint 'D','E','T','E','C','T','3','\n',0, label(0xb2) yield - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_08000000, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13) unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) goto_next(0x16) @@ -3019,9 +3019,9 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) dprint 'F','O','U','N','D',' ','E','N','E','M','Y','\n',0, restart_timer - if_chr_dying(TARGET_CHR, /*goto*/ 0xba) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xba) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xba) + if_chr_dying(CHR_TARGET, /*goto*/ 0xba) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xba) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xba) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0x16) @@ -3049,9 +3049,9 @@ u8 func000c_combat_with_target_chr[] = { if_self_flag_bankx_eq(CHRFLAG1_00000001, FALSE, BANK_1, /*goto*/ 0x13) if_timer_gt(20, /*goto*/ 0x09) label(0x13) - if_chr_dying(TARGET_CHR, /*goto*/ 0xba) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xba) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xba) + if_chr_dying(CHR_TARGET, /*goto*/ 0xba) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xba) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xba) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xba) @@ -3085,9 +3085,9 @@ u8 func000c_combat_with_target_chr[] = { label(0xb7) label(0xb9) if_in_disarm_range(/*goto*/ 0xb6) - if_chr_dying(TARGET_CHR, /*goto*/ 0xba) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xba) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xba) + if_chr_dying(CHR_TARGET, /*goto*/ 0xba) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xba) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xba) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xba) @@ -3100,14 +3100,14 @@ u8 func000c_combat_with_target_chr[] = { try_run_to_target_chr(/*goto*/ 0xbc) beginloop(0xbc) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc0) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc0) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc0) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc0) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc0) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc0) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xc0) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13) if_in_disarm_range(/*goto*/ 0xbf) label(0x13) if_timer_gt(120, /*goto*/ 0xc0) @@ -3122,9 +3122,9 @@ u8 func000c_combat_with_target_chr[] = { label(0xb6) set_grenade_probability_out_of_255(255) set_self_flag_bank3(CHRFLAG3_00000040) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc1) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc1) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc1) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc1) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc1) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc1) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xc1) @@ -3194,7 +3194,7 @@ u8 func000c_combat_with_target_chr[] = { goto_next(0x16) label(0x17) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_gt(50, /*goto*/ 0x13) @@ -3214,13 +3214,13 @@ u8 func000c_combat_with_target_chr[] = { try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0xc3) label(0xc3) - say_quip(CHR_JOANNA, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0xe2) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc1) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc1) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc1) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc1) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc1) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc1) if_target_chrs_target_is_different(/*goto*/ 0x16) goto_next(0xc1) @@ -3244,25 +3244,25 @@ u8 func000c_combat_with_target_chr[] = { label(0xc1) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) dprint 'P','U','N','C','H','M','I','S','S','E','D','\n',0, - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x16) label(0x13) dprint 'P','U','N','C','H','H','I','T','\n',0, - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) dprint 'B','O','N','N','D',' ','3','\n',0, if_self_flag_bankx_eq(CHRFLAG1_00000800, FALSE, BANK_1, /*goto*/ 0x13) if_chr_lost_track_of_target_maybe(/*goto*/ 0x13) - damage_chr(TARGET_CHR, 18) + damage_chr(CHR_TARGET, 18) unset_self_flag_bankx(CHRFLAG1_00000800, BANK_1) label(0x13) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc5) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc5) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc5) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc5) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc5) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc5) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xc5) @@ -3288,14 +3288,14 @@ u8 func000c_combat_with_target_chr[] = { label(0x53) dprint 'G','O',' ','T','O',' ','C','O','V','E','R','\n',0, - say_quip(CHR_JOANNA, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) cmd0124_run_for_cover_maybe(ACTION_UNDER_COVER) restart_timer beginloop(0xc7) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc5) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc5) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc5) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc5) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc5) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc5) if_enemy_distance_lt_and_los(400, /*goto*/ 0x13) if_chr_stopped(/*goto*/ 0x16) if_timer_gt(360, /*goto*/ 0x16) @@ -3311,15 +3311,15 @@ u8 func000c_combat_with_target_chr[] = { try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0xc9) beginloop(0xc9) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc5) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc5) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc5) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc5) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc5) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc5) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xc5) label(0x13) if_enemy_distance_lt_and_los(400, /*goto*/ 0x15) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_CLOAKED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13) if_in_disarm_range(/*goto*/ 0xca) label(0x13) if_timer_gt(200, /*goto*/ 0x16) @@ -3343,19 +3343,19 @@ u8 func000c_combat_with_target_chr[] = { goto_next(0x17) label(0x16) - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x17) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0xcb) goto_next(0x16) label(0xcb) - say_quip(CHR_JOANNA, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_JOANNA, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0xcc) - if_chr_dying(TARGET_CHR, /*goto*/ 0xc5) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xc5) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xc5) + if_chr_dying(CHR_TARGET, /*goto*/ 0xc5) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc5) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc5) if_target_chrs_target_is_different(/*goto*/ 0x13) goto_next(0xc5) @@ -3455,7 +3455,7 @@ u8 func000c_combat_with_target_chr[] = { goto_first(0xb3) label(0xd7) - say_quip(CHR_JOANNA, 0x0f, 0x28, 0x00, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0f, 0x28, 0x00, 0x01, BANK_0, 0x00, 0x00) try_face_entity(0x0200, 0x0000, /*goto*/ 0x16) label(0x16) if_chr_is_dead_maybe(CHR_SELF, /*goto*/ 0xd9) @@ -3560,7 +3560,7 @@ u8 func0016_show_objective_failed_msg[] = { // Show message first time label(0x13) - message(CHR_JOANNA, 0x5845) // "OBJECTIVES FAILED - abort mission." + message(CHR_BOND, 0x5845) // "OBJECTIVES FAILED - abort mission." // Wait 60 seconds restart_timer @@ -3580,7 +3580,7 @@ u8 func0016_show_objective_failed_msg[] = { // Show message second time label(0x13) - message(CHR_JOANNA, 0x5845) // "OBJECTIVES FAILED - abort mission." + message(CHR_BOND, 0x5845) // "OBJECTIVES FAILED - abort mission." restart_timer // Wait 2 minutes @@ -3599,7 +3599,7 @@ u8 func0016_show_objective_failed_msg[] = { // Show message third time label(0x13) - message(CHR_JOANNA, 0x5845) // "OBJECTIVES FAILED - abort mission." + message(CHR_BOND, 0x5845) // "OBJECTIVES FAILED - abort mission." restart_timer // Wait 5 minutes @@ -3715,19 +3715,19 @@ u8 func001a_maybe_unset_disspee[] = { // then they must not have a gun equipped. label(0x00) yield - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x14) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14) goto_next(0x13) label(0x14) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000, /*goto*/ 0xe8) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8) goto_next(0x13) label(0xe8) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x13) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x13) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_COMBATBOOST, /*goto*/ 0x13) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x13) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x13) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x13) set_function(CHR_SELF, GFUNC_UNALERTED_0004) // Not disguised, or @@ -3785,9 +3785,9 @@ u8 func000f_hand_combat[] = { // Begin loop label(0x0c) yield - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xfa) - if_chr_dying(TARGET_CHR, /*goto*/ 0xfa) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xfa) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xfa) + if_chr_dying(CHR_TARGET, /*goto*/ 0xfa) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xfa) // This if-statement is effectively a no op dprint 'L','1','\n',0, @@ -3827,9 +3827,9 @@ u8 func000f_hand_combat[] = { try_run_to_target_chr(/*goto*/ 0x03) beginloop(0x03) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xfa) - if_chr_dying(TARGET_CHR, /*goto*/ 0xfa) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xfa) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xfa) + if_chr_dying(CHR_TARGET, /*goto*/ 0xfa) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xfa) label(0x13) if_timer_gt(90, /*goto*/ 0x0b) if_chr_lost_track_of_target_maybe(/*goto*/ 0x09) @@ -3882,9 +3882,9 @@ u8 func000f_hand_combat[] = { try_face_entity(0x0200, 0x0001, /*goto*/ 0x04) beginloop(0x04) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0xfa) - if_chr_dying(TARGET_CHR, /*goto*/ 0xfa) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0xfa) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xfa) + if_chr_dying(CHR_TARGET, /*goto*/ 0xfa) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0xfa) label(0x13) if_chr_distance_gt(400, /*goto*/ 0x0b) if_jo_ccw_direction_lt(15, /*goto*/ LABEL_PUNCH) @@ -3911,7 +3911,7 @@ u8 func000f_hand_combat[] = { label(0x17) restart_timer - say_quip(CHR_JOANNA, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" + say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" beginloop(0x05) if_timer_gt(180, /*goto*/ 0x16) @@ -3921,14 +3921,14 @@ u8 func000f_hand_combat[] = { label(0x16) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) dprint 'P','U','N','C','H','M','I','S','S','E','D','\n',0, - say_quip(CHR_JOANNA, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) // Say random quip: "Damn, missed!","How did I miss?" - say_quip(CHR_JOANNA, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) // "God sakes, someone hit her","She's a tricky one" + say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) // Say random quip: "Damn, missed!","How did I miss?" + say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) // "God sakes, someone hit her","She's a tricky one" goto_next(0x16) label(0x13) dprint 'P','U','N','C','H','H','I','T','\n',0, - say_quip(CHR_JOANNA, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) // Say random quip: "Give it up!","Surrender, now!","Take that!" - say_quip(CHR_JOANNA, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) // Say random quip: "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" label(0x16) goto_next(0x0b) @@ -3947,7 +3947,7 @@ u8 func000f_hand_combat[] = { label(0x13) dprint 'D','E','T',' ','E','N','I','T','\n',0, - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -3990,11 +3990,11 @@ u8 func0010_civilian_say_comment[] = { label(0x16) set_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1) dprint 'S','E','T',' ','D','I','S','S','P','E','E','\n',0, - if_chr_weapon_equipped(TARGET_CHR, WEAPON_NONE, /*goto*/ 0x07) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_UNARMED, /*goto*/ 0x07) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_COMBATBOOST, /*goto*/ 0x07) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_HORIZONSCANNER, /*goto*/ 0x07) - if_chr_weapon_equipped(TARGET_CHR, WEAPON_SUITCASE, /*goto*/ 0x07) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x07) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_UNARMED, /*goto*/ 0x07) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_COMBATBOOST, /*goto*/ 0x07) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x07) + if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x07) goto_next(0x05) // Unarmed @@ -4002,7 +4002,7 @@ u8 func0010_civilian_say_comment[] = { restart_timer if_chr_flag_bank2(CHR_SELF, CHRFLAG2_01000000, /*goto*/ 0x13) do_special_animation(-1) - say_quip(CHR_JOANNA, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?" + say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?" yield // Set a do-once flag, so chr is only stopped the first time @@ -4017,9 +4017,9 @@ u8 func0010_civilian_say_comment[] = { // Armed label(0x05) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_01000000, /*goto*/ 0x06) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_01000000) - say_quip(CHR_JOANNA, 0x1e, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Where did you get that?","Should you have that?","What are you doing with that weapon?" + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x06) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000) + say_quip(CHR_BOND, 0x1e, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Where did you get that?","Should you have that?","What are you doing with that weapon?" do_special_animation(6) restart_timer @@ -4038,9 +4038,9 @@ u8 func0010_civilian_say_comment[] = { return label(0x13) - set_chr_flag_bank2(TARGET_CHR, CHRFLAG2_02000000) + set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000) dprint 'D','O','N','T',' ','P','O','I','N','T','\n',0, - say_quip(CHR_JOANNA, 0x1f, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Don't point that at me","Watch where you're pointing that" + say_quip(CHR_BOND, 0x1f, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Don't point that at me","Watch where you're pointing that" do_special_animation(-1) restart_timer @@ -4064,23 +4064,23 @@ u8 func0010_civilian_say_comment[] = { if_stage_is_not(STAGE_CHICAGO, /*goto*/ 0x15) // will never pass // 50% chance of this happening - say_quip(CHR_JOANNA, 0x16, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x16, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) goto_next(0x13) // 50% chance of this happening label(0x16) - say_quip(CHR_JOANNA, 0x17, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x17, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) label(0x13) do_special_animation(3) return // Not Chicago label(0x15) - say_quip(CHR_JOANNA, 0x22, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x22, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) goto_next(0x13) label(0x16) - say_quip(CHR_JOANNA, 0x23, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) + say_quip(CHR_BOND, 0x23, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00) label(0x13) do_special_animation(3) return @@ -4097,7 +4097,7 @@ u8 func0010_civilian_say_comment[] = { u8 func001c_surprised[] = { set_onshot_function(GFUNC_ALERTED) set_squadron_alertness(100) - say_quip(CHR_JOANNA, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" restart_timer animation(ANIM_SURPRISED_0202, 0, -1, 0x0010, CHR_SELF, 2) @@ -4117,7 +4117,7 @@ u8 func0011_flee_from_grenade[] = { set_action(ACTION_FLEE_GRENADE, FALSE) dprint 'N','E','A','R',' ','D','A','N','G','E','R','\n',0, run_from_grenade - say_quip(CHR_JOANNA, 0x03, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "Look out, look out!","It's a grenade!","Clear the area!" + say_quip(CHR_BOND, 0x03, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "Look out, look out!","It's a grenade!","Clear the area!" restart_timer beginloop(0x0c) @@ -4139,13 +4139,13 @@ u8 func001b_observe_camspy[] = { set_onshot_function(GFUNC_ALERTED) unset_self_flag_bankx(CHRFLAG1_DOINGIDLEANIMATION, BANK_1) set_chr_special_death_animation(CHR_SELF, 0) - set_follow_chr(TARGET_CHR) + set_follow_chr(CHR_TARGET) if_just_injured(CHR_SELF, /*goto*/ 0x09) dprint 'E','Y','E',' ','S','P','Y','\n',0, label(0x00) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(300, /*goto*/ 0x13) try_run_to_target_chr_with_hand_up(/*goto*/ 0x0c) restart_timer @@ -4158,12 +4158,12 @@ u8 func001b_observe_camspy[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x16) if_target_chr_in_sight(/*goto*/ 0x0b) label(0x16) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) endloop(0x0c) // At camspy label(0x13) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer try_face_entity(0x0200, 0x0000, /*goto*/ 0x03) @@ -4178,7 +4178,7 @@ u8 func001b_observe_camspy[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x16) if_target_chr_in_sight(/*goto*/ 0x0b) label(0x16) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) endloop(0x03) // Camspy moved away - follow it @@ -4188,7 +4188,7 @@ u8 func001b_observe_camspy[] = { // Timer expired label(0x04) do_special_animation(-1) - say_quip(CHR_JOANNA, 0x1c, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "What the hell?","Hello there","What's this?" + say_quip(CHR_BOND, 0x1c, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "What the hell?","Hello there","What's this?" // Wait another 5 seconds with same logic as previous timer beginloop(0x05) @@ -4200,7 +4200,7 @@ u8 func001b_observe_camspy[] = { if_player_looking_at_something_maybe(0x00, 0x00, 0x01, /*goto*/ 0x16) if_target_chr_in_sight(/*goto*/ 0x0b) label(0x16) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) endloop(0x05) // Timer expired @@ -4215,7 +4215,7 @@ u8 func001b_observe_camspy[] = { // Timer expired second time label(0xe8) - say_quip(CHR_JOANNA, 0x28, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "It's a spy!" + say_quip(CHR_BOND, 0x28, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "It's a spy!" // Shoot camspy label(0x09) @@ -4231,9 +4231,9 @@ u8 func001b_observe_camspy[] = { label(0x16) dprint 'E','1','\n',0, - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x13) - if_chr_dying(TARGET_CHR, /*goto*/ 0x13) - if_chr_unloaded(TARGET_CHR, /*goto*/ 0x13) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x13) + if_chr_dying(CHR_TARGET, /*goto*/ 0x13) + if_chr_unloaded(CHR_TARGET, /*goto*/ 0x13) // Camspy still alive dprint 'E','2','\n',0, @@ -4254,7 +4254,7 @@ u8 func001b_observe_camspy[] = { goto_first(0x09) label(0x13) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) dprint 'E','8','\n',0, set_self_flag_bankx(CHRFLAG1_10000000, BANK_1) set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER) @@ -4280,7 +4280,7 @@ u8 func001d_search_for_player[] = { dprint 'S','E','A','R','C','H',' ','R','O','O','M','\n',0, set_chr_dodge_rating(2, 0x00) label(0x00) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) set_self_flag_bankx(CHRFLAG1_01000000, BANK_1) if_self_flag_bankx_eq(CHRFLAG1_10000000, TRUE, BANK_1, /*goto*/ 0x16) set_chr_roomtosearch @@ -4414,7 +4414,7 @@ u8 func001d_search_for_player[] = { label(0x28) dprint 'E','Y','E',' ','S','P','Y','\n',0, label(0x12) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13) goto_next(0x16) label(0x13) @@ -4426,15 +4426,15 @@ u8 func001d_search_for_player[] = { set_alertness(100) dprint 'S','E','E',' ','P','L','A','Y','\n',0, if_self_flag_bankx_eq(CHRFLAG1_00000400, FALSE, BANK_1, /*goto*/ 0x13) - say_quip(CHR_JOANNA, 0x1b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x1b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x13) set_function(CHR_SELF, GFUNC_ALERTED) label(0x0b) - say_quip(CHR_JOANNA, 0x23, 0x32, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x23, 0x32, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_first(0x05) label(0xc3) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13) goto_next(0x16) label(0x13) @@ -4444,8 +4444,8 @@ u8 func001d_search_for_player[] = { label(0x16) set_return_function(CHR_SELF, GFUNC_UNALERTED) - set_onshot_function(GFUNC_COMBAT_WITH_TARGET_CHR) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_onshot_function(GFUNC_COMBAT_WITH_TARGET) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -4506,25 +4506,25 @@ u8 func001f_related_to_spawning[] = { label(0x1e) dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0, - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x9f) set_squadron_alertness(100) set_alertness(255) set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x1f) yield - say_quip(CHR_JOANNA, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ 0xda) set_squadron_alertness(100) set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0xda) if_never_been_onscreen(/*goto*/ 0x0e) set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x0e) if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x0e) @@ -4535,7 +4535,7 @@ u8 func001f_related_to_spawning[] = { label(0x0e) try_spawn_clone2(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER, 0x00000000, /*goto*/ 0x13) set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x13) set_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) @@ -4548,7 +4548,7 @@ u8 func001f_related_to_spawning[] = { label(0x13) set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(0x12) if_self_flag_bankx_eq(CHRFLAG1_00100000, TRUE, BANK_1, /*goto*/ 0x13) @@ -4557,7 +4557,7 @@ u8 func001f_related_to_spawning[] = { label(0x13) dprint 'W','A','R','N','E','D','B','E','N','D','3','\n',0, set_return_function(CHR_SELF, GFUNC_RELATED_TO_SPAWNING) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -4571,7 +4571,7 @@ u8 func0012_init_coop_100[] = { set_self_flag_bank3(CHRFLAG3_01000000) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED) set_alertness(100) - set_follow_chr(CHR_JOANNA) + set_follow_chr(CHR_BOND) yield rebuild_teams rebuild_squadrons @@ -4702,7 +4702,7 @@ u8 func0014_coop_buddy[] = { set_self_flag_bankx(CHRFLAG1_00100000, BANK_1) set_morale(0) set_onshot_function(GFUNC_COOP_BUDDY) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_dying(CHR_SELF, /*goto*/ 0x13) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) if_chr_unloaded(CHR_SELF, /*goto*/ 0x13) @@ -4720,11 +4720,11 @@ u8 func0014_coop_buddy[] = { // Injured label(0x13) - say_quip(CHR_JOANNA, 0x0e, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" + say_quip(CHR_BOND, 0x0e, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" dprint 'B','U','D','D','Y',' ','W','O','U','N','D','\n',0, beginloop(0xf2) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED) goto_next(0x15) @@ -4738,7 +4738,7 @@ u8 func0014_coop_buddy[] = { // Healthy label(0x16) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_08000000, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13) unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) goto_next(0x16) @@ -4748,13 +4748,13 @@ u8 func0014_coop_buddy[] = { if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) label(0xdc) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_distance_lt(200, /*goto*/ 0x16) // Start outer loop label(0x00) dprint 'B','U','D','D','Y',' ','G','O',' ','T','O','W','A','R','D','S','\n',0, - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) restart_timer if_chr_distance_gt(300, /*goto*/ 0x16) try_run_to_target_chr_with_hand_up(/*goto*/ 0x0c) @@ -4762,7 +4762,7 @@ u8 func0014_coop_buddy[] = { try_run_to_target_chr(/*goto*/ 0x0c) beginloop(0x0c) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED) goto_next(0x15) @@ -4771,19 +4771,19 @@ u8 func0014_coop_buddy[] = { goto_next(LABEL_PLACE_BUDDY) label(0x15) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06) goto_next(0x07) label(0x06) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED) label(0x07) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_sees_player(/*goto*/ 0xdd) if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc) label(0xdd) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) label(0xdc) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_distance_lt(200, /*goto*/ 0x16) if_timer_gt(60, /*goto*/ 0x13) endloop(0x0c) @@ -4797,7 +4797,7 @@ u8 func0014_coop_buddy[] = { stop_chr beginloop(0x04) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED) goto_next(0x15) @@ -4807,7 +4807,7 @@ u8 func0014_coop_buddy[] = { label(0x15) label(0x13) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06) goto_next(0x07) label(0x06) @@ -4829,7 +4829,7 @@ u8 func0014_coop_buddy[] = { label(0x13) label(0xdc) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) if_chr_distance_gt(300, /*goto*/ 0x16) endloop(0x04) @@ -4841,20 +4841,20 @@ u8 func0014_coop_buddy[] = { call_rng if_rand_lt(85, /*goto*/ 0xfa) if_rand_lt(170, /*goto*/ 0xf3) - say_quip(CHR_JOANNA, 0x00, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" + say_quip(CHR_BOND, 0x00, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" goto_next(0x13) label(0xfa) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, 0x0b, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" goto_next(0x13) label(0xf3) - say_quip(CHR_JOANNA, 0x15, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, 0x15, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" label(0x13) // Found chr in group from non G5 or Deep Sea stage label(0x0b) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_08000000, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13) unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1) goto_next(0x16) @@ -4862,7 +4862,7 @@ u8 func0014_coop_buddy[] = { set_self_flag_bankx(CHRFLAG1_00000001, BANK_1) label(0x16) set_return_function(CHR_SELF, GFUNC_COOP_BUDDY) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) label(LABEL_PLACE_BUDDY) set_function(CHR_SELF, GFUNC_PLACE_COOP_BUDDY) @@ -4914,8 +4914,8 @@ u8 func0022_comment_on_player_dead[] = { label(0x16) dprint 'K','I','L','L','E','D','E','R','\n',0, - say_quip(CHR_JOANNA, 0x26, 0xff, 0x02, 0x00, BANK_0, 0x00, 0x00) // "Grab a body bag","One for the morgue","Rest in peace" - say_quip(CHR_JOANNA, 0x15, 0x80, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, 0x26, 0xff, 0x02, 0x00, BANK_0, 0x00, 0x00) // "Grab a body bag","One for the morgue","Rest in peace" + say_quip(CHR_BOND, 0x15, 0x80, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" beginloop(0x04) endloop(0x04) @@ -5071,8 +5071,8 @@ u8 func002c_init_search_unused[] = { /** * Not used. */ -u8 func0024_follow_joanna[] = { - set_target_chr(CHR_JOANNA) +u8 func0024_follow_bond[] = { + set_target_chr(CHR_BOND) label(0x03) restart_timer @@ -5111,8 +5111,8 @@ u8 func0024_follow_joanna[] = { u8 func0025_pointless[] = { // Wait until target chr is dead beginloop(0x0c) - if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x03) - if_chr_dying(TARGET_CHR, /*goto*/ 0x03) + if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x03) + if_chr_dying(CHR_TARGET, /*goto*/ 0x03) endloop(0x0c) // Wait 10 seconds @@ -5140,7 +5140,7 @@ u8 func0026_init_psychosis[] = { set_self_flag_bankx(CHRFLAG1_40000000, BANK_1) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED) set_alertness(100) - set_follow_chr(CHR_JOANNA) + set_follow_chr(CHR_BOND) yield rebuild_teams rebuild_squadrons @@ -5174,7 +5174,7 @@ u8 func0026_init_psychosis[] = { u8 func0027_psychosised[] = { set_morale(0) set_onshot_function(GFUNC_PSYCHOSISED) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_dying(CHR_SELF, /*goto*/ 0x13) if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x13) if_chr_unloaded(CHR_SELF, /*goto*/ 0x13) @@ -5191,7 +5191,7 @@ u8 func0027_psychosised[] = { // Injured label(0x13) - say_quip(CHR_JOANNA, 0x0e, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" + say_quip(CHR_BOND, 0x0e, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" beginloop(0xf2) if_chr_stopped(/*goto*/ 0x16) @@ -5201,12 +5201,12 @@ u8 func0027_psychosised[] = { label(0x16) try_find_chr_in_team(/*goto*/ 0x03) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x16) // Following Joanna label(0x00) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) restart_timer if_chr_distance_gt(300, /*goto*/ 0x16) try_run_to_target_chr_with_hand_up(/*goto*/ 0x0c) @@ -5215,14 +5215,14 @@ u8 func0027_psychosised[] = { try_run_to_target_chr(/*goto*/ 0x0c) beginloop(0x0c) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06) goto_next(0x07) label(0x06) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED) label(0x07) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_lt(200, /*goto*/ 0x16) if_timer_gt(60, /*goto*/ 0x13) endloop(0x0c) @@ -5235,7 +5235,7 @@ u8 func0027_psychosised[] = { stop_chr beginloop(0x04) - if_chr_flag_bank2(TARGET_CHR, CHRFLAG2_DISGUISED, /*goto*/ 0x06) + if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06) goto_next(0x07) label(0x06) @@ -5243,7 +5243,7 @@ u8 func0027_psychosised[] = { label(0x07) try_find_chr_in_team(/*goto*/ 0x03) if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03) - set_target_chr(FOLLOW_CHR) + set_target_chr(CHR_PRESET) if_chr_distance_gt(300, /*goto*/ 0x16) endloop(0x04) @@ -5256,19 +5256,19 @@ u8 func0027_psychosised[] = { if_rand_lt(85, /*goto*/ 0xfa) if_rand_lt(170, /*goto*/ 0xf3) - say_quip(CHR_JOANNA, 0x00, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" + say_quip(CHR_BOND, 0x00, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" goto_next(0x13) label(0xfa) - say_quip(CHR_JOANNA, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" goto_next(0x13) label(0xf3) - say_quip(CHR_JOANNA, 0x15, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, 0x15, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" label(0x13) set_return_function(CHR_SELF, GFUNC_PSYCHOSISED) - set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR) + set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET) endfunction }; @@ -5284,7 +5284,7 @@ u8 func0020_place_coop_buddy[] = { set_self_flag_bank3(CHRFLAG3_00040000) set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED) stop_chr - set_target_chr(CHR_JOANNA) + set_target_chr(CHR_BOND) yield if_stage_is_not(STAGE_DEEPSEA, /*goto*/ 0x15) goto_next(0x16) @@ -5376,7 +5376,7 @@ u8 func0020_place_coop_buddy[] = { restart_timer beginloop(0xef) - if_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) + if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13) goto_next(0x16) label(0x13) @@ -5479,7 +5479,7 @@ struct ailists functions[] = { { func0022_comment_on_player_dead, 0x0022 }, { func0023_dodge, 0x0023 }, { func002c_init_search_unused, 0x002c }, - { func0024_follow_joanna, 0x0024 }, + { func0024_follow_bond, 0x0024 }, { func0025_pointless, 0x0025 }, { func0026_init_psychosis, 0x0026 }, { func0027_psychosised, 0x0027 },