mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-20 05:36:41 -04:00
Rename chr flag constants and commands to better describe which properties they apply to
This commit is contained in:
+111
-111
@@ -1050,7 +1050,7 @@ u8 unregistered_function[] = {
|
||||
*/
|
||||
u8 func0402_guard_with_chrflag[] = {
|
||||
set_return_function(CHR_SELF, 0x0402)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
|
||||
endfunction
|
||||
};
|
||||
@@ -1060,7 +1060,7 @@ u8 func0402_guard_with_chrflag[] = {
|
||||
*/
|
||||
u8 func0403_shielded_guard[] = {
|
||||
set_shield(200)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
set_function(CHR_SELF, GFUNC_CHOOSE_TARGET)
|
||||
endfunction
|
||||
};
|
||||
@@ -1423,7 +1423,7 @@ u8 func0412_init_secretary[] = {
|
||||
u8 func0411_secretary[] = {
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_chr_flag_bank2(CHR_SECRETARY, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00100000)
|
||||
chr_move_to_pad(CHR_SECRETARY, 0x01c3, 0x00, /*goto*/ 0x2c)
|
||||
dprint 'D','E','T','E','C','T',' ','4',0,
|
||||
label(0x2c)
|
||||
@@ -1548,7 +1548,7 @@ u8 func0414_programmer[] = {
|
||||
label(0x2c)
|
||||
set_reaction_speed(100)
|
||||
set_onshot_function(FUNC_PROGRAMMER)
|
||||
set_chr_flag_bank3(CHR_PROGRAMMER, CHRFLAG3_00000080)
|
||||
set_chr_chrflag(CHR_PROGRAMMER, CHRCFLAG_00000080)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x06)
|
||||
@@ -1959,7 +1959,7 @@ u8 func0413_c318[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
set_alertness(255)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
|
||||
@@ -2476,9 +2476,9 @@ u8 func100d_check_objects_destroyed[] = {
|
||||
|
||||
u8 func1002_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PROGRAMMER, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PROGRAMMER, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -2496,9 +2496,9 @@ u8 func1002_objectives_failed_msg[] = {
|
||||
u8 func041b_intro_041b[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00c9)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00ca, OBJ_JUMPSHIP2, 0x04ff, 0xff)
|
||||
@@ -2526,9 +2526,9 @@ u8 func041b_intro_041b[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP2)
|
||||
hide_object(OBJ_POLICECAR)
|
||||
hide_object(OBJ_HOVERCOP3)
|
||||
@@ -2543,9 +2543,9 @@ u8 func041b_intro_041b[] = {
|
||||
u8 func041a_intro_041a[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00c7)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00c8, OBJ_JUMPSHIP2, 0x04ff, 0xff)
|
||||
@@ -2571,9 +2571,9 @@ u8 func041a_intro_041a[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP2)
|
||||
hide_object(OBJ_HOVERTAXI2)
|
||||
hide_object(OBJ_HOVERCOP3)
|
||||
@@ -2589,9 +2589,9 @@ u8 func041a_intro_041a[] = {
|
||||
u8 func0419_intro_0419[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00c5)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00c6, OBJ_JUMPSHIP2, 0x04ff, 0xff)
|
||||
@@ -2608,9 +2608,9 @@ u8 func0419_intro_0419[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP2)
|
||||
hide_object(OBJ_HOVERTAXI1)
|
||||
hide_object(OBJ_HOVERCOP3)
|
||||
@@ -2623,9 +2623,9 @@ u8 func0419_intro_0419[] = {
|
||||
u8 func041c_intro_041c[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00cb)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00cc, OBJ_JUMPSHIP2, 0x04ff, 0xff)
|
||||
@@ -2651,9 +2651,9 @@ u8 func041c_intro_041c[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP2)
|
||||
hide_object(OBJ_HOVERTAXI1)
|
||||
hide_object(0x1d)
|
||||
@@ -2671,9 +2671,9 @@ u8 func041c_intro_041c[] = {
|
||||
u8 func041d_intro_041d[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00cd)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP2)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00ce, OBJ_JUMPSHIP2, 0x01ff, 0xff)
|
||||
@@ -2687,9 +2687,9 @@ u8 func041d_intro_041d[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP2)
|
||||
hide_object(OBJ_HOVERTAXI1)
|
||||
hide_object(0x1d)
|
||||
@@ -2817,9 +2817,9 @@ u8 func0421_intro_0421[] = {
|
||||
u8 func0422_intro_0423[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00ee)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00ef, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -2828,9 +2828,9 @@ u8 func0422_intro_0423[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
set_tinted_glass_enabled(FALSE)
|
||||
label(0x36)
|
||||
@@ -2841,27 +2841,27 @@ u8 func0422_intro_0423[] = {
|
||||
u8 func0422_intro_0424[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00fc)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00fd, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SECRETARY, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00020000)
|
||||
animation(0x00fe, -1, -1, 0x06, 0x00, CHR_SECRETARY, 4)
|
||||
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE)
|
||||
label(0x36)
|
||||
set_function(CHR_SELF, FUNC_INTRO_0425)
|
||||
endfunction
|
||||
@@ -2870,9 +2870,9 @@ u8 func0422_intro_0424[] = {
|
||||
u8 func0422_intro_0425[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x00ff)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0100, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -2882,9 +2882,9 @@ u8 func0422_intro_0425[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
hide_object(OBJ_BANNER1)
|
||||
hide_object(OBJ_BANNER2)
|
||||
@@ -2896,9 +2896,9 @@ u8 func0422_intro_0425[] = {
|
||||
u8 func0422_intro_0426[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x012e)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x012f, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -2912,9 +2912,9 @@ u8 func0422_intro_0426[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
hide_object(OBJ_BANNER1)
|
||||
hide_object(OBJ_BANNER2)
|
||||
@@ -2926,9 +2926,9 @@ u8 func0422_intro_0426[] = {
|
||||
u8 func0422_intro_0427[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x0133)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0134, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -2945,9 +2945,9 @@ u8 func0422_intro_0427[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
hide_object(OBJ_ROPE)
|
||||
hide_object(OBJ_BANNER1)
|
||||
@@ -2960,9 +2960,9 @@ u8 func0422_intro_0427[] = {
|
||||
u8 func0422_intro_0428[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x0103)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0104, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -2980,9 +2980,9 @@ u8 func0422_intro_0428[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
unset_object_flag_bank1(OBJ_HOVERCOP1, OBJECTFLAG1_INVISIBLE)
|
||||
unset_object_flag_bank1(OBJ_HOVERCOP2, OBJECTFLAG1_INVISIBLE)
|
||||
@@ -3002,9 +3002,9 @@ u8 func0422_intro_0428[] = {
|
||||
u8 func0422_intro_0429[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x0105)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0106, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
@@ -3013,9 +3013,9 @@ u8 func0422_intro_0429[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
set_tinted_glass_enabled(FALSE)
|
||||
label(0x36)
|
||||
@@ -3026,13 +3026,13 @@ u8 func0422_intro_0429[] = {
|
||||
u8 func0422_intro_042a[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x0107)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0108, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0109, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, TRUE)
|
||||
show_object(OBJ_ROPE)
|
||||
@@ -3042,8 +3042,8 @@ u8 func0422_intro_042a[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
hide_object(OBJ_ROPE)
|
||||
label(0x36)
|
||||
@@ -3054,13 +3054,13 @@ u8 func0422_intro_042a[] = {
|
||||
u8 func0422_intro_042b[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
camera_movement(0x010b)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_JUMPSHIP1)
|
||||
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x010c, OBJ_JUMPSHIP1, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x010d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, TRUE)
|
||||
show_object(OBJ_ROPE)
|
||||
@@ -3076,8 +3076,8 @@ u8 func0422_intro_042b[] = {
|
||||
wait_for_camera_finished
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_JUMPSHIP1)
|
||||
hide_object(OBJ_ROPE)
|
||||
hide_object(OBJ_BANNER1)
|
||||
@@ -3096,10 +3096,10 @@ u8 func0422_intro_042d[] = {
|
||||
camera_movement(0x0155)
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x36)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0156, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, FALSE)
|
||||
|
||||
@@ -3115,10 +3115,10 @@ u8 func0422_intro_042d[] = {
|
||||
// @bug: Copy/paste error - should be banner 2
|
||||
set_object_flag_bank2(OBJ_BANNER1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x0162, OBJ_BANNER2, 0x08ff, 0xff)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0156, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
set_chr_hud_visible(CHR_BOND, FALSE)
|
||||
mute_channel(CHANNEL_7)
|
||||
@@ -3149,12 +3149,12 @@ u8 func0416_outro_from_menu[] = {
|
||||
u8 func0416_outro[] = {
|
||||
camera_movement(0x00f2)
|
||||
set_music_track(MUSIC_DEFECTION_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x00f3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
restart_timer
|
||||
unset_stage_flag(STAGEFLAG_LAB_ELEVATOR_CLOSED)
|
||||
|
||||
+74
-74
@@ -525,7 +525,7 @@ u8 func0403_stop_and_idle[] = {
|
||||
};
|
||||
|
||||
u8 func0404_init_drcaroll[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_shield(100)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -539,7 +539,7 @@ u8 func0402_start_drcaroll[] = {
|
||||
|
||||
u8 func0401_drcaroll_following[] = {
|
||||
set_onshot_function(FUNC_DRCAROLL_FOLLOWING)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
stop_chr
|
||||
set_target_chr(CHR_BOND)
|
||||
try_run_to_target_chr_with_hand_up(/*goto*/ 0x00)
|
||||
@@ -685,7 +685,7 @@ u8 func0405_drcaroll_waiting[] = {
|
||||
|
||||
label(0x00)
|
||||
dprint 'D','R',' ','C','H','A','N','G','E','L','I','S','T','\n',0,
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00100000)
|
||||
chr_move_to_pad(CHR_DRCAROLL, 0x01ca, 0x00, /*goto*/ 0x00)
|
||||
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
|
||||
label(0x00)
|
||||
@@ -872,7 +872,7 @@ u8 func0411_top_guard_blinded[] = {
|
||||
};
|
||||
|
||||
u8 func0406_general_combat[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_onshot_function(FUNC_GENERAL_COMBAT)
|
||||
if_has_gun(CHR_SELF, /*goto*/ 0x20)
|
||||
|
||||
@@ -908,7 +908,7 @@ u8 func0406_general_combat[] = {
|
||||
|
||||
// Just got injured
|
||||
label(0x00)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x0c)
|
||||
@@ -924,7 +924,7 @@ u8 func0406_general_combat[] = {
|
||||
|
||||
// Not injured, or injury recovery finished
|
||||
label(0x21)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
label(0x14)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x00)
|
||||
@@ -987,7 +987,7 @@ u8 func0406_general_combat[] = {
|
||||
endloop(0x10)
|
||||
|
||||
label(0x15)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2a)
|
||||
if_chr_distance_lt(250, /*goto*/ 0x29)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x20)
|
||||
@@ -1570,12 +1570,12 @@ u8 func1008_trigger_hovercopter_roof[] = {
|
||||
};
|
||||
|
||||
u8 func1009_init_top_room[] = {
|
||||
set_chr_flag_bank3(CHR_TOPGUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TOPGUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TOPGUARD3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TOPGUARD4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TOPGUARD5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TOPGUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TOPGUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TOPGUARD3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TOPGUARD4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TOPGUARD5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x1f)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1591,11 +1591,11 @@ u8 func1009_init_top_room[] = {
|
||||
set_chr_target_chr(CHR_TOPGUARD3, CHR_P1P2)
|
||||
set_chr_target_chr(CHR_TOPGUARD4, CHR_P1P2)
|
||||
set_chr_target_chr(CHR_TOPGUARD5, CHR_P1P2)
|
||||
unset_chr_flag_bank3(CHR_TOPGUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TOPGUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TOPGUARD3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TOPGUARD4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TOPGUARD5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TOPGUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TOPGUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TOPGUARD3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TOPGUARD4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TOPGUARD5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_team(CHR_CASS, TEAM_ENEMY)
|
||||
set_chr_team(CHR_TOPGUARD1, TEAM_ENEMY)
|
||||
set_chr_team(CHR_TOPGUARD2, TEAM_ENEMY)
|
||||
@@ -1636,9 +1636,9 @@ u8 func0409_tech_conversation[] = {
|
||||
if_door_state(0x11, DOORSTATEBIT_OPEN, /*goto*/ 0x00)
|
||||
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x33)
|
||||
dprint 'T','E','C','H',' ','1',' ','L','O','O','P','\n',0,
|
||||
set_chr_flag_bank3(CHR_TECH1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TECH2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_RLSHOCK, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TECH1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TECH2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
endloop(0x01)
|
||||
|
||||
// Player activated door or door is fully open
|
||||
@@ -1649,9 +1649,9 @@ u8 func0409_tech_conversation[] = {
|
||||
set_chr_team(CHR_RLSHOCK, TEAM_ENEMY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
unset_chr_flag_bank3(CHR_TECH1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TECH2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_RLSHOCK, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TECH1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TECH2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_RLSHOCK, GFUNC_UNALERTED)
|
||||
restart_timer
|
||||
animation(0x0204, -1, -1, 0x02, 0x14, 0x10, 2)
|
||||
@@ -1925,8 +1925,8 @@ u8 func040a_tech2[] = {
|
||||
|
||||
u8 func040d_cass[] = {
|
||||
set_shield(100)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNEXPLODABLE)
|
||||
set_target_chr(CHR_P1P2)
|
||||
|
||||
beginloop(0x3b)
|
||||
@@ -2088,7 +2088,7 @@ u8 func040d_cass[] = {
|
||||
endloop(0x2c)
|
||||
|
||||
label(0x2d)
|
||||
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00100000)
|
||||
remove_cass_necklace(CHR_CASS)
|
||||
chr_move_to_pad(CHR_CASS, 0x0205, 0x00, /*goto*/ 0x00)
|
||||
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
|
||||
@@ -2300,16 +2300,16 @@ u8 func100d_intro[] = {
|
||||
set_music_track(MUSIC_EXTRACTION_INTRO)
|
||||
camera_movement(0x0138)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0139, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
animation(0x013d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x013a, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
|
||||
unset_stage_flag(STAGEFLAG_00800000)
|
||||
restart_timer
|
||||
@@ -2378,20 +2378,20 @@ u8 func100d_intro[] = {
|
||||
mute_channel(CHANNEL_10)
|
||||
mute_channel(CHANNEL_7)
|
||||
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0139, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
animation(0x013d, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_00010000)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000)
|
||||
animation(0x013a, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2)
|
||||
|
||||
restart_default_music
|
||||
@@ -2413,45 +2413,45 @@ u8 func0412_outro[] = {
|
||||
set_object_flag_bank1(OBJ_HOVERCOPTER, OBJECTFLAG1_INVISIBLE)
|
||||
hide_object(OBJ_HOVERCOPTER)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
dprint 'c','u','t',' ','s','c','e','n','e',' ','2',0,
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
remove_cass_necklace(CHR_CASS)
|
||||
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
set_function(CHR_DRCAROLL, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
animation(0x015d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
|
||||
|
||||
set_function(CHR_CASS, FUNC_CASS_OUTRO)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
animation(0x0159, -1, -1, 0x06, 0x00, CHR_CASS, 4)
|
||||
|
||||
set_function(CHR_MRBLONDE, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
|
||||
animation(0x015a, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4)
|
||||
|
||||
set_function(CHR_OUTRO_GUARD1, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_OUTRO_GUARD1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD1, CHRHFLAG_00020000)
|
||||
animation(0x015b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD1, 4)
|
||||
|
||||
set_function(CHR_OUTRO_GUARD2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_OUTRO_GUARD2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD2, CHRHFLAG_00020000)
|
||||
animation(0x015c, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD2, 4)
|
||||
|
||||
show_object(OBJ_JUMPSHIP)
|
||||
@@ -2459,9 +2459,9 @@ u8 func0412_outro[] = {
|
||||
set_object_flag_bank1(OBJ_JUMPSHIP, OBJECTFLAG1_04000000)
|
||||
object_do_animation(0x015e, OBJ_JUMPSHIP, 0x04ff, 0xff)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0158, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
show_nonessential_chrs(FALSE)
|
||||
restart_timer
|
||||
@@ -2677,8 +2677,8 @@ u8 func040d_cass_outro[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_TECH1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_TECH2, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_TECH1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_TECH2, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -2909,7 +2909,7 @@ u8 func1017_remove_special_shock[] = {
|
||||
|
||||
u8 func1018_give_magnum[] = {
|
||||
beginloop(0x1f)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x00)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x00)
|
||||
endloop(0x1f)
|
||||
|
||||
// This seems wrong. The magnum is actually given to the special shock...
|
||||
|
||||
+29
-29
@@ -96,12 +96,12 @@ u8 func1001_objectives_failed[] = {
|
||||
};
|
||||
|
||||
u8 func1002_first_walk[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
camera_movement(0x0488)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
display_text(0x00, COLOR_02_WHITE, 0x5e07) // "THE DUEL"
|
||||
animation(ANIM_RELOAD, -1, -1, 0x06, 0x00, CHR_GUARD, 2)
|
||||
label(0x2d)
|
||||
@@ -159,13 +159,13 @@ u8 func1007_second_walk[] = {
|
||||
goto_first(0x8f)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNEXPLODABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNEXPLODABLE)
|
||||
yield
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(ANIM_GRAB_CROTCH, -1, -1, 0x06, 0x00, CHR_JONATHAN, 2)
|
||||
|
||||
label(0x2d)
|
||||
@@ -240,13 +240,13 @@ u8 func1008_third_walk[] = {
|
||||
goto_first(0x8f)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNEXPLODABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_UNEXPLODABLE)
|
||||
yield
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(ANIM_HEAD_ROLL, -1, -1, 0x06, 0x00, CHR_TRENT, 2)
|
||||
label(0x2d)
|
||||
message(CHR_BOND, 0x5e0e) // "Opponent skill level: PERFECT AGENT"
|
||||
@@ -393,7 +393,7 @@ u8 func1006_check_objectives_complete[] = {
|
||||
u8 func0402_guard_combat[] = {
|
||||
set_onshot_function(FUNC_GUARD_COMBAT)
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x03)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
|
||||
|
||||
// Wait 2 seconds or for guard to come into view
|
||||
restart_timer
|
||||
@@ -447,7 +447,7 @@ u8 func0402_guard_combat[] = {
|
||||
u8 func0403_jon_combat[] = {
|
||||
set_onshot_function(FUNC_JON_COMBAT)
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x58)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x04)
|
||||
@@ -486,7 +486,7 @@ u8 func0403_jon_combat[] = {
|
||||
u8 func0404_trent_combat[] = {
|
||||
set_onshot_function(FUNC_TRENT_COMBAT)
|
||||
if_just_injured(CHR_SELF, /*goto*/ 0x03)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x04)
|
||||
@@ -524,7 +524,7 @@ u8 func0404_trent_combat[] = {
|
||||
};
|
||||
|
||||
u8 func0405_guard_init[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
set_accuracy(200)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 20)
|
||||
@@ -536,31 +536,31 @@ u8 func0405_guard_init[] = {
|
||||
};
|
||||
|
||||
u8 func0406_jon_init[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
set_accuracy(200)
|
||||
set_reaction_speed(75)
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0407_trent_init[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
set_accuracy(200)
|
||||
set_reaction_speed(75)
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+63
-63
@@ -380,9 +380,9 @@ struct path paths[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_PRES_CLONE, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_PRES_CLONE, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -401,14 +401,14 @@ u8 func1011_setup_snow[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_CRASHSITE_INTRO)
|
||||
camera_movement(0x01b5)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01b6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, TRUE)
|
||||
|
||||
@@ -510,10 +510,10 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_5)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01b6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
@@ -549,51 +549,51 @@ u8 func0402_outro[] = {
|
||||
label(0x08)
|
||||
camera_movement(0x01d9)
|
||||
set_music_track(MUSIC_CRASHSITE_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_TARGET, GFUNC_IDLE)
|
||||
|
||||
remove_chr(CHR_ELVIS)
|
||||
set_function(CHR_ELVIS, GFUNC_IDLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_PRESIDENT, GFUNC_IDLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x01df, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_00020000)
|
||||
animation(0x01da, -1, -1, 0x06, 0x00, CHR_SKEDAR, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS_OUTRO, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS_OUTRO, CHRHFLAG_00020000)
|
||||
animation(0x01db, -1, -1, 0x06, 0x00, CHR_ELVIS_OUTRO, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
animation(0x01dc, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
|
||||
animation(0x01dd, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_PRESIDENT_OUTRO, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT_OUTRO, CHRHFLAG_00020000)
|
||||
animation(0x01de, -1, -1, 0x06, 0x00, CHR_PRESIDENT_OUTRO, 4)
|
||||
|
||||
show_object(0x00)
|
||||
@@ -703,11 +703,11 @@ u8 func0402_outro[] = {
|
||||
wait_until(4054, 0x86)
|
||||
play_sound(0x05a0, CHANNEL_5)
|
||||
play_sound(0x005c, CHANNEL_10)
|
||||
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
|
||||
|
||||
wait_until(4100, 0x95)
|
||||
unset_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
|
||||
unset_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
|
||||
play_sound(0x052a, CHANNEL_10)
|
||||
|
||||
wait_until(4200, 0x78)
|
||||
@@ -727,11 +727,11 @@ u8 func0402_outro[] = {
|
||||
play_sound(0x05a1, CHANNEL_7)
|
||||
|
||||
wait_until(4544, 0x96)
|
||||
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
|
||||
|
||||
wait_until(4566, 0x8c)
|
||||
play_sound(0x005b, CHANNEL_10)
|
||||
unset_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_CLOAKED)
|
||||
unset_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_CLOAKED)
|
||||
|
||||
wait_until(4576, 0x8d)
|
||||
|
||||
@@ -1124,13 +1124,13 @@ u8 func100b_check_clone_dead[] = {
|
||||
|
||||
u8 func0403_init_elvis[] = {
|
||||
set_shield(100)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_accuracy(100)
|
||||
set_reaction_speed(100)
|
||||
set_armor(1000)
|
||||
set_chr_health(CHR_SELF, 1000)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
assign_path(12)
|
||||
start_path
|
||||
set_function(CHR_SELF, FUNC_ELVIS)
|
||||
@@ -1249,7 +1249,7 @@ u8 func0405_unused[] = {
|
||||
|
||||
u8 func0417_init_robot[] = {
|
||||
set_accuracy(40)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_chr_health(CHR_SELF, 250)
|
||||
set_function(CHR_SELF, FUNC_ROBOT)
|
||||
endfunction
|
||||
@@ -1258,7 +1258,7 @@ u8 func0417_init_robot[] = {
|
||||
u8 func0418_robot[] = {
|
||||
set_onshot_function(FUNC_ROBOT)
|
||||
label(0x66)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x11)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x11)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x08)
|
||||
@@ -1358,7 +1358,7 @@ u8 func0418_robot[] = {
|
||||
* Assigned to two stripes guards.
|
||||
*/
|
||||
u8 func0414_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
|
||||
beginloop(0x06)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1398,22 +1398,22 @@ u8 func0414_spawner[] = {
|
||||
};
|
||||
|
||||
u8 func0419_unused[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0422_hide[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func041a_pres_clone[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
|
||||
beginloop(0x06)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1450,7 +1450,7 @@ u8 func041a_pres_clone[] = {
|
||||
};
|
||||
|
||||
u8 func041b_init_president[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_chr_health(CHR_SELF, 300)
|
||||
set_shield(0)
|
||||
set_function(CHR_SELF, FUNC_PRESIDENT_WAITING)
|
||||
@@ -1491,7 +1491,7 @@ u8 func041c_president_waiting[] = {
|
||||
};
|
||||
|
||||
u8 func041d_president_running[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_alertness(100)
|
||||
set_onshot_function(FUNC_PRESIDENT_RUNNING)
|
||||
dprint 'R','E','S','T','A','R','T','\n',0,
|
||||
@@ -1706,9 +1706,9 @@ u8 func100e_check_robots_left[] = {
|
||||
|
||||
u8 func041e_trent_waiting[] = {
|
||||
set_accuracy(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_shield(100)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
|
||||
beginloop(0x06)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1782,8 +1782,8 @@ u8 func041f_trent_shooting[] = {
|
||||
};
|
||||
|
||||
u8 func0420_trent_running[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_stage_flag(STAGEFLAG_TRENT_RUNNING)
|
||||
restart_timer
|
||||
run_to_pad(0x0027)
|
||||
@@ -1812,7 +1812,7 @@ u8 func0420_trent_running[] = {
|
||||
|
||||
// Player definitely not in sight
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+152
-152
@@ -727,31 +727,31 @@ struct path paths[] = {
|
||||
u8 func1002_objectives_failed_msg[] = {
|
||||
yield
|
||||
give_object_to_chr(OBJ_UNIFORM, CHR_STEWARDESS)
|
||||
set_chr_flag_bank3(0x00, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x01, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x02, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x03, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x04, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x05, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x06, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x07, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x08, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0b, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0c, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0d, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0e, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0f, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x3a, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x3b, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_OFFICE1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_OFFICE2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x44, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x45, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x46, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x02, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x03, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x04, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x05, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x06, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x07, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x08, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x09, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0b, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0c, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0e, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0f, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x3a, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x3b, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_OFFICE1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_OFFICE2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x44, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x45, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x46, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -779,30 +779,30 @@ u8 unregistered_function1[] = {
|
||||
*/
|
||||
u8 func0401_unused_cutscene[] = {
|
||||
chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_AIRBASE_OUTRO_LONG)
|
||||
camera_movement(0x016b)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0170, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, TRUE)
|
||||
set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x00, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x00, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
animation(0x016c, -1, -1, 0x06, 0x00, 0x00, 4)
|
||||
set_chr_flag_bank3(0x01, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x01, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x01, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x01, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x01, CHRHFLAG_00020000)
|
||||
animation(0x016d, -1, -1, 0x06, 0x00, 0x01, 4)
|
||||
set_chr_flag_bank3(0x02, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x02, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x02, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x02, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x02, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x02, CHRHFLAG_00020000)
|
||||
animation(0x016e, -1, -1, 0x06, 0x00, 0x02, 4)
|
||||
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_STEWARDESS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_STEWARDESS, CHRHFLAG_00020000)
|
||||
animation(0x016f, -1, -1, 0x06, 0x00, CHR_STEWARDESS, 4)
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
@@ -821,8 +821,8 @@ u8 func0401_unused_cutscene[] = {
|
||||
|
||||
label(0x48)
|
||||
label(0x02)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(0x00, 0x0405)
|
||||
set_function(0x01, 0x0405)
|
||||
remove_chr(0x02)
|
||||
@@ -838,14 +838,14 @@ u8 func0425_outro[] = {
|
||||
fade_to_color(0x00000000, 110)
|
||||
camera_movement(0x031a)
|
||||
set_music_track(MUSIC_AIRBASE_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(CHR_OUTRO_NSA, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_OUTRO_NSA, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_OUTRO_NSA, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_NSA, CHRHFLAG_00020000)
|
||||
animation(0x031b, -1, -1, 0x06, 0x00, CHR_OUTRO_NSA, 4)
|
||||
|
||||
show_object(OBJ_PLANE)
|
||||
@@ -904,8 +904,8 @@ u8 func0425_outro[] = {
|
||||
label(0x48)
|
||||
mute_channel(CHANNEL_10)
|
||||
label(0x02)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_PLANE)
|
||||
end_level
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -913,7 +913,7 @@ u8 func0425_outro[] = {
|
||||
};
|
||||
|
||||
u8 func0402_init_stripes[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1035,8 +1035,8 @@ u8 func1004_guard_activation[] = {
|
||||
#define enable_takeover_guard2(chr, function) \
|
||||
show_chr(chr) \
|
||||
set_function(chr, function) \
|
||||
unset_chr_flag_bank2(chr, CHRFLAG2_40000000) \
|
||||
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
|
||||
unset_chr_hiddenflag(chr, CHRHFLAG_40000000) \
|
||||
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
|
||||
yield
|
||||
|
||||
|
||||
@@ -1087,8 +1087,8 @@ u8 func1004_guard_activation[] = {
|
||||
#define enable_bottom_guard(chr) \
|
||||
show_chr(chr) \
|
||||
set_function(chr, FUNC_INIT_POSTTAKEOVER_GUARD) \
|
||||
unset_chr_flag_bank2(chr, CHRFLAG2_40000000) \
|
||||
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
|
||||
unset_chr_hiddenflag(chr, CHRHFLAG_40000000) \
|
||||
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
|
||||
yield
|
||||
|
||||
|
||||
@@ -1341,7 +1341,7 @@ u8 func0407_stewardess[] = {
|
||||
};
|
||||
|
||||
u8 func0406_become_unalerted[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
label(0x00)
|
||||
yield
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x02)
|
||||
@@ -1707,7 +1707,7 @@ u8 func0408_secretary[] = {
|
||||
u8 unregistered_function2[] = {
|
||||
beginloop(0x00)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x02)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x02)
|
||||
endloop(0x00)
|
||||
|
||||
label(0x02)
|
||||
@@ -1756,7 +1756,7 @@ u8 func1007_console_activation[] = {
|
||||
control_sound_from_object(CHANNEL_1, OBJ_CONSOLE, TRUE)
|
||||
message(CHR_P1P2, 0x0e24) // "Security systems have been shut down."
|
||||
set_stage_flag(STAGEFLAG_SECURITY_SHUT_DOWN)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x05)
|
||||
@@ -2048,7 +2048,7 @@ u8 func040d_init_office1[] = {
|
||||
u8 func0409_office1[] = {
|
||||
#define LABEL_RUN_TO_FOYER 0x4f
|
||||
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_morale(0)
|
||||
set_onshot_function(FUNC_OFFICE1)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x02)
|
||||
@@ -2185,7 +2185,7 @@ u8 func040e_init_office2[] = {
|
||||
};
|
||||
|
||||
u8 func040a_office2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_morale(0)
|
||||
set_onshot_function(FUNC_OFFICE2)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x02)
|
||||
@@ -2369,22 +2369,22 @@ u8 func100d_laser_panel[] = {
|
||||
};
|
||||
|
||||
u8 func100e_check_alaskans_killed[] = {
|
||||
set_chr_flag_bank3(0x00, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x01, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x02, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x03, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x04, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x05, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x06, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x07, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x08, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x09, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0b, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0c, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0d, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0e, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0f, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x00, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x02, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x03, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x04, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x05, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x06, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x07, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x08, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x09, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0b, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0c, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0e, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0f, CHRCFLAG_KILLCOUNTABLE)
|
||||
|
||||
beginloop(0x00)
|
||||
if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x02)
|
||||
@@ -2410,8 +2410,8 @@ u8 func0410_unused[] = {
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_00040000)
|
||||
set_function(CHR_SELF, FUNC_NSA)
|
||||
endfunction
|
||||
};
|
||||
@@ -2591,7 +2591,7 @@ u8 func040f_nsa[] = {
|
||||
|
||||
u8 func0412_init_takeover_lackey[] = {
|
||||
set_onshot_function(GFUNC_ALERTED)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_dodge_rating(2, 0x0a)
|
||||
set_accuracy(60)
|
||||
set_reaction_speed(80)
|
||||
@@ -2654,8 +2654,8 @@ u8 func0411_takeover_lackey[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x02)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
set_function(CHR_SELF, GFUNC_ALERTED)
|
||||
endfunction
|
||||
};
|
||||
@@ -2720,7 +2720,7 @@ u8 func0414_officeworker[] = {
|
||||
// After takeover
|
||||
label(0x07)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x6d)
|
||||
set_chr_flag_bank2(0x3a, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_00100000)
|
||||
chr_move_to_pad(0x3a, 0x00d7, 0x00, /*goto*/ 0x31)
|
||||
|
||||
label(0x31)
|
||||
@@ -2897,7 +2897,7 @@ u8 func0403_unused[] = {
|
||||
set_armor(40)
|
||||
set_recovery_speed(30)
|
||||
set_shield(0)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2909,10 +2909,10 @@ u8 func1015_unhide_laser_guards[] = {
|
||||
hide_chr(0x3f)
|
||||
hide_chr(0x40)
|
||||
hide_chr(0x41)
|
||||
set_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x3f, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x41, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x3f, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x41, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
// Unreachable
|
||||
@@ -2921,10 +2921,10 @@ u8 func1015_unhide_laser_guards[] = {
|
||||
endloop(0x00)
|
||||
|
||||
label(0x02)
|
||||
unset_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x3f, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x41, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x3f, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x41, CHRCFLAG_HIDDEN)
|
||||
show_chr(0x3e)
|
||||
set_function(0x3e, 0x0404)
|
||||
show_chr(0x3f)
|
||||
@@ -3062,8 +3062,8 @@ u8 func0426_init_alaskan_guard[] = {
|
||||
* Assigned to stripes guards and NSA lackeys during takeover.
|
||||
*/
|
||||
u8 func0427_init_posttakeover_guard[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
set_chr_dodge_rating(2, 0x0a)
|
||||
set_accuracy(12)
|
||||
@@ -3096,8 +3096,8 @@ u8 func0428_posttakeover_guard[] = {
|
||||
if_within_units_of_sight(30, /*goto*/ 0x31)
|
||||
|
||||
label(0x02)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_flag_bank3(CHRFLAG3_00040000)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_00040000)
|
||||
set_function(CHR_SELF, FUNC_BECOME_UNALERTED)
|
||||
|
||||
label(0x31)
|
||||
@@ -3139,9 +3139,9 @@ u8 func042a_foyer_spawner[] = {
|
||||
set_armor(40)
|
||||
set_recovery_speed(30)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x00)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -3164,7 +3164,7 @@ u8 func042a_foyer_spawner[] = {
|
||||
set_function(CHR_SELF, FUNC_FOYER_CLONE)
|
||||
|
||||
label(0x6a)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x6a)
|
||||
reloop(0x00)
|
||||
|
||||
@@ -3576,7 +3576,7 @@ u8 func1018_safe_switch_cover[] = {
|
||||
u8 func101a_check_disguise_used[] = {
|
||||
beginloop(0x00)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x31)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x31)
|
||||
endloop(0x00)
|
||||
|
||||
label(0x31)
|
||||
@@ -3587,38 +3587,38 @@ u8 func101a_check_disguise_used[] = {
|
||||
|
||||
u8 func1003_intro[] = {
|
||||
label(0x31)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_AIRBASE_INTRO)
|
||||
camera_movement(0x01e5)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01e6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_hud_visible(CHR_BOND, TRUE)
|
||||
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
animation(0x01e7, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
|
||||
set_chr_flag_bank3(0x48, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x48, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x48, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x48, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x48, CHRHFLAG_00020000)
|
||||
animation(0x01e8, -1, -1, 0x06, 0x00, 0x48, 4)
|
||||
set_chr_flag_bank3(0x49, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x49, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x49, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
|
||||
animation(0x01e9, -1, -1, 0x06, 0x00, 0x49, 4)
|
||||
set_chr_flag_bank3(0x4a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x4a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4a, CHRHFLAG_00020000)
|
||||
animation(0x01ea, -1, -1, 0x06, 0x00, 0x4a, 4)
|
||||
set_chr_flag_bank3(0x4b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4b, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x4b, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4b, CHRHFLAG_00020000)
|
||||
animation(0x01eb, -1, -1, 0x06, 0x00, 0x4b, 4)
|
||||
set_chr_flag_bank3(0x4c, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4c, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x4c, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4c, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x4c, CHRHFLAG_00020000)
|
||||
animation(0x01ec, -1, -1, 0x06, 0x00, 0x4c, 4)
|
||||
show_object(0x22)
|
||||
set_object_flag_bank1(0x22, OBJECTFLAG1_04000000)
|
||||
@@ -3821,25 +3821,25 @@ u8 func1003_intro[] = {
|
||||
hide_object(0x22)
|
||||
hide_object(0x2f)
|
||||
label(0x02)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x48, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x49, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x4c, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE)
|
||||
remove_chr(CHR_TRENT)
|
||||
remove_chr(0x48)
|
||||
remove_chr(0x4a)
|
||||
remove_chr(0x4b)
|
||||
remove_chr(0x4c)
|
||||
set_chr_flag_bank3(0x49, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x49, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x49, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
|
||||
animation(0x01e9, -2, -1, 0x06, 0x00, 0x49, 2)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01e6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
set_chr_hud_visible(CHR_BOND, FALSE)
|
||||
unset_object_flag_bank1(0x22, OBJECTFLAG1_04000000)
|
||||
@@ -3980,7 +3980,7 @@ u8 func1024_double_dy357[] = {
|
||||
*/
|
||||
u8 func0416_watch_flag[] = {
|
||||
beginloop(0x00)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000, /*goto*/ 0x31)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_40000000, /*goto*/ 0x31)
|
||||
dprint 'F','L','A','G',' ','N','O','T',' ','S','E','T','\n',0,
|
||||
reloop(0x00)
|
||||
|
||||
@@ -4001,7 +4001,7 @@ u8 func101a_check_disguise_used2[] = {
|
||||
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x31)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x31)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x31)
|
||||
@@ -4028,7 +4028,7 @@ u8 func1026_check_alarm_destroyed[] = {
|
||||
};
|
||||
|
||||
u8 func0417_remove_or_unalert[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
label(0x00)
|
||||
yield
|
||||
@@ -4054,7 +4054,7 @@ u8 func0417_remove_or_unalert[] = {
|
||||
};
|
||||
|
||||
u8 func0418_remove_or_cower[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
label(0x00)
|
||||
yield
|
||||
set_target_chr(CHR_BOND)
|
||||
@@ -4252,9 +4252,9 @@ u8 func102f_undisguise_on_alarm[] = {
|
||||
endloop(0x00)
|
||||
|
||||
label(0x31)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31)
|
||||
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
label(0x31)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -4319,28 +4319,28 @@ u8 func1032_unhide_guards_near_plane[] = {
|
||||
label(0x31)
|
||||
show_chr(0x1b)
|
||||
set_function(0x1b, 0x0422)
|
||||
unset_chr_flag_bank2(0x1b, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank3(0x1b, CHRFLAG3_HIDDEN)
|
||||
unset_chr_hiddenflag(0x1b, CHRHFLAG_40000000)
|
||||
unset_chr_chrflag(0x1b, CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
show_chr(0x19)
|
||||
set_function(0x19, FUNC_INIT_POSTTAKEOVER_GUARD)
|
||||
unset_chr_flag_bank2(0x19, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
|
||||
unset_chr_hiddenflag(0x19, CHRHFLAG_40000000)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
show_chr(0x1d)
|
||||
set_function(0x1d, FUNC_INIT_POSTTAKEOVER_GUARD)
|
||||
unset_chr_flag_bank2(0x1d, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank3(0x1d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_hiddenflag(0x1d, CHRHFLAG_40000000)
|
||||
unset_chr_chrflag(0x1d, CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
show_chr(0x1e)
|
||||
set_function(0x1e, FUNC_INIT_POSTTAKEOVER_GUARD)
|
||||
unset_chr_flag_bank2(0x1e, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_hiddenflag(0x1e, CHRHFLAG_40000000)
|
||||
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
show_chr(0x20)
|
||||
set_function(0x20, FUNC_INIT_POSTTAKEOVER_GUARD)
|
||||
unset_chr_flag_bank2(0x20, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
|
||||
unset_chr_hiddenflag(0x20, CHRHFLAG_40000000)
|
||||
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+132
-132
@@ -641,14 +641,14 @@ struct path paths[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_01000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH3, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PILOT3, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_01000000)
|
||||
set_chr_chrflag(CHR_LABTECH1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH3, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PILOT3, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -675,20 +675,20 @@ u8 func0408_guard_unalerted[] = {
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_music_track(MUSIC_PELAGIC_INTRO)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
camera_movement(0x02ce)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02cf, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02d0, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x02d1, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -799,15 +799,15 @@ u8 func1002_intro[] = {
|
||||
|
||||
label(0x39)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02cf, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
|
||||
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
hide_chr(CHR_INTRO_GUARD)
|
||||
enter_firstperson
|
||||
yield
|
||||
@@ -828,18 +828,18 @@ u8 func1002_intro[] = {
|
||||
u8 func0c01_outro[] = {
|
||||
camera_movement(0x02e2)
|
||||
set_music_track(MUSIC_PELAGIC_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x02e3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
set_function(CHR_ELVIS, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02e4, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
show_object(OBJ_OUTRO_SUBMARINE)
|
||||
@@ -990,11 +990,11 @@ u8 func0c01_outro[] = {
|
||||
endloop(0x0b)
|
||||
|
||||
label(0x39)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x02cf, -2, -1, 0x06, 0x00, CHR_P1P2, 2)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
|
||||
end_level
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -1174,8 +1174,8 @@ u8 func100c_check_end_level[] = {
|
||||
label(0x07)
|
||||
if_stage_flag_eq(STAGEFLAG_ELVIS_APPEARED_AT_MOONPOOL, TRUE, /*goto*/ 0x00)
|
||||
set_stage_flag(STAGEFLAG_ELVIS_APPEARED_AT_MOONPOOL)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_ELVIS, FUNC_ELVIS_AT_MOONPOOL)
|
||||
|
||||
beginloop(0x00)
|
||||
@@ -1334,7 +1334,7 @@ u8 func0407_start_path02[] = {
|
||||
|
||||
|
||||
u8 func040e_init_labtech1[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_04000000)
|
||||
set_self_chrflag(CHRCFLAG_04000000)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
set_function(CHR_SELF, FUNC_LABTECH1)
|
||||
endfunction
|
||||
@@ -1409,7 +1409,7 @@ u8 func040b_labtech1[] = {
|
||||
};
|
||||
|
||||
u8 func040f_init_labtech2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_04000000)
|
||||
set_self_chrflag(CHRCFLAG_04000000)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
set_function(CHR_SELF, FUNC_LABTECH2)
|
||||
endfunction
|
||||
@@ -1484,7 +1484,7 @@ u8 func040c_labtech2[] = {
|
||||
};
|
||||
|
||||
u8 func0410_init_labtech3[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_04000000)
|
||||
set_self_chrflag(CHRCFLAG_04000000)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
set_function(CHR_SELF, FUNC_LABTECH3)
|
||||
endfunction
|
||||
@@ -1658,8 +1658,8 @@ u8 func0411_labtech_alerted[] = {
|
||||
};
|
||||
|
||||
u8 func0412_hide[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1667,14 +1667,14 @@ u8 func0412_hide[] = {
|
||||
u8 func1010_alarm_responders[] = {
|
||||
yield
|
||||
yield
|
||||
set_chr_flag_bank2(0x57, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x58, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x59, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x5a, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x5b, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x5c, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x5d, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x5e, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(0x57, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x58, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x59, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x5a, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x5b, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x5c, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x5d, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x5e, CHRHFLAG_CLOAKED)
|
||||
hide_chr(0x57)
|
||||
hide_chr(0x58)
|
||||
hide_chr(0x59)
|
||||
@@ -1683,23 +1683,23 @@ u8 func1010_alarm_responders[] = {
|
||||
hide_chr(0x5c)
|
||||
hide_chr(0x5d)
|
||||
hide_chr(0x5e)
|
||||
set_chr_flag_bank2(0x04, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x25, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x06, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x08, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x0a, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x0c, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x0e, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x10, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x12, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x14, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x16, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x18, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x1a, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x1c, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x1e, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x20, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(0x22, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(0x04, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x25, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x06, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x08, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x0a, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x0c, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x0e, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x10, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x12, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x14, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x16, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x18, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x1c, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x1e, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x20, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(0x22, CHRHFLAG_CLOAKED)
|
||||
hide_chr(0x04)
|
||||
hide_chr(0x25)
|
||||
hide_chr(0x06)
|
||||
@@ -1805,56 +1805,56 @@ u8 func1010_alarm_responders[] = {
|
||||
set_function(0x20, FUNC_GUARD_UNALERTED)
|
||||
set_function(0x22, FUNC_GUARD_UNALERTED)
|
||||
yield
|
||||
unset_chr_flag_bank3(0x57, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x58, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x59, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x5a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x5b, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x5c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x5d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x5e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x57, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x58, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x59, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x5a, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x5b, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x5c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x5d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x5e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x04, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x25, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x06, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x08, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x0a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x0c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x0e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x10, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x12, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x18, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x1c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x1e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x04, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x25, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x06, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x08, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0a, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x10, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x18, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(0x57, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x58, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x59, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x5a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x5b, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x5c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x5d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x5e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x57, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x58, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x59, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x5a, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x5b, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x5c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x5d, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x5e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x04, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x25, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x06, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x08, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x10, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x12, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x18, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x04, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x25, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x06, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x08, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0a, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x10, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x18, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2066,9 +2066,9 @@ u8 func1011_check_pilots_dead[] = {
|
||||
* the selected pilot is dead, try the next one and so on in order 1, 2, 3.
|
||||
*/
|
||||
u8 func1012_choose_angry_pilot[] = {
|
||||
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_PILOT3, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_PILOT3, CHRCFLAG_KILLCOUNTABLE)
|
||||
|
||||
beginloop(0x00)
|
||||
if_kill_count_gt(0, /*goto*/ 0x08)
|
||||
@@ -2086,7 +2086,7 @@ u8 func1012_choose_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_unloaded(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_flag_bankx(CHR_PILOT1, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3b)
|
||||
if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3b)
|
||||
set_function(CHR_PILOT1, FUNC_ANGRY_PILOT)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
@@ -2094,7 +2094,7 @@ u8 func1012_choose_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_unloaded(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_flag_bankx(CHR_PILOT2, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3c)
|
||||
if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3c)
|
||||
set_function(CHR_PILOT2, FUNC_ANGRY_PILOT)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
@@ -2102,7 +2102,7 @@ u8 func1012_choose_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_unloaded(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_flag_bankx(CHR_PILOT3, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x04)
|
||||
if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x04)
|
||||
set_function(CHR_PILOT3, FUNC_ANGRY_PILOT)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
@@ -2125,7 +2125,7 @@ u8 func0404_angry_pilot[] = {
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
unset_self_flag_bankx(CHRFLAG0_00100000, BANK_0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_onshot_function(FUNC_ANGRY_PILOT)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x07)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x07)
|
||||
@@ -2161,7 +2161,7 @@ u8 func0404_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_unloaded(CHR_PILOT1, /*goto*/ 0x3b)
|
||||
if_chr_flag_bankx(CHR_PILOT1, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3b)
|
||||
if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3b)
|
||||
set_target_chr(CHR_PILOT1)
|
||||
goto_next(0x00)
|
||||
|
||||
@@ -2169,7 +2169,7 @@ u8 func0404_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_unloaded(CHR_PILOT2, /*goto*/ 0x3c)
|
||||
if_chr_flag_bankx(CHR_PILOT2, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3c)
|
||||
if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3c)
|
||||
set_target_chr(CHR_PILOT2)
|
||||
goto_next(0x00)
|
||||
|
||||
@@ -2177,7 +2177,7 @@ u8 func0404_angry_pilot[] = {
|
||||
if_chr_dying(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_unloaded(CHR_PILOT3, /*goto*/ 0x04)
|
||||
if_chr_flag_bankx(CHR_PILOT3, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x04)
|
||||
if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x04)
|
||||
set_target_chr(CHR_PILOT3)
|
||||
goto_next(0x00)
|
||||
|
||||
@@ -2571,8 +2571,8 @@ u8 func0415_elvis_at_start[] = {
|
||||
label(0x04)
|
||||
stop_chr
|
||||
set_stage_flag(STAGEFLAG_ELVIS_WARPED_FROM_START)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_armor(2000)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
+69
-69
@@ -1040,7 +1040,7 @@ u8 func1009_spawner_during_decode[] = {
|
||||
};
|
||||
|
||||
#define init_swat \
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000) \
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \
|
||||
set_chr_dodge_rating(2, 0x0a) \
|
||||
set_accuracy(15) \
|
||||
@@ -1053,11 +1053,11 @@ u8 func1009_spawner_during_decode[] = {
|
||||
label(0x06) \
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY) \
|
||||
set_squadron(SQUADRON_09) \
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE) \
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE) \
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) \
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) \
|
||||
set_alertness(90) \
|
||||
set_self_flag_bank3(CHRFLAG3_00000200) \
|
||||
set_self_chrflag(CHRCFLAG_00000200) \
|
||||
rebuild_teams \
|
||||
rebuild_squadrons \
|
||||
run_to_pad(0x004e)
|
||||
@@ -1117,12 +1117,12 @@ u8 func100a_give_keycards[] = {
|
||||
set_object_flag_bank1(OBJ_CROSSBOW, OBJECTFLAG1_INVISIBLE)
|
||||
set_object_flag_bank0(OBJ_CROSSBOW, OBJECTFLAG0_00100000)
|
||||
|
||||
set_chr_flag_bank3(CHR_CLOAK_1A, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_CLOAK_1B, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_CLOAK_2A, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_CLOAK_2B, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_CLOAK_2C, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_CLOAK_2D, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_1A, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_1B, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_2A, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_2B, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_2C, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_CLOAK_2D, CHRCFLAG_KILLCOUNTABLE)
|
||||
|
||||
// Wait for trigger
|
||||
beginloop(0x04)
|
||||
@@ -1549,19 +1549,19 @@ u8 func1017_check_lasers_closed[] = {
|
||||
};
|
||||
|
||||
u8 func040d_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_INTRO)
|
||||
camera_movement(0x0165)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0166, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_INTRO_VICTIM, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
|
||||
animation(0x0167, -1, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1763,16 +1763,16 @@ u8 func040d_intro[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x54)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0166, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_INTRO_VICTIM, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_00010000)
|
||||
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_00010000)
|
||||
animation(0x0167, -2, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 2)
|
||||
|
||||
restart_default_music
|
||||
@@ -1802,8 +1802,8 @@ u8 func040d_intro[] = {
|
||||
|
||||
u8 func040e_meeting_cutscene[] = {
|
||||
deactivate_alarm
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_MIDCUTSCENE)
|
||||
camera_movement(0x0191)
|
||||
set_stage_flag(STAGEFLAG_MEETING_STARTED)
|
||||
@@ -1812,24 +1812,24 @@ u8 func040e_meeting_cutscene[] = {
|
||||
set_function(CHR_TRENT, GFUNC_IDLE)
|
||||
set_function(CHR_STRIPES, GFUNC_IDLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_BLONDE, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BLONDE, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BLONDE, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
|
||||
animation(0x0192, -1, -1, 0x06, 0x00, CHR_BLONDE, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
animation(0x0193, -1, -1, 0x06, 0x00, CHR_CASS, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
|
||||
animation(0x0194, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_STRIPES, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_STRIPES, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_STRIPES, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_STRIPES, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_STRIPES, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_STRIPES, CHRHFLAG_00020000)
|
||||
animation(0x0195, -1, -1, 0x06, 0x00, CHR_STRIPES, 4)
|
||||
restart_timer
|
||||
|
||||
@@ -2036,8 +2036,8 @@ u8 func040e_meeting_cutscene[] = {
|
||||
mute_channel(CHANNEL_7)
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_5)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
label(0x06)
|
||||
set_function(CHR_CASS, FUNC_WALK_FROM_MEETING)
|
||||
@@ -2072,12 +2072,12 @@ u8 func040f_outro_from_menu[] = {
|
||||
u8 func040f_outro[] = {
|
||||
camera_movement(0x0196)
|
||||
set_music_track(MUSIC_G5_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0197, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
set_chr_hud_visible(CHR_P1P2, TRUE)
|
||||
restart_timer
|
||||
@@ -2310,7 +2310,7 @@ u8 func0412_cloak_guard[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x10)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED, /*goto*/ 0x2c)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED, /*goto*/ 0x2c)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
label(0x2c)
|
||||
@@ -2322,7 +2322,7 @@ u8 func0412_cloak_guard[] = {
|
||||
u8 func0413_cloak1_guard[] = {
|
||||
yield
|
||||
set_onshot_function(FUNC_CLOAK_GUARD)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
label(0x06)
|
||||
set_reaction_speed(100)
|
||||
set_onshot_function(FUNC_CLOAK_GUARD)
|
||||
@@ -2340,8 +2340,8 @@ u8 func0413_cloak1_guard[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_CLOAK_GUARD)
|
||||
endfunction
|
||||
@@ -2350,7 +2350,7 @@ u8 func0413_cloak1_guard[] = {
|
||||
u8 func0414_init_cloak2_guard[] = {
|
||||
stop_chr
|
||||
set_onshot_function(FUNC_CLOAK_GUARD)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_dodge_rating(2, 0x0a)
|
||||
set_accuracy(5)
|
||||
set_reaction_speed(25)
|
||||
@@ -2358,8 +2358,8 @@ u8 func0414_init_cloak2_guard[] = {
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_CLOAK_GUARD)
|
||||
endfunction
|
||||
@@ -2498,10 +2498,10 @@ u8 func101b_cloak2_entry[] = {
|
||||
set_lights_state(0x000a, 0x01, 0xff, 0x00, 0x00)
|
||||
|
||||
label(0x07)
|
||||
unset_chr_flag_bank3(CHR_CLOAK_2A, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_CLOAK_2B, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_CLOAK_2C, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_CLOAK_2D, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CLOAK_2A, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CLOAK_2B, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CLOAK_2C, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CLOAK_2D, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_CLOAK_2A, FUNC_CLOAK2_GUARD)
|
||||
set_function(CHR_CLOAK_2B, FUNC_CLOAK2_GUARD)
|
||||
set_function(CHR_CLOAK_2C, FUNC_CLOAK2_GUARD)
|
||||
@@ -2511,7 +2511,7 @@ u8 func101b_cloak2_entry[] = {
|
||||
};
|
||||
|
||||
u8 func0405_cloak2_hide[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2937,8 +2937,8 @@ u8 func1026_unlock_doors[] = {
|
||||
u8 func0410_invincible[] = {
|
||||
label(0x04)
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2946,9 +2946,9 @@ u8 func0410_invincible[] = {
|
||||
u8 func0411_hide[] = {
|
||||
label(0x04)
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3030,13 +3030,13 @@ u8 func102a_8174[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x2c)
|
||||
set_chr_flag_bank2(0x07, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x0c, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x0d, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x0e, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x0f, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x10, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x11, CHRFLAG2_08000000)
|
||||
set_chr_hiddenflag(0x07, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x0c, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x0d, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x0e, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x0f, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x10, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x11, CHRHFLAG_08000000)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+55
-55
@@ -711,80 +711,80 @@ u8 func041e_colleague[] = {
|
||||
};
|
||||
|
||||
u8 func041f_colleague1[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(0)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0420_colleague2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(1)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0421_colleague3[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(2)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0422_colleague4[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(3)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0423_colleague5[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(4)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0424_colleague6[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(5)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0425_colleague7[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(6)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0426_colleague8[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(7)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0427_colleague9[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(8)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0428_colleague10[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_morale(9)
|
||||
set_function(CHR_SELF, FUNC_COLLEAGUE)
|
||||
endfunction
|
||||
@@ -1424,7 +1424,7 @@ u8 func1006_devicetraining_disguise[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x81)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
unset_stage_flag(STAGEFLAG_DISGUISE_FAILED)
|
||||
unset_stage_flag(STAGEFLAG_DISGUISE_COMPLETE)
|
||||
lock_door(0x31, 0x40)
|
||||
@@ -1473,14 +1473,14 @@ u8 func1006_devicetraining_disguise[] = {
|
||||
label(0x2f)
|
||||
label(0x8d)
|
||||
remove_displayed_text
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
|
||||
display_text(0x01, COLOR_04_ORANGE, 0x1c3d) // "Select the Disguise. - Hold A Button. - Use Control Stick to change selection. - Highlight Disguise and release A Button."
|
||||
restart_timer
|
||||
|
||||
beginloop(0x8e)
|
||||
if_stage_flag_eq(STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a)
|
||||
if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
|
||||
if_timer_gt(1200, /*goto*/ 0x06)
|
||||
endloop(0x8e)
|
||||
|
||||
@@ -2509,7 +2509,7 @@ u8 func0429_grimshaw_disguise[] = {
|
||||
endloop(0x5b)
|
||||
|
||||
label(0x06)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
|
||||
do_special_animation(-1)
|
||||
speak(CHR_TARGET, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!"
|
||||
|
||||
@@ -2572,7 +2572,7 @@ u8 func100c_cloak_detection[] = {
|
||||
|
||||
label(0x06)
|
||||
dprint 'G','O','T','T','H','R','U',0,
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_CLOAKED, /*goto*/ 0x30)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_CLOAKED, /*goto*/ 0x30)
|
||||
activate_alarm
|
||||
yield
|
||||
restart_timer
|
||||
@@ -2874,8 +2874,8 @@ u8 func101b_ir_door[] = {
|
||||
};
|
||||
|
||||
u8 func042b_init_carrington[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
yield
|
||||
set_morale(0)
|
||||
if_eeprom_flag_is_unset(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06)
|
||||
@@ -2906,7 +2906,7 @@ u8 func042b_init_carrington[] = {
|
||||
|
||||
u8 func1019_setup_carrington[] = {
|
||||
beginloop(0x04)
|
||||
if_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_10000000, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_CARRINGTON, CHRHFLAG_10000000, /*goto*/ 0x06)
|
||||
if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x2f)
|
||||
endloop(0x04)
|
||||
|
||||
@@ -2921,7 +2921,7 @@ u8 func1019_setup_carrington[] = {
|
||||
|
||||
u8 func042c_carrington_tour[] = {
|
||||
set_return_function(CHR_SELF, FUNC_CARRINGTON_TOUR)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
restart_timer
|
||||
try_face_entity(ENTITYTYPE_PAD, 0x0054, /*goto*/ 0x04)
|
||||
|
||||
@@ -2947,7 +2947,7 @@ u8 func042c_carrington_tour[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
set_eeprom_flag(EEPROMFLAG_CI_TOUR_STARTED)
|
||||
do_special_animation(-1)
|
||||
remove_displayed_text
|
||||
@@ -3204,7 +3204,7 @@ u8 func042c_carrington_tour[] = {
|
||||
|
||||
u8 func042d_unused[] = {
|
||||
set_alertness(1)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
restart_timer
|
||||
try_face_entity(ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f)
|
||||
|
||||
@@ -3233,7 +3233,7 @@ u8 func042d_unused[] = {
|
||||
|
||||
u8 func042e_devicegirl_reply_to_carrington[] = {
|
||||
set_alertness(1)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
restart_timer
|
||||
try_face_entity(ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f)
|
||||
|
||||
@@ -4358,12 +4358,12 @@ u8 func1028_holo4_main[] = {
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
remove_displayed_text
|
||||
if_chr_flag_bank3(0x0d, CHRFLAG3_00000040, /*goto*/ 0x61)
|
||||
if_chr_has_chrflag(0x0d, CHRCFLAG_00000040, /*goto*/ 0x61)
|
||||
display_text(0x01, COLOR_04_ORANGE, 0x1c6b) // "Unarmed combat - knock out the target. - Press Z Button repeatedly to punch."
|
||||
goto_next(0x2f)
|
||||
|
||||
label(0x61)
|
||||
if_chr_flag_bank3(0x0e, CHRFLAG3_00000040, /*goto*/ 0x62)
|
||||
if_chr_has_chrflag(0x0e, CHRCFLAG_00000040, /*goto*/ 0x62)
|
||||
remove_displayed_text
|
||||
display_text(0x01, COLOR_04_ORANGE, 0x1c6c) // "Now try against a moving target..."
|
||||
goto_next(0x2f)
|
||||
@@ -4443,7 +4443,7 @@ u8 func0403_holo4_guard1[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2f)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x0277, FUNC_HOLO4_GUARD2, 0x00002210, /*goto*/ 0x08)
|
||||
label(0x08)
|
||||
remove_displayed_text
|
||||
@@ -4464,7 +4464,7 @@ u8 func0404_holo4_guard2[] = {
|
||||
goto_next(0x06)
|
||||
|
||||
label(0x2f)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x027a, FUNC_HOLO4_GUARD3, 0x00002210, /*goto*/ 0x0a)
|
||||
label(0x0a)
|
||||
remove_displayed_text
|
||||
@@ -4600,12 +4600,12 @@ u8 func1029_holo5_main[] = {
|
||||
label(0x91)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
|
||||
remove_displayed_text
|
||||
if_chr_flag_bank3(0x10, CHRFLAG3_00000040, /*goto*/ 0x61)
|
||||
if_chr_has_chrflag(0x10, CHRCFLAG_00000040, /*goto*/ 0x61)
|
||||
display_text(0x01, COLOR_04_ORANGE, 0x1c5c) // "Disarm this live target if you can."
|
||||
goto_next(0x2f)
|
||||
|
||||
label(0x61)
|
||||
if_chr_flag_bank3(0x11, CHRFLAG3_00000040, /*goto*/ 0x62)
|
||||
if_chr_has_chrflag(0x11, CHRCFLAG_00000040, /*goto*/ 0x62)
|
||||
display_text(0x01, COLOR_04_ORANGE, 0x1c5d) // "Knock out this target - stealth is the key."
|
||||
goto_next(0x2f)
|
||||
|
||||
@@ -4698,12 +4698,12 @@ u8 func0407_holo5_guard1[] = {
|
||||
if_has_gun(CHR_SELF, /*goto*/ 0x06)
|
||||
label(0x2f)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_onshot_function(GFUNC_IDLE)
|
||||
goto_next(0x0a)
|
||||
label(0x30)
|
||||
restart_timer
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x62)
|
||||
if_timer_gt(60, /*goto*/ 0x63)
|
||||
@@ -4716,7 +4716,7 @@ u8 func0407_holo5_guard1[] = {
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
label(0x0a)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
surrender
|
||||
message(CHR_BOND, 0x1c5a) // "Guard has been successfully disarmed."
|
||||
@@ -4783,13 +4783,13 @@ u8 func0409_holo5_guard2[] = {
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2f)
|
||||
if_target_chr_in_sight(/*goto*/ 0x09)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_alertness(0)
|
||||
goto_first(0x08)
|
||||
|
||||
label(0x06)
|
||||
label(0x09)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
try_face_entity(0x0200, 0x0000, /*goto*/ 0x0a)
|
||||
|
||||
beginloop(0x0a)
|
||||
@@ -4800,8 +4800,8 @@ u8 func0409_holo5_guard2[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x2f)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
beginloop(0x57)
|
||||
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x0125, FUNC_HOLO5_INIT_GUARD3, 0x00002210, /*goto*/ 0x06)
|
||||
@@ -4871,7 +4871,7 @@ u8 func1034_holo5_part1[] = {
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
|
||||
if_chr_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f)
|
||||
if_chr_has_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f)
|
||||
dprint 'C','H','R',' ','4','F','D',0,
|
||||
label(0x06)
|
||||
endloop(0x04)
|
||||
@@ -5741,15 +5741,15 @@ u8 func103f_msg_fnp90[] = {
|
||||
};
|
||||
|
||||
u8 func1000_jo_typing[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
camera_movement(0x0484)
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x7b)
|
||||
set_music_track(MUSIC_CI_INTRO)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0485, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -5781,11 +5781,11 @@ u8 func1000_jo_typing[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x7b)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0485, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
enter_firstperson
|
||||
passive_mode(TRUE)
|
||||
fade_to_color(0x00000000, 0)
|
||||
|
||||
+34
-34
@@ -898,7 +898,7 @@ u8 func0414_walk_3_pads[] = {
|
||||
* Unused.
|
||||
*/
|
||||
u8 func0401_init_chr_with_flag[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
|
||||
endfunction
|
||||
};
|
||||
@@ -1302,7 +1302,7 @@ u8 func1009_weaponscache[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2f)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x2f)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x2f)
|
||||
message(CHR_TARGET, 0x1e62) // "Secret weapons compartment opened."
|
||||
play_sound(0x00f7, -1)
|
||||
assign_sound(0x043b, CHANNEL_5)
|
||||
@@ -1937,10 +1937,10 @@ u8 func1008_check_bot_terminals_destroyed[] = {
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
// These are scientist chrs
|
||||
set_chr_flag_bank3(0x35, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x36, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x38, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(0x35, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x36, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x38, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -2016,7 +2016,7 @@ u8 func0408_alarm_responder[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
set_alertness(90)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
|
||||
// Run to scientist based on which alarm was triggered
|
||||
if_stage_flag_eq(STAGEFLAG_ALARM1_ACTIVE, TRUE, /*goto*/ 0x08)
|
||||
@@ -2217,18 +2217,18 @@ u8 func0416_intro[] = {
|
||||
set_music_track(MUSIC_INVESTIGATION_INTRO)
|
||||
camera_movement(0x00f5)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_00010000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00f6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_00010000)
|
||||
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x00f7, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -2316,18 +2316,18 @@ u8 func0416_intro[] = {
|
||||
label(0x77)
|
||||
open_door2(0x24)
|
||||
open_door2(0x40)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00010000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00f6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x00f7, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
enter_firstperson
|
||||
@@ -2341,13 +2341,13 @@ u8 func0416_intro[] = {
|
||||
|
||||
u8 func0417_outro[] = {
|
||||
set_music_track(MUSIC_INVESTIGATION_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_OUTRO_AUDIO)
|
||||
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
|
||||
set_function(CHR_DRCAROLL, GFUNC_IDLE)
|
||||
set_function(CHR_K7_GUARD, GFUNC_IDLE)
|
||||
@@ -2415,9 +2415,9 @@ u8 func0417_outro[] = {
|
||||
label(0x06)
|
||||
dprint 's','h','o','t',' ','5',0,
|
||||
if_controller_button_pressed(/*goto*/ 0x06)
|
||||
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
camera_movement(0x0149)
|
||||
animation(0x014a, -1, -1, 0x06, 0x00, CHR_P1P2, 2)
|
||||
animation(0x014b, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
|
||||
@@ -2693,7 +2693,7 @@ u8 func0409_uplink_responder[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
set_alertness(110)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
label(0x06)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -3008,7 +3008,7 @@ u8 func0403_k7_scientist[] = {
|
||||
};
|
||||
|
||||
u8 func1016_setup_drcaroll[] = {
|
||||
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_DRCAROLL, GFUNC_INVINCIBLE_AND_IDLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
|
||||
+104
-104
@@ -773,11 +773,11 @@ u8 func1002_intro_from_menu[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
camera_movement(0x0171)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
label(0x2e)
|
||||
@@ -789,13 +789,13 @@ u8 func1002_intro[] = {
|
||||
set_music_track(MUSIC_VILLA_INTRO2)
|
||||
animation(0x0172, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
|
||||
label(0x06)
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
animation(0x0173, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
animation(0x0174, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
|
||||
show_object(OBJ_DROPSHIP)
|
||||
set_object_flag_bank1(OBJ_DROPSHIP, OBJECTFLAG1_04000000)
|
||||
@@ -937,8 +937,8 @@ u8 func1002_intro[] = {
|
||||
label(0x56)
|
||||
if_controller_button_pressed(/*goto*/ 0x56)
|
||||
camera_movement(0x01b7)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
label(0x2e)
|
||||
@@ -948,14 +948,14 @@ u8 func1002_intro[] = {
|
||||
animation(0x01b8, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
|
||||
label(0x06)
|
||||
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
animation(0x01b9, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
animation(0x01ba, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1030,22 +1030,22 @@ u8 func1002_intro[] = {
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x56)
|
||||
|
||||
set_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_NEGOTIATOR, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
|
||||
animation(0x0001, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01bc, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
show_object(OBJ_DROPSHIP)
|
||||
@@ -1099,20 +1099,20 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01bc, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_NEGOTIATOR, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
|
||||
animation(0x01b8, -2, -1, 0x06, 0x00, CHR_NEGOTIATOR, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
animation(0x01b9, -2, -1, 0x06, 0x00, CHR_TAKER1, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
animation(0x01ba, -2, -1, 0x06, 0x00, CHR_TAKER2, 2)
|
||||
|
||||
hide_object(OBJ_DROPSHIP)
|
||||
@@ -1128,24 +1128,24 @@ u8 func1002_intro[] = {
|
||||
set_function(CHR_TAKER1, FUNC_INIT_TAKER)
|
||||
set_function(CHR_TAKER2, FUNC_INIT_TAKER)
|
||||
set_function(CHR_NEGOTIATOR, FUNC_NEGOTIATOR)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
label(0x4f)
|
||||
camera_movement(0x01be)
|
||||
cmd0175(60)
|
||||
hide_object(OBJ_DROPSHIP)
|
||||
if_controller_button_pressed(/*goto*/ 0x56)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01bf, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
animation(0x01c0, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
animation(0x01c1, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
|
||||
restart_timer
|
||||
label(0xa6)
|
||||
@@ -1200,16 +1200,16 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_5)
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_7)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01bf, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_00000001)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_00000001)
|
||||
animation(0x01c0, -2, -1, 0x06, 0x00, CHR_TAKER1, 2)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_00000001)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_00000001)
|
||||
animation(0x01c1, -2, -1, 0x06, 0x00, CHR_TAKER2, 2)
|
||||
hide_object(OBJ_DROPSHIP)
|
||||
restart_default_music
|
||||
@@ -1219,8 +1219,8 @@ u8 func1002_intro[] = {
|
||||
yield
|
||||
set_function(CHR_TAKER1, FUNC_TAKER)
|
||||
set_function(CHR_TAKER2, FUNC_TAKER)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1234,20 +1234,20 @@ u8 func0c02_outro_from_menu[] = {
|
||||
u8 func0408_outro[] = {
|
||||
camera_movement(0x017a)
|
||||
set_music_track(MUSIC_VILLA_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNEXPLODABLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x017c, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
animation(0x017b, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
@@ -1457,7 +1457,7 @@ u8 func0401_init_taker[] = {
|
||||
};
|
||||
|
||||
u8 func0402_taker[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
yield
|
||||
yield
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
@@ -2174,9 +2174,9 @@ u8 func100b_invoke_hackers[] = {
|
||||
set_function(CHR_HACKER1, FUNC_HACKER)
|
||||
set_function(CHR_HACKER2, FUNC_HACKER)
|
||||
set_function(CHR_HACKER3, FUNC_HACKER)
|
||||
unset_chr_flag_bank3(CHR_HACKER1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_HACKER2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_HACKER3, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_HACKER1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_HACKER2, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_HACKER3, CHRCFLAG_HIDDEN)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
play_x_music(CHANNEL_10, 60)
|
||||
@@ -2202,7 +2202,7 @@ u8 func100b_invoke_hackers[] = {
|
||||
};
|
||||
|
||||
u8 func0406_init_hacker[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2368,14 +2368,14 @@ u8 func1011_setup_snipers[] = {
|
||||
set_chr_special_death_animation(CHR_SNIPER4, 0x02)
|
||||
set_chr_special_death_animation(CHR_SNIPER5, 0x03)
|
||||
set_chr_special_death_animation(CHR_SNIPER3, 0x04)
|
||||
set_chr_flag_bank3(CHR_SNIPER3, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER4, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER5, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER7, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER1, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER2, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER6, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_SNIPER8, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER3, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER4, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER5, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER7, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER1, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER2, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER6, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_SNIPER8, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2414,15 +2414,15 @@ u8 func1013_check_guard_subdued[] = {
|
||||
};
|
||||
|
||||
u8 func1014_give_keycard[] = {
|
||||
set_chr_flag_bank3(CHR_BASEMENT1, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT2, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT3, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT4, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT5, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT6, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT7, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT8, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT1, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT2, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT3, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT4, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT5, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT6, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT7, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT8, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_object_flag_bank0(OBJ_KEYCARD, OBJECTFLAG0_00100000)
|
||||
set_object_flag_bank1(OBJ_KEYCARD, OBJECTFLAG1_INVISIBLE)
|
||||
|
||||
@@ -2950,8 +2950,8 @@ u8 func0407_init_sniper[] = {
|
||||
|
||||
u8 func0410_carrington[] = {
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
animation(0x017b, 1, 1, 0x06, 0x00, CHR_CARRINGTON, 2)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -3117,8 +3117,8 @@ u8 func1423_setup_lighting[] = {
|
||||
};
|
||||
|
||||
u8 func1021_toggle_last_basement_guard[] = {
|
||||
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x04)
|
||||
if_difficulty_gt(DIFF_SA, /*goto*/ 0x2d)
|
||||
@@ -3145,8 +3145,8 @@ u8 func1021_toggle_last_basement_guard[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3161,7 +3161,7 @@ u8 func1022_setup_rtracker[] = {
|
||||
};
|
||||
|
||||
u8 func0411_cisoldier[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
chr_drop_weapon(CHR_SELF)
|
||||
label(0x08)
|
||||
yield
|
||||
@@ -3181,15 +3181,15 @@ u8 func0411_cisoldier[] = {
|
||||
u8 func1024_set_chr_flags_on_pa[] = {
|
||||
yield
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
|
||||
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x0a, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x23, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x2f, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x34, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x37, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(0x3e, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(CHR_BASEMENT6, CHRFLAG2_08000000)
|
||||
set_chr_flag_bank2(CHR_BASEMENT8, CHRFLAG2_08000000)
|
||||
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x0a, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x2f, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x34, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(0x3e, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(CHR_BASEMENT6, CHRHFLAG_08000000)
|
||||
set_chr_hiddenflag(CHR_BASEMENT8, CHRHFLAG_08000000)
|
||||
label(0x2d)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
|
||||
+149
-149
@@ -553,21 +553,21 @@ u8 func1001_objectives_failed_msg[] = {
|
||||
give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP)
|
||||
|
||||
label(0x2e)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_F, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_INFO_M, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_HOLO, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HANGARGUY, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_M, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_INFO_F, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_DEVICE_F, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_INFO_M, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_HOLO, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HANGARGUY, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_DEVICE_M, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_INFO_F, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x09, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -580,9 +580,9 @@ u8 func1400_setup_counterop[] = {
|
||||
};
|
||||
|
||||
#define spawner_logic(initfunc, clonefunc) \
|
||||
set_self_flag_bank3(CHRFLAG3_00000002) \
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN) \
|
||||
set_self_flag_bank3(CHRFLAG3_00040000) \
|
||||
set_self_chrflag(CHRCFLAG_00000002) \
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN) \
|
||||
set_self_chrflag(CHRCFLAG_00040000) \
|
||||
\
|
||||
beginloop(0x0f) \
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_SPAWNING, TRUE, /*goto*/ 0x04) \
|
||||
@@ -618,7 +618,7 @@ u8 func1400_setup_counterop[] = {
|
||||
set_recovery_speed(0) \
|
||||
set_shield(90) \
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000) \
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \
|
||||
label(0x04) \
|
||||
try_inherit_properties(templatechr, /*goto*/ 0x08) \
|
||||
label(0x08) \
|
||||
@@ -641,7 +641,7 @@ u8 func0403_init_clone1[] = {
|
||||
};
|
||||
|
||||
u8 func0402_clone1[] = {
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
run_to_pad(0x00c2)
|
||||
set_return_function(CHR_SELF, FUNC_CLONE1)
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED)
|
||||
@@ -749,13 +749,13 @@ u8 func100b_setup_autoguns[] = {
|
||||
};
|
||||
|
||||
u8 func1004_check_hostages_killed[] = {
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_F, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_INFO_M, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_HOLO, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_M, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_INFO_F, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_DEVICE_F, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_INFO_M, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_HOLO, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_DEVICE_M, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_INFO_F, CHRCFLAG_KILLCOUNTABLE)
|
||||
if_difficulty_lt(DIFF_SA, /*goto*/ 0x0a)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x0b)
|
||||
|
||||
@@ -863,13 +863,13 @@ u8 func1009_autogun_switch3[] = {
|
||||
u8 func0c01_outro[] = {
|
||||
camera_movement(0x01a2)
|
||||
set_music_track(MUSIC_DEFENSE_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x01a3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
#define show_object_with_animation(object, animation) \
|
||||
@@ -940,17 +940,17 @@ u8 func0c01_outro[] = {
|
||||
mute_channel(CHANNEL_10)
|
||||
hide_object(0x0d)
|
||||
camera_movement(0x01ac)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SKEDAR1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
|
||||
animation(0x01ad, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SKEDAR2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR2, CHRHFLAG_00020000)
|
||||
animation(0x01ae, -1, -1, 0x06, 0x00, CHR_SKEDAR2, 4)
|
||||
|
||||
wait_until(16, 0x78)
|
||||
@@ -971,9 +971,9 @@ u8 func0c01_outro[] = {
|
||||
label(0xb8)
|
||||
mute_channel(CHANNEL_10)
|
||||
camera_movement(0x0305)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0306, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
show_object_with_animation(0x0e, 0x0307)
|
||||
@@ -1084,14 +1084,14 @@ u8 func0c01_outro[] = {
|
||||
label(0xb8)
|
||||
mute_channel(CHANNEL_10)
|
||||
camera_movement(0x0310)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0311, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SKEDAR1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
|
||||
animation(0x0312, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4)
|
||||
|
||||
show_object_with_animation(0x0e, 0x0313)
|
||||
@@ -1153,27 +1153,27 @@ u8 func0c01_outro[] = {
|
||||
u8 func1002_intro[] = {
|
||||
set_music_track(MUSIC_DEFENSE_INTRO)
|
||||
camera_movement(0x02bc)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_CARRINGTON, GFUNC_IDLE)
|
||||
set_function(0x19, GFUNC_IDLE)
|
||||
set_function(0x1a, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02bd, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
animation(0x02be, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4)
|
||||
set_chr_flag_bank3(0x19, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x19, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
|
||||
animation(0x02bf, -1, -1, 0x06, 0x00, 0x19, 4)
|
||||
set_chr_flag_bank3(0x1a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x1a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
|
||||
animation(0x02c0, -1, -1, 0x06, 0x00, 0x1a, 4)
|
||||
show_object(0x0d)
|
||||
set_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
|
||||
@@ -1403,12 +1403,12 @@ u8 func1002_intro[] = {
|
||||
cmd0175(60)
|
||||
unset_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
|
||||
if_controller_button_pressed(/*goto*/ 0xcc)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_SKEDAR4, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
|
||||
animation(0x02c3, -1, -1, 0x06, 0x00, CHR_SKEDAR4, 4)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02c4, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
show_object(0x52)
|
||||
set_object_flag_bank1(0x52, OBJECTFLAG1_04000000)
|
||||
@@ -1489,21 +1489,21 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_5)
|
||||
mute_channel(CHANNEL_10)
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02c4, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
|
||||
animation(0x02be, -2, -1, 0x06, 0x00, CHR_CARRINGTON, 2)
|
||||
unset_chr_flag_bank3(0x19, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x19, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
|
||||
animation(0x02bf, -2, -1, 0x06, 0x00, 0x19, 2)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x1a, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
|
||||
animation(0x02c0, -2, -1, 0x06, 0x00, 0x1a, 2)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_SKEDAR4, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
|
||||
animation(0x02c3, -2, -1, 0x06, 0x00, CHR_SKEDAR4, 2)
|
||||
unset_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank0(0x0d, OBJECTFLAG0_DEACTIVATED)
|
||||
@@ -1520,43 +1520,43 @@ u8 func1002_intro[] = {
|
||||
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
remove_chr(0x19)
|
||||
remove_chr(0x1a)
|
||||
set_function(0x19, GFUNC_IDLE)
|
||||
set_function(0x1a, GFUNC_IDLE)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
enter_firstperson
|
||||
yield
|
||||
set_function(CHR_CARRINGTON, FUNC_CARRINGTON)
|
||||
set_function(CHR_SKEDAR4, FUNC_SKEDAR4)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func1003_hide_blondes_and_skedar[] = {
|
||||
label(0x04)
|
||||
set_chr_flag_bank3(CHR_BLONDE7, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SKEDAR3, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_SKEDAR3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE7, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR3, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SKEDAR3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE3, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE4, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE5, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE6, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BLONDE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BLONDE6, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1643,10 +1643,10 @@ u8 func0414_firingrange_hostage[] = {
|
||||
};
|
||||
|
||||
u8 func100e_setup_firingrange[] = {
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
// Wait until guns complete or failed, or skip this check if Agent
|
||||
beginloop(0x04)
|
||||
@@ -1691,10 +1691,10 @@ u8 func100e_setup_firingrange[] = {
|
||||
// Unset invincible on hostages and takers
|
||||
label(0x08)
|
||||
destroy_object(OBJ_FR_GLASS)
|
||||
unset_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1713,8 +1713,8 @@ u8 func041b_init_hostage_holo[] = {
|
||||
};
|
||||
|
||||
u8 func041a_hostage_holo[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_onshot_function(FUNC_HOSTAGE_HOLO)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x2e)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e)
|
||||
@@ -1889,7 +1889,7 @@ u8 func041f_holoclone[] = {
|
||||
endloop(0xba) \
|
||||
\
|
||||
label(0xbb) \
|
||||
set_self_flag_bank3(CHRFLAG3_00000040) \
|
||||
set_self_chrflag(CHRCFLAG_00000040) \
|
||||
set_accuracy(50) \
|
||||
set_target_chr(holoclone) \
|
||||
label(0x04) \
|
||||
@@ -1911,13 +1911,13 @@ u8 func041f_holoclone[] = {
|
||||
|
||||
|
||||
u8 func0420_taker_holo1[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
holo_taker_logic(CHR_HOLOCLONE1)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0421_taker_holo2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
assign_sound(0x025b, CHANNEL_6)
|
||||
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
|
||||
holo_taker_logic(CHR_HOLOCLONE2)
|
||||
@@ -1925,7 +1925,7 @@ u8 func0421_taker_holo2[] = {
|
||||
};
|
||||
|
||||
u8 func0422_taker_holo3[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
holo_taker_logic(CHR_HOLOCLONE3)
|
||||
endfunction
|
||||
};
|
||||
@@ -2026,14 +2026,14 @@ u8 func0425_hostage_thank_and_run[] = {
|
||||
endloop(0x10)
|
||||
|
||||
label(0x08)
|
||||
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
|
||||
remove_chr(CHR_SELF)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0428_init_drop_devastator[] = {
|
||||
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
|
||||
set_onshot_function(FUNC_HOSTAGE_THANK_AND_RUN)
|
||||
set_chr_team(CHR_SELF, TEAM_NONCOMBAT)
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
@@ -2247,7 +2247,7 @@ u8 func042e_taker_device_m[] = {
|
||||
|
||||
// Alive
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
|
||||
beginloop(0x0a)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -2272,7 +2272,7 @@ u8 func042e_taker_device_m[] = {
|
||||
endloop(0xba)
|
||||
|
||||
label(0xbb)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_accuracy(50)
|
||||
set_target_chr(CHR_HOSTAGE_DEVICE_M)
|
||||
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
|
||||
@@ -2299,7 +2299,7 @@ u8 func0430_taker_device_f[] = {
|
||||
|
||||
// Alive
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
|
||||
beginloop(0x0a)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -2325,7 +2325,7 @@ u8 func0430_taker_device_f[] = {
|
||||
endloop(0xbc)
|
||||
|
||||
label(0x2e)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_accuracy(50)
|
||||
set_target_chr(CHR_HOSTAGE_DEVICE_F)
|
||||
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
|
||||
@@ -2519,7 +2519,7 @@ u8 func0436_taker_info_m[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_accuracy(50)
|
||||
set_target_chr(CHR_HOSTAGE_INFO_M)
|
||||
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
|
||||
@@ -2552,7 +2552,7 @@ u8 func0438_taker_info_f[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_accuracy(20)
|
||||
set_target_chr(CHR_HOSTAGE_INFO_F)
|
||||
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
|
||||
@@ -2695,8 +2695,8 @@ u8 func1014_carrington_messages[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x08)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
|
||||
unlock_door(0x23, 0x04)
|
||||
unlock_door(0x24, 0x04)
|
||||
restart_timer
|
||||
@@ -2964,9 +2964,9 @@ u8 func1015_firingrange_pc[] = {
|
||||
};
|
||||
|
||||
#define topspawner_logic(initfunc, clonefunc) \
|
||||
set_self_flag_bank3(CHRFLAG3_00000002) \
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN) \
|
||||
set_self_flag_bank3(CHRFLAG3_00040000) \
|
||||
set_self_chrflag(CHRCFLAG_00000002) \
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN) \
|
||||
set_self_chrflag(CHRCFLAG_00040000) \
|
||||
\
|
||||
beginloop(0x04) \
|
||||
if_objective_complete(1, /*goto*/ 0x2e) \
|
||||
@@ -2982,7 +2982,7 @@ u8 func1015_firingrange_pc[] = {
|
||||
set_function(CHR_SELF, clonefunc) \
|
||||
\
|
||||
label(0x4f) \
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN) \
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN) \
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x4f) \
|
||||
goto_first(0x04) \
|
||||
\
|
||||
@@ -3103,9 +3103,9 @@ u8 func1016_remove_spawners[] = {
|
||||
|
||||
// Spawner outside Jo's office
|
||||
u8 func0410_spawner6[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -3198,18 +3198,18 @@ u8 func1022_skedar_shuttle[] = {
|
||||
set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE)
|
||||
set_object_flag_bank0(OBJ_SKEDAR_SHUTTLE, OBJECTFLAG0_00000100)
|
||||
|
||||
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE3, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE4, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE5, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE6, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BLONDE6, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_BLONDE1, FUNC_INIT_BLONDE)
|
||||
set_function(CHR_BLONDE2, FUNC_INIT_BLONDE)
|
||||
set_function(CHR_BLONDE3, FUNC_INIT_BLONDE)
|
||||
@@ -3970,7 +3970,7 @@ u8 func102d_firingrange_taker_invincibility[] = {
|
||||
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x0008, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x0009, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x000a, /*goto*/ 0x2e)
|
||||
unset_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
label(0x2e)
|
||||
if_chr_death_animation_finished(CHR_TAKER_FR2, /*goto*/ 0x2e)
|
||||
@@ -3980,7 +3980,7 @@ u8 func102d_firingrange_taker_invincibility[] = {
|
||||
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x0008, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x0009, /*goto*/ 0x2e)
|
||||
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x000a, /*goto*/ 0x2e)
|
||||
unset_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
label(0x2e)
|
||||
endloop(0x03)
|
||||
|
||||
+77
-77
@@ -651,15 +651,15 @@ u8 func1004_check_hangar_doors_opened[] = {
|
||||
};
|
||||
|
||||
u8 func040d_elvis_wait_for_hangar_entry[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_accuracy(100)
|
||||
set_reaction_speed(100)
|
||||
set_armor(200)
|
||||
set_alertness(100)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
|
||||
beginloop(0x04)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2c)
|
||||
@@ -685,8 +685,8 @@ u8 func040d_elvis_wait_for_hangar_entry[] = {
|
||||
endloop(0x65)
|
||||
|
||||
label(0x06)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
@@ -786,7 +786,7 @@ u8 func040e_elvis_give_ar34[] = {
|
||||
* If arrived at prebridge lift, assign another function.
|
||||
*/
|
||||
u8 func0409_elvis_follow[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_onshot_function(FUNC_ELVIS_FOLLOW)
|
||||
set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x2c)
|
||||
@@ -1319,7 +1319,7 @@ u8 func1008_hangar_lifts[] = {
|
||||
// Note the lift naturally waits 5 seconds at each stop,
|
||||
// hence the 5 second wait if entered as soon as the door opens.
|
||||
label(0x2c)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
unset_object_flag_bank0(0x39, OBJECTFLAG0_40000000)
|
||||
unset_object_flag_bank0(0x3a, OBJECTFLAG0_40000000)
|
||||
unset_object_flag_bank0(OBJ_HANGARLIFT_JO, OBJECTFLAG0_DEACTIVATED)
|
||||
@@ -1387,7 +1387,7 @@ u8 func1008_hangar_lifts[] = {
|
||||
set_object_flag_bank0(OBJ_HANGARLIFT_ELVIS, OBJECTFLAG0_DEACTIVATED)
|
||||
unset_object_flag_bank0(0x3b, OBJECTFLAG0_02000000)
|
||||
unset_object_flag_bank0(0x3c, OBJECTFLAG0_02000000)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
if_chr_y(CHR_ELVIS, 400, OPERATOR_LESS_THAN, /*goto*/ 0x06)
|
||||
goto_next(0x68)
|
||||
|
||||
@@ -1467,7 +1467,7 @@ u8 func1008_hangar_lifts[] = {
|
||||
u8 func0407_init_knifeable_skedar[] = {
|
||||
set_armor(160)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_function(CHR_SELF, FUNC_KNIFEABLE_SKEDAR)
|
||||
endfunction
|
||||
};
|
||||
@@ -1646,10 +1646,10 @@ u8 func0406_start_path05[] = {
|
||||
};
|
||||
|
||||
u8 func0412_hangarspawner[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_morale(0)
|
||||
|
||||
beginloop(0xc2)
|
||||
@@ -1673,7 +1673,7 @@ u8 func0412_hangarspawner[] = {
|
||||
|
||||
// Seen player, or kills done
|
||||
label(0x08)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, FUNC_HANGARCLONE)
|
||||
|
||||
// chrflag3_00000008 was unset
|
||||
@@ -1694,8 +1694,8 @@ u8 func0412_hangarspawner[] = {
|
||||
};
|
||||
|
||||
u8 func0413_init_hangarclone[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
label(0x04)
|
||||
rebuild_teams
|
||||
@@ -1707,7 +1707,7 @@ u8 func0413_init_hangarclone[] = {
|
||||
};
|
||||
|
||||
u8 func0414_hangarclone[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
run_to_pad(0x00b4)
|
||||
set_return_function(CHR_SELF, FUNC_HANGARCLONE)
|
||||
|
||||
@@ -1724,7 +1724,7 @@ u8 func0414_hangarclone[] = {
|
||||
|
||||
u8 func0419_hangar_maian[] = {
|
||||
set_onshot_function(FUNC_HANGAR_MAIAN)
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x2c)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2c)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2c)
|
||||
@@ -1809,15 +1809,15 @@ u8 func0419_hangar_maian[] = {
|
||||
};
|
||||
|
||||
u8 func0418_init_hangar_maian[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_TRIGGER_HANGAR_MAIANS, TRUE, /*goto*/ 0x06)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_armor(200)
|
||||
set_reaction_speed(100)
|
||||
set_function(CHR_SELF, FUNC_HANGAR_MAIAN)
|
||||
@@ -2128,11 +2128,11 @@ u8 func0415_bridgespawner[] = {
|
||||
set_armor(190)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_morale(0)
|
||||
|
||||
beginloop(0xc2)
|
||||
@@ -2167,7 +2167,7 @@ u8 func0415_bridgespawner[] = {
|
||||
// Been spawning for 61 seconds, or Skedar can see player
|
||||
// Unhide and uncloak
|
||||
label(0x08)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_INIT_BRIDGESPAWNER_REVEAL)
|
||||
@@ -2194,7 +2194,7 @@ u8 func0415_bridgespawner[] = {
|
||||
// Spawn
|
||||
label(0x4d)
|
||||
try_spawn_clone2(CHR_SELF, FUNC_INIT_BRIDGECLONE, 0x00000000, /*goto*/ 0x2c)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
yield
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_INIT_BRIDGESPAWNER_REVEAL)
|
||||
@@ -2209,14 +2209,14 @@ u8 func0415_bridgespawner[] = {
|
||||
|
||||
u8 func0416_init_bridgeclone[] = {
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
set_accuracy(20)
|
||||
set_reaction_speed(75)
|
||||
set_chr_health(CHR_SELF, 10)
|
||||
set_armor(190)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
label(0x04)
|
||||
rebuild_teams
|
||||
@@ -2243,7 +2243,7 @@ u8 func0416_init_bridgeclone[] = {
|
||||
* function isn't necessary.
|
||||
*/
|
||||
u8 func0417_init_spawner_reveal[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_function(CHR_SELF, FUNC_BRIDGECLONE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2262,7 +2262,7 @@ u8 func041a_bridgeclone[] = {
|
||||
|
||||
// Alive
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c)
|
||||
set_target_chr(CHR_ELVIS)
|
||||
goto_next(0xc2)
|
||||
@@ -2521,24 +2521,24 @@ u8 func1011_check_end_level[] = {
|
||||
};
|
||||
|
||||
u8 func1003_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_ATTACKSHIP_INTRO)
|
||||
camera_movement(0x01c2)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01c3, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
animation(0x01c4, -1, -1, 0x06, 0x00, CHR_CASS, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_INTRO_SKEDAR, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
|
||||
animation(0x01c5, -1, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -2750,20 +2750,20 @@ u8 func1003_intro[] = {
|
||||
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
|
||||
open_door(0x17)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01c3, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_00000001)
|
||||
unset_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_00000001)
|
||||
animation(0x01c4, -2, -1, 0x06, 0x00, CHR_CASS, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_INTRO_SKEDAR, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_00000001)
|
||||
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_00000001)
|
||||
animation(0x01c5, -2, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 2)
|
||||
|
||||
remove_chr(CHR_INTRO_SKEDAR)
|
||||
@@ -2790,20 +2790,20 @@ u8 func0c01_outro[] = {
|
||||
hide_object(0x2c)
|
||||
camera_movement(0x01e1)
|
||||
set_music_track(MUSIC_ATTACKSHIP_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x01e2, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_ELVIS, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01e3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
show_object(OBJ_OUTRO_SHUTTLE)
|
||||
@@ -2977,7 +2977,7 @@ u8 func0421_bridge_skedar[] = {
|
||||
|
||||
// Not injured
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
label(0xc6)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
|
||||
set_target_chr(CHR_BOND)
|
||||
@@ -3155,9 +3155,9 @@ u8 func1016_msg_ifwecontrolthebridge[] = {
|
||||
|
||||
label(0x2c)
|
||||
set_stage_flag(STAGEFLAG_ENTERED_BRIDGELIFT)
|
||||
unset_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
speak(CHR_P1P2, 0x261e, 0x73df, CHANNEL_6, COLOR_09_BLUE) // "If we control the bridge, then the ship is ours."
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -3165,7 +3165,7 @@ u8 func1016_msg_ifwecontrolthebridge[] = {
|
||||
|
||||
u8 func0422_cass[] = {
|
||||
set_onshot_function(GFUNC_IDLE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
run_to_pad(0x01dd)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -3203,8 +3203,8 @@ u8 func0422_cass[] = {
|
||||
|
||||
u8 func0423_shy_skedar[] = {
|
||||
set_onshot_function(FUNC_INIT_SKEDAR)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_target_chr(CHR_CASS)
|
||||
goto_next(0x2c)
|
||||
|
||||
@@ -3578,12 +3578,12 @@ u8 func040b_init_cass[] = {
|
||||
};
|
||||
|
||||
u8 func1024_set_bridge_skedar_invincible[] = {
|
||||
set_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3599,7 +3599,7 @@ u8 unregistered_function1[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2c)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+135
-135
@@ -870,7 +870,7 @@ u8 func1007_check_disguise_collected[] = {
|
||||
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
|
||||
|
||||
beginloop(0x08)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
endloop(0x08)
|
||||
|
||||
label(0x2d)
|
||||
@@ -1244,16 +1244,16 @@ u8 func040f_start_path14[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_LABTECH_RECORDS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_LIGHTS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_DOORS1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_SHOWERS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_HARRYSMATE, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_KEYCARDGUY, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_LABTECH_DOORS2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_MECHANIC, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_RECORDS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_LIGHTS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_DOORS1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_SHOWERS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_HARRYSMATE, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_KEYCARDGUY, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_LABTECH_DOORS2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_MECHANIC, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -2199,10 +2199,10 @@ u8 func100f_check_end_level[] = {
|
||||
};
|
||||
|
||||
u8 func1010_give_keycard[] = {
|
||||
set_chr_flag_bank3(0x23, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x24, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x25, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x26, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x25, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x26, CHRCFLAG_KILLCOUNTABLE)
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_ONE_KEYCARD_GUARD_REMAINING, TRUE, /*goto*/ 0x2d)
|
||||
@@ -2379,15 +2379,15 @@ u8 func1011_unhide_warehouse_spawner[] = {
|
||||
|
||||
// Unhide a guy at the top of the ramp near the start
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(0x44, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x44, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x44, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x44, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x44, FUNC_WAREHOUSE_SPAWNER)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0415_warehouse_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x04)
|
||||
@@ -2510,8 +2510,8 @@ u8 func1014_check_crate_destroyed[] = {
|
||||
* @unused
|
||||
*/
|
||||
u8 func041c_unused_041c[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2520,8 +2520,8 @@ u8 func041c_unused_041c[] = {
|
||||
* @unused
|
||||
*/
|
||||
u8 func041d_unused_041d[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2537,8 +2537,8 @@ u8 func041e_unused_041e[] = {
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2554,8 +2554,8 @@ u8 func1016_check_undisguised[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2641,8 +2641,8 @@ u8 func041f_labtech_lights[] = {
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
label(0x06)
|
||||
object_do_animation(0x025a, 0xff, 0x02ff, 0xff)
|
||||
speak(CHR_TARGET, 0x2a25, 0x8103, CHANNEL_4, COLOR_08_RED) // "Who are you?"
|
||||
@@ -2662,8 +2662,8 @@ u8 func041f_labtech_lights[] = {
|
||||
|
||||
label(0x06)
|
||||
stop_chr
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x0c)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x0c)
|
||||
label(0x06)
|
||||
speak(CHR_TARGET, 0x2a52, 0x1286, CHANNEL_4, COLOR_08_RED) // "Leave this area now."
|
||||
restart_timer
|
||||
@@ -2715,7 +2715,7 @@ u8 func041f_labtech_lights[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x06)
|
||||
set_self_flag_bank3(CHRFLAG3_00000080)
|
||||
set_self_chrflag(CHRCFLAG_00000080)
|
||||
restart_timer
|
||||
try_face_entity(0x0008, 0x0428, /*goto*/ 0x6e)
|
||||
|
||||
@@ -2779,7 +2779,7 @@ u8 func0421_init_labtech_doors[] = {
|
||||
};
|
||||
|
||||
u8 func0420_labtech_doors[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000080)
|
||||
set_self_chrflag(CHRCFLAG_00000080)
|
||||
set_onshot_function(FUNC_LABTECH_DOORS)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
|
||||
@@ -2825,8 +2825,8 @@ u8 func0420_labtech_doors[] = {
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
set_target_chr(CHR_P1P2)
|
||||
set_target_chr(CHR_BOND)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
label(0x06)
|
||||
goto_next(0x2e)
|
||||
|
||||
@@ -2860,8 +2860,8 @@ u8 func0420_labtech_doors[] = {
|
||||
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','1','\n',0,
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
label(0x06)
|
||||
dprint 'T','A','L','K',' ','2','\n',0,
|
||||
goto_next(0x06)
|
||||
@@ -3071,8 +3071,8 @@ u8 func0422_labtech_records[] = {
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x03)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
goto_next(0x06)
|
||||
label(0x2d)
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d)
|
||||
@@ -3241,7 +3241,7 @@ u8 func1019_chamber1[] = {
|
||||
mute_channel(CHANNEL_0)
|
||||
assign_sound(0x042c, CHANNEL_0)
|
||||
control_sound_from_object(CHANNEL_0, OBJ_CHAMBER1, TRUE)
|
||||
set_chr_flag_bank2(CHR_ALIEN, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(CHR_ALIEN, CHRHFLAG_00100000)
|
||||
|
||||
beginloop(0x64)
|
||||
chr_move_to_pad(CHR_ALIEN, 0x03ca, 0x01, /*goto*/ 0x06)
|
||||
@@ -3249,7 +3249,7 @@ u8 func1019_chamber1[] = {
|
||||
|
||||
label(0x06)
|
||||
yield
|
||||
unset_chr_flag_bank3(CHR_ALIEN, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ALIEN, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_ALIEN, FUNC_CHECK_LOOKING_AT_ALIEN)
|
||||
label(0x06)
|
||||
set_object_flag_bank0(OBJ_CHAMBER1, OBJECTFLAG0_DEACTIVATED)
|
||||
@@ -3260,7 +3260,7 @@ u8 func1019_chamber1[] = {
|
||||
mute_channel(CHANNEL_0)
|
||||
assign_sound(0x042b, CHANNEL_0)
|
||||
control_sound_from_object(CHANNEL_0, OBJ_CHAMBER1, TRUE)
|
||||
set_chr_flag_bank3(CHR_ALIEN, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ALIEN, CHRCFLAG_HIDDEN)
|
||||
assign_sound(0x043a, CHANNEL_7)
|
||||
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER1_SWITCH, TRUE)
|
||||
set_object_image(OBJ_CHAMBER1_SWITCH, 0x00, 0x12)
|
||||
@@ -3431,8 +3431,8 @@ u8 func1020_chamber8[] = {
|
||||
};
|
||||
|
||||
u8 func0424_alien[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, FUNC_CHECK_LOOKING_AT_ALIEN)
|
||||
endfunction
|
||||
};
|
||||
@@ -3442,8 +3442,8 @@ u8 func0424_alien[] = {
|
||||
* the second elevator.
|
||||
*/
|
||||
u8 func0425_hiddenguy[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3451,7 +3451,7 @@ u8 func0425_hiddenguy[] = {
|
||||
u8 func0426_check_looking_at_alien[] = {
|
||||
beginloop(0x04)
|
||||
set_target_chr(CHR_BOND)
|
||||
if_self_flag_bank3(CHRFLAG3_HIDDEN, /*goto*/ 0x61)
|
||||
if_self_has_chrflag(CHRCFLAG_HIDDEN, /*goto*/ 0x61)
|
||||
if_chr_distance_lt(300, /*goto*/ 0x64)
|
||||
goto_next(0x66)
|
||||
|
||||
@@ -3637,26 +3637,26 @@ u8 func0c01_outro[] = {
|
||||
set_invincible(CHR_BOND)
|
||||
camera_movement(0x0198)
|
||||
set_music_track(MUSIC_RESCUE_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_function(CHR_BIOTECH1, GFUNC_IDLE)
|
||||
set_function(CHR_BIOTECH2, GFUNC_IDLE)
|
||||
set_invincible(CHR_BOND)
|
||||
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0199, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_BIOTECH1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BIOTECH1, CHRHFLAG_00020000)
|
||||
animation(0x019a, -1, -1, 0x06, 0x00, CHR_BIOTECH1, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_BIOTECH2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BIOTECH2, CHRHFLAG_00020000)
|
||||
animation(0x019b, -1, -1, 0x06, 0x00, CHR_BIOTECH2, 4)
|
||||
|
||||
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
|
||||
@@ -3741,24 +3741,24 @@ u8 func0c01_outro[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_RESCUE_INTRO)
|
||||
camera_movement(0x01c6)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01c8, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
animation(0x01c7, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_INTRO_DEAD_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x01c9, -1, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 4)
|
||||
|
||||
set_object_flag_bank1(OBJ_CRATE, OBJECTFLAG1_04000000)
|
||||
@@ -3900,16 +3900,16 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_1)
|
||||
assign_sound(0x8169, CHANNEL_1)
|
||||
control_sound_from_object(CHANNEL_1, OBJ_CRATE, TRUE)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01c8, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
remove_chr(CHR_JONATHAN)
|
||||
unset_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank2(CHR_INTRO_DEAD_GUARD, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x01c9, -2, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_object_flag_bank1(OBJ_CRATE, OBJECTFLAG1_04000000)
|
||||
@@ -3921,7 +3921,7 @@ u8 func1002_intro[] = {
|
||||
reset_ambience
|
||||
enter_firstperson
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_00010000)
|
||||
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_00010000)
|
||||
animation(0x01c9, 2, 3, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2)
|
||||
set_function(CHR_INTRO_DEAD_GUARD, GFUNC_IDLE)
|
||||
yield
|
||||
@@ -3945,26 +3945,26 @@ u8 func1024_noop[] = {
|
||||
* Most likely guards in the final corridor.
|
||||
*/
|
||||
u8 func1025_toggle_guards[] = {
|
||||
set_chr_flag_bank3(0x33, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x34, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x33, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x34, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x2c, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x2d, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x2e, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x2c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x2d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x2e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x2f, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x2f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x30, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x31, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x32, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x33, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x34, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x33, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x34, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x2c, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x2d, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x2e, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x2c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x2d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x2e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x2f, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x2f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x30, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x31, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x32, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x08)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -3972,33 +3972,33 @@ u8 func1025_toggle_guards[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
unset_chr_flag_bank3(0x33, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x34, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x33, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x34, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
unset_chr_chrflag(0x33, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x34, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x33, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x34, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x33, FUNC_BIOTECH_GUARD_ALERTED)
|
||||
set_function(0x34, FUNC_BIOTECH_GUARD_ALERTED)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x2c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x2d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x2e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x2c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x2d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x2e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x2c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x2d, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x2e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x2c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x2d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x2e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x37, FUNC_SUPERDRAGON_GUARD)
|
||||
set_function(0x2c, FUNC_SUPERDRAGON_GUARD)
|
||||
set_function(0x2d, FUNC_SUPERDRAGON_GUARD)
|
||||
set_function(0x2e, FUNC_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x2f, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x2f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x30, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x31, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x32, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x2f, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x2f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x30, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x31, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x32, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x2f, FUNC_BIOTECH_GUARD)
|
||||
set_function(0x30, FUNC_SUPERDRAGON_GUARD)
|
||||
set_function(0x31, FUNC_SUPERDRAGON_GUARD)
|
||||
@@ -4015,22 +4015,22 @@ u8 func0429_spawn_while_xraying[] = {
|
||||
set_armor(0)
|
||||
set_recovery_speed(35)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x0d)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x0d)
|
||||
if_timer_gt(1800, /*goto*/ 0x2d)
|
||||
reloop(0x04)
|
||||
|
||||
// 30 seconds passed and not disguised
|
||||
label(0x2d)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x0d)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x0d)
|
||||
|
||||
// Xray area
|
||||
if_chr_in_room(CHR_P1P2, 0x00, 0x010d, /*goto*/ 0x06)
|
||||
@@ -4147,7 +4147,7 @@ u8 func142d_start_lifts[] = {
|
||||
|
||||
u8 func1027_check_disguise_worn[] = {
|
||||
beginloop(0x04)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2d)
|
||||
@@ -4298,7 +4298,7 @@ u8 func102c_msg_hurry[] = {
|
||||
* This function is run on many guards when Jo puts on the disguise.
|
||||
*/
|
||||
u8 func0416_become_unaware[] = {
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00002000)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x0f)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x0f)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x0f)
|
||||
@@ -4426,8 +4426,8 @@ u8 func1030_lift_door_sounds[] = {
|
||||
|
||||
u8 func1031_toggle_doorman[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_DOORMAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_DOORMAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x5e)
|
||||
label(0x2d)
|
||||
@@ -4441,8 +4441,8 @@ u8 func1031_toggle_doorman[] = {
|
||||
endloop(0x5e)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_DOORMAN, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_DOORMAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -4498,7 +4498,7 @@ u8 func1032_count_last_room_guards[] = {
|
||||
u8 func1033_update_buddy_placed_flag[] = {
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x2d)
|
||||
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x2d)
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2d)
|
||||
@@ -4509,7 +4509,7 @@ u8 func1033_update_buddy_placed_flag[] = {
|
||||
endloop(0x64)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank2(CHR_P1P2, CHRFLAG2_BUDDY_PLACED)
|
||||
unset_chr_hiddenflag(CHR_P1P2, CHRHFLAG_BUDDY_PLACED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -4621,15 +4621,15 @@ u8 func1435_setup_lighting[] = {
|
||||
};
|
||||
|
||||
u8 func0432_init_biotech1[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, FUNC_BIOTECH1)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0433_init_biotech2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, FUNC_BIOTECH2)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+108
-108
@@ -1376,7 +1376,7 @@ u8 func0411_init_hangar_guard1[] = {
|
||||
set_shield(0)
|
||||
set_squadron(SQUADRON_0B)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_id(0x2c)
|
||||
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
@@ -1398,7 +1398,7 @@ u8 func0412_init_hangar_guard2[] = {
|
||||
set_shield(0)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_squadron(SQUADRON_0B)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_id(0x2d)
|
||||
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
@@ -1420,7 +1420,7 @@ u8 func0413_init_hangar_guard3[] = {
|
||||
set_shield(0)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_squadron(SQUADRON_0B)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_id(0x2e)
|
||||
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
@@ -1442,7 +1442,7 @@ u8 func0414_init_hangar_guard4[] = {
|
||||
set_shield(0)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_squadron(SQUADRON_0B)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_chr_id(0x2f)
|
||||
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
@@ -1472,7 +1472,7 @@ u8 func0415_alert_when_stopped[] = {
|
||||
* This is NOT assigned to Jon.
|
||||
*/
|
||||
u8 func0417_traitor[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_self_flag_bankx(CHRFLAG1_WARNED, BANK_1)
|
||||
set_accuracy(100)
|
||||
set_reaction_speed(100)
|
||||
@@ -1550,7 +1550,7 @@ u8 func0417_traitor[] = {
|
||||
goto_first(0x09)
|
||||
|
||||
label(0x10)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
|
||||
run_to_pad(0x0197)
|
||||
|
||||
beginloop(0x60)
|
||||
@@ -1656,7 +1656,7 @@ u8 func1001_objectives_failed_msg[] = {
|
||||
set_object_flag_bank1(OBJ_MINE4, OBJECTFLAG1_INVISIBLE)
|
||||
set_object_flag_bank1(OBJ_MINE5, OBJECTFLAG1_INVISIBLE)
|
||||
set_object_flag_bank1(OBJ_MINE6, OBJECTFLAG1_INVISIBLE)
|
||||
set_chr_flag_bank3(CHR_MECHANIC, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_MECHANIC, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -1738,7 +1738,7 @@ u8 func040c_init_bottom_interceptors[] = {
|
||||
};
|
||||
|
||||
u8 func040d_90c8[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000020)
|
||||
set_self_chrflag(CHRCFLAG_00000020)
|
||||
set_accuracy(30)
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED)
|
||||
endfunction
|
||||
@@ -1749,26 +1749,26 @@ u8 func040e_outro[] = {
|
||||
hide_object(OBJ_HOVERBIKE)
|
||||
camera_movement(0x017d)
|
||||
set_music_track(MUSIC_INFILTRATION_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x017f, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
set_chr_hud_visible(CHR_P1P2, TRUE)
|
||||
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
animation(0x017e, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_OUTRO_GUARD, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x0180, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1889,18 +1889,18 @@ u8 func040e_outro[] = {
|
||||
};
|
||||
|
||||
u8 func0410_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
if_controller_button_pressed(/*goto*/ 0x54)
|
||||
set_music_track(MUSIC_INFILTRATION_INTRO)
|
||||
camera_movement(0x0181)
|
||||
set_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x32, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x32, CHRHFLAG_00020000)
|
||||
animation(0x0182, -1, -1, 0x06, 0x00, 0x32, 4)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
@@ -1933,26 +1933,26 @@ u8 func0410_intro[] = {
|
||||
|
||||
label(0x06)
|
||||
label(0x55)
|
||||
unset_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
label(0x54)
|
||||
if_controller_button_pressed(/*goto*/ 0x54)
|
||||
camera_movement(0x0183)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x29, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x29, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x29, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x29, CHRHFLAG_00020000)
|
||||
animation(0x0184, -1, -1, 0x06, 0x00, 0x29, 4)
|
||||
|
||||
set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x2a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
|
||||
animation(0x0185, -1, -1, 0x06, 0x00, 0x2a, 4)
|
||||
|
||||
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
animation(0x0186, -1, -1, 0x06, 0x00, 0x2b, 4)
|
||||
|
||||
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
|
||||
@@ -1976,24 +1976,24 @@ u8 func0410_intro[] = {
|
||||
endloop(0x0a)
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
|
||||
label(0x54)
|
||||
if_controller_button_pressed(/*goto*/ 0x54)
|
||||
camera_movement(0x0188)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x2a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
|
||||
animation(0x0189, -1, -1, 0x06, 0x00, 0x2a, 4)
|
||||
|
||||
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
animation(0x018a, -1, -1, 0x06, 0x00, 0x2b, 4)
|
||||
|
||||
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
|
||||
@@ -2017,20 +2017,20 @@ u8 func0410_intro[] = {
|
||||
endloop(0x0b)
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
|
||||
label(0x54)
|
||||
camera_movement(0x00f0)
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x54)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00f1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x03, CHRFLAG2_00020000)
|
||||
unset_chr_flag_bank3(0x03, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x03, CHRHFLAG_00020000)
|
||||
unset_chr_chrflag(0x03, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
|
||||
wait_until(1, 0x69)
|
||||
@@ -2083,20 +2083,20 @@ u8 func0410_intro[] = {
|
||||
label(0x54)
|
||||
mute_channel(CHANNEL_10)
|
||||
mute_channel(CHANNEL_7)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
|
||||
remove_chr(0x32)
|
||||
remove_chr(0x29)
|
||||
remove_chr(0x2a)
|
||||
remove_chr(0x2b)
|
||||
hide_object(0x2f)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00f1, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
|
||||
set_function(0x02, 0x0426)
|
||||
set_function(0x03, 0x0426)
|
||||
unset_object_flag_bank1(OBJ_INTERCEPTOR1, OBJECTFLAG1_INVISIBLE)
|
||||
@@ -2545,20 +2545,20 @@ u8 func1017_radar_terminal_noise[] = {
|
||||
};
|
||||
|
||||
u8 func1018_unhide_guards[] = {
|
||||
set_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x35, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x21, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x35, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x21, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
// Agent: wait until guards 0x10 and 0x11 are dead
|
||||
// (two guards near antenna blue door)
|
||||
@@ -2582,14 +2582,14 @@ u8 func1018_unhide_guards[] = {
|
||||
|
||||
// Enable 4 more guards - the ones inside the blue door
|
||||
label(0x2e)
|
||||
unset_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x21, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x21, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1f, FUNC_TROOPER_ALERTED)
|
||||
set_function(0x20, FUNC_TROOPER_ALERTED)
|
||||
set_function(0x21, FUNC_TROOPER_ALERTED)
|
||||
@@ -2603,10 +2603,10 @@ u8 func1018_unhide_guards[] = {
|
||||
|
||||
// Enable 2 more guards
|
||||
label(0x2e)
|
||||
unset_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x23, FUNC_DRAGON_ALERTED)
|
||||
set_function(0x24, FUNC_DRAGON_ALERTED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -2621,10 +2621,10 @@ u8 func0419_clone_spawner[] = {
|
||||
set_armor(10)
|
||||
set_recovery_speed(35)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_ENTERED_FINAL_HANGAR, TRUE, /*goto*/ 0x2e)
|
||||
@@ -2640,8 +2640,8 @@ u8 func0419_clone_spawner[] = {
|
||||
set_function(CHR_SELF, FUNC_ALERTED_SPAWNED_GUARD)
|
||||
|
||||
label(0x4f)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x4f)
|
||||
reloop(0x04)
|
||||
|
||||
@@ -2724,8 +2724,8 @@ u8 func1019_spawn_guards_at_antenna[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
unset_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x35, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x35, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x35, GFUNC_SEARCH_FOR_PLAYER)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -2740,7 +2740,7 @@ u8 func040f_spawned_guard[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_04000000, BANK_0)
|
||||
set_squadron(SQUADRON_0E)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
try_inherit_properties(0x35, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
restart_timer
|
||||
@@ -3175,8 +3175,8 @@ u8 func0424_activate_lasers[] = {
|
||||
u8 func0425_a7d4[] = {
|
||||
label(0x04)
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3186,9 +3186,9 @@ u8 func0425_a7d4[] = {
|
||||
*/
|
||||
u8 func041c_template_guard[] = {
|
||||
label(0x04)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
@@ -44,8 +44,8 @@ struct path paths[] = {
|
||||
* to the next camera animation rather than ending the cutscene.
|
||||
*/
|
||||
u8 func0c00_017c[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_INTRO)
|
||||
camera_movement(0x045d)
|
||||
cmd01c8(2)
|
||||
@@ -147,8 +147,8 @@ u8 func0c00_017c[] = {
|
||||
endloop(0x0e)
|
||||
|
||||
label(0x59)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
cmd01c8(5)
|
||||
|
||||
beginloop(0x15)
|
||||
|
||||
+117
-117
@@ -738,9 +738,9 @@ u8 func1400_setup_counterop[] = {
|
||||
};
|
||||
|
||||
u8 func040b_init_elvis[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_accuracy(100)
|
||||
set_reaction_speed(100)
|
||||
set_alertness(100)
|
||||
@@ -882,7 +882,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
|
||||
|
||||
label(0x6f)
|
||||
label(0x2e)
|
||||
unset_self_flag_bank3(CHRFLAG3_01000000)
|
||||
unset_self_chrflag(CHRCFLAG_01000000)
|
||||
animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2)
|
||||
|
||||
beginloop(0x10)
|
||||
@@ -893,15 +893,15 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
|
||||
say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
|
||||
message(CHR_BOND, 0x301e) // "Teleportals have been reactivated."
|
||||
set_stage_flag(STAGEFLAG_TELEPORTALS_ACTIVATED)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
play_sound(0x8148, -1)
|
||||
set_lights_state(0x003c, 0x04, 0x00, 0xff, 0xb4)
|
||||
set_chr_flag_bank3(0x14, CHRFLAG3_00040000)
|
||||
set_chr_flag_bank3(0x15, CHRFLAG3_00040000)
|
||||
set_chr_flag_bank3(0x16, CHRFLAG3_00040000)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x15, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x14, CHRCFLAG_00040000)
|
||||
set_chr_chrflag(0x15, CHRCFLAG_00040000)
|
||||
set_chr_chrflag(0x16, CHRCFLAG_00040000)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x15, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x14, FUNC_TELEPORT_ACTIVATION_RESPONDER)
|
||||
set_function(0x15, FUNC_TELEPORT_ACTIVATION_RESPONDER)
|
||||
set_function(0x16, FUNC_TELEPORT_ACTIVATION_RESPONDER)
|
||||
@@ -936,7 +936,7 @@ u8 func0433_unused[] = {
|
||||
* function because he can't enter the agent megaweapon room on PA.
|
||||
*/
|
||||
u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1)
|
||||
set_onshot_function(FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON)
|
||||
set_target_chr(CHR_PRESET)
|
||||
@@ -1044,7 +1044,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
|
||||
label(0x6f)
|
||||
label(0x2e)
|
||||
unset_self_flag_bank3(CHRFLAG3_01000000)
|
||||
unset_self_chrflag(CHRCFLAG_01000000)
|
||||
restart_timer
|
||||
animation(ANIM_OPERATE_0205, -1, -1, 0x00, 0x10, CHR_SELF, 2)
|
||||
|
||||
@@ -1054,7 +1054,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
|
||||
label(0x06)
|
||||
say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled."
|
||||
set_stage_flag(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED)
|
||||
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
|
||||
@@ -1077,7 +1077,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
|
||||
* @unused
|
||||
*/
|
||||
u8 func0405_elvis_follow_nocombat[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1)
|
||||
set_onshot_function(0x0405)
|
||||
set_target_chr(CHR_PRESET)
|
||||
@@ -1216,7 +1216,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = {
|
||||
|
||||
label(0x1b)
|
||||
set_stage_flag(STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON)
|
||||
unset_self_flag_bank3(CHRFLAG3_01000000)
|
||||
unset_self_chrflag(CHRCFLAG_01000000)
|
||||
call_rng
|
||||
if_rand_lt(86, /*goto*/ 0x63)
|
||||
if_rand_lt(172, /*goto*/ 0x64)
|
||||
@@ -1245,7 +1245,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = {
|
||||
|
||||
label(0x2e)
|
||||
say_quip(CHR_BOND, 0x2c, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled."
|
||||
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
|
||||
try_draw_weapon(MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x04)
|
||||
@@ -1482,22 +1482,22 @@ u8 func0c01_midcutscene[] = {
|
||||
remove_weapon_from_inventory(WEAPON_BACKUPDISK)
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 15)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_ELVIS, GFUNC_IDLE)
|
||||
set_music_track(MUSIC_DEEPSEA_MIDCUTSCENE)
|
||||
camera_movement(0x01d4)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x01d5, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01d6, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
animation(0x01d7, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
|
||||
show_object(0xbb)
|
||||
set_object_flag_bank1(0xbb, OBJECTFLAG1_04000000)
|
||||
@@ -1814,16 +1814,16 @@ u8 func0c01_midcutscene[] = {
|
||||
fade_to_color(0xffffffff, 0)
|
||||
fade_to_color(0x00000000, 15)
|
||||
hide_object(0xbb)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x01d5, -2, -1, 0x06, 0x00, CHR_P1P2, 2)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01d6, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
|
||||
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
|
||||
animation(0x01d7, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
|
||||
set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE)
|
||||
yield
|
||||
@@ -1832,10 +1832,10 @@ u8 func0c01_midcutscene[] = {
|
||||
yield
|
||||
chr_move_to_pad(CHR_ELVIS, 0x0013, 0x01, /*goto*/ 0x2e)
|
||||
label(0x2e)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
chr_move_to_pad(CHR_BOND, 0x019f, 0x01, /*goto*/ 0x2e)
|
||||
label(0x2e)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
play_x_music(CHANNEL_10, 60)
|
||||
@@ -1860,7 +1860,7 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
|
||||
|
||||
label(0x2e)
|
||||
dprint 'T','E','L','E','P','O','R','T',' ','G','O','O','D','\n',0,
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
stop_chr
|
||||
set_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT)
|
||||
endfunction
|
||||
@@ -1869,18 +1869,18 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
|
||||
u8 func0c02_outro[] = {
|
||||
show_nonessential_chrs(FALSE)
|
||||
hide_countdown_timer
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_DEEPSEA_OUTRO)
|
||||
camera_movement(0x02d7)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
restart_timer
|
||||
|
||||
// @bug: Missing button checks makes the outro unskippable until a certain
|
||||
@@ -1983,13 +1983,13 @@ u8 func0c02_outro[] = {
|
||||
|
||||
label(0x57)
|
||||
if_all_objectives_complete(/*goto*/ 0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
explosions_around_chr(CHR_BOND)
|
||||
label(0x2e)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
enter_firstperson
|
||||
grant_control(CHR_BOND)
|
||||
restart_timer
|
||||
@@ -2020,25 +2020,25 @@ u8 func0c02_outro[] = {
|
||||
u8 func1002_intro[] = {
|
||||
set_drcaroll_image(CHR_DRCAROLL, 0x02, 0x02)
|
||||
chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2_SCOPE)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_DEEPSEA_INTRO)
|
||||
camera_movement(0x01ef)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01f0, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01f1, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
set_object_flag_bank0(0x07, OBJECTFLAG0_DEACTIVATED)
|
||||
set_object_flag_bank1(0x07, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(0x07, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x01f2, 0x07, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(0x40, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x40, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x40, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x40, CHRHFLAG_00020000)
|
||||
animation(0x0471, -1, -1, 0x06, 0x00, 0x40, 4)
|
||||
restart_timer
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2056,7 +2056,7 @@ u8 func1002_intro[] = {
|
||||
|
||||
wait_until(300, 0x89)
|
||||
play_sound(0x005b, CHANNEL_7)
|
||||
set_chr_flag_bank2(0x40, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(0x40, CHRHFLAG_CLOAKED)
|
||||
play_sound(0x80d7, CHANNEL_10)
|
||||
|
||||
wait_until(320, 0x8c)
|
||||
@@ -2181,13 +2181,13 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_4)
|
||||
mute_channel(CHANNEL_10)
|
||||
remove_chr(0x40)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01f0, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01f1, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
|
||||
if_coop_mode(/*goto*/ 0x45)
|
||||
unset_object_flag_bank0(0x07, OBJECTFLAG0_DEACTIVATED)
|
||||
@@ -2497,7 +2497,7 @@ u8 func100a_bond_teleports[] = {
|
||||
};
|
||||
|
||||
u8 func0414_teleport_bond_to_sapa[] = {
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
|
||||
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
|
||||
@@ -2517,7 +2517,7 @@ u8 func0414_teleport_bond_to_sapa[] = {
|
||||
endloop(0x63)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
|
||||
beginloop(0x64)
|
||||
@@ -2541,7 +2541,7 @@ u8 func0414_teleport_bond_to_sapa[] = {
|
||||
};
|
||||
|
||||
u8 func0415_teleport_bond_to_drcaroll[] = {
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
|
||||
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
|
||||
@@ -2559,7 +2559,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
|
||||
endloop(0x65)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
goto_next(0x63)
|
||||
label(0x07)
|
||||
message(CHR_BOND, 0x300e) // "Elvis has been killed."
|
||||
@@ -2594,7 +2594,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
|
||||
* If PA: Warp to PA area
|
||||
*/
|
||||
u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
|
||||
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
|
||||
@@ -2625,7 +2625,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
|
||||
endloop(0x66)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -2672,7 +2672,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
|
||||
endloop(0x6b)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -2886,7 +2886,7 @@ u8 func0417_teleport_coop_to_sapa[] = {
|
||||
endloop(0x63)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
|
||||
beginloop(0x64)
|
||||
@@ -2929,7 +2929,7 @@ u8 func0418_teleport_coop_to_drcaroll[] = {
|
||||
endloop(0x65)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
goto_next(0x63)
|
||||
|
||||
label(0x07)
|
||||
@@ -2992,7 +2992,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
|
||||
endloop(0x66)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -3037,7 +3037,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
|
||||
endloop(0x6b)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
label(0x62)
|
||||
label(0x07)
|
||||
|
||||
@@ -3075,7 +3075,7 @@ u8 func041c_teleport_activation_responder[] = {
|
||||
if_chr_sees_player(/*goto*/ 0x2e)
|
||||
set_target_chr(CHR_COOP)
|
||||
if_chr_sees_player(/*goto*/ 0x2e)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, FUNC_INIT_SNIPER)
|
||||
label(0x2e)
|
||||
endloop(0x04)
|
||||
@@ -3108,7 +3108,7 @@ u8 func041a_init_sniper[] = {
|
||||
};
|
||||
|
||||
u8 func041b_sniper_wait_for_detection[] = {
|
||||
unset_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
unset_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
yield
|
||||
set_onshot_function(FUNC_SNIPER)
|
||||
label(0x06)
|
||||
@@ -3137,14 +3137,14 @@ u8 func041b_sniper_wait_for_detection[] = {
|
||||
|
||||
label(0x06)
|
||||
set_squadron_alertness(100)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_SNIPER)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func041d_sniper[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_onshot_function(FUNC_SNIPER)
|
||||
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
|
||||
@@ -3241,7 +3241,7 @@ u8 func041d_sniper[] = {
|
||||
goto_first(0x03)
|
||||
|
||||
label(0x10)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED, /*goto*/ 0x2e)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED, /*goto*/ 0x2e)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
label(0x2e)
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
@@ -3256,7 +3256,7 @@ u8 func040c_blonde[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
unset_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
unset_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -3326,8 +3326,8 @@ u8 func100c_countdown_timer[] = {
|
||||
|
||||
// Mission complete
|
||||
label(0x06)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, FUNC_OUTRO)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -3363,9 +3363,9 @@ u8 func100f_check_drcaroll_dead[] = {
|
||||
|
||||
u8 func040f_miniskedar_send_clones[] = {
|
||||
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x04)
|
||||
goto_next(0x52)
|
||||
@@ -3387,15 +3387,15 @@ u8 func040f_miniskedar_send_clones[] = {
|
||||
};
|
||||
|
||||
u8 func040e_init_miniskedar[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_accuracy(0)
|
||||
set_reaction_speed(65)
|
||||
set_chr_health(CHR_SELF, 20)
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -3552,15 +3552,15 @@ u8 func1010_agent_hallway_spawner[] = {
|
||||
};
|
||||
|
||||
u8 func0411_hide[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0412_unused[] = {
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3572,9 +3572,9 @@ u8 func0413_cloak_and_hide[] = {
|
||||
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
|
||||
stop_chr
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -4282,7 +4282,7 @@ u8 unregistered_function1[] = {
|
||||
label(0x04)
|
||||
chr_move_to_pad(CHR_ELVIS, 0x01bf, 0x01, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
set_function(CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -4298,7 +4298,7 @@ u8 func1026_setup_autoguns[] = {
|
||||
};
|
||||
|
||||
u8 func042e_elvis_run_to_exit[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_onshot_function(FUNC_ELVIS_RUN_TO_EXIT)
|
||||
set_return_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT)
|
||||
set_target_chr(CHR_PRESET)
|
||||
@@ -4418,12 +4418,12 @@ u8 func1028_enable_last_3_guards[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x2e)
|
||||
unset_chr_flag_bank3(0x3c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x3d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x3c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x3d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(0x3e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x3c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x3d, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x3c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x3d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x3e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x3c, FUNC_RUN_TO_EXIT)
|
||||
set_function(0x3d, FUNC_RUN_TO_EXIT)
|
||||
set_function(0x3e, FUNC_RUN_TO_EXIT)
|
||||
@@ -4502,15 +4502,15 @@ u8 func102c_lock_doors[] = {
|
||||
|
||||
u8 func040f_miniskedar_unalerted[] = {
|
||||
set_onshot_function(FUNC_MINISKEDAR)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_accuracy(0)
|
||||
set_reaction_speed(65)
|
||||
set_chr_health(CHR_SELF, 20)
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -4527,7 +4527,7 @@ u8 func040f_miniskedar_unalerted[] = {
|
||||
};
|
||||
|
||||
u8 func0432_dead_skedar[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
label(0x08)
|
||||
yield
|
||||
@@ -4616,7 +4616,7 @@ u8 func1030_unlock_agent_teleport_door[] = {
|
||||
*/
|
||||
u8 func1031_unset_trigger_buddy_warp[] = {
|
||||
beginloop(0x08)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e)
|
||||
reloop(0x08)
|
||||
|
||||
label(0x2e)
|
||||
@@ -4627,7 +4627,7 @@ u8 func1031_unset_trigger_buddy_warp[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x2e)
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
endloop(0x08)
|
||||
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
+69
-69
@@ -502,52 +502,52 @@ u8 func0401_3ae8[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
camera_movement(0x00cf)
|
||||
set_music_track(MUSIC_CHICAGO_INTRO)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
chicago_car_do_animation(OBJ_CAR1, 0x00d6)
|
||||
chicago_car_do_animation(OBJ_CAR2, 0x00d7)
|
||||
chicago_car_do_animation(OBJ_CAR3, 0x00d8)
|
||||
chicago_car_do_animation(OBJ_CAR4, 0x00d5)
|
||||
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
|
||||
chicago_wait_for_camera
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_CAR1)
|
||||
hide_object(OBJ_CAR2)
|
||||
hide_object(OBJ_CAR3)
|
||||
hide_object(OBJ_CAR4)
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
label(0x00)
|
||||
return
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0402_3bb4[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
camera_movement(0x00d0)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
chicago_car_do_animation(OBJ_CAR1, 0x00dc)
|
||||
chicago_car_do_animation(OBJ_CAR2, 0x00dd)
|
||||
chicago_car_do_animation(OBJ_CAR4, 0x00d9)
|
||||
chicago_car_do_animation(OBJ_CAR5, 0x00db)
|
||||
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
chicago_wait_for_camera
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_CAR1)
|
||||
hide_object(OBJ_CAR2)
|
||||
hide_object(OBJ_CAR4)
|
||||
hide_object(OBJ_CAR5)
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
label(0x00)
|
||||
return
|
||||
endfunction
|
||||
@@ -556,12 +556,12 @@ u8 func0402_3bb4[] = {
|
||||
u8 func0403_3c74[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
camera_movement(0x00d1)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
show_object(OBJ_CAR4)
|
||||
set_object_flag_bank1(OBJ_CAR4, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(OBJ_CAR4, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x00de, OBJ_CAR4, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
yield
|
||||
@@ -569,9 +569,9 @@ u8 func0403_3c74[] = {
|
||||
|
||||
chicago_wait_for_camera
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
hide_object(OBJ_CAR4)
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
label(0x00)
|
||||
return
|
||||
endfunction
|
||||
@@ -585,15 +585,15 @@ u8 func0404_3ce0[] = {
|
||||
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
camera_movement(0x00e0)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00e1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
chicago_wait_for_camera
|
||||
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
label(0x00)
|
||||
return
|
||||
endfunction
|
||||
@@ -603,10 +603,10 @@ u8 func0405_3d50[] = {
|
||||
camera_movement(0x00d2)
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x00)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00df, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
restart_timer
|
||||
|
||||
@@ -629,13 +629,13 @@ u8 func0405_3d50[] = {
|
||||
chicago_wait_for_camera
|
||||
|
||||
label(0x00)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
mute_channel(CHANNEL_7)
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x00df, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
restart_default_music
|
||||
@@ -1709,7 +1709,7 @@ u8 func0413_bugspotter[] = {
|
||||
goto_first(0x07)
|
||||
|
||||
label(0x04)
|
||||
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
yield
|
||||
drop_gun_and_fade_out
|
||||
@@ -1924,7 +1924,7 @@ u8 func1009_check_cia1_dead[] = {
|
||||
*/
|
||||
u8 func100a_check_cia2_dead[] = {
|
||||
beginloop(0x10)
|
||||
if_chr_flag_bankx(CHR_CIA2, CHRFLAG0_00002000, BANK_0, /*goto*/ 0x03)
|
||||
if_chr_has_flag_bankx(CHR_CIA2, CHRFLAG0_00002000, BANK_0, /*goto*/ 0x03)
|
||||
if_chr_dying(CHR_CIA2, /*goto*/ 0x05)
|
||||
endloop(0x10)
|
||||
|
||||
@@ -1952,13 +1952,13 @@ u8 func100c_check_cia4_dead[] = {
|
||||
u8 func041b_init_robot[] = {
|
||||
set_accuracy(40)
|
||||
set_shield(100)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
set_function(CHR_SELF, FUNC_ROBOT)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func041a_robot[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x0c)
|
||||
assign_path(0)
|
||||
@@ -2064,11 +2064,11 @@ u8 func041a_robot[] = {
|
||||
label(0x01)
|
||||
label(0x04)
|
||||
label(0x38)
|
||||
set_chr_flag_bank3(CHR_ROBOT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ROBOT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ROBOT, CHRFLAG2_00020000)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_chr_chrflag(CHR_ROBOT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ROBOT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ROBOT, CHRHFLAG_00020000)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
set_function(CHR_ROBOT, GFUNC_IDLE)
|
||||
set_shield(0)
|
||||
animation(0x016a, 0, -1, 0x06, 0x00, CHR_SELF, 4)
|
||||
@@ -2114,7 +2114,7 @@ u8 func041e_sealer1[] = {
|
||||
|
||||
// Crash happened
|
||||
label(0x03)
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
|
||||
jog_to_pad(0x00c4)
|
||||
set_function(CHR_SEALER2, FUNC_JOG_TO_ACCIDENT)
|
||||
set_function(CHR_SEALER3, FUNC_JOG_TO_ACCIDENT)
|
||||
@@ -2371,7 +2371,7 @@ u8 func041f_alarm_responder[] = {
|
||||
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
|
||||
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
|
||||
set_alertness(90)
|
||||
set_self_flag_bank3(CHRFLAG3_00000200)
|
||||
set_self_chrflag(CHRCFLAG_00000200)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER)
|
||||
@@ -2379,7 +2379,7 @@ u8 func041f_alarm_responder[] = {
|
||||
};
|
||||
|
||||
u8 func0420_jog_to_accident[] = {
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
|
||||
label(0x03)
|
||||
go_to_target_pad(SPEED_JOG)
|
||||
|
||||
@@ -2416,9 +2416,9 @@ u8 func101f_setup_robot_noise[] = {
|
||||
u8 func1400_give_briefcases[] = {
|
||||
yield
|
||||
set_chr_team(CHR_ANTI, TEAM_20)
|
||||
set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_00000020)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_00000020)
|
||||
set_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
set_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_00000020)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_00000020)
|
||||
if_difficulty_lt(DIFF_PA, /*goto*/ 0x03)
|
||||
|
||||
// PA
|
||||
@@ -2485,10 +2485,10 @@ u8 func1010_elevator_switch[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_CIA2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_CIA3, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_CIA4, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_CIA2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_CIA3, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_CIA4, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -2675,8 +2675,8 @@ u8 func040a_intro_sfx[] = {
|
||||
u8 func040b_outro[] = {
|
||||
camera_movement(0x0178)
|
||||
set_music_track(MUSIC_CHICAGO_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
open_door2(0x10)
|
||||
open_door2(0x11)
|
||||
@@ -2687,9 +2687,9 @@ u8 func040b_outro[] = {
|
||||
hide_chr(CHR_SEALER3)
|
||||
hide_chr(CHR_SEALER4)
|
||||
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0179, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -2840,8 +2840,8 @@ u8 func1416_setup_rain[] = {
|
||||
};
|
||||
|
||||
u8 func041c_hiddenguy[] = {
|
||||
set_chr_flag_bank3(CHR_HIDDENGUY, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_HIDDENGUY, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_HIDDENGUY, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_HIDDENGUY, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2851,8 +2851,8 @@ u8 func041c_hiddenguy[] = {
|
||||
* drain briefcase.
|
||||
*/
|
||||
u8 func1017_drain_guards[] = {
|
||||
set_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
|
||||
|
||||
// Wait until drain briefcase collected
|
||||
beginloop(0x05)
|
||||
@@ -2860,10 +2860,10 @@ u8 func1017_drain_guards[] = {
|
||||
endloop(0x05)
|
||||
|
||||
label(0x03)
|
||||
unset_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x11, CHRFLAG2_00400000)
|
||||
set_chr_flag_bank2(0x12, CHRFLAG2_00400000)
|
||||
unset_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x11, CHRHFLAG_00400000)
|
||||
set_chr_hiddenflag(0x12, CHRHFLAG_00400000)
|
||||
set_function(0x11, GFUNC_ALERTED)
|
||||
set_function(0x12, GFUNC_ALERTED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -2935,7 +2935,7 @@ u8 func0410_60d0[] = {
|
||||
};
|
||||
|
||||
u8 func0411_60f4[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_chr_dodge_rating(2, 0x0a)
|
||||
set_accuracy(14)
|
||||
set_reaction_speed(20)
|
||||
@@ -3083,7 +3083,7 @@ u8 func1021_check_topstairs_guy[] = {
|
||||
|
||||
label(0x04)
|
||||
set_chr_special_death_animation(CHR_TOPSTAIRS, 0)
|
||||
unset_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
unset_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
|
||||
unset_chr_flag_bankx(CHR_TOPSTAIRS, CHRFLAG1_00001000, BANK_1)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
@@ -3198,10 +3198,10 @@ u8 func0412_cia_invincibility[] = {
|
||||
endloop(0x10)
|
||||
|
||||
label(0x03)
|
||||
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CIA2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CIA3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_CIA4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CIA1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CIA2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CIA3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_CIA4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x2d)
|
||||
if_stage_flag_eq(STAGEFLAG_DIVERSION_CREATED, TRUE, /*goto*/ 0x03)
|
||||
@@ -3215,10 +3215,10 @@ u8 func0412_cia_invincibility[] = {
|
||||
endloop(0x2f)
|
||||
|
||||
label(0x03)
|
||||
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_CIA2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_CIA3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_CIA4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_CIA2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_CIA3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_CIA4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+144
-144
@@ -517,34 +517,34 @@ s32 path02[] = {
|
||||
|
||||
u8 func1001_objectives_failed_msg[] = {
|
||||
yield
|
||||
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_STEWARD, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x01, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x02, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x03, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x04, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x05, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x06, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x07, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x08, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0b, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0c, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0d, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0e, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x0f, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x10, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x11, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x12, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x13, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x14, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x15, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x16, CHRFLAG3_04000000)
|
||||
set_chr_flag_bank3(0x17, CHRFLAG3_04000000)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_STEWARD, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x02, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x03, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x04, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x05, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x06, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x07, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x08, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x09, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0b, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0c, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0e, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x0f, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x10, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x11, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x12, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x13, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x14, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x15, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x16, CHRCFLAG_04000000)
|
||||
set_chr_chrflag(0x17, CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
||||
endfunction
|
||||
};
|
||||
@@ -635,27 +635,27 @@ u8 func1004_reassign_ailists_during_conversation[] = {
|
||||
};
|
||||
|
||||
u8 func1005_check_neutrals_killed[] = {
|
||||
set_chr_flag_bank3(0x01, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x04, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x05, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x06, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x07, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x08, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x09, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0a, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0b, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0c, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0d, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0e, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x0f, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x10, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x11, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x12, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x13, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x14, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x15, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x16, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_flag_bank3(0x17, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x01, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x04, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x05, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x06, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x07, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x08, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x09, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0a, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0b, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0c, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0d, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0e, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x0f, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x10, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x11, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x12, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x13, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x14, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x15, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x16, CHRCFLAG_KILLCOUNTABLE)
|
||||
set_chr_chrflag(0x17, CHRCFLAG_KILLCOUNTABLE)
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
|
||||
@@ -672,15 +672,15 @@ u8 func1005_check_neutrals_killed[] = {
|
||||
};
|
||||
|
||||
u8 func0401_init_stripes[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0402_init_elvis[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -773,8 +773,8 @@ u8 func1006_hijack[] = {
|
||||
#define enable_stripes_chr(chr, function) \
|
||||
show_chr(chr) \
|
||||
set_function(chr, function) \
|
||||
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
|
||||
set_chr_flag_bank2(chr, CHRFLAG2_00400000) \
|
||||
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
|
||||
set_chr_hiddenflag(chr, CHRHFLAG_00400000) \
|
||||
yield
|
||||
|
||||
|
||||
@@ -819,21 +819,21 @@ u8 func1006_hijack[] = {
|
||||
set_chr_team(CHR_TRENT, TEAM_04)
|
||||
set_chr_team(CHR_BLONDE1, TEAM_04)
|
||||
set_chr_team(CHR_BLONDE2, TEAM_04)
|
||||
unset_chr_flag_bank2(CHR_TRENT, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank2(CHR_BLONDE1, CHRFLAG2_40000000)
|
||||
unset_chr_flag_bank2(CHR_BLONDE2, CHRFLAG2_40000000)
|
||||
unset_chr_hiddenflag(CHR_TRENT, CHRHFLAG_40000000)
|
||||
unset_chr_hiddenflag(CHR_BLONDE1, CHRHFLAG_40000000)
|
||||
unset_chr_hiddenflag(CHR_BLONDE2, CHRHFLAG_40000000)
|
||||
unlock_door(OBJ_COCKPITDOOR, 0x40)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
unset_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0403_stripes[] = {
|
||||
set_return_function(CHR_SELF, FUNC_STRIPES)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
beginloop(0x04)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x06)
|
||||
@@ -1283,8 +1283,8 @@ u8 func0405_president_in_room[] = {
|
||||
|
||||
// No equipment
|
||||
label(0x85)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
speak(CHR_TARGET, 0x3624, 0x12c4, CHANNEL_6, COLOR_08_RED) // "Security, SECURITY!!"
|
||||
restart_timer
|
||||
animation(0x0231, 0, 193, 0x18, 0x10, CHR_SELF, 2)
|
||||
@@ -1423,7 +1423,7 @@ u8 func0405_president_in_room[] = {
|
||||
};
|
||||
|
||||
u8 func0404_president_running[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_onshot_function(FUNC_PRESIDENT_RUNNING)
|
||||
set_target_chr(CHR_PRESET)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
|
||||
@@ -1635,7 +1635,7 @@ u8 func100b_check_president_dead[] = {
|
||||
};
|
||||
|
||||
u8 func0409_unused[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
beginloop(0x04)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x06)
|
||||
@@ -1675,7 +1675,7 @@ u8 func100c_cockpit_stripes[] = {
|
||||
set_armor(0)
|
||||
set_recovery_speed(30)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -1706,7 +1706,7 @@ u8 func0413_taker1[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_self_flag_bank3(CHRFLAG3_00000020)
|
||||
set_self_chrflag(CHRCFLAG_00000020)
|
||||
set_chr_dodge_rating(2, 0x00)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 60)
|
||||
@@ -1722,7 +1722,7 @@ u8 func0413_taker2[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_self_flag_bank3(CHRFLAG3_00000020)
|
||||
set_self_chrflag(CHRCFLAG_00000020)
|
||||
set_chr_dodge_rating(2, 0x00)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 60)
|
||||
@@ -1736,12 +1736,12 @@ u8 func0413_taker2[] = {
|
||||
|
||||
u8 func0413_taker[] = {
|
||||
set_onshot_function(GFUNC_ALERTED)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_accuracy(50)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
restart_timer
|
||||
|
||||
// Wait for condition
|
||||
@@ -1804,8 +1804,8 @@ u8 func0413_taker[] = {
|
||||
u8 func100c_cockpit[] = {
|
||||
label(0x2d)
|
||||
label(0x2e)
|
||||
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
|
||||
beginloop(0x60)
|
||||
if_all_objectives_complete(/*goto*/ 0x2d)
|
||||
@@ -1820,10 +1820,10 @@ u8 func100c_cockpit[] = {
|
||||
label(0x2e)
|
||||
yield
|
||||
if_stage_flag_eq(STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
label(0x06)
|
||||
|
||||
// This loop will surely never iterate because
|
||||
@@ -2009,24 +2009,24 @@ u8 func0428_start_path02[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_AIRFORCEONE_INTRO)
|
||||
camera_movement(0x018c)
|
||||
set_chr_flag_bank3(0x30, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x30, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x30, CHRHFLAG_00020000)
|
||||
animation(0x018f, -1, -1, 0x06, 0x00, 0x30, 4)
|
||||
set_chr_flag_bank3(0x31, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x31, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x31, CHRHFLAG_00020000)
|
||||
animation(0x018d, -1, -1, 0x06, 0x00, 0x31, 4)
|
||||
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_PRESIDENT, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_PRESIDENT, CHRHFLAG_00020000)
|
||||
animation(0x018e, -1, -1, 0x06, 0x00, CHR_PRESIDENT, 4)
|
||||
set_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
fade_to_color(0x00000000, 90)
|
||||
@@ -2113,9 +2113,9 @@ u8 func1002_intro[] = {
|
||||
|
||||
label(0x7d)
|
||||
mute_channel(CHANNEL_10)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
|
||||
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
|
||||
label(0x2d)
|
||||
if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06)
|
||||
goto_next(0x7e)
|
||||
@@ -2126,8 +2126,8 @@ u8 func1002_intro[] = {
|
||||
chr_move_to_pad(CHR_COOP, 0x008a, 0x01, /*goto*/ 0x2d)
|
||||
label(0x2d)
|
||||
if_controller_button_pressed(/*goto*/ 0x5f)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01d1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x09)
|
||||
@@ -2139,9 +2139,9 @@ u8 func1002_intro[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x7e)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
|
||||
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
|
||||
label(0x2d)
|
||||
dprint 'D','I','S','G','U','I','S','E','D','\n',0,
|
||||
camera_movement(0x01d2)
|
||||
@@ -2150,8 +2150,8 @@ u8 func1002_intro[] = {
|
||||
chr_move_to_pad(CHR_COOP, 0x00b2, 0x01, /*goto*/ 0x2d)
|
||||
label(0x2d)
|
||||
if_controller_button_pressed(/*goto*/ 0x5f)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x01d3, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x0a)
|
||||
@@ -2164,12 +2164,12 @@ u8 func1002_intro[] = {
|
||||
|
||||
label(0x5f)
|
||||
mute_channel(CHANNEL_7)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
animation(0x01d3, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
goto_next(0x2d)
|
||||
label(0x06)
|
||||
@@ -2177,8 +2177,8 @@ u8 func1002_intro[] = {
|
||||
label(0x2d)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
unset_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_PRESIDENT, FUNC_INIT_PRESIDENT)
|
||||
set_function(0x09, FUNC_INIT_NEUTRAL)
|
||||
set_function(0x0a, FUNC_INIT_NEUTRAL)
|
||||
@@ -2186,9 +2186,9 @@ u8 func1002_intro[] = {
|
||||
set_function(0x0d, FUNC_INIT_NEUTRAL)
|
||||
remove_chr(0x30)
|
||||
remove_chr(0x31)
|
||||
unset_chr_flag_bank3(0x30, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x31, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE)
|
||||
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
|
||||
enter_firstperson
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
@@ -2416,9 +2416,9 @@ u8 func040b_defend_president[] = {
|
||||
};
|
||||
|
||||
u8 func0415_cloner1[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x03)
|
||||
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
|
||||
@@ -2507,9 +2507,9 @@ u8 func0417_clone1[] = {
|
||||
};
|
||||
|
||||
u8 func0418_cloner2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x03)
|
||||
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
|
||||
@@ -2607,9 +2607,9 @@ u8 func041a_clone2[] = {
|
||||
* reached the escape pod.
|
||||
*/
|
||||
u8 func041b_cloner3[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
beginloop(0x03)
|
||||
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
|
||||
@@ -2744,7 +2744,7 @@ u8 func041e_blonde[] = {
|
||||
|
||||
label(0x06)
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
label(0x68)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
|
||||
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x75)
|
||||
@@ -2860,9 +2860,9 @@ u8 func0421_trent_waiting[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_04)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
set_shield(500)
|
||||
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -2900,7 +2900,7 @@ u8 func0420_trent_attacking[] = {
|
||||
// One Blonde dead or player in sight
|
||||
label(0x2d)
|
||||
set_shield(500)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
speak(CHR_P1P2, 0x3646, 0x12cb, CHANNEL_6, COLOR_05_GREEN) // "Ha, Ha, Ha, Ha, Ha."
|
||||
set_function(CHR_SELF, FUNC_TRENT_RUNNING)
|
||||
|
||||
@@ -2952,7 +2952,7 @@ u8 func0422_trent_running[] = {
|
||||
if_chr_sees_player(/*goto*/ 0x06)
|
||||
set_target_chr(CHR_COOP)
|
||||
if_chr_sees_player(/*goto*/ 0x06)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
remove_chr(CHR_SELF)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
|
||||
@@ -3017,9 +3017,9 @@ u8 func1013_unhide_trent_and_blondes[] = {
|
||||
show_chr(CHR_BLONDE2)
|
||||
set_function(CHR_BLONDE2, FUNC_INIT_BLONDE)
|
||||
yield
|
||||
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3063,7 +3063,7 @@ u8 func1014_uncover_disguise[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3239,7 +3239,7 @@ u8 func0407_steward[] = {
|
||||
|
||||
label(0x06)
|
||||
set_squadron_alertness(100)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
do_special_animation(-1)
|
||||
restart_timer
|
||||
speak(CHR_P1P2, 0x362b, 0x1abb, CHANNEL_4, COLOR_04_ORANGE) // "Hey, that's not..."
|
||||
@@ -3294,7 +3294,7 @@ u8 func0407_stewardess[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
|
||||
animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2)
|
||||
restart_timer
|
||||
|
||||
@@ -3319,7 +3319,7 @@ u8 func0407_stewardess[] = {
|
||||
set_squadron_alertness(100)
|
||||
|
||||
label(0x0a)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
animation(ANIM_COWER_0229, -1, 190, 0x10, 0x0a, CHR_SELF, 2)
|
||||
|
||||
beginloop(0x83)
|
||||
@@ -3433,18 +3433,18 @@ u8 func0423_outro[] = {
|
||||
camera_movement(0x02d8)
|
||||
set_music_track(MUSIC_AIRFORCEONE_OUTRO)
|
||||
misc_command(0x0000, 0x0d, 0x00)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_TARGET, GFUNC_IDLE)
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x02da, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
set_chr_hud_visible(CHR_TARGET, TRUE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02d9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
show_object(0x19)
|
||||
set_object_flag_bank1(0x19, OBJECTFLAG1_04000000)
|
||||
@@ -3559,8 +3559,8 @@ u8 func1019_midcutscene[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x2d)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
if_stage_flag_eq(STAGEFLAG_MIDCUTSCENE_STARTED, TRUE, /*goto*/ 0x2d)
|
||||
set_stage_flag(STAGEFLAG_MIDCUTSCENE_STARTED)
|
||||
dprint 'm','i','d',' ','c','u','t','s','c','e','n','e','\n',0,
|
||||
@@ -3600,8 +3600,8 @@ u8 func1019_midcutscene[] = {
|
||||
set_stage_flag(STAGEFLAG_MIDCUTSCENE_FINISHED)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_END_CINEMA)
|
||||
endfunction
|
||||
};
|
||||
@@ -3745,7 +3745,7 @@ u8 func101c_check_equipment_switch_destroyed[] = {
|
||||
};
|
||||
|
||||
u8 func040c_init_defend_pad[] = {
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_40000000)
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -3777,7 +3777,7 @@ u8 func040d_init_defend_president[] = {
|
||||
};
|
||||
|
||||
u8 func042c_remove_if_offscreen[] = {
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_40000000)
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -3963,7 +3963,7 @@ u8 func1025_disable_buddy_warp[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+29
-29
@@ -1182,9 +1182,9 @@ u8 func1006_activate_alarm[] = {
|
||||
* A hidden chr spawns clones every 50 seconds after the alarm is sounded.
|
||||
*/
|
||||
u8 func0410_clone_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
// Wait until alarm activated
|
||||
beginloop(0x0d)
|
||||
@@ -1231,7 +1231,7 @@ u8 func0411_init_clone[] = {
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
label(0x04)
|
||||
try_inherit_properties(0x4e, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
@@ -1243,16 +1243,16 @@ u8 func0411_init_clone[] = {
|
||||
};
|
||||
|
||||
u8 func0412_clone[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_return_function(CHR_SELF, GFUNC_ALERTED)
|
||||
set_function(CHR_SELF, GFUNC_ALERTED)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0410_clone_spawner2[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
|
||||
// Wait until player is in room 0x005e
|
||||
beginloop(0x0d)
|
||||
@@ -1354,8 +1354,8 @@ u8 func1009_check_for_exit[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x2c)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c)
|
||||
if_chr_dying(CHR_BOND, /*goto*/ 0x2c)
|
||||
if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c)
|
||||
@@ -1513,13 +1513,13 @@ u8 func100b_check_medlab_escapable[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_INTRO)
|
||||
camera_movement(0x0476)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0477, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
set_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010)
|
||||
@@ -1559,11 +1559,11 @@ u8 func1002_intro[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x87)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0477, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
unset_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010)
|
||||
@@ -1577,18 +1577,18 @@ u8 func1002_intro[] = {
|
||||
|
||||
u8 func041b_outro[] = {
|
||||
set_invincible(CHR_BOND)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_OUTRO)
|
||||
camera_movement(0x0479)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x047a, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_OUTRO_GUARD, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
|
||||
animation(0x047b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
@@ -1631,8 +1631,8 @@ u8 func041b_outro[] = {
|
||||
};
|
||||
|
||||
u8 func0419_init_outro_guard[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1649,7 +1649,7 @@ u8 func100c_unset_trolley_flag_when_destroyed[] = {
|
||||
};
|
||||
|
||||
u8 func041c_init_labtech[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_04000000)
|
||||
set_self_chrflag(CHRCFLAG_04000000)
|
||||
set_function(CHR_SELF, GFUNC_UNALERTED)
|
||||
endfunction
|
||||
};
|
||||
|
||||
+152
-152
@@ -493,7 +493,7 @@ u8 func0401_init_unarmed_skedar[] = {
|
||||
set_armor(160)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_function(CHR_SELF, FUNC_UNARMED_SKEDAR)
|
||||
endfunction
|
||||
};
|
||||
@@ -591,7 +591,7 @@ u8 func0402_unarmed_skedar[] = {
|
||||
try_run_to_target_chr(/*goto*/ 0x0b)
|
||||
|
||||
beginloop(0x0b)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
|
||||
@@ -617,7 +617,7 @@ u8 func0402_unarmed_skedar[] = {
|
||||
try_face_entity(0x0200, 0x0001, /*goto*/ 0x0c)
|
||||
|
||||
beginloop(0x0c)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
|
||||
@@ -637,7 +637,7 @@ u8 func0402_unarmed_skedar[] = {
|
||||
label(0x31)
|
||||
|
||||
beginloop(0x30)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
|
||||
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
|
||||
@@ -717,14 +717,14 @@ u8 func0405_puzzleroom_miniskedar_waiting[] = {
|
||||
};
|
||||
|
||||
u8 func0403_init_miniskedar[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00020000)
|
||||
set_self_chrflag(CHRCFLAG_00020000)
|
||||
set_accuracy(0)
|
||||
set_reaction_speed(75)
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
set_armor(0)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_function(CHR_SELF, FUNC_MINISKEDAR)
|
||||
endfunction
|
||||
};
|
||||
@@ -845,10 +845,10 @@ u8 func0404_miniskedar[] = {
|
||||
* Spawn a clone and remove self. This function seems unnecessary.
|
||||
*/
|
||||
u8 func0407_init_cloaked_skedar[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
|
||||
beginloop(0x04)
|
||||
// Wait until clone dead - which it would be immediately?
|
||||
@@ -876,10 +876,10 @@ u8 func0408_cloaked_skedar[] = {
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -898,7 +898,7 @@ u8 func0408_cloaked_skedar[] = {
|
||||
|
||||
// Player went close to cloaked skedar
|
||||
label(0x2d)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, FUNC_INIT_UNARMED_SKEDAR)
|
||||
|
||||
// King is dead
|
||||
@@ -912,9 +912,9 @@ u8 func0408_cloaked_skedar[] = {
|
||||
* Spawns up to 3 miniskedar clones, one at a time.
|
||||
*/
|
||||
u8 func0404_miniskedar_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_morale(0)
|
||||
|
||||
// Wait until player near trigger pad
|
||||
@@ -947,7 +947,7 @@ u8 func0404_miniskedar_spawner[] = {
|
||||
u8 unregistered_function3[] = {
|
||||
camera_movement(0x00c3)
|
||||
yield
|
||||
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
|
||||
animation(0x00c4, -1, -1, 0x06, 0x00, 0x00, 4)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -1647,7 +1647,7 @@ u8 func040a_init_reaper_slayer_skedar[] = {
|
||||
};
|
||||
|
||||
u8 func0409_reaper_slayer_skedar[] = {
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_onshot_function(FUNC_REAPER_SLAYER_SKEDAR)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
|
||||
@@ -1679,7 +1679,7 @@ u8 func0409_reaper_slayer_skedar[] = {
|
||||
|
||||
// Healthy
|
||||
label(0x08)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
label(0x5e)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
|
||||
set_target_chr(CHR_BOND)
|
||||
@@ -1863,7 +1863,7 @@ u8 func100b_check_sanctum_accessed[] = {
|
||||
};
|
||||
|
||||
u8 func040b_mauler_skedar[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_accuracy(20)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
@@ -1919,13 +1919,13 @@ u8 func100e_wake_skedar_army[] = {
|
||||
u8 func040c_king_waiting[] = {
|
||||
set_shield(500)
|
||||
set_accuracy(100)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00080000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_00080000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
|
||||
if_difficulty_gt(DIFF_A, /*goto*/ 0x2d)
|
||||
set_self_flag_bank3(CHRFLAG3_00000020)
|
||||
set_self_chrflag(CHRCFLAG_00000020)
|
||||
label(0x2d)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
|
||||
set_morale(0)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -1943,7 +1943,7 @@ u8 func040c_king_waiting[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x2d)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, FUNC_KING_COMBAT)
|
||||
endfunction
|
||||
};
|
||||
@@ -2022,7 +2022,7 @@ u8 func040d_king_combat[] = {
|
||||
endloop(0x7f)
|
||||
|
||||
label(0x2d)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
|
||||
beginloop(0x7a)
|
||||
if_chr_death_animation_finished(CHR_P1P2, /*goto*/ LABEL_PLAYER_DEAD)
|
||||
@@ -2270,11 +2270,11 @@ u8 func040d_king_combat[] = {
|
||||
};
|
||||
|
||||
u8 func040e_king_skedar_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x2d)
|
||||
@@ -2310,9 +2310,9 @@ u8 func040e_king_skedar_spawner[] = {
|
||||
};
|
||||
|
||||
u8 func0410_init_king_skedar_clone[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
yield
|
||||
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x20000000, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
@@ -2320,18 +2320,18 @@ u8 func0410_init_king_skedar_clone[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_INIT_UNARMED_SKEDAR)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0411_king_miniskedar_spawner[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x2d)
|
||||
@@ -2369,9 +2369,9 @@ u8 func0411_king_miniskedar_spawner[] = {
|
||||
};
|
||||
|
||||
u8 func0412_init_king_miniskedar_clone[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
yield
|
||||
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x20000000, /*goto*/ 0x06)
|
||||
label(0x06)
|
||||
@@ -2379,7 +2379,7 @@ u8 func0412_init_king_miniskedar_clone[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_function(CHR_SELF, FUNC_INIT_MINISKEDAR)
|
||||
endfunction
|
||||
@@ -2531,12 +2531,12 @@ u8 func040f_update_spike_stageflags[] = {
|
||||
};
|
||||
|
||||
u8 func0c00_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_SKEDARRUINS_INTRO)
|
||||
set_stage_flag(STAGEFLAG_IN_INTRO)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
|
||||
set_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
|
||||
set_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
|
||||
camera_movement(0x02e9)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -2552,13 +2552,13 @@ u8 func0c00_intro[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02ea)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02eb, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02ec, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2575,24 +2575,24 @@ u8 func0c00_intro[] = {
|
||||
endloop(0x09)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02ed)
|
||||
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
animation(0x02ee, -1, -1, 0x06, 0x00, 0x37, 4)
|
||||
|
||||
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
animation(0x02ef, -1, -1, 0x06, 0x00, 0x38, 4)
|
||||
|
||||
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
animation(0x02f0, -1, -1, 0x06, 0x00, 0x39, 4)
|
||||
|
||||
beginloop(0x0b)
|
||||
@@ -2605,19 +2605,19 @@ u8 func0c00_intro[] = {
|
||||
endloop(0x0b)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02f1)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x02f2, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02f3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2634,29 +2634,29 @@ u8 func0c00_intro[] = {
|
||||
endloop(0x0c)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02f4)
|
||||
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
animation(0x02f5, -1, -1, 0x06, 0x00, 0x37, 4)
|
||||
|
||||
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
animation(0x02f6, -1, -1, 0x06, 0x00, 0x38, 4)
|
||||
|
||||
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
animation(0x02f7, -1, -1, 0x06, 0x00, 0x39, 4)
|
||||
|
||||
set_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x3a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x3a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
|
||||
animation(0x02f8, -1, -1, 0x06, 0x00, 0x3a, 4)
|
||||
|
||||
beginloop(0x0d)
|
||||
@@ -2669,10 +2669,10 @@ u8 func0c00_intro[] = {
|
||||
endloop(0x0d)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02f9)
|
||||
|
||||
@@ -2696,30 +2696,30 @@ u8 func0c00_intro[] = {
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
camera_movement(0x02fb)
|
||||
|
||||
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
|
||||
animation(0x02fc, -1, -1, 0x06, 0x00, 0x37, 4)
|
||||
|
||||
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
|
||||
animation(0x02fd, -1, -1, 0x06, 0x00, 0x38, 4)
|
||||
|
||||
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
|
||||
animation(0x02fe, -1, -1, 0x06, 0x00, 0x39, 4)
|
||||
|
||||
set_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x3a, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x3a, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
|
||||
animation(0x02ff, -1, -1, 0x06, 0x00, 0x3a, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_KING2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_KING2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING2, CHRHFLAG_00020000)
|
||||
animation(0x0300, -1, -1, 0x06, 0x00, CHR_KING2, 4)
|
||||
|
||||
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
|
||||
@@ -2736,11 +2736,11 @@ u8 func0c00_intro[] = {
|
||||
endloop(0x0f)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE)
|
||||
camera_movement(0x0301)
|
||||
cmd0175(60)
|
||||
if_controller_button_pressed(/*goto*/ 0x86)
|
||||
@@ -2751,8 +2751,8 @@ u8 func0c00_intro[] = {
|
||||
object_do_animation(0x0302, 0x36, 0x04ff, 0xff)
|
||||
set_object_part_visible(0x36, FALSE)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0303, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
beginloop(0x10)
|
||||
@@ -2766,11 +2766,11 @@ u8 func0c00_intro[] = {
|
||||
|
||||
label(0x86)
|
||||
unset_stage_flag(STAGEFLAG_IN_INTRO)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
|
||||
mute_channel(CHANNEL_7)
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0303, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
hide_object(0x36)
|
||||
remove_chr(0x37)
|
||||
@@ -2778,15 +2778,15 @@ u8 func0c00_intro[] = {
|
||||
remove_chr(0x39)
|
||||
remove_chr(0x3a)
|
||||
remove_chr(CHR_KING2)
|
||||
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_KING1, FUNC_KING_WAITING)
|
||||
set_object_flag_bank1(0x2a, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank1(0x2b, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank1(0x2c, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank1(0x2d, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank1(0x2e, OBJECTFLAG1_04000000)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
enter_firstperson
|
||||
@@ -2813,13 +2813,13 @@ u8 func0414_outro[] = {
|
||||
set_target_chr(CHR_COOP)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_KILLCOUNTABLE)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_KILLCOUNTABLE)
|
||||
camera_movement(0x044c)
|
||||
set_music_track(MUSIC_SKEDARRUINS_OUTRO)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_TARGET, GFUNC_IDLE)
|
||||
remove_chr(0x05)
|
||||
remove_chr(0x06)
|
||||
@@ -2851,9 +2851,9 @@ u8 func0414_outro[] = {
|
||||
remove_chr(0x1f)
|
||||
set_function(CHR_KING1, GFUNC_IDLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_KING1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
|
||||
animation(0x044d, -1, -1, 0x06, 0x00, CHR_KING1, 4)
|
||||
|
||||
object_do_animation(0x044e, OBJ_SPIKE_T, 0x04ff, 0xff)
|
||||
@@ -2872,14 +2872,14 @@ u8 func0414_outro[] = {
|
||||
label(0x86)
|
||||
camera_movement(0x044f)
|
||||
|
||||
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_KING1, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
|
||||
animation(0x0450, -1, -1, 0x06, 0x00, CHR_KING1, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x0451, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
|
||||
object_do_animation(0x0452, OBJ_SPIKE_T, 0x04ff, 0xff)
|
||||
@@ -2927,14 +2927,14 @@ u8 func0414_outro[] = {
|
||||
hide_object(0x3c)
|
||||
camera_movement(0x02c7)
|
||||
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x02c8, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x02c9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
show_object(0x23)
|
||||
@@ -2967,8 +2967,8 @@ u8 func0414_outro[] = {
|
||||
endloop(0x0b)
|
||||
|
||||
label(0x86)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE)
|
||||
unset_stage_flag(STAGEFLAG_IN_OUTRO)
|
||||
hide_object(0x23)
|
||||
hide_object(0x24)
|
||||
@@ -2983,8 +2983,8 @@ u8 func0414_outro[] = {
|
||||
};
|
||||
|
||||
u8 func0413_hide[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -3188,12 +3188,12 @@ u8 func101d_remove_pillar_shadow[] = {
|
||||
|
||||
u8 func0c00_intro_sounds[] = {
|
||||
label(0xda)
|
||||
if_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000, /*goto*/ 0xdb)
|
||||
if_chr_has_chrflag(CHR_BOND, CHRCFLAG_00080000, /*goto*/ 0xdb)
|
||||
yield
|
||||
goto_first(0xda)
|
||||
|
||||
label(0xdb)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
|
||||
|
||||
#define wait_until_with_stageflag(time, loopid) \
|
||||
beginloop(loopid) \
|
||||
@@ -3368,8 +3368,8 @@ u8 func0414_outro_sounds[] = {
|
||||
// The kill countable flag is probably just used to track which player
|
||||
// destroyed the final spike so they can be shown in the outro.
|
||||
label(0xda)
|
||||
if_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdb)
|
||||
if_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdc)
|
||||
if_chr_has_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE, /*goto*/ 0xdb)
|
||||
if_chr_has_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE, /*goto*/ 0xdc)
|
||||
yield
|
||||
goto_first(0xda)
|
||||
|
||||
@@ -3401,8 +3401,8 @@ u8 func0414_outro_sounds[] = {
|
||||
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE)
|
||||
restart_timer
|
||||
|
||||
|
||||
|
||||
+47
-47
@@ -315,7 +315,7 @@ u8 func0403_init_maian_leader[] = {
|
||||
};
|
||||
|
||||
u8 func0402_init_king[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00000020)
|
||||
set_self_chrflag(CHRCFLAG_00000020)
|
||||
set_alertness(100)
|
||||
set_accuracy(100)
|
||||
set_reaction_speed(100)
|
||||
@@ -323,14 +323,14 @@ u8 func0402_init_king[] = {
|
||||
set_armor(300)
|
||||
set_recovery_speed(100)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, FUNC_DEFEND)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0401_defend[] = {
|
||||
set_onshot_function(FUNC_DEFEND)
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x2d)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2d)
|
||||
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2d)
|
||||
@@ -488,8 +488,8 @@ u8 func1003_spawn_maians[] = {
|
||||
};
|
||||
|
||||
u8 func0405_init_maian[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
set_squadron(GROUP_MAIANS)
|
||||
rebuild_teams
|
||||
@@ -821,7 +821,7 @@ u8 func0407_king1_skedar[] = {
|
||||
label(0x2d)
|
||||
set_squadron(GROUP_KING1_SKEDAR)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
set_accuracy(10)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 150)
|
||||
@@ -842,7 +842,7 @@ u8 func0408_king2_skedar[] = {
|
||||
label(0x2d)
|
||||
set_squadron(GROUP_KING2_SKEDAR)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
set_accuracy(10)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 150)
|
||||
@@ -863,7 +863,7 @@ u8 func0409_king3_skedar[] = {
|
||||
label(0x2d)
|
||||
set_squadron(GROUP_KING3_SKEDAR)
|
||||
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
|
||||
set_accuracy(10)
|
||||
set_reaction_speed(50)
|
||||
set_chr_health(CHR_SELF, 150)
|
||||
@@ -1009,8 +1009,8 @@ u8 func1007_check_end_level[] = {
|
||||
|
||||
u8 func040c_hide[] = {
|
||||
label(0x03)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1027,11 +1027,11 @@ u8 func100d_king1_invincible[] = {
|
||||
if_chr_in_room(CHR_BOND, 0x00, 0x0077, /*goto*/ 0x2d)
|
||||
if_chr_in_room(CHR_BOND, 0x00, 0x0078, /*goto*/ 0x2d)
|
||||
if_chr_in_room(CHR_BOND, 0x00, 0x0079, /*goto*/ 0x2d)
|
||||
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_KING1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
reloop(0x03)
|
||||
|
||||
label(0x2d)
|
||||
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_KING1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
endloop(0x03)
|
||||
|
||||
endfunction
|
||||
@@ -1065,26 +1065,26 @@ u8 unregistered_function[] = {
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_INTRO)
|
||||
set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
|
||||
camera_movement(0x047c)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x047d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN1, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN1, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN1, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN1, CHRHFLAG_00020000)
|
||||
animation(0x047e, -1, -1, 0x06, 0x00, CHR_MAIAN1, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN2, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN2, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN2, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN2, CHRHFLAG_00020000)
|
||||
animation(0x047f, -1, -1, 0x06, 0x00, CHR_MAIAN2, 4)
|
||||
|
||||
restart_timer
|
||||
@@ -1116,20 +1116,20 @@ u8 func1002_intro[] = {
|
||||
// Outro done
|
||||
label(0x82)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
|
||||
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x047d, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
|
||||
animation(0x047e, -2, -1, 0x06, 0x00, CHR_MAIAN3, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
|
||||
animation(0x047f, -2, -1, 0x06, 0x00, CHR_MAIAN4, 2)
|
||||
|
||||
set_function(CHR_MAIAN1, FUNC_INIT_MAIAN)
|
||||
@@ -1145,27 +1145,27 @@ u8 func1002_intro[] = {
|
||||
|
||||
u8 func040b_outro[] = {
|
||||
set_invincible(CHR_BOND)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_OUTRO)
|
||||
camera_movement(0x0480)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
|
||||
animation(0x0481, -1, -1, 0x06, 0x00, CHR_MAIAN3, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
|
||||
animation(0x0482, -1, -1, 0x06, 0x00, CHR_MAIAN4, 4)
|
||||
|
||||
unset_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_MAIAN5, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_MAIAN5, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_MAIAN5, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_MAIAN5, CHRHFLAG_00020000)
|
||||
animation(0x0483, -1, -1, 0x06, 0x00, CHR_MAIAN5, 4)
|
||||
|
||||
show_nonessential_chrs(FALSE)
|
||||
|
||||
+127
-127
@@ -783,8 +783,8 @@ u8 func1007_check_medpack_collected[] = {
|
||||
};
|
||||
|
||||
u8 func0403_init_jonathan[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
|
||||
if_difficulty_gt(DIFF_A, /*goto*/ 0x32)
|
||||
|
||||
// Agent only
|
||||
@@ -813,7 +813,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = {
|
||||
|
||||
label(0x67)
|
||||
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
|
||||
beginloop(0x04)
|
||||
chr_toggle_p1p2(CHR_SELF)
|
||||
@@ -967,7 +967,7 @@ u8 func0404_jonathan_following_and_mine[] = {
|
||||
|
||||
// In mine room
|
||||
label(0x0a)
|
||||
unset_self_flag_bank3(CHRFLAG3_01000000)
|
||||
unset_self_chrflag(CHRCFLAG_01000000)
|
||||
set_stage_flag(STAGEFLAG_JON_ENTERED_MINE_ROOM)
|
||||
speak(CHR_P1P2, 0x481b, 0x12b5, CHANNEL_4, COLOR_03_RED) // "Right, we're near. Cover me, Jo..."
|
||||
set_onshot_function(FUNC_JONATHAN_SHOT_WHILE_PLANTING)
|
||||
@@ -1023,7 +1023,7 @@ u8 func0404_jonathan_following_and_mine[] = {
|
||||
set_onshot_function(FUNC_JONATHAN_FOLLOWING_AND_MINE)
|
||||
set_stage_flag(STAGEFLAG_JON_FINISHED_EXPLOSIVES)
|
||||
unset_stage_flag(STAGEFLAG_JON_SHOT_WHILE_PLANTING)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
speak(CHR_P1P2, 0x481c, 0x12b6, CHANNEL_4, COLOR_03_RED) // "Okay - stand back."
|
||||
run_to_pad(0x0140)
|
||||
|
||||
@@ -1973,7 +1973,7 @@ u8 func100c_medpack_activation[] = {
|
||||
u8 func0412_init_elvis[] = {
|
||||
dprint 'E','L','V','I','S',' ','W','O','K','E','\n',0,
|
||||
stop_chr
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_stage_flag(STAGEFLAG_ELVIS_REVIVED)
|
||||
label(0x0a)
|
||||
label(0x06)
|
||||
@@ -2291,8 +2291,8 @@ u8 func1012_hoverbike_auto_doors[] = {
|
||||
};
|
||||
|
||||
u8 func040c_hidden_guardtype1[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2313,35 +2313,35 @@ u8 func1016_enable_guards_after_meetup[] = {
|
||||
show_chr(0x14)
|
||||
show_chr(0x15)
|
||||
show_chr(0x16)
|
||||
unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x0d, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x0e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x0e, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x0f, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x0f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x0f, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x0f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x0f, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x10, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x10, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x10, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x10, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x10, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x11, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x11, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x11, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x12, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x12, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x12, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x13, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x13, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x13, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x14, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x15, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x15, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x15, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x15, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x15, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x16, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
rebuild_teams
|
||||
rebuild_squadrons
|
||||
@@ -2366,8 +2366,8 @@ u8 func1017_check_both_hangar_doors_open[] = {
|
||||
};
|
||||
|
||||
u8 func040d_hidden_guardtype2[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2378,35 +2378,35 @@ u8 func1018_unhide_guards_when_jo_escaping[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x16, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x17, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x17, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x17, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x17, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x17, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x18, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x18, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x18, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x18, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x18, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x19, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x19, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x19, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1a, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1b, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1b, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1b, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1b, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1b, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1c, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1c, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1c, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1d, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1d, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1d, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1e, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unset_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x1f, FUNC_INIT_SUPERDRAGON_GUARD)
|
||||
unlock_door(0x0c, 0x40)
|
||||
unlock_door(0x15, 0x40)
|
||||
@@ -2423,8 +2423,8 @@ u8 func1018_unhide_guards_when_jo_escaping[] = {
|
||||
|
||||
u8 func040e_hidden_biotech[] = {
|
||||
label(0x04)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -2435,43 +2435,43 @@ u8 func1019_enable_biotechs_after_stash[] = {
|
||||
endloop(0x04)
|
||||
|
||||
label(0x32)
|
||||
unset_chr_flag_bank3(0x25, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x25, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x25, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x25, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x25, FUNC_INIT_BIOTECH)
|
||||
unset_chr_flag_bank3(0x26, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x26, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x26, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x26, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x26, FUNC_INIT_BIOTECH)
|
||||
unset_chr_flag_bank3(0x27, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x27, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x27, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x27, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x27, FUNC_INIT_BIOTECH)
|
||||
unset_chr_flag_bank3(0x28, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(0x28, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(0x28, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(0x28, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(0x28, FUNC_INIT_BIOTECH)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func1002_intro[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_ESCAPE_INTRO)
|
||||
camera_movement(0x019c)
|
||||
cmd0175(60)
|
||||
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x019d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
|
||||
set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x23, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
|
||||
animation(0x019e, -1, -1, 0x06, 0x00, 0x23, 4)
|
||||
|
||||
set_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(0x24, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x24, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
|
||||
animation(0x019f, -1, -1, 0x06, 0x00, 0x24, 4)
|
||||
|
||||
set_object_flag_bank1(0x00, OBJECTFLAG1_04000000)
|
||||
@@ -2749,18 +2749,18 @@ u8 func1002_intro[] = {
|
||||
mute_channel(CHANNEL_7)
|
||||
mute_channel(CHANNEL_6)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x019d, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
|
||||
unset_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x23, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
|
||||
animation(0x019e, -2, -1, 0x06, 0x00, 0x23, 2)
|
||||
|
||||
unset_chr_flag_bank3(0x24, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(0x24, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
|
||||
animation(0x019f, -2, -1, 0x06, 0x00, 0x24, 2)
|
||||
|
||||
unset_object_flag_bank1(OBJ_HOVERBED, OBJECTFLAG1_04000000)
|
||||
@@ -2784,8 +2784,8 @@ u8 func1002_intro[] = {
|
||||
};
|
||||
|
||||
u8 func0c01_midcutscene[] = {
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_ESCAPE_MIDCUTSCENE)
|
||||
camera_movement(0x01cb)
|
||||
cmd0175(60)
|
||||
@@ -2803,24 +2803,24 @@ u8 func0c01_midcutscene[] = {
|
||||
set_target_chr(CHR_COOP)
|
||||
|
||||
label(0x06)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_JONATHAN, GFUNC_IDLE)
|
||||
|
||||
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x01ce, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01cc, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
|
||||
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
animation(0x01cd, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
|
||||
|
||||
set_object_flag_bank1(0x11, OBJECTFLAG1_04000000)
|
||||
@@ -2949,18 +2949,18 @@ u8 func0c01_midcutscene[] = {
|
||||
mute_channel(CHANNEL_7)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
|
||||
animation(0x01ce, -2, -1, 0x06, 0x00, CHR_TARGET, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
|
||||
animation(0x01cc, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
|
||||
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
|
||||
animation(0x01cd, -2, -1, 0x06, 0x00, CHR_JONATHAN, 2)
|
||||
|
||||
unset_object_flag_bank1(0x11, OBJECTFLAG1_04000000)
|
||||
@@ -2968,8 +2968,8 @@ u8 func0c01_midcutscene[] = {
|
||||
object_do_animation(0x01cf, 0x11, 0x04ff, 0xfe)
|
||||
|
||||
unset_object_flag_bank1(0x0a, OBJECTFLAG1_20000000)
|
||||
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_JONATHAN, FUNC_JONATHAN_HANGAR)
|
||||
set_function(CHR_ELVIS, FUNC_INIT_ELVIS)
|
||||
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32)
|
||||
@@ -2999,9 +2999,9 @@ u8 func0c02_outro[] = {
|
||||
set_object_flag_bank0(0x2c, OBJECTFLAG0_40000000)
|
||||
set_object_flag_bank0(0x2d, OBJECTFLAG0_40000000)
|
||||
label(0x32)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_ESCAPE_OUTRO_LONG)
|
||||
camera_movement(0x02d2)
|
||||
label(0x32)
|
||||
@@ -3015,8 +3015,8 @@ u8 func0c02_outro[] = {
|
||||
set_stage_flag(STAGEFLAG_STARTED_OUTRO)
|
||||
remove_chr(CHR_ELVIS)
|
||||
remove_chr(CHR_JONATHAN)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
show_nonessential_chrs(FALSE)
|
||||
|
||||
beginloop(0x08)
|
||||
@@ -3037,9 +3037,9 @@ u8 func0c02_outro[] = {
|
||||
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff)
|
||||
|
||||
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
|
||||
animation(0x0304, -1, -1, 0x06, 0x00, 0x2b, 4)
|
||||
|
||||
open_door(0x2c)
|
||||
@@ -3094,12 +3094,12 @@ u8 func0415_ufo_exit[] = {
|
||||
set_object_flag_bank1(OBJ_UFO1, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x02d3, OBJ_UFO1, 0x04ff, 0xff)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNEXPLODABLE)
|
||||
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNEXPLODABLE)
|
||||
set_stage_flag(STAGEFLAG_UFO_LEAVING)
|
||||
restart_timer
|
||||
|
||||
@@ -3149,8 +3149,8 @@ u8 func1021_jo_escaping[] = {
|
||||
set_eeprom_flag(EEPROMFLAG_DEFENSE_JON)
|
||||
set_music_track(MUSIC_ESCAPE_OUTRO_LONG)
|
||||
camera_movement(0x02d4)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_P1P2, GFUNC_IDLE)
|
||||
|
||||
show_object(OBJ_UFO1)
|
||||
@@ -3158,9 +3158,9 @@ u8 func1021_jo_escaping[] = {
|
||||
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
|
||||
object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff)
|
||||
|
||||
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
|
||||
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
|
||||
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
|
||||
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
|
||||
animation(0x0304, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
|
||||
|
||||
beginloop(0x09)
|
||||
@@ -3198,10 +3198,10 @@ u8 func0416_spawn_during_follow[] = {
|
||||
set_armor(40)
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_00000002)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00000002)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_sees_player(/*goto*/ 0x32)
|
||||
|
||||
+22
-22
@@ -1253,7 +1253,7 @@ u8 func0410_init_searching_guard[] = {
|
||||
|
||||
u8 func0412_init_cass[] = {
|
||||
set_chr_health(CHR_SELF, 40)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_function(CHR_SELF, FUNC_CASS_IN_OFFICE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1272,7 +1272,7 @@ u8 func0411_cass_in_office[] = {
|
||||
// Not dying
|
||||
label(0x06)
|
||||
if_has_gun(CHR_SELF, /*goto*/ 0x2c)
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_stage_flag(STAGEFLAG_TRIGGER_YWSM)
|
||||
set_onshot_function(FUNC_CASS_RUNNING)
|
||||
restart_timer
|
||||
@@ -1286,14 +1286,14 @@ u8 func0411_cass_in_office[] = {
|
||||
endloop(0x08)
|
||||
|
||||
label(0x06)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_function(CHR_SELF, FUNC_CASS_RUNNING)
|
||||
|
||||
// Waiting for player to enter office
|
||||
label(0x2c)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x5a)
|
||||
set_onshot_function(FUNC_CASS_IN_OFFICE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
if_chr_dying(CHR_CASS, /*goto*/ 0x06)
|
||||
if_chr_unloaded(CHR_CASS, /*goto*/ 0x06)
|
||||
goto_next(0x2c)
|
||||
@@ -1363,7 +1363,7 @@ u8 func0411_cass_in_office[] = {
|
||||
|
||||
u8 func0413_cass_running[] = {
|
||||
remove_cass_necklace(CHR_CASS)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_onshot_function(FUNC_CASS_RUNNING)
|
||||
if_chr_dying(CHR_CASS, /*goto*/ 0x06)
|
||||
if_chr_death_animation_finished(CHR_CASS, /*goto*/ 0x06)
|
||||
@@ -1518,7 +1518,7 @@ u8 func1006_lift_disabling[] = {
|
||||
set_object_flag_bank0(OBJ_BLONDE_LIFT, OBJECTFLAG0_DEACTIVATED)
|
||||
unlock_door(0x50, 0x40)
|
||||
unset_object_flag_bank0(OBJ_CHIEF_LIFT, OBJECTFLAG0_DEACTIVATED)
|
||||
unset_chr_flag_bank3(CHR_CHIEF, CHRFLAG3_HIDDEN)
|
||||
unset_chr_chrflag(CHR_CHIEF, CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_CHIEF, FUNC_CHIEF)
|
||||
message(CHR_BOND, 0x4a19) // "Lift has been disabled."
|
||||
|
||||
@@ -1555,7 +1555,7 @@ u8 func0414_init_chief[] = {
|
||||
set_recovery_speed(0)
|
||||
set_shield(0)
|
||||
set_morale(0)
|
||||
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
set_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
@@ -1931,13 +1931,13 @@ u8 func0416_intro[] = {
|
||||
set_object_flag_bank1(0x62, OBJECTFLAG1_INVISIBLE)
|
||||
unset_object_flag_bank0(0x61, OBJECTFLAG0_00000100)
|
||||
unset_object_flag_bank0(0x62, OBJECTFLAG0_00000100)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_INTRO)
|
||||
camera_movement(0x0472)
|
||||
cmd0175(60)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0473, -1, -1, 0x06, 0x00, CHR_BOND, 4)
|
||||
restart_timer
|
||||
fade_to_color(0x000000ff, 0)
|
||||
@@ -1995,10 +1995,10 @@ u8 func0416_intro[] = {
|
||||
set_object_flag_bank0(0x61, OBJECTFLAG0_00000100)
|
||||
set_object_flag_bank0(0x62, OBJECTFLAG0_00000100)
|
||||
mute_channel(CHANNEL_10)
|
||||
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
animation(0x0473, -2, -1, 0x06, 0x00, CHR_BOND, 2)
|
||||
restart_default_music
|
||||
reset_ambience
|
||||
@@ -2010,15 +2010,15 @@ u8 func0416_intro[] = {
|
||||
u8 func0417_outro[] = {
|
||||
set_invincible(CHR_BOND)
|
||||
hide_object(OBJ_SHUTTLE1)
|
||||
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
|
||||
set_music_track(MUSIC_G5_OUTRO)
|
||||
camera_movement(0x0474)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
|
||||
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
|
||||
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
show_object(OBJ_SHUTTLE2)
|
||||
set_object_flag_bank1(OBJ_SHUTTLE2, OBJECTFLAG1_04000000)
|
||||
set_object_flag_bank2(OBJ_SHUTTLE2, OBJECTFLAG2_00000010)
|
||||
|
||||
+16
-16
@@ -19874,10 +19874,10 @@ void chrKneel(struct chrdata *chr)
|
||||
chr->sleep = 0;
|
||||
|
||||
if (func0001db94(chr->unk020)) {
|
||||
chr->hidden |= CHRFLAG2_00200000;
|
||||
chr->hidden |= CHRHFLAG_00200000;
|
||||
} else {
|
||||
func0f02ed88(chr);
|
||||
chr->hidden &= ~CHRFLAG2_00200000;
|
||||
chr->hidden &= ~CHRHFLAG_00200000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20533,10 +20533,10 @@ void chrSurrender(struct chrdata *chr)
|
||||
chr->sleep = action;
|
||||
|
||||
if (func0001db94(chr->unk020)) {
|
||||
chr->hidden |= CHRFLAG2_00200000;
|
||||
chr->hidden |= CHRHFLAG_00200000;
|
||||
} else {
|
||||
func0f02f704(chr);
|
||||
chr->hidden &= ~CHRFLAG2_00200000;
|
||||
chr->hidden &= ~CHRHFLAG_00200000;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20761,10 +20761,10 @@ void chrSidestep(struct chrdata *chr, s32 arg1)
|
||||
chr->sleep = 0;
|
||||
|
||||
if (func0001db94(chr->unk020)) {
|
||||
chr->hidden |= CHRFLAG2_00200000;
|
||||
chr->hidden |= CHRHFLAG_00200000;
|
||||
} else {
|
||||
func0f02f8a4(chr);
|
||||
chr->hidden &= ~CHRFLAG2_00200000;
|
||||
chr->hidden &= ~CHRHFLAG_00200000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20880,10 +20880,10 @@ void chrJumpOut(struct chrdata *chr, s32 arg1)
|
||||
chr->sleep = 0;
|
||||
|
||||
if (func0001db94(chr->unk020)) {
|
||||
chr->hidden |= CHRFLAG2_00200000;
|
||||
chr->hidden |= CHRHFLAG_00200000;
|
||||
} else {
|
||||
func0f02fc2c(chr);
|
||||
chr->hidden &= ~CHRFLAG2_00200000;
|
||||
chr->hidden &= ~CHRHFLAG_00200000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31618,7 +31618,7 @@ void chrSaveLastSeeTarget(struct chrdata *chr)
|
||||
|
||||
void chrSaveLastHearTarget(struct chrdata *chr)
|
||||
{
|
||||
chr->hidden |= CHRFLAG2_00000002;
|
||||
chr->hidden |= CHRHFLAG_00000002;
|
||||
chr->lastheartarget60 = g_Vars.unk000008;
|
||||
}
|
||||
|
||||
@@ -33096,7 +33096,7 @@ bool chrGoToTarget(struct chrdata *chr, u32 speed)
|
||||
{
|
||||
if (func0f039a18(chr)) {
|
||||
if (var80062cbc <= 8 ||
|
||||
(chr->hidden & CHRFLAG2_00400000) == 0 ||
|
||||
(chr->hidden & CHRHFLAG_00400000) == 0 ||
|
||||
(chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) {
|
||||
struct position *pos = chrGetTargetPosition(chr);
|
||||
|
||||
@@ -33113,7 +33113,7 @@ bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed)
|
||||
{
|
||||
if (func0f039a18(chr)) {
|
||||
if (var80062cbc <= 8 ||
|
||||
(chr->hidden & CHRFLAG2_00400000) == 0 ||
|
||||
(chr->hidden & CHRHFLAG_00400000) == 0 ||
|
||||
(chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) {
|
||||
struct chrdata *dstchr = chrFindById(chr, dst_chrnum);
|
||||
|
||||
@@ -35095,9 +35095,9 @@ void func0f03c8b4(struct chrdata *chr)
|
||||
{
|
||||
chr->sleep = 0;
|
||||
|
||||
if ((chr->hidden & CHRFLAG2_00200000) && func0001db94(chr->unk020) == 0) {
|
||||
if ((chr->hidden & CHRHFLAG_00200000) && func0001db94(chr->unk020) == 0) {
|
||||
func0f02ed88(chr);
|
||||
chr->hidden &= ~CHRFLAG2_00200000;
|
||||
chr->hidden &= ~CHRHFLAG_00200000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50106,7 +50106,7 @@ bool chrHasHiddenFlag00000002(struct chrdata *chr)
|
||||
void chrRestartTimer(struct chrdata *chr)
|
||||
{
|
||||
chr->timer60 = 0;
|
||||
chr->hidden |= CHRFLAG2_TIMER_RUNNING;
|
||||
chr->hidden |= CHRHFLAG_TIMER_RUNNING;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
@@ -53858,11 +53858,11 @@ glabel func0f04d000
|
||||
bool func0f04d44c(struct chrdata *chr)
|
||||
{
|
||||
s32 val = func0001d13c(chr->unk020);
|
||||
chr->chrflags &= ~CHRFLAG3_10000000;
|
||||
chr->chrflags &= ~CHRCFLAG_10000000;
|
||||
|
||||
// Possible @bug or just sloppy code: The flag check below can never pass
|
||||
// because that flag was just turned off above.
|
||||
if (val == 100 || val == 101 || val == 102 || val == 103 || (chr->chrflags & CHRFLAG3_10000000)) {
|
||||
if (val == 100 || val == 101 || val == 102 || val == 103 || (chr->chrflags & CHRCFLAG_10000000)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1790,7 +1790,7 @@ bool ai0045(void)
|
||||
*/
|
||||
bool aiIfNeverBeenOnScreen(void)
|
||||
{
|
||||
if ((g_Vars.chrdata->chrflags & CHRFLAG3_NEVER_BEEN_ON_SCREEN) == 0) {
|
||||
if ((g_Vars.chrdata->chrflags & CHRCFLAG_NEVER_BEEN_ON_SCREEN) == 0) {
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
|
||||
} else {
|
||||
@@ -4151,8 +4151,8 @@ bool aiIfInjured(void)
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
|
||||
|
||||
if (chr && (chr->chrflags & CHRFLAG3_JUST_INJURED)) {
|
||||
chr->chrflags &= ~CHRFLAG3_JUST_INJURED;
|
||||
if (chr && (chr->chrflags & CHRCFLAG_JUST_INJURED)) {
|
||||
chr->chrflags &= ~CHRCFLAG_JUST_INJURED;
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
|
||||
} else {
|
||||
g_Vars.aioffset = g_Vars.aioffset + 4;
|
||||
@@ -4169,8 +4169,8 @@ bool ai0168(void)
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
|
||||
|
||||
if (chr && (chr->chrflags & CHRFLAG3_02000000)) {
|
||||
chr->chrflags &= ~CHRFLAG3_02000000;
|
||||
if (chr && (chr->chrflags & CHRCFLAG_02000000)) {
|
||||
chr->chrflags &= ~CHRCFLAG_02000000;
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
|
||||
} else {
|
||||
g_Vars.aioffset = g_Vars.aioffset + 4;
|
||||
@@ -5400,7 +5400,7 @@ bool aiResetTimer(void)
|
||||
*/
|
||||
bool aiPauseTimer(void)
|
||||
{
|
||||
g_Vars.chrdata->hidden &= ~CHRFLAG2_TIMER_RUNNING;
|
||||
g_Vars.chrdata->hidden &= ~CHRHFLAG_TIMER_RUNNING;
|
||||
g_Vars.aioffset += 2;
|
||||
|
||||
return false;
|
||||
@@ -5411,7 +5411,7 @@ bool aiPauseTimer(void)
|
||||
*/
|
||||
bool aiResumeTimer(void)
|
||||
{
|
||||
g_Vars.chrdata->hidden |= CHRFLAG2_TIMER_RUNNING;
|
||||
g_Vars.chrdata->hidden |= CHRHFLAG_TIMER_RUNNING;
|
||||
g_Vars.aioffset += 2;
|
||||
|
||||
return false;
|
||||
@@ -5424,7 +5424,7 @@ bool aiIfTimerStopped(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
|
||||
if ((g_Vars.chrdata->hidden & CHRFLAG2_TIMER_RUNNING) == 0) {
|
||||
if ((g_Vars.chrdata->hidden & CHRHFLAG_TIMER_RUNNING) == 0) {
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
|
||||
} else {
|
||||
g_Vars.aioffset += 3;
|
||||
@@ -8578,8 +8578,8 @@ bool aiSetTarget(void)
|
||||
g_Vars.chrdata->lastvisibletarg = 0;
|
||||
g_Vars.chrdata->lastseetarget60 = 0;
|
||||
g_Vars.chrdata->lastheartarget60 = 0;
|
||||
g_Vars.chrdata->hidden &= ~CHRFLAG2_00000002;
|
||||
g_Vars.chrdata->chrflags &= ~CHRFLAG3_00000004;
|
||||
g_Vars.chrdata->hidden &= ~CHRHFLAG_00000002;
|
||||
g_Vars.chrdata->chrflags &= ~CHRCFLAG_00000004;
|
||||
g_Vars.chrdata->target = prop_id;
|
||||
}
|
||||
} else if (g_Vars.hovdata) {
|
||||
@@ -11873,8 +11873,8 @@ bool aiIfChrInjured(void)
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
|
||||
|
||||
if (chr && (chr->chrflags & CHRFLAG3_INJURED)) {
|
||||
chr->chrflags &= ~CHRFLAG3_INJURED;
|
||||
if (chr && (chr->chrflags & CHRCFLAG_INJURED)) {
|
||||
chr->chrflags &= ~CHRCFLAG_INJURED;
|
||||
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
|
||||
} else {
|
||||
g_Vars.aioffset += 4;
|
||||
|
||||
+10
-10
@@ -707,7 +707,7 @@
|
||||
mkword(flag), \
|
||||
bank,
|
||||
|
||||
#define if_chr_flag_bankx(chr, flag, bank, label) \
|
||||
#define if_chr_has_flag_bankx(chr, flag, bank, label) \
|
||||
mkshort(0x00a0), \
|
||||
chr, \
|
||||
mkword(flag), \
|
||||
@@ -728,30 +728,30 @@
|
||||
bool, \
|
||||
label,
|
||||
|
||||
#define set_self_flag_bank3(chrflag3) \
|
||||
#define set_self_chrflag(chrflag3) \
|
||||
mkshort(0x00a4), \
|
||||
mkword(chrflag3),
|
||||
|
||||
#define unset_self_flag_bank3(chrflag3) \
|
||||
#define unset_self_chrflag(chrflag3) \
|
||||
mkshort(0x00a5), \
|
||||
mkword(chrflag3),
|
||||
|
||||
#define if_self_flag_bank3(chrflag3, label) \
|
||||
#define if_self_has_chrflag(chrflag3, label) \
|
||||
mkshort(0x00a6), \
|
||||
mkword(chrflag3), \
|
||||
label,
|
||||
|
||||
#define set_chr_flag_bank3(chr, chrflag3) \
|
||||
#define set_chr_chrflag(chr, chrflag3) \
|
||||
mkshort(0x00a7), \
|
||||
chr, \
|
||||
mkword(chrflag3),
|
||||
|
||||
#define unset_chr_flag_bank3(chr, chrflag3) \
|
||||
#define unset_chr_chrflag(chr, chrflag3) \
|
||||
mkshort(0x00a8), \
|
||||
chr, \
|
||||
mkword(chrflag3),
|
||||
|
||||
#define if_chr_flag_bank3(chr, chrflag3, label) \
|
||||
#define if_chr_has_chrflag(chr, chrflag3, label) \
|
||||
mkshort(0x00a9), \
|
||||
chr, \
|
||||
mkword(chrflag3), \
|
||||
@@ -1162,17 +1162,17 @@
|
||||
mkword(objectflag2), \
|
||||
label,
|
||||
|
||||
#define set_chr_flag_bank2(chr, chrflag2) \
|
||||
#define set_chr_hiddenflag(chr, chrflag2) \
|
||||
mkshort(0x011b), \
|
||||
chr, \
|
||||
mkword(chrflag2),
|
||||
|
||||
#define unset_chr_flag_bank2(chr, chrflag2) \
|
||||
#define unset_chr_hiddenflag(chr, chrflag2) \
|
||||
mkshort(0x011c), \
|
||||
chr, \
|
||||
mkword(chrflag2),
|
||||
|
||||
#define if_chr_flag_bank2(chr, chrflag2, label) \
|
||||
#define if_chr_has_hiddenflag(chr, chrflag2, label) \
|
||||
mkshort(0x011d), \
|
||||
chr, \
|
||||
mkword(chrflag2), \
|
||||
|
||||
+68
-68
@@ -109,7 +109,7 @@
|
||||
#define CHR_PRESET 0xfc
|
||||
#define CHR_SELF 0xfd
|
||||
|
||||
// Character flags - bank 0 (chr struct offset 0x114 - chr->flags)
|
||||
// chr->flags
|
||||
#define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware
|
||||
#define CHRFLAG0_00000002 0x00000002 // Not used in scripts
|
||||
#define CHRFLAG0_00000004 0x00000004 // Can search for player when heard?
|
||||
@@ -143,7 +143,7 @@
|
||||
#define CHRFLAG0_NOHEAR 0x40000000 // Globals, Villa
|
||||
#define CHRFLAG0_80000000 0x80000000 // Globals, Villa, Chicago, CI Training
|
||||
|
||||
// Character flags - bank 1 (chr struct offset 0x118 - chr->flags2)
|
||||
// chr->flags2
|
||||
#define CHRFLAG1_00000001 0x00000001 // Globals, Extraction, Air Base, Deep Sea
|
||||
#define CHRFLAG1_00000002 0x00000002 // Globals
|
||||
#define CHRFLAG1_00000004 0x00000004 // Globals - If set, avoids cmd0184
|
||||
@@ -177,73 +177,73 @@
|
||||
#define CHRFLAG1_40000000 0x40000000 // Globals
|
||||
#define CHRFLAG1_80000000 0x80000000 // Globals
|
||||
|
||||
// Character flags - bank 2 (chr struct offset 0x14 - chr->hidden)
|
||||
#define CHRFLAG2_00000001 0x00000001 // Not used in scripts - sunglasses?
|
||||
#define CHRFLAG2_00000002 0x00000002 // Not used in scripts
|
||||
#define CHRFLAG2_00000004 0x00000004 // Not used in scripts
|
||||
#define CHRFLAG2_00000008 0x00000008 // Not used in scripts
|
||||
#define CHRFLAG2_00000010 0x00000010 // Not used in scripts
|
||||
#define CHRFLAG2_00000020 0x00000020 // Not used in scripts
|
||||
#define CHRFLAG2_TIMER_RUNNING 0x00000040
|
||||
#define CHRFLAG2_00000080 0x00000080 // Not used in scripts
|
||||
#define CHRFLAG2_00000100 0x00000100 // Not used in scripts
|
||||
#define CHRFLAG2_00000200 0x00000200 // Not used in scripts
|
||||
#define CHRFLAG2_00000400 0x00000400 // Related to coop buddy? Also used in Chicago
|
||||
#define CHRFLAG2_KEEP_CORPSE 0x00000800
|
||||
#define CHRFLAG2_BUDDY_PLACED 0x00001000
|
||||
#define CHRFLAG2_00002000 0x00002000 // Globals, Rescue guards once disguised
|
||||
#define CHRFLAG2_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRFLAG2_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
|
||||
#define CHRFLAG2_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRFLAG2_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
|
||||
#define CHRFLAG2_00040000 0x00040000 // Not used in scripts
|
||||
#define CHRFLAG2_DISGUISED 0x00080000
|
||||
#define CHRFLAG2_00100000 0x00100000 // Set before warping to pad, never unset or read
|
||||
#define CHRFLAG2_00200000 0x00200000 // Not used in scripts
|
||||
#define CHRFLAG2_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
|
||||
#define CHRFLAG2_00800000 0x00800000 // Not used in scripts
|
||||
#define CHRFLAG2_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
|
||||
#define CHRFLAG2_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
|
||||
#define CHRFLAG2_04000000 0x04000000 // Related to disguise and detection
|
||||
#define CHRFLAG2_08000000 0x08000000 // Globals, Villa and G5
|
||||
#define CHRFLAG2_10000000 0x10000000 // Related to invincible flag
|
||||
#define CHRFLAG2_CLOAKED 0x20000000
|
||||
#define CHRFLAG2_40000000 0x40000000 // Air Base and AF1
|
||||
#define CHRFLAG2_PSYCHOSISED 0x80000000
|
||||
// chr->hidden
|
||||
#define CHRHFLAG_00000001 0x00000001 // Not used in scripts - sunglasses?
|
||||
#define CHRHFLAG_00000002 0x00000002 // Not used in scripts
|
||||
#define CHRHFLAG_00000004 0x00000004 // Not used in scripts
|
||||
#define CHRHFLAG_00000008 0x00000008 // Not used in scripts
|
||||
#define CHRHFLAG_00000010 0x00000010 // Not used in scripts
|
||||
#define CHRHFLAG_00000020 0x00000020 // Not used in scripts
|
||||
#define CHRHFLAG_TIMER_RUNNING 0x00000040
|
||||
#define CHRHFLAG_00000080 0x00000080 // Not used in scripts
|
||||
#define CHRHFLAG_00000100 0x00000100 // Not used in scripts
|
||||
#define CHRHFLAG_00000200 0x00000200 // Not used in scripts
|
||||
#define CHRHFLAG_00000400 0x00000400 // Related to coop buddy? Also used in Chicago
|
||||
#define CHRHFLAG_KEEP_CORPSE 0x00000800
|
||||
#define CHRHFLAG_BUDDY_PLACED 0x00001000
|
||||
#define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised
|
||||
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRHFLAG_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
|
||||
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRHFLAG_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
|
||||
#define CHRHFLAG_00040000 0x00040000 // Not used in scripts
|
||||
#define CHRHFLAG_DISGUISED 0x00080000
|
||||
#define CHRHFLAG_00100000 0x00100000 // Set before warping to pad, never unset or read
|
||||
#define CHRHFLAG_00200000 0x00200000 // Not used in scripts
|
||||
#define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
|
||||
#define CHRHFLAG_00800000 0x00800000 // Not used in scripts
|
||||
#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
|
||||
#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
|
||||
#define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection
|
||||
#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5
|
||||
#define CHRHFLAG_10000000 0x10000000 // Related to invincible flag
|
||||
#define CHRHFLAG_CLOAKED 0x20000000
|
||||
#define CHRHFLAG_40000000 0x40000000 // Air Base and AF1
|
||||
#define CHRHFLAG_PSYCHOSISED 0x80000000
|
||||
|
||||
// Character flags - bank 3 (chr struct offset 0x18 - chr->chrflags)
|
||||
#define CHRFLAG3_00000001 0x00000001 // Villa takers, Attack Ship Cass and skedar - both set at end of intros
|
||||
#define CHRFLAG3_00000002 0x00000002 // Seems to be set on guards who can spawn clones?
|
||||
#define CHRFLAG3_00000004 0x00000004 // Not used in scripts
|
||||
#define CHRFLAG3_NEVER_BEEN_ON_SCREEN 0x00000008
|
||||
#define CHRFLAG3_INVINCIBLE_TO_GUNFIRE 0x00000010
|
||||
#define CHRFLAG3_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
|
||||
#define CHRFLAG3_00000040 0x00000040 // Used quite a lot
|
||||
#define CHRFLAG3_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
|
||||
#define CHRFLAG3_JUST_INJURED 0x00000100
|
||||
#define CHRFLAG3_00000200 0x00000200 // Set on clones
|
||||
#define CHRFLAG3_HIDDEN 0x00000400
|
||||
#define CHRFLAG3_NOAUTOAIM 0x00000800
|
||||
#define CHRFLAG3_UNEXPLODABLE 0x00001000
|
||||
#define CHRFLAG3_00002000 0x00002000 // Not used in scripts
|
||||
#define CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
|
||||
#define CHRFLAG3_00008000 0x00008000 // Not used in scripts
|
||||
#define CHRFLAG3_00010000 0x00010000 // Related to dead people in intro cutscenes
|
||||
#define CHRFLAG3_00020000 0x00020000 // Chicago, Crash Site, Deep Sea, Defense, Ruins
|
||||
#define CHRFLAG3_00040000 0x00040000 // Used a lot
|
||||
#define CHRFLAG3_00080000 0x00080000
|
||||
#define CHRFLAG3_KILLCOUNTABLE 0x00100000
|
||||
#define CHRFLAG3_00200000 0x00200000 // Unset by cmd 00fd
|
||||
#define CHRFLAG3_00400000 0x00400000 // Not used in scripts
|
||||
#define CHRFLAG3_UNPLAYABLE 0x00800000
|
||||
#define CHRFLAG3_01000000 0x01000000 // Typically set on allies during init
|
||||
#define CHRFLAG3_02000000 0x02000000 // can be unset by cmd0168
|
||||
#define CHRFLAG3_04000000 0x04000000 // Set by aiChrKill command
|
||||
#define CHRFLAG3_08000000 0x08000000 // Not used in scripts
|
||||
#define CHRFLAG3_10000000 0x10000000 // Not used in scripts
|
||||
#define CHRFLAG3_20000000 0x20000000 // Not used in scripts
|
||||
#define CHRFLAG3_40000000 0x40000000 // Not used in scripts
|
||||
#define CHRFLAG3_INJURED 0x80000000
|
||||
// chr->chrflags
|
||||
#define CHRCFLAG_00000001 0x00000001 // Villa takers, Attack Ship Cass and skedar - both set at end of intros
|
||||
#define CHRCFLAG_00000002 0x00000002 // Seems to be set on guards who can spawn clones?
|
||||
#define CHRCFLAG_00000004 0x00000004 // Not used in scripts
|
||||
#define CHRCFLAG_NEVER_BEEN_ON_SCREEN 0x00000008
|
||||
#define CHRCFLAG_INVINCIBLE_TO_GUNFIRE 0x00000010
|
||||
#define CHRCFLAG_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
|
||||
#define CHRCFLAG_00000040 0x00000040 // Used quite a lot
|
||||
#define CHRCFLAG_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
|
||||
#define CHRCFLAG_JUST_INJURED 0x00000100
|
||||
#define CHRCFLAG_00000200 0x00000200 // Set on clones
|
||||
#define CHRCFLAG_HIDDEN 0x00000400
|
||||
#define CHRCFLAG_NOAUTOAIM 0x00000800
|
||||
#define CHRCFLAG_UNEXPLODABLE 0x00001000
|
||||
#define CHRCFLAG_00002000 0x00002000 // Not used in scripts
|
||||
#define CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
|
||||
#define CHRCFLAG_00008000 0x00008000 // Not used in scripts
|
||||
#define CHRCFLAG_00010000 0x00010000 // Related to dead people in intro cutscenes
|
||||
#define CHRCFLAG_00020000 0x00020000 // Chicago, Crash Site, Deep Sea, Defense, Ruins
|
||||
#define CHRCFLAG_00040000 0x00040000 // Used a lot
|
||||
#define CHRCFLAG_00080000 0x00080000
|
||||
#define CHRCFLAG_KILLCOUNTABLE 0x00100000
|
||||
#define CHRCFLAG_00200000 0x00200000 // Unset by cmd 00fd
|
||||
#define CHRCFLAG_00400000 0x00400000 // Not used in scripts
|
||||
#define CHRCFLAG_UNPLAYABLE 0x00800000
|
||||
#define CHRCFLAG_01000000 0x01000000 // Typically set on allies during init
|
||||
#define CHRCFLAG_02000000 0x02000000 // can be unset by cmd0168
|
||||
#define CHRCFLAG_04000000 0x04000000 // Set by aiChrKill command
|
||||
#define CHRCFLAG_08000000 0x08000000 // Not used in scripts
|
||||
#define CHRCFLAG_10000000 0x10000000 // Not used in scripts
|
||||
#define CHRCFLAG_20000000 0x20000000 // Not used in scripts
|
||||
#define CHRCFLAG_40000000 0x40000000 // Not used in scripts
|
||||
#define CHRCFLAG_INJURED 0x80000000
|
||||
|
||||
#define CMD_LABEL 0x0002
|
||||
#define CMD_END 0x0004
|
||||
|
||||
+122
-122
@@ -53,7 +53,7 @@ u8 func0006_unalerted[] = {
|
||||
#define LABEL_HEARD_ALARM 0x23
|
||||
#define LABEL_HEARSPAWN 0xda
|
||||
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -105,16 +105,16 @@ u8 func0006_unalerted[] = {
|
||||
label(0x06)
|
||||
dprint 'B','E','E','N',' ','S','H','O','T','\n',0,
|
||||
// if 01000000, set 04000000
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x14)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x14)
|
||||
goto_next(0x13)
|
||||
|
||||
label(0x14)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_04000000)
|
||||
|
||||
// Stop chr, either immediately or by waiting for their animation to end.
|
||||
// I think the animation is their injured animation.
|
||||
label(0x13)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
if_chr_idle(/*goto*/ 0x13)
|
||||
goto_next(0x03)
|
||||
|
||||
@@ -289,9 +289,9 @@ u8 func0006_unalerted[] = {
|
||||
// Handle seeing player
|
||||
label(LABEL_SEE_DETECT)
|
||||
dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0,
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED)
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0x14)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0x14)
|
||||
goto_next(0x13)
|
||||
|
||||
label(0x14)
|
||||
@@ -301,13 +301,13 @@ u8 func0006_unalerted[] = {
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x15)
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x15)
|
||||
if_chr_in_view(/*goto*/ LABEL_DISGUISE_UNCOVERED)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED)
|
||||
|
||||
label(0x15)
|
||||
dprint 'N','O','T',' ','A','I','M','I','N','G',' ','A','T',' ','M','E','\n',0,
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
|
||||
goto_next(LABEL_DISGUISE_UNCOVERED)
|
||||
|
||||
label(0x13)
|
||||
@@ -323,8 +323,8 @@ u8 func0006_unalerted[] = {
|
||||
goto_next(0xea)
|
||||
|
||||
label(0x14)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0xe8)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0xe8)
|
||||
|
||||
label(0xea)
|
||||
if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0xe6)
|
||||
@@ -363,7 +363,7 @@ u8 func0006_unalerted[] = {
|
||||
if_near_miss(/*goto*/ 0x16)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, TRUE, BANK_0, /*goto*/ 0x94)
|
||||
label(0x16)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14)
|
||||
if_any_chr_doing_action(MA_GOTOALARM, /*goto*/ 0x16)
|
||||
if_self_flag_bankx_eq(CHRFLAG0_CAN_RUN_FOR_ALARM, TRUE, BANK_0, /*goto*/ 0x9f)
|
||||
label(0x16)
|
||||
@@ -389,7 +389,7 @@ u8 func0006_unalerted[] = {
|
||||
|
||||
label(0x94)
|
||||
label(0x16)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
|
||||
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?!"
|
||||
restart_timer
|
||||
@@ -488,11 +488,11 @@ u8 func0006_unalerted[] = {
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_next(0x94)
|
||||
|
||||
label(0x16)
|
||||
@@ -502,11 +502,11 @@ u8 func0006_unalerted[] = {
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_next(0x94)
|
||||
|
||||
label(0x16)
|
||||
@@ -579,13 +579,13 @@ u8 func0006_unalerted[] = {
|
||||
// Heard gunfire
|
||||
label(0x16)
|
||||
set_alertness(100)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_first(LABEL_SCAN_START)
|
||||
|
||||
// Saw player
|
||||
label(0x17)
|
||||
set_alertness(100)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_first(LABEL_SCAN_START)
|
||||
|
||||
// Examination finished
|
||||
@@ -597,7 +597,7 @@ u8 func0006_unalerted[] = {
|
||||
|
||||
label(0x13)
|
||||
set_alertness(100)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_first(0xdb)
|
||||
|
||||
// Can't see Jonna
|
||||
@@ -609,7 +609,7 @@ u8 func0006_unalerted[] = {
|
||||
|
||||
label(0x13)
|
||||
set_alertness(100)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
|
||||
goto_first(0xdb)
|
||||
|
||||
label(0x16)
|
||||
@@ -780,8 +780,8 @@ u8 unregistered_function1[] = {
|
||||
};
|
||||
|
||||
u8 func0008_wakeup[] = {
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
// Psychosised
|
||||
@@ -853,8 +853,8 @@ u8 func0007_alerted[] = {
|
||||
#define LABEL_SNIPE 0xde
|
||||
#define LABEL_FLEE_GRENADE 0xe4
|
||||
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
|
||||
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -1066,8 +1066,8 @@ u8 func0007_alerted[] = {
|
||||
label(0x1b)
|
||||
yield
|
||||
label(0x16)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x01)
|
||||
label(0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ LABEL_TRACK)
|
||||
dprint 'C','H','E','C','K','I','N','J','U','R','Y','E','N','D','\n',0,
|
||||
@@ -1080,7 +1080,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
// No need to warn
|
||||
label(0x16)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
goto_next(0x16)
|
||||
|
||||
// Unreachable - nothing jumps here
|
||||
@@ -1169,7 +1169,7 @@ u8 func0007_alerted[] = {
|
||||
label(0x16)
|
||||
dprint 'A','T',' ','T','R','A','P',' ','P','A','D','\n',0,
|
||||
label(0x9b)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x03)
|
||||
|
||||
beginloop(0x03)
|
||||
@@ -1261,7 +1261,7 @@ u8 func0007_alerted[] = {
|
||||
label(0xa7)
|
||||
dprint 'U','N','D','E','R',' ','P','O','P','P','E','R','\n',0,
|
||||
label(0xa8)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xa9)
|
||||
|
||||
beginloop(0xa9)
|
||||
@@ -1298,7 +1298,7 @@ u8 func0007_alerted[] = {
|
||||
endloop(0xab)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x13)
|
||||
goto_first(0xa8)
|
||||
|
||||
@@ -1370,7 +1370,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
label(0x13)
|
||||
restart_timer
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
cmd01ba(0x0022, 0x0000, /*goto*/ 0xdf)
|
||||
|
||||
beginloop(0xdf)
|
||||
@@ -1497,7 +1497,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
beginloop(0x55)
|
||||
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -1526,7 +1526,7 @@ u8 func0007_alerted[] = {
|
||||
set_action(MA_COVERWAIT, TRUE)
|
||||
unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1)
|
||||
unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x59)
|
||||
|
||||
beginloop(0x59)
|
||||
@@ -1614,7 +1614,7 @@ u8 func0007_alerted[] = {
|
||||
if_in_disarm_range(/*goto*/ 0x26)
|
||||
goto_next(0x87)
|
||||
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -1635,7 +1635,7 @@ u8 func0007_alerted[] = {
|
||||
goto_next(0x48)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
call_rng
|
||||
if_rand_lt(10, /*goto*/ 0x57)
|
||||
if_rand_gt(64, /*goto*/ 0x16)
|
||||
@@ -1772,7 +1772,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
beginloop(0x30)
|
||||
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -1904,7 +1904,7 @@ u8 func0007_alerted[] = {
|
||||
set_action(MA_WAITING, TRUE)
|
||||
unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1)
|
||||
unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x40)
|
||||
|
||||
beginloop(0x40)
|
||||
@@ -1964,7 +1964,7 @@ u8 func0007_alerted[] = {
|
||||
endloop(0x89)
|
||||
|
||||
label(0x8a)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -1985,7 +1985,7 @@ u8 func0007_alerted[] = {
|
||||
goto_first(0x48)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
call_rng
|
||||
if_rand_lt(10, /*goto*/ 0x57)
|
||||
if_rand_gt(64, /*goto*/ 0x16)
|
||||
@@ -2085,7 +2085,7 @@ u8 func0007_alerted[] = {
|
||||
endloop(0x4f)
|
||||
|
||||
label(0x50)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -2102,7 +2102,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
label(0x13)
|
||||
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -2158,11 +2158,11 @@ u8 func0007_alerted[] = {
|
||||
try_run_to_target_chr(/*goto*/ 0x35)
|
||||
|
||||
beginloop(0x35)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x01)
|
||||
label(0x13)
|
||||
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -2269,7 +2269,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
beginloop(0x85)
|
||||
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -2294,7 +2294,7 @@ u8 func0007_alerted[] = {
|
||||
|
||||
label(0x26)
|
||||
dprint 'I','C','A','N','S','E',' ','P','L','A','Y','E','R','\n',0,
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
|
||||
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
|
||||
if_chr_distance_lt(120, /*goto*/ 0x16)
|
||||
@@ -2321,7 +2321,7 @@ u8 func0007_alerted[] = {
|
||||
goto_first(0x48)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
|
||||
call_rng
|
||||
if_rand_lt(10, /*goto*/ 0x57)
|
||||
if_rand_gt(64, /*goto*/ 0x16)
|
||||
@@ -2607,7 +2607,7 @@ u8 func0007_alerted[] = {
|
||||
set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER)
|
||||
|
||||
label(0x01)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00002000)
|
||||
stop_chr
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x16)
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x16)
|
||||
@@ -2627,15 +2627,15 @@ u8 func0007_alerted[] = {
|
||||
};
|
||||
|
||||
u8 func000a_do_idle_animation[] = {
|
||||
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00000080)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
set_chr_chrflag(CHR_SELF, CHRCFLAG_00000080)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
if_chr_idle_action_eq(IDLEACTION_SITTING_TYPING, /*goto*/ 0x16)
|
||||
if_chr_idle_action_eq(IDLEACTION_SITTING_DORMANT, /*goto*/ 0x16)
|
||||
goto_next(0x13)
|
||||
|
||||
label(0x16)
|
||||
set_chr_health(CHR_SELF, 1)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_TRIGGER_BUDDY_WARP)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
|
||||
label(0x13)
|
||||
set_onshot_function(GFUNC_UNALERTED)
|
||||
@@ -2891,7 +2891,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
// Co-op with friend or counter-op on any of the above stages
|
||||
// Or follow through if chr still has target
|
||||
label(0x16)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
dprint 'D','E','T','E','C','T','\n',0,
|
||||
if_chr_dying(CHR_SELF, /*goto*/ 0x16)
|
||||
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x16)
|
||||
@@ -2950,7 +2950,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
dprint 'D','E','T','E','C','T','3','\n',0,
|
||||
label(0xb2)
|
||||
yield
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
|
||||
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
|
||||
goto_next(0x16)
|
||||
|
||||
@@ -2962,7 +2962,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
dprint 'A','L','E','R','T','\n',0,
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0xb3)
|
||||
if_chr_is_skedar(CHR_SELF, /*goto*/ 0x16)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -3107,7 +3107,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
goto_next(0xc0)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x13)
|
||||
if_in_disarm_range(/*goto*/ 0xbf)
|
||||
label(0x13)
|
||||
if_timer_gt(120, /*goto*/ 0xc0)
|
||||
@@ -3121,7 +3121,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
|
||||
label(0xb6)
|
||||
set_grenade_probability_out_of_255(255)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
if_chr_dying(CHR_TARGET, /*goto*/ 0xc1)
|
||||
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc1)
|
||||
if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc1)
|
||||
@@ -3319,7 +3319,7 @@ u8 func000c_combat_with_target_chr[] = {
|
||||
|
||||
label(0x13)
|
||||
if_enemy_distance_lt_and_los(400, /*goto*/ 0x15)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x13)
|
||||
if_in_disarm_range(/*goto*/ 0xca)
|
||||
label(0x13)
|
||||
if_timer_gt(200, /*goto*/ 0x16)
|
||||
@@ -3715,11 +3715,11 @@ u8 func001a_maybe_unset_disspee[] = {
|
||||
// then they must not have a gun equipped.
|
||||
label(0x00)
|
||||
yield
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14)
|
||||
goto_next(0x13)
|
||||
|
||||
label(0x14)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8)
|
||||
goto_next(0x13)
|
||||
|
||||
label(0xe8)
|
||||
@@ -3960,7 +3960,7 @@ u8 func000f_hand_combat[] = {
|
||||
* The chr will make one comment, then it returns to the previous function.
|
||||
*/
|
||||
u8 func0010_civilian_say_comment[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_onshot_function(GFUNC_SURPRISED)
|
||||
label(0x0c)
|
||||
yield
|
||||
@@ -4000,7 +4000,7 @@ u8 func0010_civilian_say_comment[] = {
|
||||
// Unarmed
|
||||
label(0x07)
|
||||
restart_timer
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_01000000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_01000000, /*goto*/ 0x13)
|
||||
do_special_animation(-1)
|
||||
say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?"
|
||||
yield
|
||||
@@ -4012,13 +4012,13 @@ u8 func0010_civilian_say_comment[] = {
|
||||
set_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1)
|
||||
|
||||
label(0x13)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_01000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_01000000)
|
||||
return
|
||||
|
||||
// Armed
|
||||
label(0x05)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x06)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000)
|
||||
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?"
|
||||
do_special_animation(6)
|
||||
restart_timer
|
||||
@@ -4038,7 +4038,7 @@ u8 func0010_civilian_say_comment[] = {
|
||||
return
|
||||
|
||||
label(0x13)
|
||||
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
|
||||
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"
|
||||
do_special_animation(-1)
|
||||
@@ -4219,7 +4219,7 @@ u8 func001b_observe_camspy[] = {
|
||||
|
||||
// Shoot camspy
|
||||
label(0x09)
|
||||
set_self_flag_bank3(CHRFLAG3_00000040)
|
||||
set_self_chrflag(CHRCFLAG_00000040)
|
||||
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x16)
|
||||
label(0x16)
|
||||
try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0xc3)
|
||||
@@ -4414,7 +4414,7 @@ u8 func001d_search_for_player[] = {
|
||||
label(0x28)
|
||||
dprint 'E','Y','E',' ','S','P','Y','\n',0,
|
||||
label(0x12)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -4434,7 +4434,7 @@ u8 func001d_search_for_player[] = {
|
||||
goto_first(0x05)
|
||||
|
||||
label(0xc3)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -4565,11 +4565,11 @@ u8 func001f_related_to_spawning[] = {
|
||||
* Not used?
|
||||
*/
|
||||
u8 func0012_init_coop_100[] = {
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
|
||||
set_alertness(100)
|
||||
set_follow_chr(CHR_BOND)
|
||||
yield
|
||||
@@ -4639,11 +4639,11 @@ u8 func0012_init_coop_100[] = {
|
||||
* Not used?
|
||||
*/
|
||||
u8 func0013_init_coop_200[] = {
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
|
||||
set_chr_team(CHR_SELF, TEAM_ALLY)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
|
||||
set_alertness(200)
|
||||
yield
|
||||
yield
|
||||
@@ -4654,7 +4654,7 @@ u8 func0013_init_coop_200[] = {
|
||||
yield
|
||||
yield
|
||||
yield
|
||||
set_self_flag_bank3(CHRFLAG3_00080000)
|
||||
set_self_chrflag(CHRCFLAG_00080000)
|
||||
|
||||
// Wait for intro to finish
|
||||
beginloop(0x03)
|
||||
@@ -4698,7 +4698,7 @@ u8 func0014_coop_buddy[] = {
|
||||
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
|
||||
set_onshot_function(GFUNC_COOP_BUDDY)
|
||||
dprint 'B','A','C','K',' ','T','O',' ','B','U','D','D','Y','\n',0,
|
||||
unset_self_flag_bank3(CHRFLAG3_00040000)
|
||||
unset_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_flag_bankx(CHRFLAG1_00100000, BANK_1)
|
||||
set_morale(0)
|
||||
set_onshot_function(GFUNC_COOP_BUDDY)
|
||||
@@ -4724,12 +4724,12 @@ u8 func0014_coop_buddy[] = {
|
||||
dprint 'B','U','D','D','Y',' ','W','O','U','N','D','\n',0,
|
||||
|
||||
beginloop(0xf2)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
|
||||
goto_next(0x15)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
goto_next(LABEL_PLACE_BUDDY)
|
||||
|
||||
label(0x15)
|
||||
@@ -4738,14 +4738,14 @@ u8 func0014_coop_buddy[] = {
|
||||
|
||||
// Healthy
|
||||
label(0x16)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
|
||||
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
set_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
|
||||
label(0x16)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
|
||||
label(0xdc)
|
||||
set_target_chr(CHR_BOND)
|
||||
@@ -4762,24 +4762,24 @@ u8 func0014_coop_buddy[] = {
|
||||
try_run_to_target_chr(/*goto*/ 0x0c)
|
||||
|
||||
beginloop(0x0c)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
|
||||
goto_next(0x15)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
goto_next(LABEL_PLACE_BUDDY)
|
||||
|
||||
label(0x15)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
|
||||
goto_next(0x07)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
|
||||
label(0x07)
|
||||
set_target_chr(CHR_BOND)
|
||||
if_chr_sees_player(/*goto*/ 0xdd)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
|
||||
label(0xdd)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
|
||||
label(0xdc)
|
||||
@@ -4797,23 +4797,23 @@ u8 func0014_coop_buddy[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
|
||||
goto_next(0x15)
|
||||
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
|
||||
goto_next(LABEL_PLACE_BUDDY)
|
||||
|
||||
label(0x15)
|
||||
label(0x13)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
|
||||
goto_next(0x07)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
|
||||
label(0x07)
|
||||
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
|
||||
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
|
||||
if_stage_is_not(STAGE_G5BUILDING, /*goto*/ 0x15)
|
||||
goto_next(0x13)
|
||||
|
||||
@@ -4854,7 +4854,7 @@ u8 func0014_coop_buddy[] = {
|
||||
|
||||
// Found chr in group from non G5 or Deep Sea stage
|
||||
label(0x0b)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
|
||||
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
|
||||
goto_next(0x16)
|
||||
|
||||
@@ -4994,8 +4994,8 @@ u8 func0015_test_cutscene_buddy[] = {
|
||||
// Hide chr
|
||||
label(0x16)
|
||||
cmd01e0
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3((CHRFLAG3_HIDDEN | CHRFLAG3_00010000 | CHRFLAG3_00040000))
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag((CHRCFLAG_HIDDEN | CHRCFLAG_00010000 | CHRCFLAG_00040000))
|
||||
|
||||
// Wait 3 seconds
|
||||
restart_timer
|
||||
@@ -5043,14 +5043,14 @@ u8 func0015_test_cutscene_buddy[] = {
|
||||
// This will execute every second after the initial 7ish seconds and while
|
||||
// cutscene is not running. The chr is being moved back to the same pad
|
||||
// repeatedly, so this is surely some kind of debug function.
|
||||
set_chr_flag_bank2(CHR_SELF, 0x00100200)
|
||||
set_chr_hiddenflag(CHR_SELF, 0x00100200)
|
||||
chr_move_to_pad(CHR_SELF, 0x00f8, 0x58, /*goto*/ 0x17)
|
||||
goto_first(0x19)
|
||||
|
||||
label(0x17)
|
||||
unset_self_flag_bank3(0x00050400)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_flag_bank2(CHR_SELF, 0x00100200)
|
||||
unset_self_chrflag(0x00050400)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_chr_hiddenflag(CHR_SELF, 0x00100200)
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
|
||||
set_onshot_function(GFUNC_COOP_BUDDY)
|
||||
@@ -5134,11 +5134,11 @@ u8 func0026_init_psychosis[] = {
|
||||
set_onshot_function(GFUNC_INIT_PSYCHOSIS)
|
||||
set_chr_team(CHR_SELF, TEAM_NONCOMBAT)
|
||||
set_self_flag_bankx(CHRFLAG1_80000000, BANK_1)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_self_flag_bank3(CHRFLAG3_01000000)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_self_chrflag(CHRCFLAG_01000000)
|
||||
set_self_flag_bankx(CHRFLAG1_00100000, BANK_1)
|
||||
set_self_flag_bankx(CHRFLAG1_40000000, BANK_1)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
|
||||
set_alertness(100)
|
||||
set_follow_chr(CHR_BOND)
|
||||
yield
|
||||
@@ -5215,11 +5215,11 @@ u8 func0027_psychosised[] = {
|
||||
try_run_to_target_chr(/*goto*/ 0x0c)
|
||||
|
||||
beginloop(0x0c)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
|
||||
goto_next(0x07)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
|
||||
label(0x07)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
|
||||
set_target_chr(CHR_PRESET)
|
||||
@@ -5235,11 +5235,11 @@ u8 func0027_psychosised[] = {
|
||||
stop_chr
|
||||
|
||||
beginloop(0x04)
|
||||
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
|
||||
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
|
||||
goto_next(0x07)
|
||||
|
||||
label(0x06)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
|
||||
label(0x07)
|
||||
try_find_chr_in_team(/*goto*/ 0x03)
|
||||
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
|
||||
@@ -5273,16 +5273,16 @@ u8 func0027_psychosised[] = {
|
||||
};
|
||||
|
||||
u8 func002d_invincible_and_idle[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
|
||||
set_function(CHR_SELF, GFUNC_IDLE)
|
||||
endfunction
|
||||
};
|
||||
|
||||
u8 func0020_place_coop_buddy[] = {
|
||||
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_flag_bank3(CHRFLAG3_00040000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
|
||||
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
set_self_chrflag(CHRCFLAG_00040000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
|
||||
stop_chr
|
||||
set_target_chr(CHR_BOND)
|
||||
yield
|
||||
@@ -5332,11 +5332,11 @@ u8 func0020_place_coop_buddy[] = {
|
||||
|
||||
// Move to pad worked
|
||||
label(0x13)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
stop_chr
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
|
||||
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
|
||||
set_function(CHR_SELF, GFUNC_COOP_BUDDY)
|
||||
|
||||
@@ -5369,14 +5369,14 @@ u8 func0020_place_coop_buddy[] = {
|
||||
// Move to pad worked
|
||||
label(0x13)
|
||||
stop_chr
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00020000)
|
||||
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
|
||||
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
|
||||
|
||||
// Wait until flag unset (timer is not checked)
|
||||
restart_timer
|
||||
|
||||
beginloop(0xef)
|
||||
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
|
||||
goto_next(0x16)
|
||||
|
||||
label(0x13)
|
||||
@@ -5384,8 +5384,8 @@ u8 func0020_place_coop_buddy[] = {
|
||||
|
||||
// Unhide
|
||||
label(0x16)
|
||||
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
|
||||
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
||||
unset_self_chrflag(CHRCFLAG_HIDDEN)
|
||||
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
|
||||
stop_chr
|
||||
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
|
||||
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
|
||||
|
||||
Reference in New Issue
Block a user