diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index 91ddc160a..c3173b32a 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -3774,7 +3774,7 @@ u8 func042f_surrendering_guard[] = { // Be surprised label(0x2c) - say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) // Wait 1 second @@ -3803,7 +3803,7 @@ u8 func042f_surrendering_guard[] = { // Warn label(0x57) dprint 'W','A','R','N',' ','F','R','I','E','N','D','S','\n',0, - say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Intruder alert!","We've got trouble","We've got problems" + say_quip(CHR_BOND, QUIP_WARNFRIENDS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) increase_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 587611535..5b036dbb9 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -897,7 +897,7 @@ u8 func0406_general_combat[] = { endloop(0x0b) label(0x00) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -915,8 +915,8 @@ u8 func0406_general_combat[] = { 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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x00) if_chr_stopped(/*goto*/ 0x21) @@ -993,11 +993,11 @@ u8 func0406_general_combat[] = { 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_BOND, 0x1b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEARCHSUCCESS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) goto_next(0x20) label(0x00) - say_quip(CHR_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x20) if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x17) 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_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x00) label(0x20) - say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(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_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) beginloop(0x1c) chr_toggle_p1p2(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_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x00) goto_next(0x20) label(0x00) diff --git a/src/files/setup/setupazt.c b/src/files/setup/setupazt.c index a7925fbc1..44f84c18e 100644 --- a/src/files/setup/setupazt.c +++ b/src/files/setup/setupazt.c @@ -1750,7 +1750,7 @@ u8 func041f_trent_shooting[] = { label(0xa8) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xa7) label(0xa7) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) goto_next(0x31) diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index a4994e578..52ec14d05 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -1163,8 +1163,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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x02) if_chr_stopped(/*goto*/ 0x4c) diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index 5540e309e..7f078ce04 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -1611,7 +1611,7 @@ u8 func0411_labtech_alerted[] = { label(0x41) increase_squadron_alertness(100) - say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_WARNFRIENDS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x42) go_to_target_pad(SPEED_RUN) @@ -1902,7 +1902,7 @@ u8 func0401_pilot[] = { // Seen player label(0x07) - say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURRENDER, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) label(0x04) increase_squadron_alertness(100) @@ -1943,7 +1943,7 @@ u8 func0401_pilot[] = { // GPS disabled label(0x04) - say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURRENDER, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) goto_first(0x0b) label(0x07) diff --git a/src/files/setup/setupdish.c b/src/files/setup/setupdish.c index 909fd0dae..08249b78f 100644 --- a/src/files/setup/setupdish.c +++ b/src/files/setup/setupdish.c @@ -5278,13 +5278,13 @@ u8 func0416_holo_guard_unarmed_alert2[] = { label(0x06) if_chr_injured_target(CHR_SELF, /*goto*/ 0x2f) - say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x06) label(0x2f) - say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0f) set_stage_flag(STAGEFLAG_GENERAL_PURPOSE) set_stage_flag(STAGEFLAG_HOLO_FAILED) @@ -5621,8 +5621,8 @@ u8 func0419_holo_guard_armed_alert[] = { label(0x06) goto_first(0x8f) - say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x2f) if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d) set_stage_flag(STAGEFLAG_GENERAL_PURPOSE) diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index d6962754e..cd6a0a56b 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -2866,7 +2866,7 @@ u8 func0402_k7_guard[] = { label(0x2f) try_aim_and_shoot_thing2(0x0008, 0x0159, /*goto*/ 0x2f) label(0x2f) - say_quip(CHR_BOND, 0x00, 0x32, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x32, 0x02, 0xff, BANK_0, 0x00, 0x00) beginloop(0x08) chr_toggle_p1p2(CHR_SELF) diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index 5d59340f3..7bc8b86eb 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -1531,7 +1531,7 @@ u8 func0402_taker[] = { // Laptop gun equipped label(0x0b) set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) - say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer chr_do_animation(0x0202, 0, -1, 0x10, 0x0a, CHR_SELF, 2) diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index eafe9fd24..ca39165ae 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -1901,7 +1901,7 @@ u8 func041f_holoclone[] = { yield \ try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xb9) \ label(0xb9) \ - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) \ + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) \ try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) \ \ beginloop(0x0a) \ @@ -2368,7 +2368,7 @@ u8 func0432_taker_attack[] = { yield try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xb9) label(0xb9) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x0a) beginloop(0x0a) diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index e002ed1ad..e8901e2e5 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -2971,7 +2971,7 @@ u8 func0421_bridge_skedar[] = { endloop(0x53) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -3018,7 +3018,7 @@ u8 func0421_bridge_skedar[] = { 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_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2c) goto_next(0xca) @@ -3087,7 +3087,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_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2c) diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index cd9979c43..70f7017f2 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -1314,7 +1314,7 @@ u8 func0410_labtech_showers_sa_pa[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -1696,7 +1696,7 @@ u8 func0418_doorman[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -1915,7 +1915,7 @@ u8 func041a_labtech_harrysmate[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -2015,7 +2015,7 @@ u8 func041b_labtech_keycardguy[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -2269,7 +2269,7 @@ u8 func0413_mechanic[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x58) @@ -2575,7 +2575,7 @@ u8 func041f_labtech_lights[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) @@ -2797,7 +2797,7 @@ u8 func0420_labtech_doors[] = { goto_next(0x2d) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2812,8 +2812,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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) @@ -2885,7 +2885,7 @@ u8 func0420_labtech_doors[] = { label(0x2d) do_preset_animation(3) - say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GREETING, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_08000000, BANK_0) beginloop(0x7b) @@ -3016,7 +3016,7 @@ u8 func0422_labtech_records[] = { goto_first(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) label(0x2d) @@ -3029,8 +3029,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_BOND, 0x0d, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x06) if_chr_stopped(/*goto*/ 0x5e) diff --git a/src/files/setup/setuplue.c b/src/files/setup/setuplue.c index d3bf5fdf6..b07f794de 100644 --- a/src/files/setup/setuplue.c +++ b/src/files/setup/setuplue.c @@ -2950,7 +2950,7 @@ u8 func0421_activate_autogun[] = { set_ailist(CHR_SELF, GAILIST_ALERTED) label(0x0e) - say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index b12b0ce02..2c4af107e 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -3427,7 +3427,7 @@ u8 func040f_miniskedar[] = { endloop(0x10) label(0x2e) - say_quip(CHR_BOND, 0x05, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GRENADE2, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) set_ailist(CHR_SELF, GAILIST_IDLE) // Alive @@ -3479,7 +3479,7 @@ u8 func040f_miniskedar[] = { endloop(0x0b) label(0x06) - say_quip(CHR_BOND, 0x04, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_RETREAT1, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) if_distance_to_target_lt(200, /*goto*/ 0x2f) miniskedar_try_pounce(0x04, 0x000e, /*goto*/ 0x34) reloop(0x03) diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index 93e64a496..27e732191 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -1778,8 +1778,8 @@ u8 func0413_taker[] = { label(0x06) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x08) label(0x08) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer beginloop(0x09) @@ -2741,7 +2741,7 @@ u8 func041e_blonde[] = { endloop(0x54) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2777,7 +2777,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_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x6c) @@ -2842,7 +2842,7 @@ u8 func041e_blonde[] = { goto_first(0x6a) label(0x6c) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) label(0x06) goto_first(0x6d) @@ -2853,7 +2853,7 @@ u8 func041e_blonde[] = { label(0x76) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x74) label(0x74) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2d) label(0x06) @@ -2918,7 +2918,7 @@ u8 func0420_trent_attacking[] = { label(0x76) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x74) label(0x74) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x08) goto_next(0x2d) diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index ae7ccda17..3ed4568a3 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -545,7 +545,7 @@ u8 func0402_unarmed_skedar[] = { label(0x2e) call_rng if_rand_gt(1, /*goto*/ 0x06) - say_quip(CHR_BOND, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GRENADE1, 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_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) if_distance_to_target_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(MA_WAITING, TRUE) - say_quip(CHR_BOND, 0x03, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GRENADE1, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) try_walk_to_target(/*goto*/ 0x08) beginloop(0x08) @@ -584,7 +584,7 @@ u8 func0402_unarmed_skedar[] = { goto_next(0x2d) label(0x06) - say_quip(CHR_BOND, 0x01, 0x20, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0x20, 0x00, 0xff, BANK_0, 0x00, 0x00) label(0x2d) restart_timer set_action(MA_TRACKING, TRUE) @@ -761,7 +761,7 @@ u8 func0404_miniskedar[] = { // Healthy call_rng - say_quip(CHR_BOND, 0x06, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_RETREAT2, 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_BOND, 0x03, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GRENADE1, 0xff, 0x05, 0xff, BANK_0, 0x00, 0x00) label(0x06) endloop(0x08) @@ -1674,7 +1674,7 @@ u8 func0409_reaper_slayer_skedar[] = { endloop(0x5d) label(0x06) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -1731,7 +1731,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_BOND, 0x0b, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) label(0x2d) goto_next(0x71) @@ -1802,7 +1802,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_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x06) goto_next(0x2d) @@ -2041,10 +2041,10 @@ u8 func040d_king_combat[] = { endloop(0x7a) label(0x06) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x70) label(0x70) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0x7b) goto_next(0x2d) @@ -2066,7 +2066,7 @@ u8 func040d_king_combat[] = { // Spawn skedar // label(LABEL_SPAWN_SKEDAR) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) @@ -2085,7 +2085,7 @@ u8 func040d_king_combat[] = { // Spawn miniskedar // label(LABEL_SPAWN_MINISKEDAR) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) @@ -2104,7 +2104,7 @@ u8 func040d_king_combat[] = { // Cloak and warp to player for hand combat // label(LABEL_CLOAK) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) @@ -2154,7 +2154,7 @@ u8 func040d_king_combat[] = { // Distance to player < 150 label(0x06) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_chr_cloaked(CHR_SELF, FALSE, TRUE) restart_timer dprint 'F','A','C','E',' ','T','A','R','G','E','T','\n',0, @@ -2210,7 +2210,7 @@ u8 func040d_king_combat[] = { // Unreachable - nothing jumps here label(0x77) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_morale(0) restart_timer chr_do_animation(0x0350, 0, -1, 0x10, 0x10, CHR_SELF, 2) @@ -2225,7 +2225,7 @@ u8 func040d_king_combat[] = { // Shield < 20 label(LABEL_LOW_SHIELD) - say_quip(CHR_BOND, 0x02, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GOTOCOVER1, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) jog_to_pad(0x0096) beginloop(0x7d) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index f94cc25c9..f0cde27f5 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -4314,6 +4314,7 @@ void chrCloak(struct chrdata *chr, bool value) chr->hidden |= CHRHFLAG_CLOAKED; if (value) { + // Cloak sound func0f0939f8(0, chr->prop, 0x5b, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } } @@ -4325,10 +4326,8 @@ void chrUncloak(struct chrdata *chr, bool value) chr->hidden &= ~CHRHFLAG_CLOAKED; if (value) { - func0f0939f8(0, chr->prop, 92, -1, - -1, 0, 0, 0, - 0, -1, 0, -1, - -1, -1, -1); + // Uncloak sound + func0f0939f8(0, chr->prop, 0x5c, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } #if PIRACYCHECKS diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 11bf25af5..c8b105773 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -16464,8 +16464,24 @@ void chrTickDie(struct chrdata *chr) { struct animdata *animdata = chr->animdata; u32 race = CHRRACE(chr); - u16 uStack32[] = { 0x808d, 0x808e, 0x808f, 0x8090, 0x8091, 0x8092, 0x8093, 0x8094, 0x8095, 0x8096, 0x8097 }; - u16 uStack56[] = { 0x8129, 0x812f, 0x813a, 0x813a, 0x812f, 0x8092, 0x8093, 0x8094, 0x8095, 0x8096, 0x8097 }; + + // Thud noises - probably bodies hitting the floor + u16 thuds[] = { 0x808d, 0x808e, 0x808f, 0x8090, 0x8091, 0x8092, 0x8093, 0x8094, 0x8095, 0x8096, 0x8097 }; + + u16 uStack56[] = { + 0x8129, // "Noooo!" + 0x812f, // Death scream + 0x813a, // "Noooo!" + 0x813a, // "Noooo!" + 0x812f, // Death scream + 0x8092, // Thud + 0x8093, // Thud + 0x8094, // Thud + 0x8095, // Thud + 0x8096, // Thud + 0x8097, // Thud + }; + static s32 animindex = 0; if (race == RACE_EYESPY) { @@ -16484,6 +16500,7 @@ void chrTickDie(struct chrdata *chr) struct prop *prop = chr->prop; if (var8006807c > 120 && chr->voicebox) { + // Dr Caroll death phrases u16 psStack76[] = { 0x024d, 0x024e, 0x024f, 0x0256, 0x0257, 0x0258 }; func0f0939f8(NULL, chr->prop, psStack76[random() % 5], -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); @@ -16505,7 +16522,8 @@ void chrTickDie(struct chrdata *chr) } else if (chr->soundtimer > (s32)var80068080) { chr->soundtimer = 0; var80068080 -= 5; - func0f0939f8(NULL, prop, 100, -1, + // Shield damage sound + func0f0939f8(NULL, prop, 0x64, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); func0f12f9f0(prop->rooms[0], prop, &prop->pos, 0, 0, 1); } @@ -16516,7 +16534,7 @@ void chrTickDie(struct chrdata *chr) // Human or Skedar if (chr->act_die.unk030 >= 0 && animGetFrame(animdata) >= chr->act_die.unk030) { if (chr->specialdie == 0) { - func0f0939f8(NULL, chr->prop, uStack32[animindex], -1, + func0f0939f8(NULL, chr->prop, thuds[animindex], -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } else if (chr->specialdie != SPECIALDIE_OVERRAILING) { func0f0939f8(NULL, chr->prop, uStack56[chr->specialdie - 1], -1, @@ -16537,7 +16555,7 @@ void chrTickDie(struct chrdata *chr) func0f0939f8(NULL, chr->prop, 0x808e, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } else { - func0f0939f8(NULL, chr->prop, uStack32[animindex], -1, + func0f0939f8(NULL, chr->prop, thuds[animindex], -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); } @@ -16753,26 +16771,26 @@ glabel chrTickDruggedComingUp void chrTickDruggedDrop(struct chrdata *chr) { struct animdata *animdata = chr->animdata; - s16 things[11] = { - -32627, - -32626, - -32625, - -32624, - -32623, - -32622, - -32621, - -32620, - -32619, - -32618, - -32617, + + u16 thuds[11] = { + 0x808d, + 0x808e, + 0x808f, + 0x8090, + 0x8091, + 0x8092, + 0x8093, + 0x8094, + 0x8095, + 0x8096, + 0x8097, }; + static s32 index = 0; if (chr->act_druggeddrop.unk030 >= 0 && animGetFrame(animdata) >= chr->act_druggeddrop.unk030) { - func0f0939f8(NULL, chr->prop, things[index], -1, - -1, 0, 0, 0, - 0, -1, 0, -1, - -1, -1, -1); + func0f0939f8(NULL, chr->prop, thuds[index], -1, + -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); index++; @@ -16784,10 +16802,8 @@ void chrTickDruggedDrop(struct chrdata *chr) } if (chr->act_druggeddrop.unk034 >= 0 && animGetFrame(animdata) >= chr->act_druggeddrop.unk034) { - func0f0939f8(NULL, chr->prop, things[index], -1, - -1, 0, 0, 0, - 0, -1, 0, -1, - -1, -1, -1); + func0f0939f8(NULL, chr->prop, thuds[index], -1, + -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); index++; @@ -32490,7 +32506,8 @@ bool func0f04d44c(struct chrdata *chr) void chrEmitSparks(struct chrdata *chr) { if (chr && chr->prop) { - func0f0939f8(0, chr->prop, 100, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); + // Spark/shield sound + func0f0939f8(0, chr->prop, 0x64, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); func0f12f9f0(chr->prop->rooms[0], chr->prop, &chr->prop->pos, 0, 0, 1); } } diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index eb6095120..f58e84f64 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -7373,222 +7373,222 @@ bool ai012f(void) s16 g_GuardQuipBank[][4] = { // Voicebox 0 - { 0, 0x027b, 0x027b, 0x027c }, - { 1, 0x027d, 0x027e, 0x027f }, - { 2, 0x028a, 0x028b, 0x028c }, - { 3, 0x035b, 0x035c, 0x035d }, - { 4, 0x0290, 0x80fb, 0x0292 }, - { 5, 0x0293, 0x0294, 0x029d }, - { 6, 0x0297, 0x0298, 0x0299 }, - { 7, 0x029a, 0x029b, 0x029c }, - { 8, 0x02a7, 0x02a8, 0x02a9 }, - { 9, 0x026b, 0x026c, 0x026d }, - { 10, 0x0037, 0x0037, 0x0037 }, - { 11, 0x0264, 0x0265, 0x0266 }, - { 12, 0x80f7, 0x80f7, 0x80f8 }, - { 13, 0x025e, 0x025f, 0x0260 }, - { 14, 0x0261, 0x0262, 0x0263 }, - { 15, 0x02a3, 0x02a4, 0x02a5 }, - { 16, 0x0272, 0x0273, 0x0274 }, - { 34, 0x0037, 0x0037, 0x0037 }, - { 18, 0x025b, 0x025c, 0x025c }, - { 19, 0x026e, 0x026f, 0x0270 }, - { 20, 0x0037, 0x0037, 0x0037 }, - { 21, 0x0280, 0x0281, 0x0282 }, - { 22, 0x80f9, 0x80f9, 0x0287 }, - { 23, 0x80fa, 0x80fa, 0x0289 }, - { 24, 0x028d, 0x028e, 0x028f }, - { 25, 0x80fc, 0x80fd, 0x02a2 }, - { 26, 0x0037, 0x0037, 0x0037 }, - { 27, 0x0275, 0x0277, 0x0278 }, - { 28, 0x8167, 0x04c9, 0x04ca }, - { 29, 0x815d, 0x815e, 0x815f }, - { 30, 0x1aa0, 0x1aa1, 0x1aa2 }, - { 31, 0x0037, 0x1aa3, 0x1aa4 }, - { 32, 0x1aa5, 0x1aa5, 0x1aa6 }, - { 33, 0x04c6, 0x04c6, 0x04c6 }, - { 34, 0x04c7, 0x04c7, 0x04c7 }, - { 35, 0x04cb, 0x04cb, 0x04cc }, - { 36, 0x027b, 0x027b, 0x027d }, - { 37, 0x027b, 0x027d, 0x027d }, - { 38, 0x02a3, 0x02a4, 0x02a5 }, - { 39, 0x04c6, 0x04c6, 0x04c6 }, - { 40, 0x1aa6, 0x1aa6, 0x1aa6 }, + { QUIP_ATTACK1, 0x027b, 0x027b, 0x027c }, // "I've got a clear shot", "She's mine" + { QUIP_ATTACK2, 0x027d, 0x027e, 0x027f }, // "Open fire", "Wipe her out", "Waste her" + { QUIP_GOTOCOVER1, 0x028a, 0x028b, 0x028c }, // "Cover me", "Watch my back", "Take cover" + { QUIP_GRENADE1, 0x035b, 0x035c, 0x035d }, // "Look out, look out", "It's a grenade", "Clear the area" + { QUIP_RETREAT1, 0x0290, 0x80fb, 0x0292 }, // "Go to plan B", "Get the hell out of here", "Retreat" + { QUIP_GRENADE2, 0x0293, 0x0294, 0x029d }, // "Catch", "Everybody down", "Grenade" + { QUIP_RETREAT2, 0x0297, 0x0298, 0x0299 }, // "Fall back", "Everyone back off", "Withdraw" + { QUIP_FLANK, 0x029a, 0x029b, 0x029c }, // "Flank the target", "Let's split up", "Surround her" + { QUIP_SURRENDER, 0x02a7, 0x02a8, 0x02a9 }, // "Please, don't shoot me", "I give up", "You win, I surrender" + { QUIP_HEARNOISE, 0x026b, 0x026c, 0x026d }, // "Did you hear that?", "What's that noise?", "I heard a noise" + { QUIP_10, 0x0037, 0x0037, 0x0037 }, + { QUIP_SEEPLAYER, 0x0264, 0x0265, 0x0266 }, // "Hey, you", "Intruder alert", "We've got a contact" + { QUIP_SHOTUNALERT, 0x80f7, 0x80f7, 0x80f8 }, // "Holy shh", "What the hell?" + { QUIP_INJURED1, 0x025e, 0x025f, 0x0260 }, // "Medic!", "Ow!", "You shot me!" + { QUIP_INJURED2, 0x0261, 0x0262, 0x0263 }, // "I'm hit, I'm hit!", "I'm taking fire!", "Taking damage!" + { QUIP_KILLEDPLAYER1, 0x02a3, 0x02a4, 0x02a5 }, // "Grab a body bag", "One for the morgue", "Rest in peace" + { QUIP_WARNFRIENDS, 0x0272, 0x0273, 0x0274 }, // "Intruder alert", "We've got trouble", "We've got problems" + { QUIP_GOFORALARM, 0x0037, 0x0037, 0x0037 }, + { QUIP_SURPRISED, 0x025b, 0x025c, 0x025c }, // "What the?", "Who the?" + { QUIP_INSPECTBODY, 0x026e, 0x026f, 0x0270 }, // "Are you okay?", "Got a man down!", "He's bought it" + { QUIP_20, 0x0037, 0x0037, 0x0037 }, + { QUIP_HITPLAYER, 0x0280, 0x0281, 0x0282 }, // "Give it up!", "Surrender, now!", "Take that!" + { QUIP_MISSEDPLAYER1, 0x80f9, 0x80f9, 0x0287 }, // "Damn it, missed", "How did I miss?" + { QUIP_MISSEDPLAYER2, 0x80fa, 0x80fa, 0x0289 }, // "God sake, someone hit her", "She's a tricky one" + { QUIP_GOTOCOVER2, 0x028d, 0x028e, 0x028f }, // "Take cover", "I'll cover you", "Get down!" + { QUIP_DIE, 0x80fc, 0x80fd, 0x02a2 }, // "You bitch", "Oh my god", "She got me" + { QUIP_26, 0x0037, 0x0037, 0x0037 }, + { QUIP_SEARCHSUCCESS, 0x0275, 0x0277, 0x0278 }, // "I see her", "There she is", "There, movement" + { QUIP_SEEEYESPY, 0x8167, 0x04c9, 0x04ca }, // "What the hell?", "Hello there", "What's this?" + { QUIP_GREETING, 0x815d, 0x815e, 0x815f }, // "How's things?", "Hey there", "Hi, how are you?" + { QUIP_ASKWEAPON1, 0x1aa0, 0x1aa1, 0x1aa2 }, // "Where did you get that?", "Should you have that?", "What are you doing with that weapon?" + { QUIP_ASKWEAPON2, 0x0037, 0x1aa3, 0x1aa4 }, // "Don't point that at me", "Watch where you're pointing that" + { QUIP_UNCOVERDISGUISE1, 0x1aa5, 0x1aa5, 0x1aa6 }, // "Imposter!", "It's a spy!" + { QUIP_LOSTGUN, 0x04c6, 0x04c6, 0x04c6 }, // "My gun!" + { QUIP_GOFORALARM, 0x04c7, 0x04c7, 0x04c7 }, // "Trigger the alarm" + { QUIP_SEARCHFAIL, 0x04cb, 0x04cb, 0x04cc }, // "I'm sure I heard a noise", "I must be hearing things" + { QUIP_ATTACK3, 0x027b, 0x027b, 0x027d }, // "I've got a clear shot", "Open fire!" + { QUIP_ATTACK4, 0x027b, 0x027d, 0x027d }, // "I've got a clear shot", "Open fire!" + { QUIP_KILLEDPLAYER2, 0x02a3, 0x02a4, 0x02a5 }, // "Grab a body bag", "One for the morgue", "Rest in peace" + { QUIP_GUNJAMMED, 0x04c6, 0x04c6, 0x04c6 }, // "My gun!" + { QUIP_UNCOVEREDDISGUISE2, 0x1aa6, 0x1aa6, 0x1aa6 }, // "It's a spy!" // Voicebox 1 - { 0, 0x0322, 0x0323, 0x0324 }, - { 1, 0x0325, 0x0326, 0x0327 }, - { 2, 0x812e, 0x0335, 0x0336 }, - { 3, 0x035b, 0x035c, 0x035d }, - { 4, 0x033a, 0x033b, 0x033c }, - { 5, 0x033d, 0x033f, 0x0342 }, - { 6, 0x0343, 0x0344, 0x0345 }, - { 7, 0x0346, 0x0347, 0x0348 }, - { 8, 0x0349, 0x034a, 0x034b }, - { 9, 0x030e, 0x030f, 0x0310 }, - { 10, 0x0037, 0x0037, 0x0037 }, - { 11, 0x0306, 0x0307, 0x0308 }, - { 12, 0x0309, 0x8128, 0x030b }, - { 13, 0x8126, 0x0301, 0x0302 }, - { 14, 0x8127, 0x0304, 0x0305 }, - { 15, 0x0037, 0x0037, 0x0037 }, - { 16, 0x031c, 0x031d, 0x031e }, - { 34, 0x0037, 0x0037, 0x0037 }, - { 18, 0x8124, 0x8125, 0x02ff }, - { 19, 0x8129, 0x812a, 0x0316 }, - { 20, 0x031c, 0x031d, 0x031e }, - { 21, 0x0356, 0x0329, 0x0329 }, - { 22, 0x812b, 0x032f, 0x812c }, - { 23, 0x0331, 0x0332, 0x812d }, - { 24, 0x0337, 0x0338, 0x0339 }, - { 25, 0x812f, 0x034d, 0x034e }, - { 26, 0x0355, 0x0356, 0x0357 }, - { 27, 0x031f, 0x0320, 0x0321 }, - { 28, 0x04cf, 0x04d0, 0x04d1 }, - { 29, 0x8163, 0x8163, 0x8164 }, - { 30, 0x1ace, 0x1ace, 0x1acf }, - { 31, 0x1ad0, 0x1ad0, 0x1ad1 }, - { 32, 0x1ad2, 0x1ad2, 0x1ad3 }, - { 33, 0x8168, 0x8168, 0x8168 }, - { 34, 0x04ce, 0x04ce, 0x04ce }, - { 35, 0x04d2, 0x04d3, 0x04d3 }, - { 36, 0x0322, 0x0323, 0x0324 }, - { 37, 0x0324, 0x0327, 0x0327 }, - { 38, 0x0356, 0x0357, 0x035a }, - { 39, 0x812b, 0x032f, 0x812c }, - { 40, 0x1ad2, 0x1ad2, 0x1ad2 }, + { QUIP_ATTACK1, 0x0322, 0x0323, 0x0324 }, // "You made your last mistake", "What are you waiting for?", "Bring it on" + { QUIP_ATTACK2, 0x0325, 0x0326, 0x0327 }, // "Take her down, men!", "Everybody, get her!", "Attack!" + { QUIP_GOTOCOVER1, 0x812e, 0x0335, 0x0336 }, // "Cover my ass", "Cover me, now!", "I'm going for cover" + { QUIP_GRENADE1, 0x035b, 0x035c, 0x035d }, // "Look out, look out!", "It's a grenade", "Clear the area" + { QUIP_RETREAT1, 0x033a, 0x033b, 0x033c }, // "She's too good, run!", "Get some backup!", "Evacuate the area!" + { QUIP_GRENADE2, 0x033d, 0x033f, 0x0342 }, // "Catch this", "Here, keep it", "Grenade!" + { QUIP_RETREAT2, 0x0343, 0x0344, 0x0345 }, // "Withdraw, withdraw!", "Fall back!", "Everyone, get back!" + { QUIP_FLANK, 0x0346, 0x0347, 0x0348 }, // "Surround her!", "Spread out!", "Split up!" + { QUIP_SURRENDER, 0x0349, 0x034a, 0x034b }, // "Please don't", "Don't shoot", "I'm only doing my job" + { QUIP_HEARNOISE, 0x030e, 0x030f, 0x0310 }, // "That sounded like...", "Gunfire!", "Someone's shooting!" + { QUIP_10, 0x0037, 0x0037, 0x0037 }, + { QUIP_SEEPLAYER, 0x0306, 0x0307, 0x0308 }, // "Come here", "There's someone here", "Get her" + { QUIP_SHOTUNALERT, 0x0309, 0x8128, 0x030b }, // "Whoa!", "My god", "Is that a bullet?" + { QUIP_INJURED1, 0x8126, 0x0301, 0x0302 }, // "Oh my god", "I'm hit, I'm hit!", "I'm bleeding" + { QUIP_INJURED2, 0x8127, 0x0304, 0x0305 }, // "Oh god I'm hit", "Help me out", "I'm in trouble" + { QUIP_KILLEDPLAYER1, 0x0037, 0x0037, 0x0037 }, + { QUIP_WARNFRIENDS, 0x031c, 0x031d, 0x031e }, // "Look out, she's coming!", "Take cover!", "Look out, look out" + { QUIP_GOFORALARM, 0x0037, 0x0037, 0x0037 }, + { QUIP_SURPRISED, 0x8124, 0x8125, 0x02ff }, // "Holy...", "What the hell?", "Wha?" + { QUIP_INSPECTBODY, 0x8129, 0x812a, 0x0316 }, // "Noooo!", "Oh god he's dead!", "He's gone!" + { QUIP_20, 0x031c, 0x031d, 0x031e }, // "Look out, she's coming!", "Take cover!", "Look out, look out" + { QUIP_HITPLAYER, 0x0356, 0x0329, 0x0329 }, // "I'm just too good", "Yeah baby" + { QUIP_MISSEDPLAYER1, 0x812b, 0x032f, 0x812c }, // "Bloody stupid gun", "My gun, it's useless", "Damn it" + { QUIP_MISSEDPLAYER2, 0x0331, 0x0332, 0x812d }, // "Stop dodging", "Someone hit her", "Damn, she's good" + { QUIP_GOTOCOVER2, 0x0337, 0x0338, 0x0339 }, // "Go for it", "Go go, go!", "Run!" + { QUIP_DIE, 0x812f, 0x034d, 0x034e }, // Death scream, "Why me", choking + { QUIP_26, 0x0355, 0x0356, 0x0357 }, // "Outstanding", "I'm just too good" + { QUIP_SEARCHSUCCESS, 0x031f, 0x0320, 0x0321 }, // "Over there", "Halt", "Freeze" + { QUIP_SEEEYESPY, 0x04cf, 0x04d0, 0x04d1 }, // "What is it?", "How did that get here?", "Don't touch it!" + { QUIP_GREETING, 0x8163, 0x8163, 0x8164 }, // "Hi there", "How's things?" + { QUIP_ASKWEAPON1, 0x1ace, 0x1ace, 0x1acf }, // "Where are you taking that weapon?", "Get that firearm approved, now!" + { QUIP_ASKWEAPON2, 0x1ad0, 0x1ad0, 0x1ad1 }, // "Hey watch what you're doing with that", "Be careful!" + { QUIP_UNCOVERDISGUISE1, 0x1ad2, 0x1ad2, 0x1ad3 }, // "Stop right there", "Drop the gun" + { QUIP_LOSTGUN, 0x8168, 0x8168, 0x8168 }, // "Geez" + { QUIP_GOFORALARM, 0x04ce, 0x04ce, 0x04ce }, // "Warn the others" + { QUIP_SEARCHFAIL, 0x04d2, 0x04d3, 0x04d3 }, // "I can't see anybody", "There's no one here" + { QUIP_ATTACK3, 0x0322, 0x0323, 0x0324 }, // "You made your last mistake", "What are you waiting for?", "Bring it on" + { QUIP_ATTACK4, 0x0324, 0x0327, 0x0327 }, // "Bring it on", "Attack!" + { QUIP_KILLEDPLAYER2, 0x0356, 0x0357, 0x035a }, // "I'm just too good", "Yee-ha, got one", "Another one bites the dust" + { QUIP_GUNJAMMED, 0x812b, 0x032f, 0x812c }, // "Bloody stupid gun", "My gun, it's useless", "Damn it" + { QUIP_UNCOVEREDDISGUISE2, 0x1ad2, 0x1ad2, 0x1ad2 }, // "Stop right there!" // Voicebox 2 - { 0, 0x03e7, 0x03e8, 0x03e9 }, - { 1, 0x03ea, 0x03eb, 0x03ec }, - { 2, 0x03f9, 0x03fa, 0x03fb }, - { 3, 0x0420, 0x0421, 0x813d }, - { 4, 0x03ff, 0x8139, 0x0401 }, - { 5, 0x0403, 0x0405, 0x0407 }, - { 6, 0x0408, 0x0409, 0x040a }, - { 7, 0x040b, 0x040c, 0x040d }, - { 8, 0x040e, 0x040f, 0x0410 }, - { 9, 0x03d6, 0x03d6, 0x03d7 }, - { 10, 0x0037, 0x0037, 0x0037 }, - { 11, 0x03d0, 0x03d1, 0x8134 }, - { 12, 0x03d3, 0x8135, 0x03d5 }, - { 13, 0x8132, 0x03c8, 0x03c8 }, - { 14, 0x03cd, 0x03ce, 0x8133 }, - { 15, 0x0037, 0x0037, 0x0037 }, - { 16, 0x03e1, 0x03e2, 0x03e3 }, - { 34, 0x0037, 0x0037, 0x0037 }, - { 18, 0x03c4, 0x03c5, 0x03c6 }, - { 19, 0x03d9, 0x03da, 0x03db }, - { 20, 0x031c, 0x031d, 0x031e }, - { 21, 0x03ed, 0x03ee, 0x03ef }, - { 22, 0x8136, 0x03f4, 0x8137 }, - { 23, 0x8138, 0x03f7, 0x03f8 }, - { 24, 0x03fc, 0x03fd, 0x03fe }, - { 25, 0x813a, 0x813c, 0x0415 }, - { 26, 0x041b, 0x041c, 0x041d }, - { 27, 0x03e4, 0x03e5, 0x03e6 }, - { 28, 0x04d5, 0x04d6, 0x04d7 }, - { 29, 0x8165, 0x8165, 0x8166 }, - { 30, 0x1ad6, 0x1ad6, 0x1ad7 }, - { 31, 0x1ad8, 0x1ad8, 0x1ad9 }, - { 32, 0x1ada, 0x1ada, 0x1adb }, - { 33, 0x8168, 0x8168, 0x8168 }, - { 34, 0x04d4, 0x04d4, 0x04d4 }, - { 35, 0x04d8, 0x04d8, 0x04d9 }, - { 36, 0x03e7, 0x03e8, 0x03e9 }, - { 37, 0x03e8, 0x03eb, 0x03eb }, - { 38, 0x041b, 0x0417, 0x041d }, - { 39, 0x8134, 0x03f4, 0x8134 }, - { 40, 0x1adb, 0x1adb, 0x1adb }, - // Voicebox 3 - { 0, 0x0396, 0x0396, 0x0396 }, - { 1, 0x0037, 0x0398, 0x0399 }, - { 2, 0x03a4, 0x0037, 0x03a6 }, - { 3, 0x03c1, 0x03c2, 0x03c2 }, - { 4, 0x03aa, 0x03ab, 0x03ac }, - { 5, 0x03ad, 0x03ae, 0x0037 }, - { 6, 0x03b0, 0x03b0, 0x03b1 }, - { 7, 0x0037, 0x03b3, 0x03b4 }, - { 8, 0x03b5, 0x03b5, 0x03b6 }, - { 9, 0x0037, 0x0389, 0x038a }, - { 10, 0x0000, 0x0000, 0x0000 }, - { 11, 0x0381, 0x0382, 0x0037 }, - { 12, 0x0385, 0x0037, 0x0387 }, - { 13, 0x0037, 0x037e, 0x037f }, - { 14, 0x037e, 0x037f, 0x0380 }, - { 15, 0x0000, 0x0000, 0x0000 }, - { 16, 0x0384, 0x0385, 0x0037 }, - { 34, 0x03aa, 0x03ab, 0x03ac }, - { 18, 0x0037, 0x037b, 0x037c }, - { 19, 0x038d, 0x038d, 0x038d }, - { 20, 0x0384, 0x0385, 0x0387 }, - { 21, 0x039a, 0x039b, 0x0037 }, - { 22, 0x039f, 0x0037, 0x03a1 }, - { 23, 0x03a1, 0x03a2, 0x8130 }, - { 24, 0x03a7, 0x0037, 0x03a9 }, - { 25, 0x03b7, 0x03b8, 0x8131 }, - { 26, 0x03be, 0x0037, 0x03c0 }, - { 27, 0x0381, 0x0382, 0x0037 }, - { 28, 0x0000, 0x0000, 0x0000 }, - { 29, 0x0037, 0x0396, 0x0037 }, - { 30, 0x0037, 0x0396, 0x0037 }, - { 31, 0x0037, 0x0396, 0x0037 }, - { 32, 0x0037, 0x0396, 0x0037 }, - { 33, 0x037b, 0x037c, 0x037b }, - { 34, 0x03aa, 0x03b1, 0x03ab }, - { 35, 0x0000, 0x0000, 0x0000 }, - { 36, 0x0396, 0x0396, 0x0399 }, - { 37, 0x0399, 0x0399, 0x0396 }, - { 38, 0x03bc, 0x03be, 0x03c0 }, - { 39, 0x039f, 0x039f, 0x039f }, - { 40, 0x0000, 0x0000, 0x0000 }, + { QUIP_ATTACK1, 0x03e7, 0x03e8, 0x03e9 }, // "Come on, man", "Die", "Take this" + { QUIP_ATTACK2, 0x03ea, 0x03eb, 0x03ec }, // "Move in", "You're out of your league", "Let her have it" + { QUIP_GOTOCOVER1, 0x03f9, 0x03fa, 0x03fb }, // "Help me out here", "Hey, distract her", "Keep her occupied" + { QUIP_GRENADE1, 0x0420, 0x0421, 0x813d }, // "Get back, quick!", "We're gonna die!", "God, run!" + { QUIP_RETREAT1, 0x03ff, 0x8139, 0x0401 }, // "Retreat!", "Let's get the hell out of here", "Get back, get back!" + { QUIP_GRENADE2, 0x0403, 0x0405, 0x0407 }, // "Fire in the hole", "Here's a little present for ya", "Try this for size" + { QUIP_RETREAT2, 0x0408, 0x0409, 0x040a }, // "Get out of the way!", "Fall back!", "Move out" + { QUIP_FLANK, 0x040b, 0x040c, 0x040d }, // "Team up, guys", "Come on, around the side", "Scatter!" + { QUIP_SURRENDER, 0x040e, 0x040f, 0x0410 }, // "I don't like this any more", "Don't hurt me", "You win, I give up" + { QUIP_HEARNOISE, 0x03d6, 0x03d6, 0x03d7 }, // "Listen, gunshots", "Someone's nearby" + { QUIP_10, 0x0037, 0x0037, 0x0037 }, + { QUIP_SEEPLAYER, 0x03d0, 0x03d1, 0x8134 }, // "Target sighted", "Come on, man", "God damn it" + { QUIP_SHOTUNALERT, 0x03d3, 0x8135, 0x03d5 }, // "That was close", "Holy moly", "Ay caramba" + { QUIP_INJURED1, 0x8132, 0x03c8, 0x03c8 }, // "Geez, that hurt", "Why you..." + { QUIP_INJURED2, 0x03cd, 0x03ce, 0x8133 }, // "I'm injured", "I'm hit, I'm hit", "Damn it, I'm taking fire!" + { QUIP_KILLEDPLAYER1, 0x0037, 0x0037, 0x0037 }, + { QUIP_WARNFRIENDS, 0x03e1, 0x03e2, 0x03e3 }, // "Watch out!", "Help me out", "We've got an intruder" + { QUIP_GOFORALARM, 0x0037, 0x0037, 0x0037 }, + { QUIP_SURPRISED, 0x03c4, 0x03c5, 0x03c6 }, // "How the?", "Hey", "Stop" + { QUIP_INSPECTBODY, 0x03d9, 0x03da, 0x03db }, // "Body count's too high!", "I never liked him anyway", "That was my best friend" + { QUIP_20, 0x031c, 0x031d, 0x031e }, // "Look out, she's coming!", "Take cover!", "Look out, look out" + { QUIP_HITPLAYER, 0x03ed, 0x03ee, 0x03ef }, // "Surrender or die", "I have you now", "You won't beat me" + { QUIP_MISSEDPLAYER1, 0x8136, 0x03f4, 0x8137 }, // "Damn, missed again", "I don't believe it", "Damn you" + { QUIP_MISSEDPLAYER2, 0x8138, 0x03f7, 0x03f8 }, // "Hell, she's good", "Stop moving", "No escape for you" + { QUIP_GOTOCOVER2, 0x03fc, 0x03fd, 0x03fe }, // "Move it, move it", "Get to cover now", "Run for it" + { QUIP_DIE, 0x813a, 0x813c, 0x0415 }, // "Noooo!", "Oh god, I'm dying", "I don't want to die" + { QUIP_26, 0x041b, 0x041c, 0x041d }, // "I'm the man", "Boy that was close", "Did you see that?" + { QUIP_SEARCHSUCCESS, 0x03e4, 0x03e5, 0x03e6 }, // "Get her!", "There, attack!", "Hey, you, stop!" + { QUIP_SEEEYESPY, 0x04d5, 0x04d6, 0x04d7 }, // "Is it dangerous?", "Don't move", "Stay back" + { QUIP_GREETING, 0x8165, 0x8165, 0x8166 }, // "Hello", "Hey, what's up?" + { QUIP_ASKWEAPON1, 0x1ad6, 0x1ad6, 0x1ad7 }, // "Do you have permission for that?", "What are you doing with that gun?" + { QUIP_ASKWEAPON2, 0x1ad8, 0x1ad8, 0x1ad9 }, // "Hey, that's dangerous", "Watch it, that thing could go off" + { QUIP_UNCOVERDISGUISE1, 0x1ada, 0x1ada, 0x1adb }, // "Put your hands up", "It's a terrorist!" + { QUIP_LOSTGUN, 0x8168, 0x8168, 0x8168 }, // "Geez" + { QUIP_GOFORALARM, 0x04d4, 0x04d4, 0x04d4 }, // "Activate the alarm!" + { QUIP_SEARCHFAIL, 0x04d8, 0x04d8, 0x04d9 }, // "I bet this is another drill", "Another false alarm" + { QUIP_ATTACK3, 0x03e7, 0x03e8, 0x03e9 }, // "Come on, man", "Die", "Take this" + { QUIP_ATTACK4, 0x03e8, 0x03eb, 0x03eb }, // "Die", "You're out of your league" + { QUIP_KILLEDPLAYER2, 0x041b, 0x0417, 0x041d }, // "I'm the man", "It's all over for this one", "Did you see that?" + { QUIP_GUNJAMMED, 0x8134, 0x03f4, 0x8134 }, // "God damn it", "I don't believe it" + { QUIP_UNCOVEREDDISGUISE2, 0x1adb, 0x1adb, 0x1adb }, // "It's a terrorist!" + // Voicebox 3 (female) + { QUIP_ATTACK1, 0x0396, 0x0396, 0x0396 }, // "Come on" + { QUIP_ATTACK2, 0x0037, 0x0398, 0x0399 }, // "Everyone, get her", "Attack!" + { QUIP_GOTOCOVER1, 0x03a4, 0x0037, 0x03a6 }, // "Cover me!", "Take cover!" + { QUIP_GRENADE1, 0x03c1, 0x03c2, 0x03c2 }, // "Look out, look out!" + { QUIP_RETREAT1, 0x03aa, 0x03ab, 0x03ac }, // "Get reinforcements!", "Evacuate the area", "Retreat!" + { QUIP_GRENADE2, 0x03ad, 0x03ae, 0x0037 }, // "Catch this", "Time to die" + { QUIP_RETREAT2, 0x03b0, 0x03b0, 0x03b1 }, // "Withdraw, withdraw!", "Fall back!" + { QUIP_FLANK, 0x0037, 0x03b3, 0x03b4 }, // "Spread out", "Split up" + { QUIP_SURRENDER, 0x03b5, 0x03b5, 0x03b6 }, // "Please dont", "Don't shoot" + { QUIP_HEARNOISE, 0x0037, 0x0389, 0x038a }, // ???, "Someone's shooting" + { QUIP_10, 0x0000, 0x0000, 0x0000 }, + { QUIP_SEEPLAYER, 0x0381, 0x0382, 0x0037 }, // "Get her!", "Hey, you, come here!" + { QUIP_SHOTUNALERT, 0x0385, 0x0037, 0x0387 }, // "Under fire!", "We're under fire!" + { QUIP_INJURED1, 0x0037, 0x037e, 0x037f }, // "I'm wounded", "Help me out" + { QUIP_INJURED2, 0x037e, 0x037f, 0x0380 }, // "I'm wounded", "I'm in trouble!" + { QUIP_KILLEDPLAYER1, 0x0000, 0x0000, 0x0000 }, + { QUIP_WARNFRIENDS, 0x0384, 0x0385, 0x0037 }, // "Target attacking", "Under fire!" + { QUIP_GOFORALARM, 0x03aa, 0x03ab, 0x03ac }, // "Get reinforcements", "Evacuate the area", "Retreat!" + { QUIP_SURPRISED, 0x0037, 0x037b, 0x037c }, // "Hey", "Huh?" + { QUIP_INSPECTBODY, 0x038d, 0x038d, 0x038d }, // "Unit down" + { QUIP_20, 0x0384, 0x0385, 0x0387 }, // "Target attacking", "Under fire!", "We're under fire!" + { QUIP_HITPLAYER, 0x039a, 0x039b, 0x0037 }, // "Did that hurt?", "You want some more?" + { QUIP_MISSEDPLAYER1, 0x039f, 0x0037, 0x03a1 }, // "This gun's useless", "Stand still" + { QUIP_MISSEDPLAYER2, 0x03a1, 0x03a2, 0x8130 }, // "Stand still", "Someone hit her", "Damn, she's good" + { QUIP_GOTOCOVER2, 0x03a7, 0x0037, 0x03a9 }, // "Go for it!", "Run!" + { QUIP_DIE, 0x03b7, 0x03b8, 0x8131 }, // "Why me?", "Nooo!", "My god" + { QUIP_26, 0x03be, 0x0037, 0x03c0 }, // "I'm just too good", "Such a waste" + { QUIP_SEARCHSUCCESS, 0x0381, 0x0382, 0x0037 }, // "Get her!", "Hey, you, come here" + { QUIP_SEEEYESPY, 0x0000, 0x0000, 0x0000 }, + { QUIP_GREETING, 0x0037, 0x0396, 0x0037 }, // "Come on" + { QUIP_ASKWEAPON1, 0x0037, 0x0396, 0x0037 }, // "Come on" + { QUIP_ASKWEAPON2, 0x0037, 0x0396, 0x0037 }, // "Come on" + { QUIP_UNCOVERDISGUISE1, 0x0037, 0x0396, 0x0037 }, // "Come on" + { QUIP_LOSTGUN, 0x037b, 0x037c, 0x037b }, // "Hey", "Huh?" + { QUIP_GOFORALARM, 0x03aa, 0x03b1, 0x03ab }, // "Get reinforcements!", "Fall back!", "Evacuate the area" + { QUIP_SEARCHFAIL, 0x0000, 0x0000, 0x0000 }, + { QUIP_ATTACK3, 0x0396, 0x0396, 0x0399 }, // "Come on", "Attack!" + { QUIP_ATTACK4, 0x0399, 0x0399, 0x0396 }, // "Attack!", "Come on" + { QUIP_KILLEDPLAYER2, 0x03bc, 0x03be, 0x03c0 }, // "Get a cleaner", "I'm just too good", "Such a waste" + { QUIP_GUNJAMMED, 0x039f, 0x039f, 0x039f }, // "This gun's useless" + { QUIP_UNCOVEREDDISGUISE2, 0x0000, 0x0000, 0x0000 }, }; s16 g_SpecialQuipBank[][4] = { { 0, 0x0af2, 0x0af3, 0x0af8 }, - { 1, 0x1aee, 0x1aef, 0x1aee }, - { 2, 0x023d, 0x023e, 0x0247 }, - { 3, 0x0248, 0x0249, 0x024b }, - { 4, 0x0246, 0x023f, 0x0240 }, - { 5, 0x024c, 0x0252, 0x0251 }, - { 6, 0x024f, 0x0258, 0x024d }, - { 7, 0x0243, 0x0244, 0x0245 }, - { 8, 0x1294, 0x1295, 0x1296 }, - { 9, 0x1297, 0x1298, 0x1297 }, - { 10, 0x1290, 0x127e, 0x8103 }, - { 11, 0x7324, 0x7325, 0x7326 }, - { 12, 0x128e, 0x1280, 0x1287 }, - { 13, 0x128d, 0x1283, 0x1286 }, - { 14, 0x1291, 0x1284, 0x128a }, - { 15, 0x1292, 0x1281, 0x1288 }, - { 16, 0x128b, 0x1282, 0x1289 }, + { 1, 0x1aee, 0x1aef, 0x1aee }, // Secretary: "Please don't kill me", "Don't shoot" + { 2, 0x023d, 0x023e, 0x0247 }, // Dr Caroll: "Come on, come on", "My dear you're taking your time", "Come on my dear, we're going to get out of here now" + { 3, 0x0248, 0x0249, 0x024b }, // Dr Caroll: "Do you actually know what you're doing", "Ooh, ...?", "We're going to the helipad I presume" + { 4, 0x0246, 0x023f, 0x0240 }, // Dr Caroll: "I say over there, stop that", "What", "Ooh" + { 5, 0x024c, 0x0252, 0x0251 }, // Dr Caroll: "Ooh-uh", "That's quite enough of that", "Wow" + { 6, 0x024f, 0x0258, 0x024d }, // Dr Caroll: "I can't make it", "You were supposed to protect me", "Systems failure" + { 7, 0x0243, 0x0244, 0x0245 }, // Dr Caroll: "Oh crikey", "Goodness gracious me", "Don't they know who I am" + { 8, 0x1294, 0x1295, 0x1296 }, // Invest shock: "I'm not sure", "One more time", "I dunno" + { 9, 0x1297, 0x1298, 0x1297 }, // Scientist: "And again", "Try it now" + { 10, 0x1290, 0x127e, 0x8103 }, // Scientist: "What are you doing in my lab?", "I haven't seen you before", "Who the hell are you?" + { 11, 0x7324, 0x7325, 0x7326 }, // Jo: "Shut down the experiments", "Pull the plug on that, now!", "Switch this thing off" + { 12, 0x128e, 0x1280, 0x1287 }, // Scientist: "I'll shut it down", "Please, don't hurt me", "Allow me to assist you" + { 13, 0x128d, 0x1283, 0x1286 }, // Scientist: "My experiments!", "There, the experiment is down", "Leave this area now!" + { 14, 0x1291, 0x1284, 0x128a }, // Scientist: "Security!", "I'm calling security", "Accidents will happen" + { 15, 0x1292, 0x1281, 0x1288 }, // Scientist: "How did that happen", "It looks like it's off already", "Have you been tampering with this?" + { 16, 0x128b, 0x1282, 0x1289 }, // Scientist: "Someone's broken my equipment", "What's happened to the terminal?", "You vandal, you've broken it" { 17, 0x000d, 0x000d, 0x000d }, - { 18, 0x815d, 0x815e, 0x815f }, - { 19, 0x1aa0, 0x1aa1, 0x1aa2 }, - { 20, 0x0037, 0x1aa3, 0x1aa4 }, - { 21, 0x1aa5, 0x1aa5, 0x1aa6 }, - { 22, 0x0446, 0x0461, 0x0465 }, - { 23, 0x0447, 0x045d, 0x0466 }, - { 24, 0x814a, 0x045e, 0x0463 }, - { 25, 0x0444, 0x045f, 0x0468 }, - { 26, 0x0448, 0x0449, 0x0449 }, - { 27, 0x044b, 0x0459, 0x045a }, - { 28, 0x05be, 0x0515, 0x05bf }, - { 29, 0x044b, 0x0459, 0x045a }, - { 30, 0x044b, 0x0459, 0x045a }, - { 31, 0x1aeb, 0x1aeb, 0x1aeb }, - { 32, 0x1b35, 0x1b36, 0x1b37 }, - { 33, 0x1ac0, 0x1ac1, 0x1ac3 }, - { 34, 0x0446, 0x0461, 0x0000 }, - { 35, 0x0447, 0x045d, 0x0000 }, - { 36, 0x814a, 0x045e, 0x1aee }, - { 37, 0x0444, 0x045f, 0x0000 }, - { 38, 0x051b, 0x051c, 0x051d }, - { 39, 0x051e, 0x051f, 0x0520 }, - { 40, 0x0521, 0x0522, 0x0525 }, - { 41, 0x0523, 0x0523, 0x0524 }, - { 42, 0x1adb, 0x1aa6, 0x1ad2 }, + { 18, 0x815d, 0x815e, 0x815f }, // "How's things?", "Hey there", "Hi, how are you?" + { 19, 0x1aa0, 0x1aa1, 0x1aa2 }, // "Where did you get that?", "Should you have that?", "What are you doing with that weapon?" + { 20, 0x0037, 0x1aa3, 0x1aa4 }, // "Don't point that at me", "Watch where you're pointing that" + { 21, 0x1aa5, 0x1aa5, 0x1aa6 }, // "Imposter!", "It's a spy!" + { 22, 0x0446, 0x0461, 0x0465 }, // "Greetings, citizen", "Hey sugar, wanna party?", "Hey baby" + { 23, 0x0447, 0x045d, 0x0466 }, // "How's it going?", "Whoa, take it easy there lady", wolf whistle + { 24, 0x814a, 0x045e, 0x0463 }, // "Oh my god", "I don't want any trouble", "Here, take the wallet" + { 25, 0x0444, 0x045f, 0x0468 }, // "There's a maniac on the loose", "Quick, down there, she's got a gun", "Help, get me out of here!" + { 26, 0x0448, 0x0449, 0x0449 }, // "Guns don't scare me", "Keep away from this car" + { 27, 0x044b, 0x0459, 0x045a }, // "Base, we have an intruder", "We have a code 2 situation", "Request backup immediately" + { 28, 0x05be, 0x0515, 0x05bf }, // "You shouldn't have come here, girl", "Secure the perimeter", "We're taking over!" + { 29, 0x044b, 0x0459, 0x045a }, // "Base, we have an intruder", "We have a code 2 situation", "Request backup immediately" + { 30, 0x044b, 0x0459, 0x045a }, // "Base, we have an intruder", "We have a code 2 situation", "Request backup immediately" + { 31, 0x1aeb, 0x1aeb, 0x1aeb }, // Robot: "Stop where you are" + { 32, 0x1b35, 0x1b36, 0x1b37 }, // "Come back later, I'm busy", "Go away", "Look, I can't help you" + { 33, 0x1ac0, 0x1ac1, 0x1ac3 }, // President: "Stop shooting!", "You sure this is the way to the escape pod?", "Why are they shooting at me?" + { 34, 0x0446, 0x0461, 0x0000 }, // "Greetings, citizen", "Hey sugar, wanna party?" + { 35, 0x0447, 0x045d, 0x0000 }, // "How's it going?", "Whoa, take it easy there lady" + { 36, 0x814a, 0x045e, 0x1aee }, // "Oh my god", "I don't want any trouble", "Please don't kill me" + { 37, 0x0444, 0x045f, 0x0000 }, // "There's a maniac on the loose", "Quick, down there, she's got a gun" + { 38, 0x051b, 0x051c, 0x051d }, // Elvis: "In the name of intergalactic peace", "Eat hot lead, weirdos", "Kiss my alien butt" + { 39, 0x051e, 0x051f, 0x0520 }, // Elvis: "I'll kick your ass", "I'm doing this for your own good", "You dare shoot at me?" + { 40, 0x0521, 0x0522, 0x0525 }, // Elvis: "Don't mess with the Maian", "I'm bad", "He he" + { 41, 0x0523, 0x0523, 0x0524 }, // Elvis: "Oh It's all going wrong", "Hey, watch the suit" + { 42, 0x1adb, 0x1aa6, 0x1ad2 }, // "It's a terrorist!", "It's a spy!", "Stop right there!" { 43, 0x0af2, 0x0af8, 0x0af8 }, - { 44, 0x0525, 0x0525, 0x0525 }, - { 45, 0x1aec, 0x1aec, 0x1aec }, + { 44, 0x0525, 0x0525, 0x0525 }, // Elvis: "He he" + { 45, 0x1aec, 0x1aec, 0x1aec }, // Robot: "Alert! Under attack" }; s16 g_QuipTexts[][4] = { @@ -7615,9 +7615,9 @@ s16 g_SkedarQuipBank[][4] = { }; s16 g_MaianQuipBank[][4] = { - { 1, 0x05e2, 0x05e3, 0x05e4 }, - { 2, 0x05e5, 0x05e6, 0x05e7 }, - { 3, 0x05df, 0x05e0, 0x05e1 }, + { 1, 0x05e2, 0x05e3, 0x05e4 }, // laughter, mumble, mumble + { 2, 0x05e5, 0x05e6, 0x05e7 }, // mumble, mumble, laughter + { 3, 0x05df, 0x05e0, 0x05e1 }, // injuries { 0, 0x0000, 0x0000, 0x0000 }, }; diff --git a/src/game/data/ailists.c b/src/game/data/ailists.c index 339530627..40015136d 100644 --- a/src/game/data/ailists.c +++ b/src/game/data/ailists.c @@ -82,7 +82,7 @@ u8 func0006_unalerted[] = { // Injured or has no gun label(0x16) - say_quip(CHR_BOND, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) 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) @@ -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_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, if_self_flag_bankx_eq(CHRFLAG0_CANT_ALERT_GROUP, TRUE, BANK_0, /*goto*/ 0x13) increase_squadron_alertness(100) @@ -367,14 +367,14 @@ u8 func0006_unalerted[] = { if_chr_in_squadron_doing_action(MA_GOTOALARM, /*goto*/ 0x16) if_self_flag_bankx_eq(CHRFLAG0_CAN_RUN_FOR_ALARM, TRUE, BANK_0, /*goto*/ 0x9f) label(0x16) - say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x9f) increase_squadron_alertness(100) goto_next(0x77) label(0xdb) // jumped to from below label(0x14) - say_quip(CHR_BOND, 0x20, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Imposter!","It's a spy!" + say_quip(CHR_BOND, QUIP_UNCOVERDISGUISE1, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) increase_squadron_alertness(100) goto_next(0x77) @@ -383,7 +383,7 @@ u8 func0006_unalerted[] = { yield yield dprint 'S','3',0, - say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) increase_squadron_alertness(100) goto_next(0x77) @@ -391,7 +391,7 @@ u8 func0006_unalerted[] = { label(0x16) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED) dprint 'S','U','R','P','R','I','S','E','D','!','\n',0, - say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) 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_BOND, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Did you hear that?","What's that noise?","I heard a noise..." + say_quip(CHR_BOND, QUIP_HEARNOISE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) 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,7 +482,7 @@ u8 func0006_unalerted[] = { // label(LABEL_NEAR_MISS) increase_self_alertness(100) - say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) set_target_chr(CHR_BOND) if_within_units_of_sight(30, /*goto*/ 0x13) goto_next(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_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x76) chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) @@ -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_BOND, 0x13, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Are you okay?","Got a man down!","He's bought it..." + say_quip(CHR_BOND, QUIP_INSPECTBODY, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) unset_self_flag_bankx(CHRFLAG0_CAN_EXAMINE_BODY, BANK_0) label(0x13) if_timer_gt(600, /*goto*/ 0x7d) @@ -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_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!" + say_quip(CHR_BOND, QUIP_SURPRISED, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) restart_timer if_self_flag_bankx_eq(CHRFLAG1_DOINGIDLEANIMATION, TRUE, BANK_1, /*goto*/ 0x75) chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) @@ -901,7 +901,7 @@ u8 func0007_alerted[] = { endloop(0x1c) label(0x16) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "You bitch!","Oh... my... god","She got me" + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) set_shotlist(GAILIST_IDLE) set_ailist(CHR_SELF, GAILIST_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_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!" + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x16) if_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_BOND, 0x21, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "My gun!" + say_quip(CHR_BOND, QUIP_LOSTGUN, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) stop_chr restart_timer yield @@ -1098,11 +1098,11 @@ u8 func0007_alerted[] = { goto_next(0x93) label(0x13) - say_quip(CHR_BOND, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" + say_quip(CHR_BOND, QUIP_FLANK, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(LABEL_FLANK_LEFT) label(0x15) - say_quip(CHR_BOND, 0x07, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) // "Wipe the target!","Let's split up!","Surround her!" + say_quip(CHR_BOND, QUIP_FLANK, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(LABEL_FLANK_RIGHT) // Attempt trap (hide and ambush when player gets near) @@ -1227,7 +1227,7 @@ u8 func0007_alerted[] = { 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_BOND, 0x01, 0x50, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" + say_quip(CHR_BOND, QUIP_ATTACK2, 0x50, 0x02, 0x01, BANK_0, 0x00, 0x00) goto_first(0x1b) label(0xa3) @@ -1489,7 +1489,7 @@ u8 func0007_alerted[] = { if_self_flag_bankx_eq(CHRFLAG0_CAN_FLANK, FALSE, BANK_0, /*goto*/ 0x16) set_team_orders(MA_SHOOTING, /*goto*/ 0x16) label(0x16) - say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GOTOCOVER1, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) restart_timer go_to_cover(SPEED_RUN) @@ -1672,7 +1672,7 @@ u8 func0007_alerted[] = { endloop(0x60) label(0x57) - say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_preset_animation(-2) goto_next(0xe8) @@ -1863,7 +1863,7 @@ u8 func0007_alerted[] = { set_team_orders(MA_GRENADE, /*goto*/ 0x47) beginloop(0x47) - say_quip(CHR_BOND, 0x05, 0xff, 0x07, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GRENADE2, 0xff, 0x07, 0x00, BANK_0, 0x00, 0x00) if_chr_stopped(/*goto*/ 0x4a) endloop(0x47) @@ -2022,7 +2022,7 @@ u8 func0007_alerted[] = { endloop(0x43) label(0x57) - say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_preset_animation(-2) goto_next(0xe9) @@ -2032,13 +2032,13 @@ u8 func0007_alerted[] = { set_accuracy(0) label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) - say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x16) label(0x13) - say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) @@ -2359,8 +2359,8 @@ u8 func0007_alerted[] = { goto_next(0x67) label(0x44) - say_quip(CHR_BOND, 0x00, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x01, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK1, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0x45) if_dangerous_object_nearby(3, /*goto*/ LABEL_FLEE_GRENADE) @@ -2368,7 +2368,7 @@ u8 func0007_alerted[] = { endloop(0x45) label(0x57) - say_quip(CHR_BOND, 0x27, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GUNJAMMED, 0xfe, 0x03, 0xff, BANK_0, 0x00, 0x00) do_preset_animation(-2) goto_next(0xea) label(0x2a) @@ -2377,13 +2377,13 @@ u8 func0007_alerted[] = { set_accuracy(0) label(0x13) if_chr_injured_target(CHR_SELF, /*goto*/ 0x13) - say_quip(CHR_BOND, 0x16, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) goto_next(0x16) label(0x13) - say_quip(CHR_BOND, 0x15, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_lt(20, /*goto*/ 0x16) @@ -2459,7 +2459,7 @@ u8 func0007_alerted[] = { set_action(MA_RETREAT, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_BOND, 0x04, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) // "Go to plan B","Get the hell out of here!","Retreat!" + say_quip(CHR_BOND, QUIP_RETREAT1, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) try_set_chrpreset_to_unalerted_teammate(0, /*goto*/ 0x95) if_self_flag_bankx_eq(CHRFLAG1_00000002, TRUE, BANK_1, /*goto*/ 0x16) label(0x16) @@ -2505,7 +2505,7 @@ u8 func0007_alerted[] = { set_action(MA_SURRENDER, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_BOND, 0x08, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) // "Please! Don't shoot me!","I give up!","You win! I surrender" + say_quip(CHR_BOND, QUIP_SURRENDER, 0xfe, 0x0a, 0xff, BANK_0, 0x00, 0x00) restart_timer surrender @@ -2528,7 +2528,7 @@ u8 func0007_alerted[] = { goto_first(0x71) label(0x72) - say_quip(CHR_BOND, 0x08, 0x23, 0x0a, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SURRENDER, 0x23, 0x0a, 0x00, BANK_0, 0x00, 0x00) restart_timer goto_first(0x71) @@ -2547,7 +2547,7 @@ u8 func0007_alerted[] = { label(0x97) dprint 'W','A','R','N',' ','F','R','I','E','N','D','S','\n',0, - say_quip(CHR_BOND, 0x10, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_WARNFRIENDS, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) increase_squadron_alertness(100) label(0x84) goto_first(0x1b) @@ -2562,7 +2562,7 @@ u8 func0007_alerted[] = { set_action(MA_GOTOALARM, FALSE) unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1) unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1) - say_quip(CHR_BOND, 0x22, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Trigger the alarm" + say_quip(CHR_BOND, QUIP_GOFORALARM, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) go_to_target_pad(SPEED_JOG) beginloop(0x9d) @@ -2747,14 +2747,14 @@ u8 func000b_choose_target_chr[] = { if_num_times_shot_lt(1, /*goto*/ 0xd3) // Has been shot - say_quip(CHR_BOND, 0x0c, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0x78, 0x03, 0x00, BANK_0, 0x00, 0x00) beginloop(0x03) if_chr_stopped(/*goto*/ 0x16) endloop(0x03) label(0x16) - say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, increase_squadron_alertness(100) dprint 'N','O',' ','W','A','R','N','I','N','G','\n',0, @@ -2907,11 +2907,11 @@ u8 func000c_combat_with_target_chr[] = { label(0x16) if_chr_is_skedar(CHR_SELF, /*goto*/ 0x16) - say_quip(CHR_BOND, 0x19, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_DIE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_next(0x17) label(0x16) - say_quip(CHR_BOND, 0x02, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GOTOCOVER1, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x17) set_shotlist(GAILIST_IDLE) @@ -2936,8 +2936,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_BOND, 0x0d, 0x28, 0x03, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x0e, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED1, 0x28, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_INJURED2, 0x28, 0x03, 0x01, BANK_0, 0x00, 0x00) set_self_flag_bankx(CHRFLAG0_SAID_INJURY_QUIP, BANK_0) label(0x16) if_chr_stopped(/*goto*/ 0x13) @@ -3195,7 +3195,7 @@ u8 func000c_combat_with_target_chr[] = { goto_next(0x16) label(0x17) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x16) call_rng if_rand_gt(50, /*goto*/ 0x13) @@ -3215,8 +3215,8 @@ u8 func000c_combat_with_target_chr[] = { try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0xc3) label(0xc3) - say_quip(CHR_BOND, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK3, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK4, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0xe2) if_chr_dying(CHR_TARGET, /*goto*/ 0xc1) @@ -3245,14 +3245,14 @@ 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_BOND, 0x16, 0x19, 0x03, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x17, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 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_BOND, 0x15, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x15, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) dprint 'B','O','N','N','D',' ','3','\n',0, @@ -3289,7 +3289,7 @@ u8 func000c_combat_with_target_chr[] = { label(0x53) dprint 'G','O',' ','T','O',' ','C','O','V','E','R','\n',0, - say_quip(CHR_BOND, 0x02, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_GOTOCOVER1, 0xff, 0x02, 0x01, BANK_0, 0x00, 0x00) go_to_cover(SPEED_RUN) restart_timer @@ -3344,14 +3344,14 @@ u8 func000c_combat_with_target_chr[] = { goto_next(0x17) label(0x16) - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK2, 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_BOND, 0x24, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) - say_quip(CHR_BOND, 0x25, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK3, 0x19, 0x02, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_ATTACK4, 0x19, 0x02, 0x01, BANK_0, 0x00, 0x00) beginloop(0xcc) if_chr_dying(CHR_TARGET, /*goto*/ 0xc5) @@ -3456,7 +3456,7 @@ u8 func000c_combat_with_target_chr[] = { goto_first(0xb3) label(0xd7) - say_quip(CHR_BOND, 0x0f, 0x28, 0x00, 0x01, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_KILLEDPLAYER1, 0x28, 0x00, 0x01, BANK_0, 0x00, 0x00) try_face_entity(0x0200, 0x0000, /*goto*/ 0x16) label(0x16) if_chr_is_skedar(CHR_SELF, /*goto*/ 0xd9) @@ -3912,7 +3912,7 @@ u8 func000f_hand_combat[] = { label(0x17) restart_timer - say_quip(CHR_BOND, 0x01, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Open fire!","Wipe her out!","Waste her!" + say_quip(CHR_BOND, QUIP_ATTACK2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) beginloop(0x05) if_timer_gt(180, /*goto*/ 0x16) @@ -3922,14 +3922,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_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" + say_quip(CHR_BOND, QUIP_MISSEDPLAYER1, 0x19, 0x03, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_MISSEDPLAYER2, 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_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!" + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x19, 0x03, 0x01, BANK_0, 0x00, 0x00) label(0x16) goto_next(0x0b) @@ -4003,7 +4003,7 @@ u8 func0010_civilian_say_comment[] = { restart_timer if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_01000000, /*goto*/ 0x13) do_preset_animation(-1) - say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?" + say_quip(CHR_BOND, QUIP_GREETING, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) yield // Set a do-once flag, so chr is only stopped the first time @@ -4020,7 +4020,7 @@ u8 func0010_civilian_say_comment[] = { label(0x05) if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x06) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_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?" + say_quip(CHR_BOND, QUIP_ASKWEAPON1, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) do_preset_animation(6) restart_timer @@ -4041,7 +4041,7 @@ u8 func0010_civilian_say_comment[] = { label(0x13) set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000) dprint 'D','O','N','T',' ','P','O','I','N','T','\n',0, - say_quip(CHR_BOND, 0x1f, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Don't point that at me","Watch where you're pointing that" + say_quip(CHR_BOND, QUIP_ASKWEAPON2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) do_preset_animation(-1) restart_timer @@ -4098,7 +4098,7 @@ u8 func0010_civilian_say_comment[] = { u8 func001c_surprised[] = { set_shotlist(GAILIST_ALERTED) increase_squadron_alertness(100) - say_quip(CHR_BOND, 0x0c, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) // "Holy shh...","What the hell?!" + say_quip(CHR_BOND, QUIP_SHOTUNALERT, 0xff, 0x03, 0x00, BANK_0, 0x00, 0x00) restart_timer chr_do_animation(ANIM_SURPRISED_0202, 0, -1, 0x00, 0x10, CHR_SELF, 2) @@ -4118,7 +4118,7 @@ u8 func0011_flee_from_grenade[] = { set_action(MA_RUNFROMGRENADE, FALSE) dprint 'N','E','A','R',' ','D','A','N','G','E','R','\n',0, run_from_grenade - say_quip(CHR_BOND, 0x03, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "Look out, look out!","It's a grenade!","Clear the area!" + say_quip(CHR_BOND, QUIP_GRENADE1, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) restart_timer beginloop(0x0c) @@ -4189,7 +4189,7 @@ u8 func001b_observe_camspy[] = { // Timer expired label(0x04) do_preset_animation(-1) - say_quip(CHR_BOND, 0x1c, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // "What the hell?","Hello there","What's this?" + say_quip(CHR_BOND, QUIP_SEEEYESPY, 0xff, 0x00, 0xff, BANK_0, 0x00, 0x00) // Wait another 5 seconds with same logic as previous timer beginloop(0x05) @@ -4216,7 +4216,7 @@ u8 func001b_observe_camspy[] = { // Timer expired second time label(0xe8) - say_quip(CHR_BOND, 0x28, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "It's a spy!" + say_quip(CHR_BOND, QUIP_UNCOVEREDDISGUISE2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // Shoot camspy label(0x09) @@ -4427,11 +4427,11 @@ 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_BOND, 0x1b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEARCHSUCCESS, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x13) set_ailist(CHR_SELF, GAILIST_ALERTED) label(0x0b) - say_quip(CHR_BOND, 0x23, 0x32, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEARCHFAIL, 0x32, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_first(0x05) label(0xc3) @@ -4507,7 +4507,7 @@ u8 func001f_related_to_spawning[] = { label(0x1e) dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0, - say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x9f) increase_squadron_alertness(100) set_alertness(255) @@ -4516,7 +4516,7 @@ u8 func001f_related_to_spawning[] = { label(0x1f) yield - say_quip(CHR_BOND, 0x09, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HEARNOISE, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) if_self_flag_bankx_eq(CHRFLAG0_CAN_HEARSPAWN, TRUE, BANK_0, /*goto*/ 0xda) increase_squadron_alertness(100) set_returnlist(CHR_SELF, GAILIST_RELATED_TO_SPAWNING) @@ -4721,7 +4721,7 @@ u8 func0014_coop_buddy[] = { // Injured label(0x13) - say_quip(CHR_BOND, 0x0e, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" + say_quip(CHR_BOND, QUIP_INJURED2, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) dprint 'B','U','D','D','Y',' ','W','O','U','N','D','\n',0, beginloop(0xf2) @@ -4842,15 +4842,15 @@ u8 func0014_coop_buddy[] = { call_rng if_rand_lt(85, /*goto*/ 0xfa) if_rand_lt(170, /*goto*/ 0xf3) - say_quip(CHR_BOND, 0x00, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" + say_quip(CHR_BOND, QUIP_ATTACK1, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) goto_next(0x13) label(0xfa) - say_quip(CHR_BOND, 0x0b, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) goto_next(0x13) label(0xf3) - say_quip(CHR_BOND, 0x15, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, QUIP_HITPLAYER, 0xff, 0x14, 0xff, BANK_0, 0x00, 0x00) label(0x13) // Found chr in group from non G5 or Deep Sea stage @@ -4915,8 +4915,8 @@ u8 func0022_comment_on_player_dead[] = { label(0x16) dprint 'K','I','L','L','E','D','E','R','\n',0, - 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!" + say_quip(CHR_BOND, QUIP_KILLEDPLAYER2, 0xff, 0x02, 0x00, BANK_0, 0x00, 0x00) + say_quip(CHR_BOND, QUIP_HITPLAYER, 0x80, 0x03, 0x01, BANK_0, 0x00, 0x00) beginloop(0x04) endloop(0x04) @@ -5188,7 +5188,7 @@ u8 func0027_psychosised[] = { // Injured label(0x13) - say_quip(CHR_BOND, 0x0e, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I'm hit, I'm hit!","I'm taking fire!","Taking damage!" + say_quip(CHR_BOND, QUIP_INJURED2, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) beginloop(0xf2) if_chr_stopped(/*goto*/ 0x16) @@ -5253,15 +5253,15 @@ u8 func0027_psychosised[] = { if_rand_lt(85, /*goto*/ 0xfa) if_rand_lt(170, /*goto*/ 0xf3) - say_quip(CHR_BOND, 0x00, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "I've got a clear shot","She's mine!" + say_quip(CHR_BOND, QUIP_ATTACK1, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_next(0x13) label(0xfa) - say_quip(CHR_BOND, 0x0b, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Hey, you!","Intruder alert","We've got a contact!" + say_quip(CHR_BOND, QUIP_SEEPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) goto_next(0x13) label(0xf3) - say_quip(CHR_BOND, 0x15, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Give it up!","Surrender, now!","Take that!" + say_quip(CHR_BOND, QUIP_HITPLAYER, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) label(0x13) set_returnlist(CHR_SELF, GAILIST_PSYCHOSISED) diff --git a/src/game/data/data_000000.c b/src/game/data/data_000000.c index 9a6855800..b5d05a1b3 100644 --- a/src/game/data/data_000000.c +++ b/src/game/data/data_000000.c @@ -3896,451 +3896,451 @@ u32 var8005dde0 = 0x00000000; // 3e04 struct audiodefinition audiodefinitions[] = { - { 0x85ba, 59 }, - { 0x85a5, 15 }, - { 0x85a6, 15 }, - { 0x80bb, 14 }, - { 0x80bc, 14 }, - { 0x8007, 14 }, - { 0x8007, 14 }, - { 0x80be, 14 }, - { 0x80bf, 14 }, - { 0x80bf, 14 }, - { 0x80c0, 14 }, - { 0x8007, 14 }, - { 0x80c2, 14 }, - { 0x80c3, 14 }, - { 0x80c4, 14 }, - { 0x80c5, 14 }, - { 0x8007, 14 }, - { 0x80c7, 14 }, - { 0x80c8, 14 }, - { 0x80c9, 14 }, - { 0x80ca, 15 }, - { 0x80cb, 15 }, - { 0x80cc, 15 }, - { 0x8007, 15 }, - { 0x8007, 15 }, - { 0x8007, 15 }, - { 0x80d2, 15 }, - { 0x80d3, 15 }, - { 0x8007, 15 }, - { 0x80c6, 14 }, - { 0x80d6, 15 }, - { 0x80d7, 15 }, - { 0x80d8, 15 }, - { 0x80db, 14 }, - { 0x80da, 14 }, - { 0x80bf, 14 }, - { 0x80bf, 14 }, - { 0x80de, 14 }, - { 0x80e1, 15 }, - { 0x80e2, 15 }, - { 0x977a, 60 }, - { 0x97b0, 60 }, - { 0x97b1, 60 }, - { 0x977c, 60 }, - { 0x9786, 60 }, - { 0x9787, 60 }, - { 0x9788, 60 }, - { 0x978c, 60 }, - { 0x9794, 60 }, - { 0x9784, 60 }, - { 0x978e, 60 }, - { 0x978f, 60 }, - { 0x9790, 60 }, - { 0x977e, 60 }, - { 0x977f, 60 }, - { 0x9780, 60 }, - { 0x802e, 32 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x806a, 33 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x806d, 33 }, - { 0x806e, 33 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8070, 33 }, - { 0x8071, 33 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8075, 33 }, - { 0x8037, 35 }, - { 0x8037, 35 }, - { 0x8079, 31 }, - { 0x8066, 31 }, - { 0x8037, 35 }, - { 0x8032, 31 }, - { 0x8037, 35 }, - { 0x807a, 35 }, - { 0x8059, 31 }, - { 0x8001, 35 }, - { 0x847e, 32 }, - { 0x847d, 33 }, - { 0x84f1, 32 }, - { 0x84f2, 32 }, - { 0x84f3, 32 }, - { 0x84f4, 33 }, - { 0x84f6, 33 }, - { 0x8506, 31 }, - { 0x84fd, 33 }, - { 0x8504, 33 }, - { 0x84fe, 33 }, - { 0x8503, 33 }, - { 0x8500, 32 }, - { 0x8501, 32 }, - { 0x8502, 32 }, - { 0x85ca, 31 }, - { 0x85cb, 31 }, - { 0x85d2, 31 }, - { 0x8074, 33 }, - { 0x85eb, 35 }, - { 0x85ec, 35 }, - { 0x85ed, 31 }, - { 0x85ee, 31 }, - { 0x85ef, 33 }, - { 0x85f0, 33 }, - { 0x85f1, 33 }, - { 0x85f2, 33 }, - { 0x85f3, 33 }, - { 0x85f4, 33 }, - { 0x8508, 31 }, - { 0x850a, 31 }, - { 0x8076, 33 }, - { 0x85f5, 30 }, - { 0x8509, 33 }, - { 0x8045, 45 }, - { 0x8046, 45 }, - { 0x8047, 25 }, - { 0x8048, 45 }, - { 0x80f0, 45 }, - { 0x80ef, 45 }, - { 0x8049, 45 }, - { 0x804a, 45 }, - { 0x804b, 45 }, - { 0x80d9, 45 }, - { 0x804c, 45 }, - { 0x80e7, 45 }, - { 0x80e6, 45 }, - { 0x80e0, 45 }, - { 0x80dc, 45 }, - { 0x80b9, 45 }, - { 0x80d4, 45 }, - { 0x80d0, 45 }, - { 0x80d1, 45 }, - { 0x8078, 45 }, - { 0x80dd, 45 }, - { 0x8003, 45 }, - { 0x802d, 21 }, - { 0x807b, 21 }, - { 0x807c, 21 }, - { 0x807d, 21 }, - { 0x807e, 21 }, - { 0x807f, 21 }, - { 0x8080, 21 }, - { 0x8081, 21 }, - { 0x8082, 21 }, - { 0x8083, 21 }, - { 0x8084, 21 }, - { 0x8085, 21 }, - { 0x80b4, 18 }, - { 0x80b5, 18 }, - { 0x80b6, 17 }, - { 0x80a9, 18 }, - { 0x80aa, 18 }, - { 0x80ab, 17 }, - { 0x80ac, 18 }, - { 0x80ad, 18 }, - { 0x80ae, 17 }, - { 0x80b1, 18 }, - { 0x80b2, 18 }, - { 0x80b3, 18 }, - { 0x818a, 19 }, - { 0xefdd, 19 }, - { 0x805f, 32 }, - { 0x8060, 32 }, - { 0x8061, 32 }, - { 0x8004, 32 }, - { 0x80f1, 32 }, - { 0x80f3, 32 }, - { 0x8055, 16 }, - { 0x8056, 16 }, - { 0x8057, 16 }, - { 0x85f7, 52 }, - { 0x8127, 29 }, - { 0x8128, 29 }, - { 0x8129, 29 }, - { 0x812a, 29 }, - { 0x812b, 29 }, - { 0x812c, 29 }, - { 0x812d, 50 }, - { 0x812e, 50 }, - { 0x8138, 50 }, - { 0x8138, 28 }, - { 0x812f, 51 }, - { 0x8151, 51 }, - { 0x8154, 51 }, - { 0x8157, 51 }, - { 0x815a, 51 }, - { 0x8132, 51 }, - { 0x8139, 51 }, - { 0x813f, 51 }, - { 0x8145, 51 }, - { 0x814b, 51 }, - { 0x8161, 4 }, - { 0x8162, 4 }, - { 0x8163, 4 }, - { 0x8164, 4 }, - { 0x8165, 4 }, - { 0x8166, 4 }, - { 0x8167, 4 }, - { 0x8168, 4 }, - { 0x8169, 4 }, - { 0x816a, 4 }, - { 0x816b, 4 }, - { 0x816c, 4 }, - { 0x816d, 4 }, - { 0x816e, 4 }, - { 0x816f, 4 }, - { 0x8170, 4 }, - { 0x8171, 4 }, - { 0x8172, 4 }, - { 0x8173, 4 }, - { 0x8174, 4 }, - { 0x8175, 4 }, - { 0x8176, 4 }, - { 0x8177, 4 }, - { 0x8178, 4 }, - { 0x8179, 4 }, - { 0x817a, 4 }, - { 0x817b, 4 }, - { 0x817c, 4 }, - { 0x817d, 4 }, - { 0x817e, 4 }, - { 0x817f, 4 }, - { 0x8180, 4 }, - { 0x804d, 4 }, - { 0x804e, 4 }, - { 0x85f8, 5 }, - { 0x85f9, 5 }, - { 0x85fa, 5 }, - { 0x85fb, 5 }, - { 0x85fc, 6 }, - { 0x85fd, 6 }, - { 0x85fe, 6 }, - { 0x85ff, 6 }, - { 0x8600, 4 }, - { 0x8601, 4 }, - { 0x8602, 4 }, - { 0x8603, 4 }, - { 0x8604, 4 }, - { 0x8605, 4 }, - { 0x8606, 4 }, - { 0x8606, 4 }, - { 0x81d9, 61 }, - { 0x8267, 2 }, - { 0x8268, 2 }, - { 0x8286, 2 }, - { 0x8288, 2 }, - { 0x8291, 2 }, - { 0x829f, 2 }, - { 0x82a1, 2 }, - { 0x8af9, 47 }, - { 0x8afa, 47 }, - { 0x8afb, 47 }, - { 0x92fc, 47 }, - { 0x92fd, 47 }, - { 0x9285, 2 }, - { 0x9306, 48 }, - { 0x9307, 48 }, - { 0x9308, 48 }, - { 0x9309, 48 }, - { 0x930a, 48 }, - { 0x8435, 49 }, - { 0x81b5, 7 }, - { 0x81b6, 8 }, - { 0x81b5, 9 }, - { 0x81b6, 10 }, - { 0x85f3, 11 }, - { 0x81b5, 12 }, - { 0x81b6, 13 }, - { 0x81b7, 20 }, - { 0x81b8, 20 }, - { 0x81c7, 20 }, - { 0x8037, 20 }, - { 0x81b7, 56 }, - { 0x81b9, 0 }, - { 0x81ba, 0 }, - { 0x81bb, 0 }, - { 0x81cb, 36 }, - { 0x81cb, 37 }, - { 0x81cb, 38 }, - { 0x81c6, 55 }, - { 0x9278, 47 }, - { 0x9279, 47 }, - { 0x927a, 47 }, - { 0x927b, 47 }, - { 0x927c, 47 }, - { 0x927d, 47 }, - { 0x9277, 47 }, - { 0x82fd, 2 }, - { 0x82fe, 2 }, - { 0x8300, 2 }, - { 0x8303, 2 }, - { 0x830a, 2 }, - { 0x8313, 62 }, - { 0x8314, 2 }, - { 0x832e, 2 }, - { 0x8330, 2 }, - { 0x8333, 2 }, - { 0x8334, 2 }, - { 0x834c, 62 }, - { 0x83a3, 2 }, - { 0x83b9, 2 }, - { 0x83c7, 2 }, - { 0x83cf, 2 }, - { 0x83d2, 2 }, - { 0x83d4, 2 }, - { 0x83f3, 2 }, - { 0x83f5, 2 }, - { 0x83f6, 2 }, - { 0x8400, 2 }, - { 0x8411, 62 }, - { 0x8413, 2 }, - { 0x8414, 2 }, - { 0x8422, 2 }, - { 0x8432, 33 }, - { 0x843c, 58 }, - { 0x843d, 58 }, - { 0x84ab, 58 }, - { 0x843d, 58 }, - { 0x81b7, 58 }, - { 0x8477, 57 }, - { 0x8478, 57 }, - { 0x81c2, 54 }, - { 0x8479, 54 }, - { 0x81c3, 54 }, - { 0x81c4, 54 }, - { 0x8443, 2 }, - { 0x844e, 2 }, - { 0x843c, 63 }, - { 0x847c, 63 }, - { 0x843d, 63 }, - { 0xf2ad, 1 }, - { 0xf2ae, 1 }, - { 0xf2af, 1 }, - { 0xd2b0, 1 }, - { 0xf2b1, 1 }, - { 0xd2b2, 1 }, - { 0x92b8, 2 }, - { 0x9b30, 2 }, - { 0x9b27, 47 }, - { 0x9b28, 47 }, - { 0x9b29, 47 }, - { 0x9b2a, 47 }, - { 0x9b2b, 47 }, - { 0x9b2c, 47 }, - { 0x9a9d, 60 }, - { 0x9a9e, 60 }, - { 0x9a9f, 60 }, - { 0x8037, 4 }, - { 0x9271, 60 }, - { 0x9275, 2 }, - { 0x9acc, 60 }, - { 0x9acd, 60 }, - { 0x9ad4, 60 }, - { 0x9ad5, 60 }, - { 0x84c8, 2 }, - { 0x84cd, 2 }, - { 0x84ad, 46 }, - { 0x8507, 27 }, - { 0x84ee, 16 }, - { 0x84ef, 16 }, - { 0x84f0, 16 }, - { 0x92c8, 2 }, - { 0x92c9, 2 }, - { 0xb3a0, 1 }, - { 0xb3a1, 1 }, - { 0xd3a3, 1 }, - { 0xd3a4, 1 }, - { 0xd3a6, 1 }, - { 0xd3a7, 1 }, - { 0xd3a8, 1 }, - { 0xd3a9, 1 }, - { 0xd3ab, 1 }, - { 0xd3b0, 1 }, - { 0xd3b2, 1 }, - { 0xd3b3, 1 }, - { 0xb3b6, 1 }, - { 0xd3b8, 1 }, - { 0xd3ba, 1 }, - { 0xd3bb, 1 }, - { 0xb3bd, 1 }, - { 0xd3bf, 1 }, - { 0xb3c4, 1 }, - { 0xb3c5, 1 }, - { 0xb3c6, 1 }, - { 0xb3c9, 1 }, - { 0xb3ca, 1 }, - { 0x8594, 4 }, - { 0x8595, 4 }, - { 0x8596, 4 }, - { 0x8597, 4 }, - { 0x8598, 4 }, - { 0x8599, 4 }, - { 0x859a, 4 }, - { 0x859b, 4 }, - { 0x85a0, 4 }, - { 0x85a1, 4 }, - { 0x85a2, 4 }, - { 0x85a3, 4 }, - { 0xf310, 1 }, - { 0xd311, 1 }, - { 0xf312, 1 }, - { 0xd313, 1 }, - { 0xf314, 1 }, - { 0xd315, 1 }, - { 0xf316, 3 }, - { 0xd317, 1 }, - { 0xf318, 1 }, - { 0xd319, 1 }, - { 0xf31a, 1 }, - { 0xd31b, 1 }, - { 0xf293, 1 }, - { 0xf2df, 1 }, - { 0xf2e0, 1 }, - { 0xd4ea, 1 }, - { 0x8d24, 2 }, - { 0x9d62, 47 }, - { 0x84aa, 43 }, - { 0x81cf, 41 }, - { 0x858f, 40 }, - { 0x80d5, 39 }, - { 0x80ec, 39 }, - { 0x80ed, 40 }, - { 0x80d5, 41 }, - { 0x80ec, 41 }, - { 0x80ed, 42 }, - { 0x80d5, 41 }, - { 0x80ec, 41 }, - { 0x803a, 41 }, - { 0x84e8, 43 }, - { 0x84e9, 43 }, - { 0x80cd, 42 }, - { 0x80ce, 42 }, - { 0x8039, 42 }, - { 0x80cd, 44 }, - { 0x80db, 16 }, - { 0x80da, 16 }, - { 0xf41c, 2 }, - { 0xf434, 2 }, - { 0xf44f, 2 }, - { 0x0000, 0 }, + /*0x0000*/ { 0x85ba, 59 }, + /*0x0001*/ { 0x85a5, 15 }, + /*0x0002*/ { 0x85a6, 15 }, + /*0x0003*/ { 0x80bb, 14 }, + /*0x0004*/ { 0x80bc, 14 }, + /*0x0005*/ { 0x8007, 14 }, + /*0x0006*/ { 0x8007, 14 }, + /*0x0007*/ { 0x80be, 14 }, + /*0x0008*/ { 0x80bf, 14 }, + /*0x0009*/ { 0x80bf, 14 }, + /*0x000a*/ { 0x80c0, 14 }, + /*0x000b*/ { 0x8007, 14 }, + /*0x000c*/ { 0x80c2, 14 }, + /*0x000d*/ { 0x80c3, 14 }, + /*0x000e*/ { 0x80c4, 14 }, + /*0x000f*/ { 0x80c5, 14 }, + /*0x0010*/ { 0x8007, 14 }, + /*0x0011*/ { 0x80c7, 14 }, + /*0x0012*/ { 0x80c8, 14 }, + /*0x0013*/ { 0x80c9, 14 }, + /*0x0014*/ { 0x80ca, 15 }, + /*0x0015*/ { 0x80cb, 15 }, + /*0x0016*/ { 0x80cc, 15 }, + /*0x0017*/ { 0x8007, 15 }, + /*0x0018*/ { 0x8007, 15 }, + /*0x0019*/ { 0x8007, 15 }, + /*0x001a*/ { 0x80d2, 15 }, + /*0x001b*/ { 0x80d3, 15 }, + /*0x001c*/ { 0x8007, 15 }, + /*0x001d*/ { 0x80c6, 14 }, + /*0x001e*/ { 0x80d6, 15 }, + /*0x001f*/ { 0x80d7, 15 }, + /*0x0020*/ { 0x80d8, 15 }, + /*0x0021*/ { 0x80db, 14 }, + /*0x0022*/ { 0x80da, 14 }, + /*0x0023*/ { 0x80bf, 14 }, + /*0x0024*/ { 0x80bf, 14 }, + /*0x0025*/ { 0x80de, 14 }, + /*0x0026*/ { 0x80e1, 15 }, + /*0x0027*/ { 0x80e2, 15 }, + /*0x0028*/ { 0x977a, 60 }, + /*0x0029*/ { 0x97b0, 60 }, + /*0x002a*/ { 0x97b1, 60 }, + /*0x002b*/ { 0x977c, 60 }, + /*0x002c*/ { 0x9786, 60 }, + /*0x002d*/ { 0x9787, 60 }, + /*0x002e*/ { 0x9788, 60 }, + /*0x002f*/ { 0x978c, 60 }, + /*0x0030*/ { 0x9794, 60 }, + /*0x0031*/ { 0x9784, 60 }, + /*0x0032*/ { 0x978e, 60 }, + /*0x0033*/ { 0x978f, 60 }, + /*0x0034*/ { 0x9790, 60 }, + /*0x0035*/ { 0x977e, 60 }, + /*0x0036*/ { 0x977f, 60 }, + /*0x0037*/ { 0x9780, 60 }, + /*0x0038*/ { 0x802e, 32 }, + /*0x0039*/ { 0x8037, 35 }, + /*0x003a*/ { 0x8037, 35 }, + /*0x003b*/ { 0x806a, 33 }, + /*0x003c*/ { 0x8037, 35 }, + /*0x003d*/ { 0x8037, 35 }, + /*0x003e*/ { 0x8037, 35 }, + /*0x003f*/ { 0x806d, 33 }, + /*0x0040*/ { 0x806e, 33 }, + /*0x0041*/ { 0x8037, 35 }, + /*0x0042*/ { 0x8037, 35 }, + /*0x0043*/ { 0x8070, 33 }, + /*0x0044*/ { 0x8071, 33 }, + /*0x0045*/ { 0x8037, 35 }, + /*0x0046*/ { 0x8037, 35 }, + /*0x0047*/ { 0x8037, 35 }, + /*0x0048*/ { 0x8037, 35 }, + /*0x0049*/ { 0x8075, 33 }, + /*0x004a*/ { 0x8037, 35 }, + /*0x004b*/ { 0x8037, 35 }, + /*0x004c*/ { 0x8079, 31 }, + /*0x004d*/ { 0x8066, 31 }, + /*0x004e*/ { 0x8037, 35 }, + /*0x004f*/ { 0x8032, 31 }, + /*0x0050*/ { 0x8037, 35 }, + /*0x0051*/ { 0x807a, 35 }, + /*0x0052*/ { 0x8059, 31 }, + /*0x0053*/ { 0x8001, 35 }, + /*0x0054*/ { 0x847e, 32 }, + /*0x0055*/ { 0x847d, 33 }, + /*0x0056*/ { 0x84f1, 32 }, + /*0x0057*/ { 0x84f2, 32 }, + /*0x0058*/ { 0x84f3, 32 }, + /*0x0059*/ { 0x84f4, 33 }, + /*0x005a*/ { 0x84f6, 33 }, + /*0x005b*/ { 0x8506, 31 }, + /*0x005c*/ { 0x84fd, 33 }, + /*0x005d*/ { 0x8504, 33 }, + /*0x005e*/ { 0x84fe, 33 }, + /*0x005f*/ { 0x8503, 33 }, + /*0x0060*/ { 0x8500, 32 }, + /*0x0061*/ { 0x8501, 32 }, + /*0x0062*/ { 0x8502, 32 }, + /*0x0063*/ { 0x85ca, 31 }, + /*0x0064*/ { 0x85cb, 31 }, + /*0x0065*/ { 0x85d2, 31 }, + /*0x0066*/ { 0x8074, 33 }, + /*0x0067*/ { 0x85eb, 35 }, + /*0x0068*/ { 0x85ec, 35 }, + /*0x0069*/ { 0x85ed, 31 }, + /*0x006a*/ { 0x85ee, 31 }, + /*0x006b*/ { 0x85ef, 33 }, + /*0x006c*/ { 0x85f0, 33 }, + /*0x006d*/ { 0x85f1, 33 }, + /*0x006e*/ { 0x85f2, 33 }, + /*0x006f*/ { 0x85f3, 33 }, + /*0x0070*/ { 0x85f4, 33 }, + /*0x0071*/ { 0x8508, 31 }, + /*0x0072*/ { 0x850a, 31 }, + /*0x0073*/ { 0x8076, 33 }, + /*0x0074*/ { 0x85f5, 30 }, + /*0x0075*/ { 0x8509, 33 }, + /*0x0076*/ { 0x8045, 45 }, + /*0x0077*/ { 0x8046, 45 }, + /*0x0078*/ { 0x8047, 25 }, + /*0x0079*/ { 0x8048, 45 }, + /*0x007a*/ { 0x80f0, 45 }, + /*0x007b*/ { 0x80ef, 45 }, + /*0x007c*/ { 0x8049, 45 }, + /*0x007d*/ { 0x804a, 45 }, + /*0x007e*/ { 0x804b, 45 }, + /*0x007f*/ { 0x80d9, 45 }, + /*0x0080*/ { 0x804c, 45 }, + /*0x0081*/ { 0x80e7, 45 }, + /*0x0082*/ { 0x80e6, 45 }, + /*0x0083*/ { 0x80e0, 45 }, + /*0x0084*/ { 0x80dc, 45 }, + /*0x0085*/ { 0x80b9, 45 }, + /*0x0086*/ { 0x80d4, 45 }, + /*0x0087*/ { 0x80d0, 45 }, + /*0x0088*/ { 0x80d1, 45 }, + /*0x0089*/ { 0x8078, 45 }, + /*0x008a*/ { 0x80dd, 45 }, + /*0x008b*/ { 0x8003, 45 }, + /*0x008c*/ { 0x802d, 21 }, + /*0x008d*/ { 0x807b, 21 }, + /*0x008e*/ { 0x807c, 21 }, + /*0x008f*/ { 0x807d, 21 }, + /*0x0090*/ { 0x807e, 21 }, + /*0x0091*/ { 0x807f, 21 }, + /*0x0092*/ { 0x8080, 21 }, + /*0x0093*/ { 0x8081, 21 }, + /*0x0094*/ { 0x8082, 21 }, + /*0x0095*/ { 0x8083, 21 }, + /*0x0096*/ { 0x8084, 21 }, + /*0x0097*/ { 0x8085, 21 }, + /*0x0098*/ { 0x80b4, 18 }, + /*0x0099*/ { 0x80b5, 18 }, + /*0x009a*/ { 0x80b6, 17 }, + /*0x009b*/ { 0x80a9, 18 }, + /*0x009c*/ { 0x80aa, 18 }, + /*0x009d*/ { 0x80ab, 17 }, + /*0x009e*/ { 0x80ac, 18 }, + /*0x009f*/ { 0x80ad, 18 }, + /*0x00a0*/ { 0x80ae, 17 }, + /*0x00a1*/ { 0x80b1, 18 }, + /*0x00a2*/ { 0x80b2, 18 }, + /*0x00a3*/ { 0x80b3, 18 }, + /*0x00a4*/ { 0x818a, 19 }, + /*0x00a5*/ { 0xefdd, 19 }, + /*0x00a6*/ { 0x805f, 32 }, + /*0x00a7*/ { 0x8060, 32 }, + /*0x00a8*/ { 0x8061, 32 }, + /*0x00a9*/ { 0x8004, 32 }, + /*0x00aa*/ { 0x80f1, 32 }, + /*0x00ab*/ { 0x80f3, 32 }, + /*0x00ac*/ { 0x8055, 16 }, + /*0x00ad*/ { 0x8056, 16 }, + /*0x00ae*/ { 0x8057, 16 }, + /*0x00af*/ { 0x85f7, 52 }, + /*0x00b0*/ { 0x8127, 29 }, + /*0x00b1*/ { 0x8128, 29 }, + /*0x00b2*/ { 0x8129, 29 }, + /*0x00b3*/ { 0x812a, 29 }, + /*0x00b4*/ { 0x812b, 29 }, + /*0x00b5*/ { 0x812c, 29 }, + /*0x00b6*/ { 0x812d, 50 }, + /*0x00b7*/ { 0x812e, 50 }, + /*0x00b8*/ { 0x8138, 50 }, + /*0x00b9*/ { 0x8138, 28 }, + /*0x00ba*/ { 0x812f, 51 }, + /*0x00bb*/ { 0x8151, 51 }, + /*0x00bc*/ { 0x8154, 51 }, + /*0x00bd*/ { 0x8157, 51 }, + /*0x00be*/ { 0x815a, 51 }, + /*0x00bf*/ { 0x8132, 51 }, + /*0x00c0*/ { 0x8139, 51 }, + /*0x00c1*/ { 0x813f, 51 }, + /*0x00c2*/ { 0x8145, 51 }, + /*0x00c3*/ { 0x814b, 51 }, + /*0x00c4*/ { 0x8161, 4 }, + /*0x00c5*/ { 0x8162, 4 }, + /*0x00c6*/ { 0x8163, 4 }, + /*0x00c7*/ { 0x8164, 4 }, + /*0x00c8*/ { 0x8165, 4 }, + /*0x00c9*/ { 0x8166, 4 }, + /*0x00ca*/ { 0x8167, 4 }, + /*0x00cb*/ { 0x8168, 4 }, + /*0x00cc*/ { 0x8169, 4 }, + /*0x00cd*/ { 0x816a, 4 }, + /*0x00ce*/ { 0x816b, 4 }, + /*0x00cf*/ { 0x816c, 4 }, + /*0x00d0*/ { 0x816d, 4 }, + /*0x00d1*/ { 0x816e, 4 }, + /*0x00d2*/ { 0x816f, 4 }, + /*0x00d3*/ { 0x8170, 4 }, + /*0x00d4*/ { 0x8171, 4 }, + /*0x00d5*/ { 0x8172, 4 }, + /*0x00d6*/ { 0x8173, 4 }, + /*0x00d7*/ { 0x8174, 4 }, + /*0x00d8*/ { 0x8175, 4 }, + /*0x00d9*/ { 0x8176, 4 }, + /*0x00da*/ { 0x8177, 4 }, + /*0x00db*/ { 0x8178, 4 }, + /*0x00dc*/ { 0x8179, 4 }, + /*0x00dd*/ { 0x817a, 4 }, + /*0x00de*/ { 0x817b, 4 }, + /*0x00df*/ { 0x817c, 4 }, + /*0x00e0*/ { 0x817d, 4 }, + /*0x00e1*/ { 0x817e, 4 }, + /*0x00e2*/ { 0x817f, 4 }, + /*0x00e3*/ { 0x8180, 4 }, + /*0x00e4*/ { 0x804d, 4 }, + /*0x00e5*/ { 0x804e, 4 }, + /*0x00e6*/ { 0x85f8, 5 }, + /*0x00e7*/ { 0x85f9, 5 }, + /*0x00e8*/ { 0x85fa, 5 }, + /*0x00e9*/ { 0x85fb, 5 }, + /*0x00ea*/ { 0x85fc, 6 }, + /*0x00eb*/ { 0x85fd, 6 }, + /*0x00ec*/ { 0x85fe, 6 }, + /*0x00ed*/ { 0x85ff, 6 }, + /*0x00ee*/ { 0x8600, 4 }, + /*0x00ef*/ { 0x8601, 4 }, + /*0x00f0*/ { 0x8602, 4 }, + /*0x00f1*/ { 0x8603, 4 }, + /*0x00f2*/ { 0x8604, 4 }, + /*0x00f3*/ { 0x8605, 4 }, + /*0x00f4*/ { 0x8606, 4 }, + /*0x00f5*/ { 0x8606, 4 }, + /*0x00f6*/ { 0x81d9, 61 }, + /*0x00f7*/ { 0x8267, 2 }, + /*0x00f8*/ { 0x8268, 2 }, + /*0x00f9*/ { 0x8286, 2 }, + /*0x00fa*/ { 0x8288, 2 }, + /*0x00fb*/ { 0x8291, 2 }, + /*0x00fc*/ { 0x829f, 2 }, + /*0x00fd*/ { 0x82a1, 2 }, + /*0x00fe*/ { 0x8af9, 47 }, + /*0x00ff*/ { 0x8afa, 47 }, + /*0x0100*/ { 0x8afb, 47 }, + /*0x0101*/ { 0x92fc, 47 }, + /*0x0102*/ { 0x92fd, 47 }, + /*0x0103*/ { 0x9285, 2 }, + /*0x0104*/ { 0x9306, 48 }, + /*0x0105*/ { 0x9307, 48 }, + /*0x0106*/ { 0x9308, 48 }, + /*0x0107*/ { 0x9309, 48 }, + /*0x0108*/ { 0x930a, 48 }, + /*0x0109*/ { 0x8435, 49 }, + /*0x010a*/ { 0x81b5, 7 }, + /*0x010b*/ { 0x81b6, 8 }, + /*0x010c*/ { 0x81b5, 9 }, + /*0x010d*/ { 0x81b6, 10 }, + /*0x010e*/ { 0x85f3, 11 }, + /*0x010f*/ { 0x81b5, 12 }, + /*0x0110*/ { 0x81b6, 13 }, + /*0x0111*/ { 0x81b7, 20 }, + /*0x0112*/ { 0x81b8, 20 }, + /*0x0113*/ { 0x81c7, 20 }, + /*0x0114*/ { 0x8037, 20 }, + /*0x0115*/ { 0x81b7, 56 }, + /*0x0116*/ { 0x81b9, 0 }, + /*0x0117*/ { 0x81ba, 0 }, + /*0x0118*/ { 0x81bb, 0 }, + /*0x0119*/ { 0x81cb, 36 }, + /*0x011a*/ { 0x81cb, 37 }, + /*0x011b*/ { 0x81cb, 38 }, + /*0x011c*/ { 0x81c6, 55 }, + /*0x011d*/ { 0x9278, 47 }, + /*0x011e*/ { 0x9279, 47 }, + /*0x011f*/ { 0x927a, 47 }, + /*0x0120*/ { 0x927b, 47 }, + /*0x0121*/ { 0x927c, 47 }, + /*0x0122*/ { 0x927d, 47 }, + /*0x0123*/ { 0x9277, 47 }, + /*0x0124*/ { 0x82fd, 2 }, + /*0x0125*/ { 0x82fe, 2 }, + /*0x0126*/ { 0x8300, 2 }, + /*0x0127*/ { 0x8303, 2 }, + /*0x0128*/ { 0x830a, 2 }, + /*0x0129*/ { 0x8313, 62 }, + /*0x012a*/ { 0x8314, 2 }, + /*0x012b*/ { 0x832e, 2 }, + /*0x012c*/ { 0x8330, 2 }, + /*0x012d*/ { 0x8333, 2 }, + /*0x012e*/ { 0x8334, 2 }, + /*0x012f*/ { 0x834c, 62 }, + /*0x0130*/ { 0x83a3, 2 }, + /*0x0131*/ { 0x83b9, 2 }, + /*0x0132*/ { 0x83c7, 2 }, + /*0x0133*/ { 0x83cf, 2 }, + /*0x0134*/ { 0x83d2, 2 }, + /*0x0135*/ { 0x83d4, 2 }, + /*0x0136*/ { 0x83f3, 2 }, + /*0x0137*/ { 0x83f5, 2 }, + /*0x0138*/ { 0x83f6, 2 }, + /*0x0139*/ { 0x8400, 2 }, + /*0x013a*/ { 0x8411, 62 }, + /*0x013b*/ { 0x8413, 2 }, + /*0x013c*/ { 0x8414, 2 }, + /*0x013d*/ { 0x8422, 2 }, + /*0x013e*/ { 0x8432, 33 }, + /*0x013f*/ { 0x843c, 58 }, + /*0x0140*/ { 0x843d, 58 }, + /*0x0141*/ { 0x84ab, 58 }, + /*0x0142*/ { 0x843d, 58 }, + /*0x0143*/ { 0x81b7, 58 }, + /*0x0144*/ { 0x8477, 57 }, + /*0x0145*/ { 0x8478, 57 }, + /*0x0146*/ { 0x81c2, 54 }, + /*0x0147*/ { 0x8479, 54 }, + /*0x0148*/ { 0x81c3, 54 }, + /*0x0149*/ { 0x81c4, 54 }, + /*0x014a*/ { 0x8443, 2 }, + /*0x014b*/ { 0x844e, 2 }, + /*0x014c*/ { 0x843c, 63 }, + /*0x014d*/ { 0x847c, 63 }, + /*0x014e*/ { 0x843d, 63 }, + /*0x014f*/ { 0xf2ad, 1 }, + /*0x0150*/ { 0xf2ae, 1 }, + /*0x0151*/ { 0xf2af, 1 }, + /*0x0152*/ { 0xd2b0, 1 }, + /*0x0153*/ { 0xf2b1, 1 }, + /*0x0154*/ { 0xd2b2, 1 }, + /*0x0155*/ { 0x92b8, 2 }, + /*0x0156*/ { 0x9b30, 2 }, + /*0x0157*/ { 0x9b27, 47 }, + /*0x0158*/ { 0x9b28, 47 }, + /*0x0159*/ { 0x9b29, 47 }, + /*0x015a*/ { 0x9b2a, 47 }, + /*0x015b*/ { 0x9b2b, 47 }, + /*0x015c*/ { 0x9b2c, 47 }, + /*0x015d*/ { 0x9a9d, 60 }, + /*0x015e*/ { 0x9a9e, 60 }, + /*0x015f*/ { 0x9a9f, 60 }, + /*0x0160*/ { 0x8037, 4 }, + /*0x0161*/ { 0x9271, 60 }, + /*0x0162*/ { 0x9275, 2 }, + /*0x0163*/ { 0x9acc, 60 }, + /*0x0164*/ { 0x9acd, 60 }, + /*0x0165*/ { 0x9ad4, 60 }, + /*0x0166*/ { 0x9ad5, 60 }, + /*0x0167*/ { 0x84c8, 2 }, + /*0x0168*/ { 0x84cd, 2 }, + /*0x0169*/ { 0x84ad, 46 }, + /*0x016a*/ { 0x8507, 27 }, + /*0x016b*/ { 0x84ee, 16 }, + /*0x016c*/ { 0x84ef, 16 }, + /*0x016d*/ { 0x84f0, 16 }, + /*0x016e*/ { 0x92c8, 2 }, + /*0x016f*/ { 0x92c9, 2 }, + /*0x0170*/ { 0xb3a0, 1 }, + /*0x0171*/ { 0xb3a1, 1 }, + /*0x0172*/ { 0xd3a3, 1 }, + /*0x0173*/ { 0xd3a4, 1 }, + /*0x0174*/ { 0xd3a6, 1 }, + /*0x0175*/ { 0xd3a7, 1 }, + /*0x0176*/ { 0xd3a8, 1 }, + /*0x0177*/ { 0xd3a9, 1 }, + /*0x0178*/ { 0xd3ab, 1 }, + /*0x0179*/ { 0xd3b0, 1 }, + /*0x017a*/ { 0xd3b2, 1 }, + /*0x017b*/ { 0xd3b3, 1 }, + /*0x017c*/ { 0xb3b6, 1 }, + /*0x017d*/ { 0xd3b8, 1 }, + /*0x017e*/ { 0xd3ba, 1 }, + /*0x017f*/ { 0xd3bb, 1 }, + /*0x0180*/ { 0xb3bd, 1 }, + /*0x0181*/ { 0xd3bf, 1 }, + /*0x0182*/ { 0xb3c4, 1 }, + /*0x0183*/ { 0xb3c5, 1 }, + /*0x0184*/ { 0xb3c6, 1 }, + /*0x0185*/ { 0xb3c9, 1 }, + /*0x0186*/ { 0xb3ca, 1 }, + /*0x0187*/ { 0x8594, 4 }, + /*0x0188*/ { 0x8595, 4 }, + /*0x0189*/ { 0x8596, 4 }, + /*0x018a*/ { 0x8597, 4 }, + /*0x018b*/ { 0x8598, 4 }, + /*0x018c*/ { 0x8599, 4 }, + /*0x018d*/ { 0x859a, 4 }, + /*0x018e*/ { 0x859b, 4 }, + /*0x018f*/ { 0x85a0, 4 }, + /*0x0190*/ { 0x85a1, 4 }, + /*0x0191*/ { 0x85a2, 4 }, + /*0x0192*/ { 0x85a3, 4 }, + /*0x0193*/ { 0xf310, 1 }, + /*0x0194*/ { 0xd311, 1 }, + /*0x0195*/ { 0xf312, 1 }, + /*0x0196*/ { 0xd313, 1 }, + /*0x0197*/ { 0xf314, 1 }, + /*0x0198*/ { 0xd315, 1 }, + /*0x0199*/ { 0xf316, 3 }, + /*0x019a*/ { 0xd317, 1 }, + /*0x019b*/ { 0xf318, 1 }, + /*0x019c*/ { 0xd319, 1 }, + /*0x019d*/ { 0xf31a, 1 }, + /*0x019e*/ { 0xd31b, 1 }, + /*0x019f*/ { 0xf293, 1 }, + /*0x01a0*/ { 0xf2df, 1 }, + /*0x01a1*/ { 0xf2e0, 1 }, + /*0x01a2*/ { 0xd4ea, 1 }, + /*0x01a3*/ { 0x8d24, 2 }, + /*0x01a4*/ { 0x9d62, 47 }, + /*0x01a5*/ { 0x84aa, 43 }, + /*0x01a6*/ { 0x81cf, 41 }, + /*0x01a7*/ { 0x858f, 40 }, + /*0x01a8*/ { 0x80d5, 39 }, + /*0x01a9*/ { 0x80ec, 39 }, + /*0x01aa*/ { 0x80ed, 40 }, + /*0x01ab*/ { 0x80d5, 41 }, + /*0x01ac*/ { 0x80ec, 41 }, + /*0x01ad*/ { 0x80ed, 42 }, + /*0x01ae*/ { 0x80d5, 41 }, + /*0x01af*/ { 0x80ec, 41 }, + /*0x01b0*/ { 0x803a, 41 }, + /*0x01b1*/ { 0x84e8, 43 }, + /*0x01b2*/ { 0x84e9, 43 }, + /*0x01b3*/ { 0x80cd, 42 }, + /*0x01b4*/ { 0x80ce, 42 }, + /*0x01b5*/ { 0x8039, 42 }, + /*0x01b6*/ { 0x80cd, 44 }, + /*0x01b7*/ { 0x80db, 16 }, + /*0x01b8*/ { 0x80da, 16 }, + /*0x01b9*/ { 0xf41c, 2 }, + /*0x01ba*/ { 0xf434, 2 }, + /*0x01bb*/ { 0xf44f, 2 }, + /*0x01bc*/ { 0x0000, 0 }, }; // 44f8 diff --git a/src/game/data/data_00e460.c b/src/game/data/data_00e460.c index faf997b18..065496d5f 100644 --- a/src/game/data/data_00e460.c +++ b/src/game/data/data_00e460.c @@ -11,12 +11,12 @@ // f7b0 s16 ciquiptable_bank1[][3] = { - { 0x17a1, 0x17a2, 0x17a3 }, - { 0x17a4, 0x17a5, 0x17a6 }, - { 0x17a7, 0x17a8, 0x17a9 }, - { 0x17aa, 0x17ab, 0x17ac }, - { 0x17ad, 0x17ae, 0x17af }, - { 0x179e, 0x179f, 0x17a0 }, + { 0x17a1, 0x17a2, 0x17a3 }, // Carrington + { 0x17a4, 0x17a5, 0x17a6 }, // Device training girl + { 0x17a7, 0x17a8, 0x17a9 }, // Grimshaw + { 0x17aa, 0x17ab, 0x17ac }, // Holo training girl + { 0x17ad, 0x17ae, 0x17af }, // Hangar guy + { 0x179e, 0x179f, 0x17a0 }, // Foster }; // f7d4 @@ -35,22 +35,30 @@ s16 ciquiptable_bank0[][3] = { // f810 s16 ciquiptable_bank2[][3] = { - { 0x177b, 0x177b, 0x177b }, - { 0x177d, 0x177d, 0x177d }, - { 0x1789, 0x178a, 0x178b }, - { 0x178d, 0x178d, 0x178d }, - { 0x1795, 0x1795, 0x1795 }, - { 0x1785, 0x1785, 0x1785 }, + { 0x177b, 0x177b, 0x177b }, // Carrington + { 0x177d, 0x177d, 0x177d }, // Device training girl + { 0x1789, 0x178a, 0x178b }, // Grimshaw + { 0x178d, 0x178d, 0x178d }, // Holo training girl + { 0x1795, 0x1795, 0x1795 }, // Hangar guy + { 0x1785, 0x1785, 0x1785 }, // Foster + { 0x1791, 0x1791, 0x1791 }, // Male "Don't you have to be somewhere?" { 0x1791, 0x1791, 0x1791 }, - { 0x1791, 0x1791, 0x1791 }, - { 0x1782, 0x1782, 0x1782 }, - { 0x1783, 0x1783, 0x1783 }, + { 0x1782, 0x1782, 0x1782 }, // Female "Don't you have to be somewhere?" + { 0x1783, 0x1783, 0x1783 }, // "Bother someone else, would you?" }; // f84c s16 ciquiptable_bank3[] = { - 0x0000, 0x1b1c, 0x1b1f, 0x1b20, 0x0000, 0x1b1e, 0x1b21, 0x1b21, - 0x1b1d, 0x1b1d, + 0x0000, + 0x1b1c, // Device training girl "Thanks for coming back for me, Joanna" + 0x1b1f, // Grimshaw "That was too close" + 0x1b20, // Holo training girl "Quick, let's get to the hangar" + 0x0000, + 0x1b1e, // Foster "I knew I could rely on you, Joanna" + 0x1b21, // Device training guy "Thanks, Jo" + 0x1b21, + 0x1b1d, // Female "Thanks" + 0x1b1d, }; // Table for cmd 01a3 (do_preset_animation) diff --git a/src/game/game_190260.c b/src/game/game_190260.c index 5b5c217f9..a140b8eee 100644 --- a/src/game/game_190260.c +++ b/src/game/game_190260.c @@ -491,6 +491,7 @@ u32 propobjHandlePickupByAibot(struct prop *prop, struct chrdata *chr) aibotGiveAmmoByType(chr->aibot, crate->ammotype, qty); } + // Pickup sound func0f0939f8(NULL, prop, 0xea, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); @@ -541,6 +542,7 @@ u32 propobjHandlePickupByAibot(struct prop *prop, struct chrdata *chr) } } + // Pickup sound func0f0939f8(NULL, prop, 0xea, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); @@ -594,6 +596,7 @@ u32 propobjHandlePickupByAibot(struct prop *prop, struct chrdata *chr) { struct shieldobj *shield = (struct shieldobj *)prop->obj; + // Shield pickup sound func0f0939f8(NULL, prop, 0x1cd, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index 39f63d563..b0a0980be 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -70,9 +70,11 @@ void func0f199a40(struct chrdata *chr, u32 index, bool arg2) if (arg2) { if (aibot->weaponnum == WEAPON_FARSIGHTXR20) { + // FarSight reload sound func0f0939f8(NULL, chr->prop, 0x433, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); } else { + // Normal reload sound func0f0939f8(NULL, chr->prop, 0x804f, -1, -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1); } @@ -914,6 +916,7 @@ void aibotCreateSlayerRocket(struct chrdata *chr) rocket->base.unk48->unkf4 = 0; rocket->base.unk48->unkb4 = 0x20000000; + // Fire rocket sound func0f0939f8(NULL, rocket->base.prop, 0x8053, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1); diff --git a/src/game/propobj.c b/src/game/propobj.c index 3e04523f4..77107400d 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -38425,37 +38425,37 @@ glabel var7f1aac40 /* f087b08: 00000000 */ sll $zero,$zero,0x0 ); -void func0f087b0c(u32 arg0) +void func0f087b0c(u32 ammotype) { - switch (arg0) { - case 1: - case 2: - case 4: - case 5: - case 7: - case 8: - case 10: - case 11: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 30: + switch (ammotype) { + case AMMOTYPE_PISTOL: + case AMMOTYPE_SMG: + case AMMOTYPE_RIFLE: + case AMMOTYPE_SHOTGUN: + case AMMOTYPE_GRENADE: + case AMMOTYPE_ROCKET: + case AMMOTYPE_MAGNUM: + case AMMOTYPE_DEVASTATOR: + case AMMOTYPE_REAPER: + case AMMOTYPE_HOMINGROCKET: + case AMMOTYPE_DART: + case AMMOTYPE_NBOMB: + case AMMOTYPE_SEDATIVE: + case AMMOTYPE_CLOAK: + case AMMOTYPE_BOOST: + case AMMOTYPE_TOKEN: func00010904(var80095200, 0xea, 0, -1, -1, -1, -1, -1); break; - case 12: - case 13: - case 14: - case 24: - case 25: - case 26: - case 32: + case AMMOTYPE_REMOTE_MINE: + case AMMOTYPE_PROXY_MINE: + case AMMOTYPE_TIMED_MINE: + case AMMOTYPE_BUG: + case AMMOTYPE_MICROCAMERA: + case AMMOTYPE_PLASTIQUE: + case AMMOTYPE_ECM_MINE: func00010904(var80095200, 0xeb, 0, -1, -1, -1, -1, -1); break; - case 9: + case AMMOTYPE_KNIFE: func00010904(var80095200, 0xe9, 0, -1, -1, -1, -1, -1); break; } diff --git a/src/include/commands.h b/src/include/commands.h index fea9cfd84..5fba38f9a 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -2597,11 +2597,11 @@ * lists. * * There are several banks (tables) of sound IDs. One for Skedar, one for - * Maians, and two banks (0 and 1) for humans. The human bank 0 is divided into - * four subbanks. Each subbank has similar phrases to the other subbanks but - * each subbank uses a different style of voice. The subbank used is determined - * by the chr's voicebox property. This allows them to have the same sounding - * voice among all their phrases. + * Maians, one for general guard speech and one for special character speech. + * The guard speech bank is divided into four subbanks. Each subbank has similar + * phrases to the other subbanks but each subbank uses a different style of + * voice. The subbank used is determined by the chr's voicebox property. This + * allows them to have the same sounding voice among all their phrases. * * Each bank (table) contains rows and columns. The row can be selected via an * argument to this command, but the column is determined randomly. All tables @@ -2615,8 +2615,8 @@ * player has died then it'll attempt to use the coop player. If all players * have died then it's likely their line will not be said. * - * The row argument determines which row in the bank is used. Counting starts - * from 0. + * The quip argument determines which row in the bank is used. For guard speech + * you should use a QUIP constant, otherwise use the row number. * * The probability argument determines the likelihood that the chr will say * the line. The higher the number (up to 255), the more likely they are to @@ -2633,8 +2633,8 @@ * 255 = always talk, even if other chrs are nearby and talking * (this applies after the probability check has passed) * - * The bank argument determines which bank is used. Expected values are 0 or 1. - * For Skedar and Maians, this argument is ignored and they use their own banks. + * If special is true, the special bank will be used. For Skedar and Maians, + * this argument is ignored and they use their own banks. * * The textrow argument determines whether text will be shown on the screen as * well as which row in the text bank will be used. Set to 0 to have no text. @@ -2647,17 +2647,17 @@ * * ----------------------------------------------------------------------------- * - * If called with zero values for all of row, probability and onlyifothers, + * If called with zero values for all of quip, probability and onlyifothers, * the chr's current speech (if any) will be stopped. */ -#define say_quip(player, row, probability, soundgap, onlyifothers, bank, textrow, colour) \ +#define say_quip(player, quip, probability, soundgap, onlyifothers, special, textrow, colour) \ mkshort(0x0130), \ player, \ - row, \ + quip, \ probability, \ soundgap, \ onlyifothers, \ - bank, \ + special, \ textrow, \ colour, diff --git a/src/include/constants.h b/src/include/constants.h index 91ce05624..e24133887 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -2181,17 +2181,59 @@ #define PROPTYPE_EXPLOSION 7 #define PROPTYPE_EFFECT 8 +#define QUIP_ATTACK1 0 +#define QUIP_ATTACK2 1 +#define QUIP_GOTOCOVER1 2 +#define QUIP_GRENADE1 3 +#define QUIP_RETREAT1 4 +#define QUIP_GRENADE2 5 +#define QUIP_RETREAT2 6 +#define QUIP_FLANK 7 +#define QUIP_SURRENDER 8 +#define QUIP_HEARNOISE 9 +#define QUIP_10 10 +#define QUIP_SEEPLAYER 11 +#define QUIP_SHOTUNALERT 12 +#define QUIP_INJURED1 13 +#define QUIP_INJURED2 14 +#define QUIP_KILLEDPLAYER1 15 +#define QUIP_WARNFRIENDS 16 +#define QUIP_17 17 +#define QUIP_SURPRISED 18 +#define QUIP_INSPECTBODY 19 +#define QUIP_20 20 +#define QUIP_HITPLAYER 21 +#define QUIP_MISSEDPLAYER1 22 +#define QUIP_MISSEDPLAYER2 23 +#define QUIP_GOTOCOVER2 24 +#define QUIP_DIE 25 +#define QUIP_26 26 +#define QUIP_SEARCHSUCCESS 27 +#define QUIP_SEEEYESPY 28 +#define QUIP_GREETING 29 +#define QUIP_ASKWEAPON1 30 +#define QUIP_ASKWEAPON2 31 +#define QUIP_UNCOVERDISGUISE1 32 +#define QUIP_LOSTGUN 33 +#define QUIP_GOFORALARM 34 +#define QUIP_SEARCHFAIL 35 +#define QUIP_ATTACK3 36 +#define QUIP_ATTACK4 37 +#define QUIP_KILLEDPLAYER2 38 +#define QUIP_GUNJAMMED 39 +#define QUIP_UNCOVEREDDISGUISE2 40 + #define RACE_HUMAN 0 #define RACE_SKEDAR 1 #define RACE_DRCAROLL 2 #define RACE_EYESPY 3 #define RACE_ROBOT 4 -#define ROOMFLAG_DISABLED 0x0001 -#define ROOMFLAG_VISIBLEBYPLAYER 0x0004 -#define ROOMFLAG_VISIBLEBYAIBOT 0x0008 -#define ROOMFLAG_4000 0x4000 -#define ROOMFLAG_8000 0x8000 +#define ROOMFLAG_DISABLED 0x0001 +#define ROOMFLAG_VISIBLEBYPLAYER 0x0004 +#define ROOMFLAG_VISIBLEBYAIBOT 0x0008 +#define ROOMFLAG_4000 0x4000 +#define ROOMFLAG_8000 0x8000 #define SAVEFILEFLAG_P1_FORWARDPITCH 0x00 #define SAVEFILEFLAG_P1_AUTOAIM 0x01 diff --git a/src/include/game/game_092610.h b/src/include/game/game_092610.h index 08b82aff4..8c5423cdf 100644 --- a/src/include/game/game_092610.h +++ b/src/include/game/game_092610.h @@ -16,7 +16,7 @@ u32 func0f093508(void); u32 func0f093630(void); u32 func0f093790(void); u32 func0f0938ec(void); -u32 func0f0939f8(void *arg0, struct prop *prop, s16 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, f32 arg9, s32 arg10, s32 arg11, f32 arg12, f32 arg13, f32 arg14); +u32 func0f0939f8(void *arg0, struct prop *prop, s16 sound, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, f32 arg9, s32 arg10, s32 arg11, f32 arg12, f32 arg13, f32 arg14); void audioMuteChannel(s32 channel); u32 audioIfChannelIdle(s32 channel); bool audioPlayFromProp2(s8 channel_id, s32 audio_id, s32 volumemaybe, struct prop *prop, u32 arg4, s32 arg5, s32 arg6, s32 arg7); diff --git a/src/include/game/propobj.h b/src/include/game/propobj.h index 948f4f9ea..cd6f8f6e0 100644 --- a/src/include/game/propobj.h +++ b/src/include/game/propobj.h @@ -236,7 +236,7 @@ void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin); u32 func0f087638(void); u32 func0f087668(void); u32 func0f08791c(void); -void func0f087b0c(u32 arg0); +void func0f087b0c(u32 ammotype); u32 propPlayPickupSound(struct prop *prop, s32 weapon); void func0f087d10(s32 weaponnum); u32 func0f087e40(void);