diff --git a/zm_ai_pack/aitype/clientscripts/zm_alcatraz_basic.csc b/zm_ai_pack/aitype/clientscripts/zm_alcatraz_basic.csc index 3434893..e17a37a 100644 --- a/zm_ai_pack/aitype/clientscripts/zm_alcatraz_basic.csc +++ b/zm_ai_pack/aitype/clientscripts/zm_alcatraz_basic.csc @@ -22,7 +22,7 @@ main() self._aitype = "zm_alcatraz_basic"; } -#using_animtree("zm_prison_basic"); +#using_animtree("zm_all_basic"); precache( ai_index ) { @@ -30,6 +30,6 @@ precache( ai_index ) character\clientscripts\c_zom_inmate1::precache(); character\clientscripts\c_zom_inmate2::precache(); usefootsteptable( ai_index, "default_ai" ); - precacheanimstatedef( ai_index, #animtree, "zm_prison_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); setdemolockonvalues( ai_index, 100, 60, -15, 60, 30, -5, 60 ); } diff --git a/zm_ai_pack/aitype/clientscripts/zm_buried_basic_03.csc b/zm_ai_pack/aitype/clientscripts/zm_buried_basic_03.csc index 7f2d2f4..56ba34b 100644 --- a/zm_ai_pack/aitype/clientscripts/zm_buried_basic_03.csc +++ b/zm_ai_pack/aitype/clientscripts/zm_buried_basic_03.csc @@ -22,7 +22,7 @@ main() self._aitype = "zm_buried_basic_03"; } -#using_animtree("zm_buried_basic"); +#using_animtree("zm_all_basic"); precache( ai_index ) { @@ -30,6 +30,6 @@ precache( ai_index ) character\clientscripts\c_zom_zombie_buried_saloongirl2::precache(); character\clientscripts\c_zom_zombie_buried_saloongirl3::precache(); usefootsteptable( ai_index, "default_ai" ); - precacheanimstatedef( ai_index, #animtree, "zm_buried_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); setdemolockonvalues( ai_index, 100, 60, -15, 60, 30, -5, 60 ); } diff --git a/zm_ai_pack/aitype/clientscripts/zm_highrise_basic_01.csc b/zm_ai_pack/aitype/clientscripts/zm_highrise_basic_01.csc index 7dd14be..bf687e8 100644 --- a/zm_ai_pack/aitype/clientscripts/zm_highrise_basic_01.csc +++ b/zm_ai_pack/aitype/clientscripts/zm_highrise_basic_01.csc @@ -34,7 +34,7 @@ main() self._aitype = "zm_highrise_basic_01"; } -#using_animtree("zm_highrise_basic"); +#using_animtree("zm_all_basic"); precache( ai_index ) { @@ -45,6 +45,6 @@ precache( ai_index ) character\clientscripts\c_zom_zombie_civ_shorts5::precache(); character\clientscripts\c_zom_zombie_civ_shorts6::precache(); usefootsteptable( ai_index, "default_ai" ); - precacheanimstatedef( ai_index, #animtree, "zm_highrise_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); setdemolockonvalues( ai_index, 100, 60, -15, 60, 30, -5, 60 ); } diff --git a/zm_ai_pack/aitype/clientscripts/zm_tomb_basic_german.csc b/zm_ai_pack/aitype/clientscripts/zm_tomb_basic_german.csc index 7704ee5..bdeee12 100644 --- a/zm_ai_pack/aitype/clientscripts/zm_tomb_basic_german.csc +++ b/zm_ai_pack/aitype/clientscripts/zm_tomb_basic_german.csc @@ -33,7 +33,7 @@ main() self._aitype = "zm_tomb_basic_german"; } -#using_animtree("zm_tomb_basic"); +#using_animtree("zm_all_basic"); precache( ai_index ) { @@ -44,6 +44,6 @@ precache( ai_index ) character\clientscripts\c_zom_tomb_german_bare_nohat::precache(); character\clientscripts\c_zom_tomb_german_bare_nohat::precache(); usefootsteptable( ai_index, "default_ai" ); - precacheanimstatedef( ai_index, #animtree, "zm_tomb_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); setdemolockonvalues( ai_index, 100, 60, -15, 60, 30, -5, 60 ); } diff --git a/zm_ai_pack/aitype/clientscripts/zm_transit_basic_01.csc b/zm_ai_pack/aitype/clientscripts/zm_transit_basic_01.csc index 6992a3c..04b570a 100644 --- a/zm_ai_pack/aitype/clientscripts/zm_transit_basic_01.csc +++ b/zm_ai_pack/aitype/clientscripts/zm_transit_basic_01.csc @@ -18,13 +18,13 @@ main() self._aitype = "zm_transit_basic_01"; } -#using_animtree("zm_transit_basic"); +#using_animtree("zm_all_basic"); precache( ai_index ) { character\clientscripts\c_zom_zombie1_01::precache(); character\clientscripts\c_zom_zombie1_02::precache(); usefootsteptable( ai_index, "default_ai" ); - precacheanimstatedef( ai_index, #animtree, "zm_transit_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); setdemolockonvalues( ai_index, 100, 60, -15, 60, 30, -5, 60 ); } diff --git a/zm_ai_pack/aitype/zm_alcatraz_basic.gsc b/zm_ai_pack/aitype/zm_alcatraz_basic.gsc index 0efaa2b..89a4991 100644 --- a/zm_ai_pack/aitype/zm_alcatraz_basic.gsc +++ b/zm_ai_pack/aitype/zm_alcatraz_basic.gsc @@ -5,346 +5,762 @@ #include character\c_zom_inmate1; #include character\c_zom_inmate2; -#using_animtree("zm_prison_basic"); +#using_animtree("zm_all_basic"); reference_anims_from_animtree() { - dummy_anim_ref = %ai_zombie_idle_v1_delta; - dummy_anim_ref = %ai_zombie_idle_crawl_delta; - dummy_anim_ref = %ai_zombie_walk_v1; - dummy_anim_ref = %ai_zombie_walk_v2; - dummy_anim_ref = %ai_zombie_walk_v3; - dummy_anim_ref = %ai_zombie_walk_v4; - dummy_anim_ref = %ai_zombie_walk_v6; - dummy_anim_ref = %ai_zombie_walk_v7; - dummy_anim_ref = %ai_zombie_walk_v9; - dummy_anim_ref = %ai_zombie_crawl; - dummy_anim_ref = %ai_zombie_crawl_v1; - dummy_anim_ref = %ai_zombie_crawl_v2; - dummy_anim_ref = %ai_zombie_crawl_v3; - dummy_anim_ref = %ai_zombie_crawl_v4; - dummy_anim_ref = %ai_zombie_crawl_v5; - dummy_anim_ref = %ai_zombie_walk_fast_v1; - dummy_anim_ref = %ai_zombie_walk_fast_v2; - dummy_anim_ref = %ai_zombie_walk_fast_v3; - dummy_anim_ref = %ai_zombie_run_v2; - dummy_anim_ref = %ai_zombie_run_v4; - dummy_anim_ref = %ai_zombie_run_v3; - dummy_anim_ref = %ai_zombie_sprint_v1; - dummy_anim_ref = %ai_zombie_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_sprint; - dummy_anim_ref = %ai_zombie_crawl_sprint_1; - dummy_anim_ref = %ai_zombie_crawl_sprint_2; - dummy_anim_ref = %ai_zombie_fast_sprint_01; - dummy_anim_ref = %ai_zombie_fast_sprint_02; - dummy_anim_ref = %ai_zombie_walk_on_hands_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_b; - dummy_anim_ref = %ai_zombie_attack_v2; - dummy_anim_ref = %ai_zombie_attack_v4; - dummy_anim_ref = %ai_zombie_attack_v6; - dummy_anim_ref = %ai_zombie_attack_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v1; - dummy_anim_ref = %ai_zombie_walk_attack_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v3; - dummy_anim_ref = %ai_zombie_walk_attack_v4; - dummy_anim_ref = %ai_zombie_run_attack_v1; - dummy_anim_ref = %ai_zombie_run_attack_v2; - dummy_anim_ref = %ai_zombie_run_attack_v3; - dummy_anim_ref = %ai_zombie_attack_crawl; - dummy_anim_ref = %ai_zombie_attack_crawl_lunge; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; - dummy_anim_ref = %ai_zombie_spets_roll_a; - dummy_anim_ref = %ai_zombie_spets_roll_b; - dummy_anim_ref = %ai_zombie_spets_roll_c; - dummy_anim_ref = %ai_zombie_taunts_4; - dummy_anim_ref = %ai_zombie_taunts_7; - dummy_anim_ref = %ai_zombie_taunts_9; - dummy_anim_ref = %ai_zombie_taunts_5b; - dummy_anim_ref = %ai_zombie_taunts_5c; - dummy_anim_ref = %ai_zombie_taunts_5d; - dummy_anim_ref = %ai_zombie_taunts_5e; - dummy_anim_ref = %ai_zombie_taunts_5f; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_inert_v4; - dummy_anim_ref = %ai_zombie_inert_v6; - dummy_anim_ref = %ai_zombie_inert_stagger_v1; - dummy_anim_ref = %ai_zombie_inert_stagger_v2; - dummy_anim_ref = %ai_zombie_inert_stagger_v3; - dummy_anim_ref = %ai_zombie_inert_stagger_v4; - dummy_anim_ref = %ai_zombie_inert_circle_v1; - dummy_anim_ref = %ai_zombie_inert_2_awake_v1; - dummy_anim_ref = %ai_zombie_inert_2_awake_v2; - dummy_anim_ref = %ai_zombie_inert_2_awake_v3; - dummy_anim_ref = %ai_zombie_inert_2_awake_v4; - dummy_anim_ref = %ai_zombie_inert_2_awake_v5; - dummy_anim_ref = %ai_zombie_inert_2_awake_v6; - dummy_anim_ref = %ai_zombie_inert_2_awake_v7; - dummy_anim_ref = %ai_zombie_inert_2_awake_v8; - dummy_anim_ref = %ai_zombie_crawl_inert_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_v3; - dummy_anim_ref = %ai_zombie_crawl_inert_v4; - dummy_anim_ref = %ai_zombie_crawl_inert_v5; - dummy_anim_ref = %ai_zombie_crawl_inert_v6; - dummy_anim_ref = %ai_zombie_crawl_inert_v7; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; - dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; - dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; - dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_alta; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; - dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; - dummy_anim_ref = %ai_zombie_ceiling_attack_01; - dummy_anim_ref = %ai_zombie_ceiling_attack_02; - dummy_anim_ref = %ai_zombie_ceiling_emerge_01; - dummy_anim_ref = %ai_zombie_ceiling_death; - dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; - dummy_anim_ref = %ai_zombie_ceiling_fall_loop; - dummy_anim_ref = %ai_zombie_ceiling_fall_land; - dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; - dummy_anim_ref = %ch_dazed_a_death; - dummy_anim_ref = %ch_dazed_b_death; - dummy_anim_ref = %ch_dazed_c_death; - dummy_anim_ref = %ch_dazed_d_death; - dummy_anim_ref = %ai_zombie_crawl_death_v1; - dummy_anim_ref = %ai_zombie_crawl_death_v2; - dummy_anim_ref = %ai_zombie_dreamcatch_shrink; - dummy_anim_ref = %ai_zombie_dreamcatch_impact; - dummy_anim_ref = %ai_zombie_dreamcatch_rise; - dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; - dummy_anim_ref = %ai_zombie_traverse_v1; - dummy_anim_ref = %ai_zombie_traverse_v2; - dummy_anim_ref = %ai_zombie_traverse_v5; - dummy_anim_ref = %ai_zombie_traverse_v6; - dummy_anim_ref = %ai_zombie_traverse_v7; - dummy_anim_ref = %ai_zombie_traverse_crawl_v1; - dummy_anim_ref = %ai_zombie_traverse_v4; - dummy_anim_ref = %ai_zombie_climb_down_pothole; - dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; - dummy_anim_ref = %ai_zombie_climb_up_pothole; - dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; - dummy_anim_ref = %ai_zombie_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_stumble_48; - dummy_anim_ref = %ai_zombie_crawl_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_stumble_90; - dummy_anim_ref = %ai_zombie_crawl_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_stumble_127; - dummy_anim_ref = %ai_zombie_crawl_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_190; - dummy_anim_ref = %ai_zombie_jump_down_stumble_190; - dummy_anim_ref = %ai_zombie_crawl_jump_down_189; - dummy_anim_ref = %ai_zombie_jump_down_222; - dummy_anim_ref = %ai_zombie_jump_down_stumble_222; - dummy_anim_ref = %ai_zombie_crawl_jump_down_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_jump_up_127; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; - dummy_anim_ref = %ai_zombie_jump_up_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_jump_down_cellblock; - dummy_anim_ref = %ai_zombie_jump_up_cellblock; - dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; - dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; - dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; - dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; - dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; - dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; - dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun; - dummy_anim_ref = %ai_zombie_crawl_jump_across_120; - dummy_anim_ref = %ai_zombie_jump_across_120; - dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; - dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; - dummy_anim_ref = %ai_zombie_traverse_diner_roof; - dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; - dummy_anim_ref = %ai_zombie_traverse_garage_roll; - dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; - dummy_anim_ref = %ai_zombie_jump_up_diner_roof; - dummy_anim_ref = %ai_zombie_jump_up_2_climb; - dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; - dummy_anim_ref = %ai_zombie_climb_over_dock_fence; - dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; - dummy_anim_ref = %ai_zombie_jump_up_goldengate; - dummy_anim_ref = %ai_zombie_jump_up_dock; - dummy_anim_ref = %ai_zombie_climb_up_ext_low; - dummy_anim_ref = %ai_zombie_climb_up_ext_mid; - dummy_anim_ref = %ai_zombie_climb_up_ext_roof; - dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic; - dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; - dummy_anim_ref = %ai_zombie_traverse_lower_gondola; - dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; - dummy_anim_ref = %ai_zombie_jump_up_dock_middle; - dummy_anim_ref = %ai_zombie_barricade_enter_l; - dummy_anim_ref = %ai_zombie_barricade_enter_r; - dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; - dummy_anim_ref = %ai_zombie_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_sprint_v6; - dummy_anim_ref = %ai_zombie_sprint_v7; - dummy_anim_ref = %ai_zombie_sprint_v8; - dummy_anim_ref = %ai_zombie_sprint_v9; - dummy_anim_ref = %ai_zombie_sprint_v10; - dummy_anim_ref = %ai_zombie_sprint_v11; - dummy_anim_ref = %ai_zombie_sprint_v12; - dummy_anim_ref = %ai_zombie_riotshield_loop_v1; - dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; - dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; - dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; - dummy_anim_ref = %ai_zombie_afterlife_stun_a; - dummy_anim_ref = %ai_zombie_afterlife_stun_b; - dummy_anim_ref = %ai_zombie_afterlife_stun_c; - dummy_anim_ref = %ai_zombie_afterlife_stun_d; - dummy_anim_ref = %ai_zombie_afterlife_stun_e; - dummy_anim_ref = %ai_zombie_acid_stun_a; - dummy_anim_ref = %ai_zombie_acid_stun_b; - dummy_anim_ref = %ai_zombie_acid_stun_c; - dummy_anim_ref = %ai_zombie_acid_stun_d; - dummy_anim_ref = %ai_zombie_acid_stun_e; + dummy_anim_ref = %ai_zombie_idle_v1_delta; + dummy_anim_ref = %ai_zombie_idle_crawl_delta; + dummy_anim_ref = %ai_zombie_walk_v1; + dummy_anim_ref = %ai_zombie_walk_v2; + dummy_anim_ref = %ai_zombie_walk_v3; + dummy_anim_ref = %ai_zombie_walk_v4; + dummy_anim_ref = %ai_zombie_walk_v6; + dummy_anim_ref = %ai_zombie_walk_v7; + dummy_anim_ref = %ai_zombie_walk_v9; + dummy_anim_ref = %ai_zombie_crawl; + dummy_anim_ref = %ai_zombie_crawl_v1; + dummy_anim_ref = %ai_zombie_crawl_v2; + dummy_anim_ref = %ai_zombie_crawl_v3; + dummy_anim_ref = %ai_zombie_crawl_v4; + dummy_anim_ref = %ai_zombie_crawl_v5; + dummy_anim_ref = %ai_zombie_walk_fast_v1; + dummy_anim_ref = %ai_zombie_walk_fast_v2; + dummy_anim_ref = %ai_zombie_walk_fast_v3; + dummy_anim_ref = %ai_zombie_run_v2; + dummy_anim_ref = %ai_zombie_run_v4; + dummy_anim_ref = %ai_zombie_run_v3; + dummy_anim_ref = %ai_zombie_sprint_v1; + dummy_anim_ref = %ai_zombie_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_sprint; + dummy_anim_ref = %ai_zombie_crawl_sprint_1; + dummy_anim_ref = %ai_zombie_crawl_sprint_2; + dummy_anim_ref = %ai_zombie_fast_sprint_01; + dummy_anim_ref = %ai_zombie_fast_sprint_02; + dummy_anim_ref = %ai_zombie_walk_on_hands_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_b; + dummy_anim_ref = %ai_zombie_attack_v2; + dummy_anim_ref = %ai_zombie_attack_v4; + dummy_anim_ref = %ai_zombie_attack_v6; + dummy_anim_ref = %ai_zombie_attack_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v1; + dummy_anim_ref = %ai_zombie_walk_attack_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v3; + dummy_anim_ref = %ai_zombie_walk_attack_v4; + dummy_anim_ref = %ai_zombie_run_attack_v1; + dummy_anim_ref = %ai_zombie_run_attack_v2; + dummy_anim_ref = %ai_zombie_run_attack_v3; + dummy_anim_ref = %ai_zombie_attack_crawl; + dummy_anim_ref = %ai_zombie_attack_crawl_lunge; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; + dummy_anim_ref = %ai_zombie_spets_roll_a; + dummy_anim_ref = %ai_zombie_spets_roll_b; + dummy_anim_ref = %ai_zombie_spets_roll_c; + dummy_anim_ref = %ai_zombie_taunts_4; + dummy_anim_ref = %ai_zombie_taunts_7; + dummy_anim_ref = %ai_zombie_taunts_9; + dummy_anim_ref = %ai_zombie_taunts_5b; + dummy_anim_ref = %ai_zombie_taunts_5c; + dummy_anim_ref = %ai_zombie_taunts_5d; + dummy_anim_ref = %ai_zombie_taunts_5e; + dummy_anim_ref = %ai_zombie_taunts_5f; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_inert_look_v1; + dummy_anim_ref = %ai_zombie_inert_look_v2; + dummy_anim_ref = %ai_zombie_inert_v4; + dummy_anim_ref = %ai_zombie_inert_v6; + dummy_anim_ref = %ai_zombie_inert_stagger_v1; + dummy_anim_ref = %ai_zombie_inert_stagger_v2; + dummy_anim_ref = %ai_zombie_inert_stagger_v3; + dummy_anim_ref = %ai_zombie_inert_stagger_v4; + dummy_anim_ref = %ai_zombie_inert_circle_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_inert_2_awake_v6; + dummy_anim_ref = %ai_zombie_inert_2_awake_v7; + dummy_anim_ref = %ai_zombie_inert_2_awake_v8; + dummy_anim_ref = %ai_zombie_inert_2_walk_v11; + dummy_anim_ref = %ai_zombie_inert_2_walk_v12; + dummy_anim_ref = %ai_zombie_inert_2_walk_v13; + dummy_anim_ref = %ai_zombie_inert_2_walk_v14; + dummy_anim_ref = %ai_zombie_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_v6; + dummy_anim_ref = %ai_zombie_crawl_inert_v7; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; + dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; + dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_altA; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; + dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_dugup; + dummy_anim_ref = %ai_zombie_ceiling_attack_01; + dummy_anim_ref = %ai_zombie_ceiling_attack_02; + dummy_anim_ref = %ai_zombie_ceiling_emerge_01; + dummy_anim_ref = %ai_zombie_ceiling_death; + dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; + dummy_anim_ref = %ai_zombie_ceiling_fall_loop; + dummy_anim_ref = %ai_zombie_ceiling_fall_land; + dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; + dummy_anim_ref = %ch_dazed_a_death; + dummy_anim_ref = %ch_dazed_b_death; + dummy_anim_ref = %ch_dazed_c_death; + dummy_anim_ref = %ch_dazed_d_death; + dummy_anim_ref = %ai_zombie_crawl_death_v1; + dummy_anim_ref = %ai_zombie_crawl_death_v2; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink; + dummy_anim_ref = %ai_zombie_dreamcatch_impact; + dummy_anim_ref = %ai_zombie_dreamcatch_rise; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; + dummy_anim_ref = %ai_zombie_traverse_v1; + dummy_anim_ref = %ai_zombie_traverse_v2; + dummy_anim_ref = %ai_zombie_traverse_v5; + dummy_anim_ref = %ai_zombie_traverse_v6; + dummy_anim_ref = %ai_zombie_traverse_v7; + dummy_anim_ref = %ai_zombie_traverse_crawl_v1; + dummy_anim_ref = %ai_zombie_traverse_v4; + dummy_anim_ref = %ai_zombie_climb_down_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; + dummy_anim_ref = %ai_zombie_climb_up_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; + dummy_anim_ref = %ai_zombie_barricade_enter_l; + dummy_anim_ref = %ai_zombie_barricade_enter_r; + dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; + dummy_anim_ref = %ai_zombie_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_slipslide_collapse; + dummy_anim_ref = %ai_zombie_walk_slipslide; + dummy_anim_ref = %ai_zombie_walk_slipslide_a; + dummy_anim_ref = %ai_zombie_run_slipslide; + dummy_anim_ref = %ai_zombie_run_slipslide_a; + dummy_anim_ref = %ai_zombie_sprint_slipslide; + dummy_anim_ref = %ai_zombie_sprint_slipslide_a; + dummy_anim_ref = %ai_zombie_stand_slipslide_recover; + dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; + dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; + dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; + dummy_anim_ref = %ai_zombie_thundergun_hit; + dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; + dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; + dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; + dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; + dummy_anim_ref = %ai_zombie_thundergun_getup; + dummy_anim_ref = %ai_zombie_thundergun_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_c; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a ; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; + dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; + dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; + dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; + dummy_anim_ref = %ai_zombie_jump_across_120; + dummy_anim_ref = %ai_zombie_crawl_jump_across_120; + dummy_anim_ref = %ai_zombie_jump_down_40; + dummy_anim_ref = %ai_zombie_crawl_jump_down_40; + dummy_anim_ref = %ai_zombie_jump_down_fast_40; + dummy_anim_ref = %ai_zombie_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_stumble_48; + dummy_anim_ref = %ai_zombie_crawl_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_72; + dummy_anim_ref = %ai_zombie_crawl_jump_down_72; + dummy_anim_ref = %ai_zombie_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_stumble_90; + dummy_anim_ref = %ai_zombie_crawl_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_120; + dummy_anim_ref = %ai_zombie_crawl_jump_down_120; + dummy_anim_ref = %ai_zombie_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_stumble_127; + dummy_anim_ref = %ai_zombie_crawl_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_176; + dummy_anim_ref = %ai_zombie_crawl_jump_down_176; + dummy_anim_ref = %ai_zombie_jump_down_184; + dummy_anim_ref = %ai_zombie_crawl_jump_down_184; + dummy_anim_ref = %ai_zombie_jump_down_190; + dummy_anim_ref = %ai_zombie_jump_down_stumble_190; + dummy_anim_ref = %ai_zombie_crawl_jump_down_189; + dummy_anim_ref = %ai_zombie_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_down_stumble_222; + dummy_anim_ref = %ai_zombie_crawl_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_48 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; + dummy_anim_ref = %ai_zombie_jump_down_240; + dummy_anim_ref = %ai_zombie_crawl_jump_down_240; + dummy_anim_ref = %ai_zombie_jump_down_286; + dummy_anim_ref = %ai_zombie_crawl_jump_down_286; + dummy_anim_ref = %ai_zombie_jump_down_386; + dummy_anim_ref = %ai_zombie_crawl_jump_down_386; + dummy_anim_ref = %ai_zombie_jump_up_72; + dummy_anim_ref = %ai_zombie_crawl_jump_up_72; + dummy_anim_ref = %ai_zombie_jump_up_96 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_96; + dummy_anim_ref = %ai_zombie_jump_up_127; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_jump_up_154; + dummy_anim_ref = %ai_zombie_crawl_jump_up_154; + dummy_anim_ref = %ai_zombie_jump_up_175; + dummy_anim_ref = %ai_zombie_crawl_jump_up_175 ; + dummy_anim_ref = %ai_zombie_jump_up_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_traverse_alcove_40; + dummy_anim_ref = %ai_zombie_traverse_alcove_56; + dummy_anim_ref = %ai_zombie_traverse_alcove_96; + dummy_anim_ref = %ai_zombie_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_jump_down_church; + dummy_anim_ref = %ai_zombie_jump_down_church; + dummy_anim_ref = %ai_zombie_traverse_garage_roll; + dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_traverse_48; + dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun ; + dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_car; + dummy_anim_ref = %ai_zombie_crawl_traverse_car ; + dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; + dummy_anim_ref = %ai_zombie_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_jump_up_goldengate; + dummy_anim_ref = %ai_zombie_jump_up_dock; + dummy_anim_ref = %ai_zombie_climb_up_ext_low; + dummy_anim_ref = %ai_zombie_climb_up_ext_mid; + dummy_anim_ref = %ai_zombie_climb_up_ext_roof; + dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; + dummy_anim_ref = %ai_zombie_traverse_lower_gondola; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_walk_bus_v1; + dummy_anim_ref = %ai_zombie_walk_bus_v2; + dummy_anim_ref = %ai_zombie_walk_bus_v3; + dummy_anim_ref = %ai_zombie_walk_bus_v4; + dummy_anim_ref = %ai_zombie_bus_jump_door; + dummy_anim_ref = %ai_zombie_bus_jump_door_exit; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; + dummy_anim_ref = %ai_zombie_bus_hatch_tear; + dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; + dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; + dummy_anim_ref = %ai_zombie_bus_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; + dummy_anim_ref = %ai_zombie_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_sprint_v6; + dummy_anim_ref = %ai_zombie_sprint_v7; + dummy_anim_ref = %ai_zombie_sprint_v8; + dummy_anim_ref = %ai_zombie_sprint_v9 ; + dummy_anim_ref = %ai_zombie_sprint_v10; + dummy_anim_ref = %ai_zombie_sprint_v11; + dummy_anim_ref = %ai_zombie_sprint_v12; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; + dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; + dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_jump_up_sewing; + dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; + dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_climb_elevator ; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; + dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_afterlife_stun_a; + dummy_anim_ref = %ai_zombie_afterlife_stun_b; + dummy_anim_ref = %ai_zombie_afterlife_stun_c; + dummy_anim_ref = %ai_zombie_afterlife_stun_d; + dummy_anim_ref = %ai_zombie_afterlife_stun_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; + dummy_anim_ref = %ai_zombie_death_icestaff_a; + dummy_anim_ref = %ai_zombie_death_icestaff_b; + dummy_anim_ref = %ai_zombie_death_icestaff_c; + dummy_anim_ref = %ai_zombie_death_icestaff_d; + dummy_anim_ref = %ai_zombie_death_icestaff_e; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; + dummy_anim_ref = %ai_zombie_grabbed_by_mech ; + dummy_anim_ref = %ai_zombie_acid_stun_a; + dummy_anim_ref = %ai_zombie_acid_stun_b; + dummy_anim_ref = %ai_zombie_acid_stun_c; + dummy_anim_ref = %ai_zombie_acid_stun_d; + dummy_anim_ref = %ai_zombie_acid_stun_e; } main() @@ -401,7 +817,7 @@ spawner() precache( ai_index ) { level thread reference_anims_from_animtree(); - precacheanimstatedef( ai_index, #animtree, "zm_prison_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); character\c_zom_guard::precache(); character\c_zom_inmate1::precache(); character\c_zom_inmate2::precache(); diff --git a/zm_ai_pack/aitype/zm_buried_basic_03.gsc b/zm_ai_pack/aitype/zm_buried_basic_03.gsc index 90e40db..3fcb7bd 100644 --- a/zm_ai_pack/aitype/zm_buried_basic_03.gsc +++ b/zm_ai_pack/aitype/zm_buried_basic_03.gsc @@ -5,344 +5,762 @@ #include character\c_zom_zombie_buried_saloongirl2; #include character\c_zom_zombie_buried_saloongirl3; -#using_animtree("zm_buried_basic"); +#using_animtree("zm_all_basic"); reference_anims_from_animtree() { - dummy_anim_ref = %ai_zombie_idle_v1_delta; - dummy_anim_ref = %ai_zombie_idle_crawl_delta; - dummy_anim_ref = %ai_zombie_walk_v1; - dummy_anim_ref = %ai_zombie_walk_v2; - dummy_anim_ref = %ai_zombie_walk_v3; - dummy_anim_ref = %ai_zombie_walk_v4; - dummy_anim_ref = %ai_zombie_walk_v6; - dummy_anim_ref = %ai_zombie_walk_v7; - dummy_anim_ref = %ai_zombie_walk_v9; - dummy_anim_ref = %ai_zombie_crawl; - dummy_anim_ref = %ai_zombie_crawl_v1; - dummy_anim_ref = %ai_zombie_crawl_v2; - dummy_anim_ref = %ai_zombie_crawl_v3; - dummy_anim_ref = %ai_zombie_crawl_v4; - dummy_anim_ref = %ai_zombie_crawl_v5; - dummy_anim_ref = %ai_zombie_walk_fast_v1; - dummy_anim_ref = %ai_zombie_walk_fast_v2; - dummy_anim_ref = %ai_zombie_walk_fast_v3; - dummy_anim_ref = %ai_zombie_run_v2; - dummy_anim_ref = %ai_zombie_run_v4; - dummy_anim_ref = %ai_zombie_run_v3; - dummy_anim_ref = %ai_zombie_sprint_v1; - dummy_anim_ref = %ai_zombie_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_sprint; - dummy_anim_ref = %ai_zombie_crawl_sprint_1; - dummy_anim_ref = %ai_zombie_crawl_sprint_2; - dummy_anim_ref = %ai_zombie_fast_sprint_01; - dummy_anim_ref = %ai_zombie_fast_sprint_02; - dummy_anim_ref = %ai_zombie_walk_on_hands_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_b; - dummy_anim_ref = %ai_zombie_attack_v2; - dummy_anim_ref = %ai_zombie_attack_v4; - dummy_anim_ref = %ai_zombie_attack_v6; - dummy_anim_ref = %ai_zombie_attack_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v1; - dummy_anim_ref = %ai_zombie_walk_attack_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v3; - dummy_anim_ref = %ai_zombie_walk_attack_v4; - dummy_anim_ref = %ai_zombie_run_attack_v1; - dummy_anim_ref = %ai_zombie_run_attack_v2; - dummy_anim_ref = %ai_zombie_run_attack_v3; - dummy_anim_ref = %ai_zombie_attack_crawl; - dummy_anim_ref = %ai_zombie_attack_crawl_lunge; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; - dummy_anim_ref = %ai_zombie_spets_roll_a; - dummy_anim_ref = %ai_zombie_spets_roll_b; - dummy_anim_ref = %ai_zombie_spets_roll_c; - dummy_anim_ref = %ai_zombie_taunts_4; - dummy_anim_ref = %ai_zombie_taunts_7; - dummy_anim_ref = %ai_zombie_taunts_9; - dummy_anim_ref = %ai_zombie_taunts_5b; - dummy_anim_ref = %ai_zombie_taunts_5c; - dummy_anim_ref = %ai_zombie_taunts_5d; - dummy_anim_ref = %ai_zombie_taunts_5e; - dummy_anim_ref = %ai_zombie_taunts_5f; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_inert_look_v1; - dummy_anim_ref = %ai_zombie_inert_look_v2; - dummy_anim_ref = %ai_zombie_inert_stagger_v1; - dummy_anim_ref = %ai_zombie_inert_stagger_v2; - dummy_anim_ref = %ai_zombie_inert_stagger_v3; - dummy_anim_ref = %ai_zombie_inert_stagger_v4; - dummy_anim_ref = %ai_zombie_inert_circle_v1; - dummy_anim_ref = %ai_zombie_inert_2_walk_v11; - dummy_anim_ref = %ai_zombie_inert_2_walk_v12; - dummy_anim_ref = %ai_zombie_inert_2_walk_v13; - dummy_anim_ref = %ai_zombie_inert_2_walk_v14; - dummy_anim_ref = %ai_zombie_inert_2_run_v1; - dummy_anim_ref = %ai_zombie_inert_2_run_v2; - dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; - dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_v3; - dummy_anim_ref = %ai_zombie_crawl_inert_v4; - dummy_anim_ref = %ai_zombie_crawl_inert_v5; - dummy_anim_ref = %ai_zombie_crawl_inert_v6; - dummy_anim_ref = %ai_zombie_crawl_inert_v7; - dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; - dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; - dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; - dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; - dummy_anim_ref = %ai_zombie_ceiling_attack_01; - dummy_anim_ref = %ai_zombie_ceiling_attack_02; - dummy_anim_ref = %ai_zombie_ceiling_emerge_01; - dummy_anim_ref = %ai_zombie_ceiling_death; - dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; - dummy_anim_ref = %ai_zombie_ceiling_fall_loop; - dummy_anim_ref = %ai_zombie_ceiling_fall_land; - dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; - dummy_anim_ref = %ch_dazed_a_death; - dummy_anim_ref = %ch_dazed_b_death; - dummy_anim_ref = %ch_dazed_c_death; - dummy_anim_ref = %ch_dazed_d_death; - dummy_anim_ref = %ai_zombie_crawl_death_v1; - dummy_anim_ref = %ai_zombie_crawl_death_v2; - dummy_anim_ref = %ai_zombie_traverse_v1; - dummy_anim_ref = %ai_zombie_traverse_v2; - dummy_anim_ref = %ai_zombie_traverse_v5; - dummy_anim_ref = %ai_zombie_traverse_v6; - dummy_anim_ref = %ai_zombie_traverse_v7; - dummy_anim_ref = %ai_zombie_traverse_crawl_v1; - dummy_anim_ref = %ai_zombie_traverse_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_l; - dummy_anim_ref = %ai_zombie_barricade_enter_r; - dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; - dummy_anim_ref = %ai_zombie_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_slipslide_collapse; - dummy_anim_ref = %ai_zombie_walk_slipslide; - dummy_anim_ref = %ai_zombie_walk_slipslide_a; - dummy_anim_ref = %ai_zombie_run_slipslide; - dummy_anim_ref = %ai_zombie_run_slipslide_a; - dummy_anim_ref = %ai_zombie_sprint_slipslide; - dummy_anim_ref = %ai_zombie_sprint_slipslide_a; - dummy_anim_ref = %ai_zombie_stand_slipslide_recover; - dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; - dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; - dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; - dummy_anim_ref = %ai_zombie_thundergun_hit; - dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; - dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; - dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; - dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; - dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; - dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; - dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; - dummy_anim_ref = %ai_zombie_thundergun_getup; - dummy_anim_ref = %ai_zombie_thundergun_getup_b; - dummy_anim_ref = %ai_zombie_thundergun_getup_c; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; - dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; - dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; - dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; - dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; - dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; - dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; - dummy_anim_ref = %ai_zombie_thundergun_getup_a; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a; - dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; - dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; - dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; - dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; - dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; - dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; - dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; - dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; - dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; - dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; - dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; - dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; - dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; - dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; - dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; - dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; - dummy_anim_ref = %ai_zombie_jump_across_120; - dummy_anim_ref = %ai_zombie_crawl_jump_across_120; - dummy_anim_ref = %ai_zombie_jump_down_48; - dummy_anim_ref = %ai_zombie_crawl_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_72; - dummy_anim_ref = %ai_zombie_crawl_jump_down_72; - dummy_anim_ref = %ai_zombie_jump_down_96; - dummy_anim_ref = %ai_zombie_crawl_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_127; - dummy_anim_ref = %ai_zombie_crawl_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_176; - dummy_anim_ref = %ai_zombie_crawl_jump_down_176; - dummy_anim_ref = %ai_zombie_jump_down_190; - dummy_anim_ref = %ai_zombie_crawl_jump_down_189; - dummy_anim_ref = %ai_zombie_jump_down_222; - dummy_anim_ref = %ai_zombie_crawl_jump_down_222; - dummy_anim_ref = %ai_zombie_jump_down_240; - dummy_anim_ref = %ai_zombie_crawl_jump_down_240; - dummy_anim_ref = %ai_zombie_jump_up_96; - dummy_anim_ref = %ai_zombie_crawl_jump_up_96; - dummy_anim_ref = %ai_zombie_jump_up_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_127; - dummy_anim_ref = %ai_zombie_jump_up_154; - dummy_anim_ref = %ai_zombie_crawl_jump_up_154; - dummy_anim_ref = %ai_zombie_jump_up_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; - dummy_anim_ref = %ai_zombie_jump_up_startrailing; - dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; - dummy_anim_ref = %ai_zombie_jump_down_startrailing; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_crawl_traverse_48; - dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_idle_v1_delta; + dummy_anim_ref = %ai_zombie_idle_crawl_delta; + dummy_anim_ref = %ai_zombie_walk_v1; + dummy_anim_ref = %ai_zombie_walk_v2; + dummy_anim_ref = %ai_zombie_walk_v3; + dummy_anim_ref = %ai_zombie_walk_v4; + dummy_anim_ref = %ai_zombie_walk_v6; + dummy_anim_ref = %ai_zombie_walk_v7; + dummy_anim_ref = %ai_zombie_walk_v9; + dummy_anim_ref = %ai_zombie_crawl; + dummy_anim_ref = %ai_zombie_crawl_v1; + dummy_anim_ref = %ai_zombie_crawl_v2; + dummy_anim_ref = %ai_zombie_crawl_v3; + dummy_anim_ref = %ai_zombie_crawl_v4; + dummy_anim_ref = %ai_zombie_crawl_v5; + dummy_anim_ref = %ai_zombie_walk_fast_v1; + dummy_anim_ref = %ai_zombie_walk_fast_v2; + dummy_anim_ref = %ai_zombie_walk_fast_v3; + dummy_anim_ref = %ai_zombie_run_v2; + dummy_anim_ref = %ai_zombie_run_v4; + dummy_anim_ref = %ai_zombie_run_v3; + dummy_anim_ref = %ai_zombie_sprint_v1; + dummy_anim_ref = %ai_zombie_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_sprint; + dummy_anim_ref = %ai_zombie_crawl_sprint_1; + dummy_anim_ref = %ai_zombie_crawl_sprint_2; + dummy_anim_ref = %ai_zombie_fast_sprint_01; + dummy_anim_ref = %ai_zombie_fast_sprint_02; + dummy_anim_ref = %ai_zombie_walk_on_hands_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_b; + dummy_anim_ref = %ai_zombie_attack_v2; + dummy_anim_ref = %ai_zombie_attack_v4; + dummy_anim_ref = %ai_zombie_attack_v6; + dummy_anim_ref = %ai_zombie_attack_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v1; + dummy_anim_ref = %ai_zombie_walk_attack_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v3; + dummy_anim_ref = %ai_zombie_walk_attack_v4; + dummy_anim_ref = %ai_zombie_run_attack_v1; + dummy_anim_ref = %ai_zombie_run_attack_v2; + dummy_anim_ref = %ai_zombie_run_attack_v3; + dummy_anim_ref = %ai_zombie_attack_crawl; + dummy_anim_ref = %ai_zombie_attack_crawl_lunge; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; + dummy_anim_ref = %ai_zombie_spets_roll_a; + dummy_anim_ref = %ai_zombie_spets_roll_b; + dummy_anim_ref = %ai_zombie_spets_roll_c; + dummy_anim_ref = %ai_zombie_taunts_4; + dummy_anim_ref = %ai_zombie_taunts_7; + dummy_anim_ref = %ai_zombie_taunts_9; + dummy_anim_ref = %ai_zombie_taunts_5b; + dummy_anim_ref = %ai_zombie_taunts_5c; + dummy_anim_ref = %ai_zombie_taunts_5d; + dummy_anim_ref = %ai_zombie_taunts_5e; + dummy_anim_ref = %ai_zombie_taunts_5f; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_inert_look_v1; + dummy_anim_ref = %ai_zombie_inert_look_v2; + dummy_anim_ref = %ai_zombie_inert_v4; + dummy_anim_ref = %ai_zombie_inert_v6; + dummy_anim_ref = %ai_zombie_inert_stagger_v1; + dummy_anim_ref = %ai_zombie_inert_stagger_v2; + dummy_anim_ref = %ai_zombie_inert_stagger_v3; + dummy_anim_ref = %ai_zombie_inert_stagger_v4; + dummy_anim_ref = %ai_zombie_inert_circle_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_inert_2_awake_v6; + dummy_anim_ref = %ai_zombie_inert_2_awake_v7; + dummy_anim_ref = %ai_zombie_inert_2_awake_v8; + dummy_anim_ref = %ai_zombie_inert_2_walk_v11; + dummy_anim_ref = %ai_zombie_inert_2_walk_v12; + dummy_anim_ref = %ai_zombie_inert_2_walk_v13; + dummy_anim_ref = %ai_zombie_inert_2_walk_v14; + dummy_anim_ref = %ai_zombie_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_v6; + dummy_anim_ref = %ai_zombie_crawl_inert_v7; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; + dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; + dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_altA; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; + dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_dugup; + dummy_anim_ref = %ai_zombie_ceiling_attack_01; + dummy_anim_ref = %ai_zombie_ceiling_attack_02; + dummy_anim_ref = %ai_zombie_ceiling_emerge_01; + dummy_anim_ref = %ai_zombie_ceiling_death; + dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; + dummy_anim_ref = %ai_zombie_ceiling_fall_loop; + dummy_anim_ref = %ai_zombie_ceiling_fall_land; + dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; + dummy_anim_ref = %ch_dazed_a_death; + dummy_anim_ref = %ch_dazed_b_death; + dummy_anim_ref = %ch_dazed_c_death; + dummy_anim_ref = %ch_dazed_d_death; + dummy_anim_ref = %ai_zombie_crawl_death_v1; + dummy_anim_ref = %ai_zombie_crawl_death_v2; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink; + dummy_anim_ref = %ai_zombie_dreamcatch_impact; + dummy_anim_ref = %ai_zombie_dreamcatch_rise; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; + dummy_anim_ref = %ai_zombie_traverse_v1; + dummy_anim_ref = %ai_zombie_traverse_v2; + dummy_anim_ref = %ai_zombie_traverse_v5; + dummy_anim_ref = %ai_zombie_traverse_v6; + dummy_anim_ref = %ai_zombie_traverse_v7; + dummy_anim_ref = %ai_zombie_traverse_crawl_v1; + dummy_anim_ref = %ai_zombie_traverse_v4; + dummy_anim_ref = %ai_zombie_climb_down_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; + dummy_anim_ref = %ai_zombie_climb_up_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; + dummy_anim_ref = %ai_zombie_barricade_enter_l; + dummy_anim_ref = %ai_zombie_barricade_enter_r; + dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; + dummy_anim_ref = %ai_zombie_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_slipslide_collapse; + dummy_anim_ref = %ai_zombie_walk_slipslide; + dummy_anim_ref = %ai_zombie_walk_slipslide_a; + dummy_anim_ref = %ai_zombie_run_slipslide; + dummy_anim_ref = %ai_zombie_run_slipslide_a; + dummy_anim_ref = %ai_zombie_sprint_slipslide; + dummy_anim_ref = %ai_zombie_sprint_slipslide_a; + dummy_anim_ref = %ai_zombie_stand_slipslide_recover; + dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; + dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; + dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; + dummy_anim_ref = %ai_zombie_thundergun_hit; + dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; + dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; + dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; + dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; + dummy_anim_ref = %ai_zombie_thundergun_getup; + dummy_anim_ref = %ai_zombie_thundergun_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_c; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a ; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; + dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; + dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; + dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; + dummy_anim_ref = %ai_zombie_jump_across_120; + dummy_anim_ref = %ai_zombie_crawl_jump_across_120; + dummy_anim_ref = %ai_zombie_jump_down_40; + dummy_anim_ref = %ai_zombie_crawl_jump_down_40; + dummy_anim_ref = %ai_zombie_jump_down_fast_40; + dummy_anim_ref = %ai_zombie_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_stumble_48; + dummy_anim_ref = %ai_zombie_crawl_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_72; + dummy_anim_ref = %ai_zombie_crawl_jump_down_72; + dummy_anim_ref = %ai_zombie_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_stumble_90; + dummy_anim_ref = %ai_zombie_crawl_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_120; + dummy_anim_ref = %ai_zombie_crawl_jump_down_120; + dummy_anim_ref = %ai_zombie_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_stumble_127; + dummy_anim_ref = %ai_zombie_crawl_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_176; + dummy_anim_ref = %ai_zombie_crawl_jump_down_176; + dummy_anim_ref = %ai_zombie_jump_down_184; + dummy_anim_ref = %ai_zombie_crawl_jump_down_184; + dummy_anim_ref = %ai_zombie_jump_down_190; + dummy_anim_ref = %ai_zombie_jump_down_stumble_190; + dummy_anim_ref = %ai_zombie_crawl_jump_down_189; + dummy_anim_ref = %ai_zombie_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_down_stumble_222; + dummy_anim_ref = %ai_zombie_crawl_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_48 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; + dummy_anim_ref = %ai_zombie_jump_down_240; + dummy_anim_ref = %ai_zombie_crawl_jump_down_240; + dummy_anim_ref = %ai_zombie_jump_down_286; + dummy_anim_ref = %ai_zombie_crawl_jump_down_286; + dummy_anim_ref = %ai_zombie_jump_down_386; + dummy_anim_ref = %ai_zombie_crawl_jump_down_386; + dummy_anim_ref = %ai_zombie_jump_up_72; + dummy_anim_ref = %ai_zombie_crawl_jump_up_72; + dummy_anim_ref = %ai_zombie_jump_up_96 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_96; + dummy_anim_ref = %ai_zombie_jump_up_127; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_jump_up_154; + dummy_anim_ref = %ai_zombie_crawl_jump_up_154; + dummy_anim_ref = %ai_zombie_jump_up_175; + dummy_anim_ref = %ai_zombie_crawl_jump_up_175 ; + dummy_anim_ref = %ai_zombie_jump_up_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_traverse_alcove_40; + dummy_anim_ref = %ai_zombie_traverse_alcove_56; + dummy_anim_ref = %ai_zombie_traverse_alcove_96; + dummy_anim_ref = %ai_zombie_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_jump_down_church; + dummy_anim_ref = %ai_zombie_jump_down_church; + dummy_anim_ref = %ai_zombie_traverse_garage_roll; + dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_traverse_48; + dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun ; + dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_car; + dummy_anim_ref = %ai_zombie_crawl_traverse_car ; + dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; + dummy_anim_ref = %ai_zombie_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_jump_up_goldengate; + dummy_anim_ref = %ai_zombie_jump_up_dock; + dummy_anim_ref = %ai_zombie_climb_up_ext_low; + dummy_anim_ref = %ai_zombie_climb_up_ext_mid; + dummy_anim_ref = %ai_zombie_climb_up_ext_roof; + dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; + dummy_anim_ref = %ai_zombie_traverse_lower_gondola; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_walk_bus_v1; + dummy_anim_ref = %ai_zombie_walk_bus_v2; + dummy_anim_ref = %ai_zombie_walk_bus_v3; + dummy_anim_ref = %ai_zombie_walk_bus_v4; + dummy_anim_ref = %ai_zombie_bus_jump_door; + dummy_anim_ref = %ai_zombie_bus_jump_door_exit; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; + dummy_anim_ref = %ai_zombie_bus_hatch_tear; + dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; + dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; + dummy_anim_ref = %ai_zombie_bus_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; + dummy_anim_ref = %ai_zombie_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_sprint_v6; + dummy_anim_ref = %ai_zombie_sprint_v7; + dummy_anim_ref = %ai_zombie_sprint_v8; + dummy_anim_ref = %ai_zombie_sprint_v9 ; + dummy_anim_ref = %ai_zombie_sprint_v10; + dummy_anim_ref = %ai_zombie_sprint_v11; + dummy_anim_ref = %ai_zombie_sprint_v12; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; + dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; + dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_jump_up_sewing; + dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; + dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_climb_elevator ; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; + dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_afterlife_stun_a; + dummy_anim_ref = %ai_zombie_afterlife_stun_b; + dummy_anim_ref = %ai_zombie_afterlife_stun_c; + dummy_anim_ref = %ai_zombie_afterlife_stun_d; + dummy_anim_ref = %ai_zombie_afterlife_stun_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; + dummy_anim_ref = %ai_zombie_death_icestaff_a; + dummy_anim_ref = %ai_zombie_death_icestaff_b; + dummy_anim_ref = %ai_zombie_death_icestaff_c; + dummy_anim_ref = %ai_zombie_death_icestaff_d; + dummy_anim_ref = %ai_zombie_death_icestaff_e; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; + dummy_anim_ref = %ai_zombie_grabbed_by_mech ; + dummy_anim_ref = %ai_zombie_acid_stun_a; + dummy_anim_ref = %ai_zombie_acid_stun_b; + dummy_anim_ref = %ai_zombie_acid_stun_c; + dummy_anim_ref = %ai_zombie_acid_stun_d; + dummy_anim_ref = %ai_zombie_acid_stun_e; } main() @@ -399,7 +817,7 @@ spawner() precache( ai_index ) { level thread reference_anims_from_animtree(); - precacheanimstatedef( ai_index, #animtree, "zm_buried_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); character\c_zom_zombie_buried_saloongirl1::precache(); character\c_zom_zombie_buried_saloongirl2::precache(); character\c_zom_zombie_buried_saloongirl3::precache(); diff --git a/zm_ai_pack/aitype/zm_highrise_basic_01.gsc b/zm_ai_pack/aitype/zm_highrise_basic_01.gsc index 03ca200..4ddb032 100644 --- a/zm_ai_pack/aitype/zm_highrise_basic_01.gsc +++ b/zm_ai_pack/aitype/zm_highrise_basic_01.gsc @@ -8,362 +8,762 @@ #include character\c_zom_zombie_civ_shorts5; #include character\c_zom_zombie_civ_shorts6; -#using_animtree("zm_highrise_basic"); +#using_animtree("zm_all_basic"); reference_anims_from_animtree() { - dummy_anim_ref = %ai_zombie_idle_v1_delta; - dummy_anim_ref = %ai_zombie_idle_crawl_delta; - dummy_anim_ref = %ai_zombie_walk_v1; - dummy_anim_ref = %ai_zombie_walk_v2; - dummy_anim_ref = %ai_zombie_walk_v3; - dummy_anim_ref = %ai_zombie_walk_v4; - dummy_anim_ref = %ai_zombie_walk_v6; - dummy_anim_ref = %ai_zombie_walk_v7; - dummy_anim_ref = %ai_zombie_walk_v9; - dummy_anim_ref = %ai_zombie_crawl; - dummy_anim_ref = %ai_zombie_crawl_v1; - dummy_anim_ref = %ai_zombie_crawl_v2; - dummy_anim_ref = %ai_zombie_crawl_v3; - dummy_anim_ref = %ai_zombie_crawl_v4; - dummy_anim_ref = %ai_zombie_crawl_v5; - dummy_anim_ref = %ai_zombie_walk_fast_v1; - dummy_anim_ref = %ai_zombie_walk_fast_v2; - dummy_anim_ref = %ai_zombie_walk_fast_v3; - dummy_anim_ref = %ai_zombie_run_v2; - dummy_anim_ref = %ai_zombie_run_v4; - dummy_anim_ref = %ai_zombie_run_v3; - dummy_anim_ref = %ai_zombie_sprint_v1; - dummy_anim_ref = %ai_zombie_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_sprint; - dummy_anim_ref = %ai_zombie_crawl_sprint_1; - dummy_anim_ref = %ai_zombie_crawl_sprint_2; - dummy_anim_ref = %ai_zombie_fast_sprint_01; - dummy_anim_ref = %ai_zombie_fast_sprint_02; - dummy_anim_ref = %ai_zombie_walk_on_hands_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_b; - dummy_anim_ref = %ai_zombie_attack_v2; - dummy_anim_ref = %ai_zombie_attack_v4; - dummy_anim_ref = %ai_zombie_attack_v6; - dummy_anim_ref = %ai_zombie_attack_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v1; - dummy_anim_ref = %ai_zombie_walk_attack_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v3; - dummy_anim_ref = %ai_zombie_walk_attack_v4; - dummy_anim_ref = %ai_zombie_run_attack_v1; - dummy_anim_ref = %ai_zombie_run_attack_v2; - dummy_anim_ref = %ai_zombie_run_attack_v3; - dummy_anim_ref = %ai_zombie_attack_crawl; - dummy_anim_ref = %ai_zombie_attack_crawl_lunge; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; - dummy_anim_ref = %ai_zombie_spets_roll_a; - dummy_anim_ref = %ai_zombie_spets_roll_b; - dummy_anim_ref = %ai_zombie_spets_roll_c; - dummy_anim_ref = %ai_zombie_taunts_4; - dummy_anim_ref = %ai_zombie_taunts_7; - dummy_anim_ref = %ai_zombie_taunts_9; - dummy_anim_ref = %ai_zombie_taunts_5b; - dummy_anim_ref = %ai_zombie_taunts_5c; - dummy_anim_ref = %ai_zombie_taunts_5d; - dummy_anim_ref = %ai_zombie_taunts_5e; - dummy_anim_ref = %ai_zombie_taunts_5f; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; - dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; - dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_alta; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; - dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; - dummy_anim_ref = %ai_zombie_ceiling_attack_01; - dummy_anim_ref = %ai_zombie_ceiling_attack_02; - dummy_anim_ref = %ai_zombie_ceiling_emerge_01; - dummy_anim_ref = %ai_zombie_ceiling_death; - dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; - dummy_anim_ref = %ai_zombie_ceiling_fall_loop; - dummy_anim_ref = %ai_zombie_ceiling_fall_land; - dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; - dummy_anim_ref = %ch_dazed_a_death; - dummy_anim_ref = %ch_dazed_b_death; - dummy_anim_ref = %ch_dazed_c_death; - dummy_anim_ref = %ch_dazed_d_death; - dummy_anim_ref = %ai_zombie_crawl_death_v1; - dummy_anim_ref = %ai_zombie_crawl_death_v2; - dummy_anim_ref = %ai_zombie_traverse_v1; - dummy_anim_ref = %ai_zombie_traverse_v2; - dummy_anim_ref = %ai_zombie_traverse_v5; - dummy_anim_ref = %ai_zombie_traverse_v6; - dummy_anim_ref = %ai_zombie_traverse_v7; - dummy_anim_ref = %ai_zombie_traverse_crawl_v1; - dummy_anim_ref = %ai_zombie_traverse_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_l; - dummy_anim_ref = %ai_zombie_barricade_enter_r; - dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; - dummy_anim_ref = %ai_zombie_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_slipslide_collapse; - dummy_anim_ref = %ai_zombie_walk_slipslide; - dummy_anim_ref = %ai_zombie_walk_slipslide_a; - dummy_anim_ref = %ai_zombie_run_slipslide; - dummy_anim_ref = %ai_zombie_run_slipslide_a; - dummy_anim_ref = %ai_zombie_sprint_slipslide; - dummy_anim_ref = %ai_zombie_sprint_slipslide_a; - dummy_anim_ref = %ai_zombie_stand_slipslide_recover; - dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; - dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; - dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; - dummy_anim_ref = %ai_zombie_jump_down_40; - dummy_anim_ref = %ai_zombie_crawl_jump_down_40; - dummy_anim_ref = %ai_zombie_jump_down_48; - dummy_anim_ref = %ai_zombie_crawl_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_96; - dummy_anim_ref = %ai_zombie_crawl_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_120; - dummy_anim_ref = %ai_zombie_crawl_jump_down_120; - dummy_anim_ref = %ai_zombie_jump_down_127; - dummy_anim_ref = %ai_zombie_crawl_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_176; - dummy_anim_ref = %ai_zombie_crawl_jump_down_176; - dummy_anim_ref = %ai_zombie_jump_down_184; - dummy_anim_ref = %ai_zombie_crawl_jump_down_184; - dummy_anim_ref = %ai_zombie_jump_down_190; - dummy_anim_ref = %ai_zombie_crawl_jump_down_189; - dummy_anim_ref = %ai_zombie_jump_up_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_127; - dummy_anim_ref = %ai_zombie_jump_up_175; - dummy_anim_ref = %ai_zombie_crawl_jump_up_175; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_crawl_traverse_48; - dummy_anim_ref = %ai_zombie_traverse_48; - dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; - dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; - dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; - dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; - dummy_anim_ref = %ai_zombie_jump_up_sewing; - dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; - dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high; - dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; - dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; - dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; - dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; - dummy_anim_ref = %ai_zombie_climb_elevator; - dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; - dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; - dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low; - dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; - dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_idle_v1_delta; + dummy_anim_ref = %ai_zombie_idle_crawl_delta; + dummy_anim_ref = %ai_zombie_walk_v1; + dummy_anim_ref = %ai_zombie_walk_v2; + dummy_anim_ref = %ai_zombie_walk_v3; + dummy_anim_ref = %ai_zombie_walk_v4; + dummy_anim_ref = %ai_zombie_walk_v6; + dummy_anim_ref = %ai_zombie_walk_v7; + dummy_anim_ref = %ai_zombie_walk_v9; + dummy_anim_ref = %ai_zombie_crawl; + dummy_anim_ref = %ai_zombie_crawl_v1; + dummy_anim_ref = %ai_zombie_crawl_v2; + dummy_anim_ref = %ai_zombie_crawl_v3; + dummy_anim_ref = %ai_zombie_crawl_v4; + dummy_anim_ref = %ai_zombie_crawl_v5; + dummy_anim_ref = %ai_zombie_walk_fast_v1; + dummy_anim_ref = %ai_zombie_walk_fast_v2; + dummy_anim_ref = %ai_zombie_walk_fast_v3; + dummy_anim_ref = %ai_zombie_run_v2; + dummy_anim_ref = %ai_zombie_run_v4; + dummy_anim_ref = %ai_zombie_run_v3; + dummy_anim_ref = %ai_zombie_sprint_v1; + dummy_anim_ref = %ai_zombie_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_sprint; + dummy_anim_ref = %ai_zombie_crawl_sprint_1; + dummy_anim_ref = %ai_zombie_crawl_sprint_2; + dummy_anim_ref = %ai_zombie_fast_sprint_01; + dummy_anim_ref = %ai_zombie_fast_sprint_02; + dummy_anim_ref = %ai_zombie_walk_on_hands_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_b; + dummy_anim_ref = %ai_zombie_attack_v2; + dummy_anim_ref = %ai_zombie_attack_v4; + dummy_anim_ref = %ai_zombie_attack_v6; + dummy_anim_ref = %ai_zombie_attack_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v1; + dummy_anim_ref = %ai_zombie_walk_attack_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v3; + dummy_anim_ref = %ai_zombie_walk_attack_v4; + dummy_anim_ref = %ai_zombie_run_attack_v1; + dummy_anim_ref = %ai_zombie_run_attack_v2; + dummy_anim_ref = %ai_zombie_run_attack_v3; + dummy_anim_ref = %ai_zombie_attack_crawl; + dummy_anim_ref = %ai_zombie_attack_crawl_lunge; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; + dummy_anim_ref = %ai_zombie_spets_roll_a; + dummy_anim_ref = %ai_zombie_spets_roll_b; + dummy_anim_ref = %ai_zombie_spets_roll_c; + dummy_anim_ref = %ai_zombie_taunts_4; + dummy_anim_ref = %ai_zombie_taunts_7; + dummy_anim_ref = %ai_zombie_taunts_9; + dummy_anim_ref = %ai_zombie_taunts_5b; + dummy_anim_ref = %ai_zombie_taunts_5c; + dummy_anim_ref = %ai_zombie_taunts_5d; + dummy_anim_ref = %ai_zombie_taunts_5e; + dummy_anim_ref = %ai_zombie_taunts_5f; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_inert_look_v1; + dummy_anim_ref = %ai_zombie_inert_look_v2; + dummy_anim_ref = %ai_zombie_inert_v4; + dummy_anim_ref = %ai_zombie_inert_v6; + dummy_anim_ref = %ai_zombie_inert_stagger_v1; + dummy_anim_ref = %ai_zombie_inert_stagger_v2; + dummy_anim_ref = %ai_zombie_inert_stagger_v3; + dummy_anim_ref = %ai_zombie_inert_stagger_v4; + dummy_anim_ref = %ai_zombie_inert_circle_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_inert_2_awake_v6; + dummy_anim_ref = %ai_zombie_inert_2_awake_v7; + dummy_anim_ref = %ai_zombie_inert_2_awake_v8; + dummy_anim_ref = %ai_zombie_inert_2_walk_v11; + dummy_anim_ref = %ai_zombie_inert_2_walk_v12; + dummy_anim_ref = %ai_zombie_inert_2_walk_v13; + dummy_anim_ref = %ai_zombie_inert_2_walk_v14; + dummy_anim_ref = %ai_zombie_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_v6; + dummy_anim_ref = %ai_zombie_crawl_inert_v7; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; + dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; + dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_altA; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; + dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_dugup; + dummy_anim_ref = %ai_zombie_ceiling_attack_01; + dummy_anim_ref = %ai_zombie_ceiling_attack_02; + dummy_anim_ref = %ai_zombie_ceiling_emerge_01; + dummy_anim_ref = %ai_zombie_ceiling_death; + dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; + dummy_anim_ref = %ai_zombie_ceiling_fall_loop; + dummy_anim_ref = %ai_zombie_ceiling_fall_land; + dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; + dummy_anim_ref = %ch_dazed_a_death; + dummy_anim_ref = %ch_dazed_b_death; + dummy_anim_ref = %ch_dazed_c_death; + dummy_anim_ref = %ch_dazed_d_death; + dummy_anim_ref = %ai_zombie_crawl_death_v1; + dummy_anim_ref = %ai_zombie_crawl_death_v2; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink; + dummy_anim_ref = %ai_zombie_dreamcatch_impact; + dummy_anim_ref = %ai_zombie_dreamcatch_rise; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; + dummy_anim_ref = %ai_zombie_traverse_v1; + dummy_anim_ref = %ai_zombie_traverse_v2; + dummy_anim_ref = %ai_zombie_traverse_v5; + dummy_anim_ref = %ai_zombie_traverse_v6; + dummy_anim_ref = %ai_zombie_traverse_v7; + dummy_anim_ref = %ai_zombie_traverse_crawl_v1; + dummy_anim_ref = %ai_zombie_traverse_v4; + dummy_anim_ref = %ai_zombie_climb_down_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; + dummy_anim_ref = %ai_zombie_climb_up_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; + dummy_anim_ref = %ai_zombie_barricade_enter_l; + dummy_anim_ref = %ai_zombie_barricade_enter_r; + dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; + dummy_anim_ref = %ai_zombie_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_slipslide_collapse; + dummy_anim_ref = %ai_zombie_walk_slipslide; + dummy_anim_ref = %ai_zombie_walk_slipslide_a; + dummy_anim_ref = %ai_zombie_run_slipslide; + dummy_anim_ref = %ai_zombie_run_slipslide_a; + dummy_anim_ref = %ai_zombie_sprint_slipslide; + dummy_anim_ref = %ai_zombie_sprint_slipslide_a; + dummy_anim_ref = %ai_zombie_stand_slipslide_recover; + dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; + dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; + dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; + dummy_anim_ref = %ai_zombie_thundergun_hit; + dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; + dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; + dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; + dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; + dummy_anim_ref = %ai_zombie_thundergun_getup; + dummy_anim_ref = %ai_zombie_thundergun_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_c; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a ; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; + dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; + dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; + dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; + dummy_anim_ref = %ai_zombie_jump_across_120; + dummy_anim_ref = %ai_zombie_crawl_jump_across_120; + dummy_anim_ref = %ai_zombie_jump_down_40; + dummy_anim_ref = %ai_zombie_crawl_jump_down_40; + dummy_anim_ref = %ai_zombie_jump_down_fast_40; + dummy_anim_ref = %ai_zombie_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_stumble_48; + dummy_anim_ref = %ai_zombie_crawl_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_72; + dummy_anim_ref = %ai_zombie_crawl_jump_down_72; + dummy_anim_ref = %ai_zombie_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_stumble_90; + dummy_anim_ref = %ai_zombie_crawl_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_120; + dummy_anim_ref = %ai_zombie_crawl_jump_down_120; + dummy_anim_ref = %ai_zombie_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_stumble_127; + dummy_anim_ref = %ai_zombie_crawl_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_176; + dummy_anim_ref = %ai_zombie_crawl_jump_down_176; + dummy_anim_ref = %ai_zombie_jump_down_184; + dummy_anim_ref = %ai_zombie_crawl_jump_down_184; + dummy_anim_ref = %ai_zombie_jump_down_190; + dummy_anim_ref = %ai_zombie_jump_down_stumble_190; + dummy_anim_ref = %ai_zombie_crawl_jump_down_189; + dummy_anim_ref = %ai_zombie_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_down_stumble_222; + dummy_anim_ref = %ai_zombie_crawl_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_48 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; + dummy_anim_ref = %ai_zombie_jump_down_240; + dummy_anim_ref = %ai_zombie_crawl_jump_down_240; + dummy_anim_ref = %ai_zombie_jump_down_286; + dummy_anim_ref = %ai_zombie_crawl_jump_down_286; + dummy_anim_ref = %ai_zombie_jump_down_386; + dummy_anim_ref = %ai_zombie_crawl_jump_down_386; + dummy_anim_ref = %ai_zombie_jump_up_72; + dummy_anim_ref = %ai_zombie_crawl_jump_up_72; + dummy_anim_ref = %ai_zombie_jump_up_96 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_96; + dummy_anim_ref = %ai_zombie_jump_up_127; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_jump_up_154; + dummy_anim_ref = %ai_zombie_crawl_jump_up_154; + dummy_anim_ref = %ai_zombie_jump_up_175; + dummy_anim_ref = %ai_zombie_crawl_jump_up_175 ; + dummy_anim_ref = %ai_zombie_jump_up_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_traverse_alcove_40; + dummy_anim_ref = %ai_zombie_traverse_alcove_56; + dummy_anim_ref = %ai_zombie_traverse_alcove_96; + dummy_anim_ref = %ai_zombie_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_jump_down_church; + dummy_anim_ref = %ai_zombie_jump_down_church; + dummy_anim_ref = %ai_zombie_traverse_garage_roll; + dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_traverse_48; + dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun ; + dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_car; + dummy_anim_ref = %ai_zombie_crawl_traverse_car ; + dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; + dummy_anim_ref = %ai_zombie_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_jump_up_goldengate; + dummy_anim_ref = %ai_zombie_jump_up_dock; + dummy_anim_ref = %ai_zombie_climb_up_ext_low; + dummy_anim_ref = %ai_zombie_climb_up_ext_mid; + dummy_anim_ref = %ai_zombie_climb_up_ext_roof; + dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; + dummy_anim_ref = %ai_zombie_traverse_lower_gondola; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_walk_bus_v1; + dummy_anim_ref = %ai_zombie_walk_bus_v2; + dummy_anim_ref = %ai_zombie_walk_bus_v3; + dummy_anim_ref = %ai_zombie_walk_bus_v4; + dummy_anim_ref = %ai_zombie_bus_jump_door; + dummy_anim_ref = %ai_zombie_bus_jump_door_exit; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; + dummy_anim_ref = %ai_zombie_bus_hatch_tear; + dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; + dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; + dummy_anim_ref = %ai_zombie_bus_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; + dummy_anim_ref = %ai_zombie_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_sprint_v6; + dummy_anim_ref = %ai_zombie_sprint_v7; + dummy_anim_ref = %ai_zombie_sprint_v8; + dummy_anim_ref = %ai_zombie_sprint_v9 ; + dummy_anim_ref = %ai_zombie_sprint_v10; + dummy_anim_ref = %ai_zombie_sprint_v11; + dummy_anim_ref = %ai_zombie_sprint_v12; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; + dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; + dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_jump_up_sewing; + dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; + dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_climb_elevator ; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; + dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_afterlife_stun_a; + dummy_anim_ref = %ai_zombie_afterlife_stun_b; + dummy_anim_ref = %ai_zombie_afterlife_stun_c; + dummy_anim_ref = %ai_zombie_afterlife_stun_d; + dummy_anim_ref = %ai_zombie_afterlife_stun_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; + dummy_anim_ref = %ai_zombie_death_icestaff_a; + dummy_anim_ref = %ai_zombie_death_icestaff_b; + dummy_anim_ref = %ai_zombie_death_icestaff_c; + dummy_anim_ref = %ai_zombie_death_icestaff_d; + dummy_anim_ref = %ai_zombie_death_icestaff_e; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; + dummy_anim_ref = %ai_zombie_grabbed_by_mech ; + dummy_anim_ref = %ai_zombie_acid_stun_a; + dummy_anim_ref = %ai_zombie_acid_stun_b; + dummy_anim_ref = %ai_zombie_acid_stun_c; + dummy_anim_ref = %ai_zombie_acid_stun_d; + dummy_anim_ref = %ai_zombie_acid_stun_e; } main() @@ -429,7 +829,7 @@ spawner() precache( ai_index ) { level thread reference_anims_from_animtree(); - precacheanimstatedef( ai_index, #animtree, "zm_highrise_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); character\c_zom_zombie_civ_shorts::precache(); character\c_zom_zombie_civ_shorts2::precache(); character\c_zom_zombie_civ_shorts3::precache(); diff --git a/zm_ai_pack/aitype/zm_tomb_basic_german.gsc b/zm_ai_pack/aitype/zm_tomb_basic_german.gsc index 574cf9e..d2546dd 100644 --- a/zm_ai_pack/aitype/zm_tomb_basic_german.gsc +++ b/zm_ai_pack/aitype/zm_tomb_basic_german.gsc @@ -7,346 +7,762 @@ #include character\c_zom_tomb_german_bare; #include character\c_zom_tomb_german_bare_nohat; -#using_animtree("zm_tomb_basic"); +#using_animtree("zm_all_basic"); reference_anims_from_animtree() { - dummy_anim_ref = %ai_zombie_idle_v1_delta; - dummy_anim_ref = %ai_zombie_idle_crawl_delta; - dummy_anim_ref = %ai_zombie_walk_v1; - dummy_anim_ref = %ai_zombie_walk_v2; - dummy_anim_ref = %ai_zombie_walk_v3; - dummy_anim_ref = %ai_zombie_walk_v4; - dummy_anim_ref = %ai_zombie_walk_v6; - dummy_anim_ref = %ai_zombie_walk_v7; - dummy_anim_ref = %ai_zombie_walk_v9; - dummy_anim_ref = %ai_zombie_crawl; - dummy_anim_ref = %ai_zombie_crawl_v1; - dummy_anim_ref = %ai_zombie_crawl_v2; - dummy_anim_ref = %ai_zombie_crawl_v3; - dummy_anim_ref = %ai_zombie_crawl_v4; - dummy_anim_ref = %ai_zombie_crawl_v5; - dummy_anim_ref = %ai_zombie_walk_fast_v1; - dummy_anim_ref = %ai_zombie_walk_fast_v2; - dummy_anim_ref = %ai_zombie_walk_fast_v3; - dummy_anim_ref = %ai_zombie_run_v2; - dummy_anim_ref = %ai_zombie_run_v4; - dummy_anim_ref = %ai_zombie_run_v3; - dummy_anim_ref = %ai_zombie_sprint_v1; - dummy_anim_ref = %ai_zombie_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_sprint; - dummy_anim_ref = %ai_zombie_crawl_sprint_1; - dummy_anim_ref = %ai_zombie_crawl_sprint_2; - dummy_anim_ref = %ai_zombie_fast_sprint_01; - dummy_anim_ref = %ai_zombie_fast_sprint_02; - dummy_anim_ref = %ai_zombie_walk_on_hands_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_b; - dummy_anim_ref = %ai_zombie_attack_v2; - dummy_anim_ref = %ai_zombie_attack_v4; - dummy_anim_ref = %ai_zombie_attack_v6; - dummy_anim_ref = %ai_zombie_attack_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v1; - dummy_anim_ref = %ai_zombie_walk_attack_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v3; - dummy_anim_ref = %ai_zombie_walk_attack_v4; - dummy_anim_ref = %ai_zombie_run_attack_v1; - dummy_anim_ref = %ai_zombie_run_attack_v2; - dummy_anim_ref = %ai_zombie_run_attack_v3; - dummy_anim_ref = %ai_zombie_attack_crawl; - dummy_anim_ref = %ai_zombie_attack_crawl_lunge; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; - dummy_anim_ref = %ai_zombie_taunts_4; - dummy_anim_ref = %ai_zombie_taunts_7; - dummy_anim_ref = %ai_zombie_taunts_9; - dummy_anim_ref = %ai_zombie_taunts_5b; - dummy_anim_ref = %ai_zombie_taunts_5c; - dummy_anim_ref = %ai_zombie_taunts_5d; - dummy_anim_ref = %ai_zombie_taunts_5e; - dummy_anim_ref = %ai_zombie_taunts_5f; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; - dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_dugup; - dummy_anim_ref = %ch_dazed_a_death; - dummy_anim_ref = %ch_dazed_b_death; - dummy_anim_ref = %ch_dazed_c_death; - dummy_anim_ref = %ch_dazed_d_death; - dummy_anim_ref = %ai_zombie_crawl_death_v1; - dummy_anim_ref = %ai_zombie_crawl_death_v2; - dummy_anim_ref = %ai_zombie_traverse_v1; - dummy_anim_ref = %ai_zombie_traverse_v2; - dummy_anim_ref = %ai_zombie_traverse_v5; - dummy_anim_ref = %ai_zombie_traverse_v6; - dummy_anim_ref = %ai_zombie_traverse_v7; - dummy_anim_ref = %ai_zombie_traverse_crawl_v1; - dummy_anim_ref = %ai_zombie_traverse_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_l; - dummy_anim_ref = %ai_zombie_barricade_enter_r; - dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; - dummy_anim_ref = %ai_zombie_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_jump_down_markiv_front; - dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; - dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; - dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; - dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; - dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; - dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; - dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; - dummy_anim_ref = %ai_zombie_jump_up_markiv_front; - dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; - dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; - dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; - dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; - dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; - dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; - dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; - dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; - dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; - dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; - dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; - dummy_anim_ref = %ai_zombie_jump_across_120; - dummy_anim_ref = %ai_zombie_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_72; - dummy_anim_ref = %ai_zombie_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_up_48; - dummy_anim_ref = %ai_zombie_jump_up_96; - dummy_anim_ref = %ai_zombie_jump_up_127; - dummy_anim_ref = %ai_zombie_crawl_jump_across_120; - dummy_anim_ref = %ai_zombie_crawl_jump_down_48; - dummy_anim_ref = %ai_zombie_crawl_jump_down_72; - dummy_anim_ref = %ai_zombie_crawl_jump_down_96; - dummy_anim_ref = %ai_zombie_crawl_jump_down_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_48; - dummy_anim_ref = %ai_zombie_crawl_jump_up_96; - dummy_anim_ref = %ai_zombie_crawl_jump_up_127; - dummy_anim_ref = %ai_zombie_traverse_alcove_40; - dummy_anim_ref = %ai_zombie_traverse_alcove_56; - dummy_anim_ref = %ai_zombie_traverse_alcove_96; - dummy_anim_ref = %ai_zombie_traverse_scaffold_72; - dummy_anim_ref = %ai_zombie_traverse_scaffold_84; - dummy_anim_ref = %ai_zombie_traverse_scaffold_100; - dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; - dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; - dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; - dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; - dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; - dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; - dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; - dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; - dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; - dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; - dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; - dummy_anim_ref = %ai_zombie_vaultover_barbedwire; - dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; - dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; - dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; - dummy_anim_ref = %ai_zombie_crawl_jump_down_church; - dummy_anim_ref = %ai_zombie_jump_down_church; - dummy_anim_ref = %ai_zombie_thundergun_hit; - dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; - dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; - dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; - dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; - dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; - dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; - dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; - dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; - dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; - dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; - dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; - dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; - dummy_anim_ref = %ai_zombie_thundergun_getup; - dummy_anim_ref = %ai_zombie_thundergun_getup_a; - dummy_anim_ref = %ai_zombie_thundergun_getup_b; - dummy_anim_ref = %ai_zombie_thundergun_getup_c; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; - dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; - dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; - dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; - dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; - dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; - dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; - dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; - dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; - dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; - dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; - dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; - dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; - dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; - dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; - dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; - dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; - dummy_anim_ref = %ai_zombie_death_icestaff_a; - dummy_anim_ref = %ai_zombie_death_icestaff_b; - dummy_anim_ref = %ai_zombie_death_icestaff_c; - dummy_anim_ref = %ai_zombie_death_icestaff_d; - dummy_anim_ref = %ai_zombie_death_icestaff_e; - dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; - dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; - dummy_anim_ref = %ai_zombie_afterlife_stun_a; - dummy_anim_ref = %ai_zombie_afterlife_stun_b; - dummy_anim_ref = %ai_zombie_afterlife_stun_c; - dummy_anim_ref = %ai_zombie_afterlife_stun_d; - dummy_anim_ref = %ai_zombie_afterlife_stun_e; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; - dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; - dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; - dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; - dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; - dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; - dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; - dummy_anim_ref = %ai_zombie_grabbed_by_mech; + dummy_anim_ref = %ai_zombie_idle_v1_delta; + dummy_anim_ref = %ai_zombie_idle_crawl_delta; + dummy_anim_ref = %ai_zombie_walk_v1; + dummy_anim_ref = %ai_zombie_walk_v2; + dummy_anim_ref = %ai_zombie_walk_v3; + dummy_anim_ref = %ai_zombie_walk_v4; + dummy_anim_ref = %ai_zombie_walk_v6; + dummy_anim_ref = %ai_zombie_walk_v7; + dummy_anim_ref = %ai_zombie_walk_v9; + dummy_anim_ref = %ai_zombie_crawl; + dummy_anim_ref = %ai_zombie_crawl_v1; + dummy_anim_ref = %ai_zombie_crawl_v2; + dummy_anim_ref = %ai_zombie_crawl_v3; + dummy_anim_ref = %ai_zombie_crawl_v4; + dummy_anim_ref = %ai_zombie_crawl_v5; + dummy_anim_ref = %ai_zombie_walk_fast_v1; + dummy_anim_ref = %ai_zombie_walk_fast_v2; + dummy_anim_ref = %ai_zombie_walk_fast_v3; + dummy_anim_ref = %ai_zombie_run_v2; + dummy_anim_ref = %ai_zombie_run_v4; + dummy_anim_ref = %ai_zombie_run_v3; + dummy_anim_ref = %ai_zombie_sprint_v1; + dummy_anim_ref = %ai_zombie_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_sprint; + dummy_anim_ref = %ai_zombie_crawl_sprint_1; + dummy_anim_ref = %ai_zombie_crawl_sprint_2; + dummy_anim_ref = %ai_zombie_fast_sprint_01; + dummy_anim_ref = %ai_zombie_fast_sprint_02; + dummy_anim_ref = %ai_zombie_walk_on_hands_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_b; + dummy_anim_ref = %ai_zombie_attack_v2; + dummy_anim_ref = %ai_zombie_attack_v4; + dummy_anim_ref = %ai_zombie_attack_v6; + dummy_anim_ref = %ai_zombie_attack_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v1; + dummy_anim_ref = %ai_zombie_walk_attack_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v3; + dummy_anim_ref = %ai_zombie_walk_attack_v4; + dummy_anim_ref = %ai_zombie_run_attack_v1; + dummy_anim_ref = %ai_zombie_run_attack_v2; + dummy_anim_ref = %ai_zombie_run_attack_v3; + dummy_anim_ref = %ai_zombie_attack_crawl; + dummy_anim_ref = %ai_zombie_attack_crawl_lunge; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; + dummy_anim_ref = %ai_zombie_spets_roll_a; + dummy_anim_ref = %ai_zombie_spets_roll_b; + dummy_anim_ref = %ai_zombie_spets_roll_c; + dummy_anim_ref = %ai_zombie_taunts_4; + dummy_anim_ref = %ai_zombie_taunts_7; + dummy_anim_ref = %ai_zombie_taunts_9; + dummy_anim_ref = %ai_zombie_taunts_5b; + dummy_anim_ref = %ai_zombie_taunts_5c; + dummy_anim_ref = %ai_zombie_taunts_5d; + dummy_anim_ref = %ai_zombie_taunts_5e; + dummy_anim_ref = %ai_zombie_taunts_5f; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_inert_look_v1; + dummy_anim_ref = %ai_zombie_inert_look_v2; + dummy_anim_ref = %ai_zombie_inert_v4; + dummy_anim_ref = %ai_zombie_inert_v6; + dummy_anim_ref = %ai_zombie_inert_stagger_v1; + dummy_anim_ref = %ai_zombie_inert_stagger_v2; + dummy_anim_ref = %ai_zombie_inert_stagger_v3; + dummy_anim_ref = %ai_zombie_inert_stagger_v4; + dummy_anim_ref = %ai_zombie_inert_circle_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_inert_2_awake_v6; + dummy_anim_ref = %ai_zombie_inert_2_awake_v7; + dummy_anim_ref = %ai_zombie_inert_2_awake_v8; + dummy_anim_ref = %ai_zombie_inert_2_walk_v11; + dummy_anim_ref = %ai_zombie_inert_2_walk_v12; + dummy_anim_ref = %ai_zombie_inert_2_walk_v13; + dummy_anim_ref = %ai_zombie_inert_2_walk_v14; + dummy_anim_ref = %ai_zombie_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_v6; + dummy_anim_ref = %ai_zombie_crawl_inert_v7; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; + dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; + dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_altA; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; + dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_dugup; + dummy_anim_ref = %ai_zombie_ceiling_attack_01; + dummy_anim_ref = %ai_zombie_ceiling_attack_02; + dummy_anim_ref = %ai_zombie_ceiling_emerge_01; + dummy_anim_ref = %ai_zombie_ceiling_death; + dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; + dummy_anim_ref = %ai_zombie_ceiling_fall_loop; + dummy_anim_ref = %ai_zombie_ceiling_fall_land; + dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; + dummy_anim_ref = %ch_dazed_a_death; + dummy_anim_ref = %ch_dazed_b_death; + dummy_anim_ref = %ch_dazed_c_death; + dummy_anim_ref = %ch_dazed_d_death; + dummy_anim_ref = %ai_zombie_crawl_death_v1; + dummy_anim_ref = %ai_zombie_crawl_death_v2; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink; + dummy_anim_ref = %ai_zombie_dreamcatch_impact; + dummy_anim_ref = %ai_zombie_dreamcatch_rise; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; + dummy_anim_ref = %ai_zombie_traverse_v1; + dummy_anim_ref = %ai_zombie_traverse_v2; + dummy_anim_ref = %ai_zombie_traverse_v5; + dummy_anim_ref = %ai_zombie_traverse_v6; + dummy_anim_ref = %ai_zombie_traverse_v7; + dummy_anim_ref = %ai_zombie_traverse_crawl_v1; + dummy_anim_ref = %ai_zombie_traverse_v4; + dummy_anim_ref = %ai_zombie_climb_down_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; + dummy_anim_ref = %ai_zombie_climb_up_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; + dummy_anim_ref = %ai_zombie_barricade_enter_l; + dummy_anim_ref = %ai_zombie_barricade_enter_r; + dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; + dummy_anim_ref = %ai_zombie_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_slipslide_collapse; + dummy_anim_ref = %ai_zombie_walk_slipslide; + dummy_anim_ref = %ai_zombie_walk_slipslide_a; + dummy_anim_ref = %ai_zombie_run_slipslide; + dummy_anim_ref = %ai_zombie_run_slipslide_a; + dummy_anim_ref = %ai_zombie_sprint_slipslide; + dummy_anim_ref = %ai_zombie_sprint_slipslide_a; + dummy_anim_ref = %ai_zombie_stand_slipslide_recover; + dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; + dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; + dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; + dummy_anim_ref = %ai_zombie_thundergun_hit; + dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; + dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; + dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; + dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; + dummy_anim_ref = %ai_zombie_thundergun_getup; + dummy_anim_ref = %ai_zombie_thundergun_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_c; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a ; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; + dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; + dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; + dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; + dummy_anim_ref = %ai_zombie_jump_across_120; + dummy_anim_ref = %ai_zombie_crawl_jump_across_120; + dummy_anim_ref = %ai_zombie_jump_down_40; + dummy_anim_ref = %ai_zombie_crawl_jump_down_40; + dummy_anim_ref = %ai_zombie_jump_down_fast_40; + dummy_anim_ref = %ai_zombie_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_stumble_48; + dummy_anim_ref = %ai_zombie_crawl_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_72; + dummy_anim_ref = %ai_zombie_crawl_jump_down_72; + dummy_anim_ref = %ai_zombie_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_stumble_90; + dummy_anim_ref = %ai_zombie_crawl_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_120; + dummy_anim_ref = %ai_zombie_crawl_jump_down_120; + dummy_anim_ref = %ai_zombie_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_stumble_127; + dummy_anim_ref = %ai_zombie_crawl_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_176; + dummy_anim_ref = %ai_zombie_crawl_jump_down_176; + dummy_anim_ref = %ai_zombie_jump_down_184; + dummy_anim_ref = %ai_zombie_crawl_jump_down_184; + dummy_anim_ref = %ai_zombie_jump_down_190; + dummy_anim_ref = %ai_zombie_jump_down_stumble_190; + dummy_anim_ref = %ai_zombie_crawl_jump_down_189; + dummy_anim_ref = %ai_zombie_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_down_stumble_222; + dummy_anim_ref = %ai_zombie_crawl_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_48 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; + dummy_anim_ref = %ai_zombie_jump_down_240; + dummy_anim_ref = %ai_zombie_crawl_jump_down_240; + dummy_anim_ref = %ai_zombie_jump_down_286; + dummy_anim_ref = %ai_zombie_crawl_jump_down_286; + dummy_anim_ref = %ai_zombie_jump_down_386; + dummy_anim_ref = %ai_zombie_crawl_jump_down_386; + dummy_anim_ref = %ai_zombie_jump_up_72; + dummy_anim_ref = %ai_zombie_crawl_jump_up_72; + dummy_anim_ref = %ai_zombie_jump_up_96 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_96; + dummy_anim_ref = %ai_zombie_jump_up_127; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_jump_up_154; + dummy_anim_ref = %ai_zombie_crawl_jump_up_154; + dummy_anim_ref = %ai_zombie_jump_up_175; + dummy_anim_ref = %ai_zombie_crawl_jump_up_175 ; + dummy_anim_ref = %ai_zombie_jump_up_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_traverse_alcove_40; + dummy_anim_ref = %ai_zombie_traverse_alcove_56; + dummy_anim_ref = %ai_zombie_traverse_alcove_96; + dummy_anim_ref = %ai_zombie_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_jump_down_church; + dummy_anim_ref = %ai_zombie_jump_down_church; + dummy_anim_ref = %ai_zombie_traverse_garage_roll; + dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_traverse_48; + dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun ; + dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_car; + dummy_anim_ref = %ai_zombie_crawl_traverse_car ; + dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; + dummy_anim_ref = %ai_zombie_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_jump_up_goldengate; + dummy_anim_ref = %ai_zombie_jump_up_dock; + dummy_anim_ref = %ai_zombie_climb_up_ext_low; + dummy_anim_ref = %ai_zombie_climb_up_ext_mid; + dummy_anim_ref = %ai_zombie_climb_up_ext_roof; + dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; + dummy_anim_ref = %ai_zombie_traverse_lower_gondola; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_walk_bus_v1; + dummy_anim_ref = %ai_zombie_walk_bus_v2; + dummy_anim_ref = %ai_zombie_walk_bus_v3; + dummy_anim_ref = %ai_zombie_walk_bus_v4; + dummy_anim_ref = %ai_zombie_bus_jump_door; + dummy_anim_ref = %ai_zombie_bus_jump_door_exit; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; + dummy_anim_ref = %ai_zombie_bus_hatch_tear; + dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; + dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; + dummy_anim_ref = %ai_zombie_bus_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; + dummy_anim_ref = %ai_zombie_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_sprint_v6; + dummy_anim_ref = %ai_zombie_sprint_v7; + dummy_anim_ref = %ai_zombie_sprint_v8; + dummy_anim_ref = %ai_zombie_sprint_v9 ; + dummy_anim_ref = %ai_zombie_sprint_v10; + dummy_anim_ref = %ai_zombie_sprint_v11; + dummy_anim_ref = %ai_zombie_sprint_v12; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; + dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; + dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_jump_up_sewing; + dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; + dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_climb_elevator ; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; + dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_afterlife_stun_a; + dummy_anim_ref = %ai_zombie_afterlife_stun_b; + dummy_anim_ref = %ai_zombie_afterlife_stun_c; + dummy_anim_ref = %ai_zombie_afterlife_stun_d; + dummy_anim_ref = %ai_zombie_afterlife_stun_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; + dummy_anim_ref = %ai_zombie_death_icestaff_a; + dummy_anim_ref = %ai_zombie_death_icestaff_b; + dummy_anim_ref = %ai_zombie_death_icestaff_c; + dummy_anim_ref = %ai_zombie_death_icestaff_d; + dummy_anim_ref = %ai_zombie_death_icestaff_e; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; + dummy_anim_ref = %ai_zombie_grabbed_by_mech ; + dummy_anim_ref = %ai_zombie_acid_stun_a; + dummy_anim_ref = %ai_zombie_acid_stun_b; + dummy_anim_ref = %ai_zombie_acid_stun_c; + dummy_anim_ref = %ai_zombie_acid_stun_d; + dummy_anim_ref = %ai_zombie_acid_stun_e; } main() @@ -412,7 +828,7 @@ spawner() precache( ai_index ) { level thread reference_anims_from_animtree(); - precacheanimstatedef( ai_index, #animtree, "zm_tomb_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); character\c_zom_tomb_german_1a::precache(); character\c_zom_tomb_german_1a_nohat::precache(); character\c_zom_tomb_german_2b::precache(); diff --git a/zm_ai_pack/aitype/zm_transit_basic_01.gsc b/zm_ai_pack/aitype/zm_transit_basic_01.gsc index a5ae32b..b075a1d 100644 --- a/zm_ai_pack/aitype/zm_transit_basic_01.gsc +++ b/zm_ai_pack/aitype/zm_transit_basic_01.gsc @@ -4,439 +4,762 @@ #include character\c_zom_zombie1_01; #include character\c_zom_zombie1_02; -#using_animtree("zm_transit_basic"); +#using_animtree("zm_all_basic"); reference_anims_from_animtree() { - dummy_anim_ref = %ai_zombie_idle_v1_delta; - dummy_anim_ref = %ai_zombie_idle_crawl_delta; - dummy_anim_ref = %ai_zombie_walk_v1; - dummy_anim_ref = %ai_zombie_walk_v2; - dummy_anim_ref = %ai_zombie_walk_v3; - dummy_anim_ref = %ai_zombie_walk_v4; - dummy_anim_ref = %ai_zombie_walk_v6; - dummy_anim_ref = %ai_zombie_walk_v7; - dummy_anim_ref = %ai_zombie_walk_v9; - dummy_anim_ref = %ai_zombie_crawl; - dummy_anim_ref = %ai_zombie_crawl_v1; - dummy_anim_ref = %ai_zombie_crawl_v2; - dummy_anim_ref = %ai_zombie_crawl_v3; - dummy_anim_ref = %ai_zombie_crawl_v4; - dummy_anim_ref = %ai_zombie_crawl_v5; - dummy_anim_ref = %ai_zombie_walk_fast_v1; - dummy_anim_ref = %ai_zombie_walk_fast_v2; - dummy_anim_ref = %ai_zombie_walk_fast_v3; - dummy_anim_ref = %ai_zombie_run_v2; - dummy_anim_ref = %ai_zombie_run_v4; - dummy_anim_ref = %ai_zombie_run_v3; - dummy_anim_ref = %ai_zombie_sprint_v1; - dummy_anim_ref = %ai_zombie_sprint_v2; - dummy_anim_ref = %ai_zombie_crawl_sprint; - dummy_anim_ref = %ai_zombie_crawl_sprint_1; - dummy_anim_ref = %ai_zombie_crawl_sprint_2; - dummy_anim_ref = %ai_zombie_fast_sprint_01; - dummy_anim_ref = %ai_zombie_fast_sprint_02; - dummy_anim_ref = %ai_zombie_walk_on_hands_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_b; - dummy_anim_ref = %ai_zombie_attack_v2; - dummy_anim_ref = %ai_zombie_attack_v4; - dummy_anim_ref = %ai_zombie_attack_v6; - dummy_anim_ref = %ai_zombie_attack_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v1; - dummy_anim_ref = %ai_zombie_attack_forward_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v1; - dummy_anim_ref = %ai_zombie_walk_attack_v2; - dummy_anim_ref = %ai_zombie_walk_attack_v3; - dummy_anim_ref = %ai_zombie_walk_attack_v4; - dummy_anim_ref = %ai_zombie_run_attack_v1; - dummy_anim_ref = %ai_zombie_run_attack_v2; - dummy_anim_ref = %ai_zombie_run_attack_v3; - dummy_anim_ref = %ai_zombie_attack_crawl; - dummy_anim_ref = %ai_zombie_attack_crawl_lunge; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; - dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; - dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; - dummy_anim_ref = %ai_zombie_spets_roll_a; - dummy_anim_ref = %ai_zombie_spets_roll_b; - dummy_anim_ref = %ai_zombie_spets_roll_c; - dummy_anim_ref = %ai_zombie_taunts_4; - dummy_anim_ref = %ai_zombie_taunts_7; - dummy_anim_ref = %ai_zombie_taunts_9; - dummy_anim_ref = %ai_zombie_taunts_5b; - dummy_anim_ref = %ai_zombie_taunts_5c; - dummy_anim_ref = %ai_zombie_taunts_5d; - dummy_anim_ref = %ai_zombie_taunts_5e; - dummy_anim_ref = %ai_zombie_taunts_5f; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; - dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; - dummy_anim_ref = %ai_zombie_inert_v4; - dummy_anim_ref = %ai_zombie_inert_v6; - dummy_anim_ref = %ai_zombie_inert_stagger_v1; - dummy_anim_ref = %ai_zombie_inert_stagger_v2; - dummy_anim_ref = %ai_zombie_inert_stagger_v3; - dummy_anim_ref = %ai_zombie_inert_stagger_v4; - dummy_anim_ref = %ai_zombie_inert_circle_v1; - dummy_anim_ref = %ai_zombie_inert_2_awake_v1; - dummy_anim_ref = %ai_zombie_inert_2_awake_v2; - dummy_anim_ref = %ai_zombie_inert_2_awake_v3; - dummy_anim_ref = %ai_zombie_inert_2_awake_v4; - dummy_anim_ref = %ai_zombie_inert_2_awake_v5; - dummy_anim_ref = %ai_zombie_inert_2_awake_v6; - dummy_anim_ref = %ai_zombie_inert_2_awake_v7; - dummy_anim_ref = %ai_zombie_inert_2_awake_v8; - dummy_anim_ref = %ai_zombie_crawl_inert_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_v3; - dummy_anim_ref = %ai_zombie_crawl_inert_v4; - dummy_anim_ref = %ai_zombie_crawl_inert_v5; - dummy_anim_ref = %ai_zombie_crawl_inert_v6; - dummy_anim_ref = %ai_zombie_crawl_inert_v7; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; - dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; - dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; - dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; - dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_alta; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; - dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; - dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; - dummy_anim_ref = %ai_zombie_ceiling_attack_01; - dummy_anim_ref = %ai_zombie_ceiling_attack_02; - dummy_anim_ref = %ai_zombie_ceiling_emerge_01; - dummy_anim_ref = %ai_zombie_ceiling_death; - dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; - dummy_anim_ref = %ai_zombie_ceiling_fall_loop; - dummy_anim_ref = %ai_zombie_ceiling_fall_land; - dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; - dummy_anim_ref = %ch_dazed_a_death; - dummy_anim_ref = %ch_dazed_b_death; - dummy_anim_ref = %ch_dazed_c_death; - dummy_anim_ref = %ch_dazed_d_death; - dummy_anim_ref = %ai_zombie_crawl_death_v1; - dummy_anim_ref = %ai_zombie_crawl_death_v2; - dummy_anim_ref = %ai_zombie_traverse_v1; - dummy_anim_ref = %ai_zombie_traverse_v2; - dummy_anim_ref = %ai_zombie_traverse_v5; - dummy_anim_ref = %ai_zombie_traverse_v6; - dummy_anim_ref = %ai_zombie_traverse_v7; - dummy_anim_ref = %ai_zombie_traverse_crawl_v1; - dummy_anim_ref = %ai_zombie_traverse_v4; - dummy_anim_ref = %ai_zombie_climb_down_pothole; - dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; - dummy_anim_ref = %ai_zombie_climb_up_pothole; - dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; - dummy_anim_ref = %ai_zombie_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_stumble_48; - dummy_anim_ref = %ai_zombie_crawl_jump_down_48; - dummy_anim_ref = %ai_zombie_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_stumble_90; - dummy_anim_ref = %ai_zombie_crawl_jump_down_96; - dummy_anim_ref = %ai_zombie_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_stumble_127; - dummy_anim_ref = %ai_zombie_crawl_jump_down_127; - dummy_anim_ref = %ai_zombie_jump_down_190; - dummy_anim_ref = %ai_zombie_jump_down_stumble_190; - dummy_anim_ref = %ai_zombie_crawl_jump_down_189; - dummy_anim_ref = %ai_zombie_jump_down_222; - dummy_anim_ref = %ai_zombie_jump_down_stumble_222; - dummy_anim_ref = %ai_zombie_crawl_jump_down_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; - dummy_anim_ref = %ai_zombie_jump_up_127; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_127; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; - dummy_anim_ref = %ai_zombie_jump_up_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_222; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; - dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; - dummy_anim_ref = %ai_zombie_crawl_jump_across_120; - dummy_anim_ref = %ai_zombie_jump_across_120; - dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; - dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; - dummy_anim_ref = %ai_zombie_traverse_diner_roof; - dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; - dummy_anim_ref = %ai_zombie_traverse_garage_roll; - dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; - dummy_anim_ref = %ai_zombie_jump_up_diner_roof; - dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; - dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; - dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; - dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; - dummy_anim_ref = %ai_zombie_traverse_car; - dummy_anim_ref = %ai_zombie_crawl_traverse_car; - dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; - dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; - dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; - dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; - dummy_anim_ref = %ai_zombie_traverse_car_sprint; - dummy_anim_ref = %ai_zombie_traverse_car_run; - dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; - dummy_anim_ref = %ai_zombie_barricade_enter_l; - dummy_anim_ref = %ai_zombie_barricade_enter_r; - dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; - dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; - dummy_anim_ref = %ai_zombie_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; - dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; - dummy_anim_ref = %ai_zombie_walk_bus_v1; - dummy_anim_ref = %ai_zombie_walk_bus_v2; - dummy_anim_ref = %ai_zombie_walk_bus_v3; - dummy_anim_ref = %ai_zombie_walk_bus_v4; - dummy_anim_ref = %ai_zombie_bus_jump_door; - dummy_anim_ref = %ai_zombie_bus_jump_door_exit; - dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; - dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; - dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; - dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; - dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; - dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; - dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; - dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; - dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; - dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; - dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; - dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; - dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; - dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; - dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; - dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; - dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; - dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; - dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; - dummy_anim_ref = %ai_zombie_bus_hatch_tear; - dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; - dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; - dummy_anim_ref = %ai_zombie_bus_window_idle_l; - dummy_anim_ref = %ai_zombie_bus_window_idle_r; - dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; - dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; - dummy_anim_ref = %ai_zombie_bus_window_attack_l; - dummy_anim_ref = %ai_zombie_bus_window_attack_r; - dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; - dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; - dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; - dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; - dummy_anim_ref = %ai_zombie_bus_window_dismount_l; - dummy_anim_ref = %ai_zombie_bus_window_dismount_r; - dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; - dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; - dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; - dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; - dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; - dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; - dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; - dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; - dummy_anim_ref = %ai_zombie_bus_window_exit_front; - dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; - dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; - dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; - dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; - dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; - dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; - dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; - dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; - dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; - dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; - dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; - dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; - dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; - dummy_anim_ref = %ai_zombie_sprint_v6; - dummy_anim_ref = %ai_zombie_sprint_v7; - dummy_anim_ref = %ai_zombie_sprint_v8; - dummy_anim_ref = %ai_zombie_sprint_v9; - dummy_anim_ref = %ai_zombie_sprint_v10; - dummy_anim_ref = %ai_zombie_sprint_v11; - dummy_anim_ref = %ai_zombie_sprint_v12; - dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; - dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; - dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; - dummy_anim_ref = %ai_zombie_jetgun_walk_v1; - dummy_anim_ref = %ai_zombie_jetgun_walk_v2; - dummy_anim_ref = %ai_zombie_jetgun_walk_v3; - dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; - dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; - dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; - dummy_anim_ref = %ai_zombie_jetgun_death_v1; - dummy_anim_ref = %ai_zombie_jetgun_death_v2; - dummy_anim_ref = %ai_zombie_jetgun_death_v3; - dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; - dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; - dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; - dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; - dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; - dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; - dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; - dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; - dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; - dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; - dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; - dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; - dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; - dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; - dummy_anim_ref = %ai_zombie_riotshield_loop_v1; - dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; - dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; - dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_idle_v1_delta; + dummy_anim_ref = %ai_zombie_idle_crawl_delta; + dummy_anim_ref = %ai_zombie_walk_v1; + dummy_anim_ref = %ai_zombie_walk_v2; + dummy_anim_ref = %ai_zombie_walk_v3; + dummy_anim_ref = %ai_zombie_walk_v4; + dummy_anim_ref = %ai_zombie_walk_v6; + dummy_anim_ref = %ai_zombie_walk_v7; + dummy_anim_ref = %ai_zombie_walk_v9; + dummy_anim_ref = %ai_zombie_crawl; + dummy_anim_ref = %ai_zombie_crawl_v1; + dummy_anim_ref = %ai_zombie_crawl_v2; + dummy_anim_ref = %ai_zombie_crawl_v3; + dummy_anim_ref = %ai_zombie_crawl_v4; + dummy_anim_ref = %ai_zombie_crawl_v5; + dummy_anim_ref = %ai_zombie_walk_fast_v1; + dummy_anim_ref = %ai_zombie_walk_fast_v2; + dummy_anim_ref = %ai_zombie_walk_fast_v3; + dummy_anim_ref = %ai_zombie_run_v2; + dummy_anim_ref = %ai_zombie_run_v4; + dummy_anim_ref = %ai_zombie_run_v3; + dummy_anim_ref = %ai_zombie_sprint_v1; + dummy_anim_ref = %ai_zombie_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_sprint; + dummy_anim_ref = %ai_zombie_crawl_sprint_1; + dummy_anim_ref = %ai_zombie_crawl_sprint_2; + dummy_anim_ref = %ai_zombie_fast_sprint_01; + dummy_anim_ref = %ai_zombie_fast_sprint_02; + dummy_anim_ref = %ai_zombie_walk_on_hands_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_b; + dummy_anim_ref = %ai_zombie_attack_v2; + dummy_anim_ref = %ai_zombie_attack_v4; + dummy_anim_ref = %ai_zombie_attack_v6; + dummy_anim_ref = %ai_zombie_attack_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v1; + dummy_anim_ref = %ai_zombie_attack_forward_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v1; + dummy_anim_ref = %ai_zombie_walk_attack_v2; + dummy_anim_ref = %ai_zombie_walk_attack_v3; + dummy_anim_ref = %ai_zombie_walk_attack_v4; + dummy_anim_ref = %ai_zombie_run_attack_v1; + dummy_anim_ref = %ai_zombie_run_attack_v2; + dummy_anim_ref = %ai_zombie_run_attack_v3; + dummy_anim_ref = %ai_zombie_attack_crawl; + dummy_anim_ref = %ai_zombie_attack_crawl_lunge; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_a; + dummy_anim_ref = %ai_zombie_walk_on_hands_shot_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_left_b; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_a; + dummy_anim_ref = %ai_zombie_spets_sidestep_right_b; + dummy_anim_ref = %ai_zombie_spets_roll_a; + dummy_anim_ref = %ai_zombie_spets_roll_b; + dummy_anim_ref = %ai_zombie_spets_roll_c; + dummy_anim_ref = %ai_zombie_taunts_4; + dummy_anim_ref = %ai_zombie_taunts_7; + dummy_anim_ref = %ai_zombie_taunts_9; + dummy_anim_ref = %ai_zombie_taunts_5b; + dummy_anim_ref = %ai_zombie_taunts_5c; + dummy_anim_ref = %ai_zombie_taunts_5d; + dummy_anim_ref = %ai_zombie_taunts_5e; + dummy_anim_ref = %ai_zombie_taunts_5f; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_grab; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_hold; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_m_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_r_6_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_1_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_2_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_3_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_4_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_5_pull; + dummy_anim_ref = %ai_zombie_crawl_boardtear_aligned_l_6_pull; + dummy_anim_ref = %ai_zombie_inert_look_v1; + dummy_anim_ref = %ai_zombie_inert_look_v2; + dummy_anim_ref = %ai_zombie_inert_v4; + dummy_anim_ref = %ai_zombie_inert_v6; + dummy_anim_ref = %ai_zombie_inert_stagger_v1; + dummy_anim_ref = %ai_zombie_inert_stagger_v2; + dummy_anim_ref = %ai_zombie_inert_stagger_v3; + dummy_anim_ref = %ai_zombie_inert_stagger_v4; + dummy_anim_ref = %ai_zombie_inert_circle_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_inert_2_awake_v6; + dummy_anim_ref = %ai_zombie_inert_2_awake_v7; + dummy_anim_ref = %ai_zombie_inert_2_awake_v8; + dummy_anim_ref = %ai_zombie_inert_2_walk_v11; + dummy_anim_ref = %ai_zombie_inert_2_walk_v12; + dummy_anim_ref = %ai_zombie_inert_2_walk_v13; + dummy_anim_ref = %ai_zombie_inert_2_walk_v14; + dummy_anim_ref = %ai_zombie_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_v6; + dummy_anim_ref = %ai_zombie_crawl_inert_v7; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v3; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v4; + dummy_anim_ref = %ai_zombie_crawl_inert_2_awake_v5; + dummy_anim_ref = %ai_zombie_crawl_inert_2_walk_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_run_v2; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v1; + dummy_anim_ref = %ai_zombie_crawl_inert_2_sprint_v2; + dummy_anim_ref = %ai_zombie_window_attack_arm_l_out; + dummy_anim_ref = %ai_zombie_window_attack_arm_r_out; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_walk; + dummy_anim_ref = %ai_zombie_traverse_ground_v2_walk_altA; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_run; + dummy_anim_ref = %ai_zombie_traverse_ground_climbout_fast; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathinside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside; + dummy_anim_ref = %ai_zombie_traverse_ground_v1_deathoutside_alt; + dummy_anim_ref = %ai_zombie_traverse_ground_dugup; + dummy_anim_ref = %ai_zombie_ceiling_attack_01; + dummy_anim_ref = %ai_zombie_ceiling_attack_02; + dummy_anim_ref = %ai_zombie_ceiling_emerge_01; + dummy_anim_ref = %ai_zombie_ceiling_death; + dummy_anim_ref = %ai_zombie_ceiling_dropdown_01; + dummy_anim_ref = %ai_zombie_ceiling_fall_loop; + dummy_anim_ref = %ai_zombie_ceiling_fall_land; + dummy_anim_ref = %ai_zombie_ceiling_fall_land_02; + dummy_anim_ref = %ch_dazed_a_death; + dummy_anim_ref = %ch_dazed_b_death; + dummy_anim_ref = %ch_dazed_c_death; + dummy_anim_ref = %ch_dazed_d_death; + dummy_anim_ref = %ai_zombie_crawl_death_v1; + dummy_anim_ref = %ai_zombie_crawl_death_v2; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink; + dummy_anim_ref = %ai_zombie_dreamcatch_impact; + dummy_anim_ref = %ai_zombie_dreamcatch_rise; + dummy_anim_ref = %ai_zombie_dreamcatch_shrink_a; + dummy_anim_ref = %ai_zombie_traverse_v1; + dummy_anim_ref = %ai_zombie_traverse_v2; + dummy_anim_ref = %ai_zombie_traverse_v5; + dummy_anim_ref = %ai_zombie_traverse_v6; + dummy_anim_ref = %ai_zombie_traverse_v7; + dummy_anim_ref = %ai_zombie_traverse_crawl_v1; + dummy_anim_ref = %ai_zombie_traverse_v4; + dummy_anim_ref = %ai_zombie_climb_down_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_down_pothole; + dummy_anim_ref = %ai_zombie_climb_up_pothole; + dummy_anim_ref = %ai_zombie_crawl_climb_up_pothole; + dummy_anim_ref = %ai_zombie_barricade_enter_l; + dummy_anim_ref = %ai_zombie_barricade_enter_r; + dummy_anim_ref = %ai_zombie_barricade_enter_m_nolegs; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v1; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v2; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v3; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v4; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v5; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v6; + dummy_anim_ref = %ai_zombie_barricade_enter_m_v7; + dummy_anim_ref = %ai_zombie_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_run_r; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_l; + dummy_anim_ref = %ai_zombie_crawl_barricade_enter_sprint_r; + dummy_anim_ref = %ai_zombie_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_onto_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_down_markiv_rightrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_front; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_leftrear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rear; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightfront; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightmid; + dummy_anim_ref = %ai_zombie_crawl_jump_up_markiv_rightrear; + dummy_anim_ref = %ai_zombie_slipslide_collapse; + dummy_anim_ref = %ai_zombie_walk_slipslide; + dummy_anim_ref = %ai_zombie_walk_slipslide_a; + dummy_anim_ref = %ai_zombie_run_slipslide; + dummy_anim_ref = %ai_zombie_run_slipslide_a; + dummy_anim_ref = %ai_zombie_sprint_slipslide; + dummy_anim_ref = %ai_zombie_sprint_slipslide_a; + dummy_anim_ref = %ai_zombie_stand_slipslide_recover; + dummy_anim_ref = %ai_zombie_crawl_slipslide_slow; + dummy_anim_ref = %ai_zombie_crawl_slipslide_fast; + dummy_anim_ref = %ai_zombie_crawl_slipslide_recover; + dummy_anim_ref = %ai_zombie_thundergun_hit; + dummy_anim_ref = %ai_zombie_thundergun_hit_armslegsforward; + dummy_anim_ref = %ai_zombie_thundergun_hit_doublebounce; + dummy_anim_ref = %ai_zombie_thundergun_hit_flatonback; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_vertical; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_stumblefall; + dummy_anim_ref = %ai_zombie_thundergun_hit_upontoback; + dummy_anim_ref = %ai_zombie_thundergun_getup; + dummy_anim_ref = %ai_zombie_thundergun_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_c; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_a ; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_b; + dummy_anim_ref = %ai_zombie_thundergun_getup_quick_c; + dummy_anim_ref = %ai_zombie_thundergun_hit_deadfallknee; + dummy_anim_ref = %ai_zombie_thundergun_hit_faceplant; + dummy_anim_ref = %ai_zombie_thundergun_hit_forwardtoface; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_left; + dummy_anim_ref = %ai_zombie_thundergun_hit_jackiespin_right; + dummy_anim_ref = %ai_zombie_thundergun_hit_legsout_right; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_a; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_b; + dummy_anim_ref = %ai_zombie_thundergun_sprinter_getup_c; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_slow; + dummy_anim_ref = %ai_zombie_hedgemaze_emerge_fast; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_slung_idle; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_idle_hunched; + dummy_anim_ref = %ai_zombie_crawler_pickup_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_putdown_by_sloth_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_stomp_hunched; + dummy_anim_ref = %ai_zombie_crawler_slothkill_suplex_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_sling_hunched; + dummy_anim_ref = %ai_zombie_crawler_sloth_crawlerhold_unsling_hunched; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_hunched_turn_180; + dummy_anim_ref = %ai_zombie_crawler_crawlerhold_walk_turn_180; + dummy_anim_ref = %ai_zombie_jump_across_120; + dummy_anim_ref = %ai_zombie_crawl_jump_across_120; + dummy_anim_ref = %ai_zombie_jump_down_40; + dummy_anim_ref = %ai_zombie_crawl_jump_down_40; + dummy_anim_ref = %ai_zombie_jump_down_fast_40; + dummy_anim_ref = %ai_zombie_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_stumble_48; + dummy_anim_ref = %ai_zombie_crawl_jump_down_48; + dummy_anim_ref = %ai_zombie_jump_down_72; + dummy_anim_ref = %ai_zombie_crawl_jump_down_72; + dummy_anim_ref = %ai_zombie_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_stumble_90; + dummy_anim_ref = %ai_zombie_crawl_jump_down_96; + dummy_anim_ref = %ai_zombie_jump_down_120; + dummy_anim_ref = %ai_zombie_crawl_jump_down_120; + dummy_anim_ref = %ai_zombie_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_stumble_127; + dummy_anim_ref = %ai_zombie_crawl_jump_down_127; + dummy_anim_ref = %ai_zombie_jump_down_176; + dummy_anim_ref = %ai_zombie_crawl_jump_down_176; + dummy_anim_ref = %ai_zombie_jump_down_184; + dummy_anim_ref = %ai_zombie_crawl_jump_down_184; + dummy_anim_ref = %ai_zombie_jump_down_190; + dummy_anim_ref = %ai_zombie_jump_down_stumble_190; + dummy_anim_ref = %ai_zombie_crawl_jump_down_189; + dummy_anim_ref = %ai_zombie_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_down_stumble_222; + dummy_anim_ref = %ai_zombie_crawl_jump_down_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_48 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_48; + dummy_anim_ref = %ai_zombie_jump_down_240; + dummy_anim_ref = %ai_zombie_crawl_jump_down_240; + dummy_anim_ref = %ai_zombie_jump_down_286; + dummy_anim_ref = %ai_zombie_crawl_jump_down_286; + dummy_anim_ref = %ai_zombie_jump_down_386; + dummy_anim_ref = %ai_zombie_crawl_jump_down_386; + dummy_anim_ref = %ai_zombie_jump_up_72; + dummy_anim_ref = %ai_zombie_crawl_jump_up_72; + dummy_anim_ref = %ai_zombie_jump_up_96 ; + dummy_anim_ref = %ai_zombie_crawl_jump_up_96; + dummy_anim_ref = %ai_zombie_jump_up_127; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_127; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_127; + dummy_anim_ref = %ai_zombie_jump_up_154; + dummy_anim_ref = %ai_zombie_crawl_jump_up_154; + dummy_anim_ref = %ai_zombie_jump_up_175; + dummy_anim_ref = %ai_zombie_crawl_jump_up_175 ; + dummy_anim_ref = %ai_zombie_jump_up_222; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_222; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_222; + dummy_anim_ref = %ai_zombie_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_crawl_jump_up_2_climb; + dummy_anim_ref = %ai_zombie_traverse_alcove_40; + dummy_anim_ref = %ai_zombie_traverse_alcove_56; + dummy_anim_ref = %ai_zombie_traverse_alcove_96; + dummy_anim_ref = %ai_zombie_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_72; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_84; + dummy_anim_ref = %ai_zombie_crawler_traverse_scaffold_100; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_96; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_112; + dummy_anim_ref = %ai_zombie_crawl_jump_down_dlc4_trench_wall_120; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dlc4_trench_wall_140; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire; + dummy_anim_ref = %ai_zombie_crawl_vaultover_barbedwire_24; + dummy_anim_ref = %ai_zombie_crawl_jump_down_church; + dummy_anim_ref = %ai_zombie_jump_down_church; + dummy_anim_ref = %ai_zombie_traverse_garage_roll; + dummy_anim_ref = %ai_zombie_crawl_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_startrailing; + dummy_anim_ref = %ai_zombie_crawl_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_down_startrailing; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_190; + dummy_anim_ref = %ai_zombie_crawl_traverse_48; + dummy_anim_ref = %ai_zombie_traverse_48; + dummy_anim_ref = %ai_zombie_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_up_cellblock; + dummy_anim_ref = %ai_zombie_crawl_sprint_jump_down_cellblock; + dummy_anim_ref = %ai_zombie_jump_down_dock_tommygun ; + dummy_anim_ref = %ai_zombie_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_crawl_diner_roof_hatch_jump_up; + dummy_anim_ref = %ai_zombie_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_jump_up_diner_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_diner_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_car; + dummy_anim_ref = %ai_zombie_crawl_traverse_car ; + dummy_anim_ref = %ai_zombie_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_sprint; + dummy_anim_ref = %ai_zombie_traverse_car_run; + dummy_anim_ref = %ai_zombie_crawl_traverse_car_pass_to_driver_side_sprint; + dummy_anim_ref = %ai_zombie_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_crawl_climb_over_dock_fence; + dummy_anim_ref = %ai_zombie_jump_up_goldengate; + dummy_anim_ref = %ai_zombie_jump_up_dock; + dummy_anim_ref = %ai_zombie_climb_up_ext_low; + dummy_anim_ref = %ai_zombie_climb_up_ext_mid; + dummy_anim_ref = %ai_zombie_climb_up_ext_roof; + dummy_anim_ref = %ai_zombie_jump_down_cellblock_basic ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_cellblock_basic; + dummy_anim_ref = %ai_zombie_traverse_lower_gondola; + dummy_anim_ref = %ai_zombie_crawl_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_jump_up_dock_middle; + dummy_anim_ref = %ai_zombie_walk_bus_v1; + dummy_anim_ref = %ai_zombie_walk_bus_v2; + dummy_anim_ref = %ai_zombie_walk_bus_v3; + dummy_anim_ref = %ai_zombie_walk_bus_v4; + dummy_anim_ref = %ai_zombie_bus_jump_door; + dummy_anim_ref = %ai_zombie_bus_jump_door_exit; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_window_to_r; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_l; + dummy_anim_ref = %ai_zombie_crawl_bus_jump_front_window_to_r; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_side_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_l_v1_fast; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1; + dummy_anim_ref = %ai_zombie_bus_front_window_enter_r_v1_fast; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_v1; + dummy_anim_ref = %ai_zombie_bus_rear_window_traverse_fast_v1; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_l_5_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_1_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_2_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_3_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_4_pull; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_grab; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_hold; + dummy_anim_ref = %ai_zombie_bus_boardtear_r_5_pull; + dummy_anim_ref = %ai_zombie_bus_hatch_tear; + dummy_anim_ref = %ai_zombie_bus_hatch_tear_fromback; + dummy_anim_ref = %ai_zombie_bus_hatch_jump_down; + dummy_anim_ref = %ai_zombie_bus_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_l; + dummy_anim_ref = %ai_zombie_bus_front_window_idle_r; + dummy_anim_ref = %ai_zombie_bus_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_l; + dummy_anim_ref = %ai_zombie_bus_front_window_attack_r; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_l; + dummy_anim_ref = %ai_zombie_bus_window_climbup_from_r; + dummy_anim_ref = %ai_zombie_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_l; + dummy_anim_ref = %ai_zombie_crawl_bus_front_window_dismount_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_l; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_back_r; + dummy_anim_ref = %ai_zombie_crawl_bus_window_exit_front; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_b; + dummy_anim_ref = %ai_zombie_crawl_jump_up_bus_hatch_to_f; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_b; + dummy_anim_ref = %ai_zombie_crawl_jump_down_bus_hatch_from_f; + dummy_anim_ref = %ai_zombie_bus_front_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_bus_rear_window_climbup_from_inside; + dummy_anim_ref = %ai_zombie_sprint_v6; + dummy_anim_ref = %ai_zombie_sprint_v7; + dummy_anim_ref = %ai_zombie_sprint_v8; + dummy_anim_ref = %ai_zombie_sprint_v9 ; + dummy_anim_ref = %ai_zombie_sprint_v10; + dummy_anim_ref = %ai_zombie_sprint_v11; + dummy_anim_ref = %ai_zombie_sprint_v12; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_slow_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_v3; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_walk_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_v3; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_sprint_death_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_slow_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_fast_v3; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v1; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v2; + dummy_anim_ref = %ai_zombie_jetgun_crawl_death_v3; + dummy_anim_ref = %ai_zombie_traverse_dierise_escape_corridor; + dummy_anim_ref = %ai_zombie_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_traverse_round_counter_from_stools; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_interior_alt_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_gap; + dummy_anim_ref = %ai_zombie_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_crawl_jump_up_grabbed_antenna; + dummy_anim_ref = %ai_zombie_jump_up_sewing; + dummy_anim_ref = %ai_zombie_crawl_jump_up_sewing; + dummy_anim_ref = %ai_zombie_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap7_to_top_ledge ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap17c_low_to_high ; + dummy_anim_ref = %ai_zombie_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_crawl_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_crawl_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_down_to_elevator_roof; + dummy_anim_ref = %ai_zombie_jump_up_from_elevator_roof; + dummy_anim_ref = %ai_zombie_climb_elevator ; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_to_stools; + dummy_anim_ref = %ai_zombie_crawl_traverse_round_counter_from_stools ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_chrest_interior_alt_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_1_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_2_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_3_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_4_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_5_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_6_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_7_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap1_from_antenna; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4a_slide_down_beam; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap4b_from_roof; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap6_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_from_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap7_to_top_ledge; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap8_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15a_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15b_from_girder; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15f_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap15g_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16a_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap16b_low_to_high; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17a_low_to_high ; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap17c_high_to_low; + dummy_anim_ref = %ai_zombie_crawl_traverse_dierise_gap18_high_to_low ; + dummy_anim_ref = %ai_zombie_riser_elevator_from_floor; + dummy_anim_ref = %ai_zombie_riser_elevator_from_ceiling; + dummy_anim_ref = %ai_zombie_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_loop_v1; + dummy_anim_ref = %ai_zombie_crawl_riotshield_breakthrough_v1; + dummy_anim_ref = %ai_zombie_afterlife_stun_a; + dummy_anim_ref = %ai_zombie_afterlife_stun_b; + dummy_anim_ref = %ai_zombie_afterlife_stun_c; + dummy_anim_ref = %ai_zombie_afterlife_stun_d; + dummy_anim_ref = %ai_zombie_afterlife_stun_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_b; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_c; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_d; + dummy_anim_ref = %ai_zombie_dlc4_tesla_death_e; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_a; + dummy_anim_ref = %ai_zombie_dlc4_tesla_crawl_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_a; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_b; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_c; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_d; + dummy_anim_ref = %ai_zombie_dlc4_freeze_death_e; + dummy_anim_ref = %ai_zombie_death_icestaff_a; + dummy_anim_ref = %ai_zombie_death_icestaff_b; + dummy_anim_ref = %ai_zombie_death_icestaff_c; + dummy_anim_ref = %ai_zombie_death_icestaff_d; + dummy_anim_ref = %ai_zombie_death_icestaff_e; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_01; + dummy_anim_ref = %ai_zombie_dlc4_crawl_freeze_death_02; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_a; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_b; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_c; + dummy_anim_ref = %ai_zombie_airstaff_death_vacuumed_midair_d; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_a; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_b; + dummy_anim_ref = %ai_zombie_firestaff_death_walking_c; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_a; + dummy_anim_ref = %ai_zombie_firestaff_death_collapse_b; + dummy_anim_ref = %ai_zombie_grabbed_by_mech ; + dummy_anim_ref = %ai_zombie_acid_stun_a; + dummy_anim_ref = %ai_zombie_acid_stun_b; + dummy_anim_ref = %ai_zombie_acid_stun_c; + dummy_anim_ref = %ai_zombie_acid_stun_d; + dummy_anim_ref = %ai_zombie_acid_stun_e; } main() @@ -490,7 +813,7 @@ spawner() precache( ai_index ) { level thread reference_anims_from_animtree(); - precacheanimstatedef( ai_index, #animtree, "zm_transit_basic" ); + precacheanimstatedef( ai_index, #animtree, "zm_all_basic" ); character\c_zom_zombie1_01::precache(); character\c_zom_zombie1_02::precache(); } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_avogadro.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_avogadro.gsc index 2ae54af..c7647a8 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_avogadro.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_avogadro.gsc @@ -489,7 +489,11 @@ bus_attack() } else { - //level.the_bus thread maps\mp\zm_transit_bus::bus_disabled_by_emp( 30 ); + func = getFunction( "maps/mp/zm_transit_bus", "bus_disabled_by_emp" ); + if ( isDefined( func ) ) + { + level.the_bus thread [[ func ]]( 30 ); + } self attach_to_bus(); } } @@ -587,7 +591,11 @@ bus_disable( bus_attack_struct ) success = 0; self.mod_melee = 0; self.bus_shock_time = 0; - //level thread maps\mp\zm_transit_bus::do_player_bus_zombie_vox( "avogadro_onbus", 45 ); + func = getFunction( "maps/mp/zm_transit_bus", "do_player_bus_zombie_vox" ); + if ( isDefined( func ) ) + { + level thread [[ func ]]( "avogadro_onbus", 45 ); + } while ( true ) { @@ -597,7 +605,8 @@ bus_disable( bus_attack_struct ) if ( self.bus_attack_time >= 20 ) { self.bus_disabled = 1; - //level thread maps\mp\zm_transit_bus::do_player_bus_zombie_vox( "avogadro_stopbus", 45 ); + func = getFunction( "maps/mp/zm_transit_bus", "do_player_bus_zombie_vox" ); + level thread [[ func ]]( "avogadro_stopbus", 45 ); break; } @@ -1396,7 +1405,11 @@ avogadro_damage_func( einflictor, eattacker, idamage, idflags, smeansofdeath, sw if ( sweapon == "riotshield_zm" ) { shield_damage = level.zombie_vars["riotshield_fling_damage_shield"]; - //einflictor maps\mp\zombies\_zm_weap_riotshield::player_damage_shield( shield_damage, 0 ); + func = getFunction( "maps/mp/zombies/_zm_weap_riotshield", "player_damage_shield" ); + if ( isDefined( func ) ) + { + einflictor [[ func ]]( shield_damage, 0 ); + } } } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_brutus.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_brutus.gsc index 3ccafd3..e169e43 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_brutus.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_brutus.gsc @@ -151,50 +151,53 @@ setup_interaction_matrix() level.interaction_types["perk_machine"].spawn_bias = 800; level.interaction_types["perk_machine"].num_times_to_scale = 3; level.interaction_types["perk_machine"].unlock_cost = 2000; - // level.interaction_types["craftable_table"] = spawnstruct(); - // level.interaction_types["craftable_table"].priority = 2; - // level.interaction_types["craftable_table"].animstate = "zm_smash_craftable_table"; - // level.interaction_types["craftable_table"].notify_name = "table_smash_anim"; - // level.interaction_types["craftable_table"].action_notetrack = "fire"; - // level.interaction_types["craftable_table"].validity_func = ::is_craftable_table_valid; - // level.interaction_types["craftable_table"].get_func = ::get_craftable_tables; - // level.interaction_types["craftable_table"].value_func = ::get_dist_score; - // level.interaction_types["craftable_table"].interact_func = ::craftable_table_lock; - // level.interaction_types["craftable_table"].spawn_bias = 600; - // level.interaction_types["craftable_table"].num_times_to_scale = 1; - // level.interaction_types["craftable_table"].unlock_cost = 2000; - // level.interaction_types["craftable_table"].interaction_z_offset = -15; - // level.interaction_types["craftable_table"].interaction_yaw_offset = 270; - // level.interaction_types["craftable_table"].fx_z_offset = -44; - // level.interaction_types["craftable_table"].fx_yaw_offset = 270; - // level.interaction_types["trap"] = spawnstruct(); - // level.interaction_types["trap"].priority = 3; - // level.interaction_types["trap"].animstate = "zm_smash_trap"; - // level.interaction_types["trap"].notify_name = "trap_smash_anim"; - // level.interaction_types["trap"].action_notetrack = "fire"; - // level.interaction_types["trap"].validity_func = ::is_trap_valid; - // level.interaction_types["trap"].get_func = ::get_traps; - // level.interaction_types["trap"].value_func = ::get_dist_score; - // level.interaction_types["trap"].interact_func = ::trap_smash; - // level.interaction_types["trap"].spawn_bias = 400; - // level.interaction_types["trap"].interaction_z_offset = -15; - // level.interaction_types["plane_ramp"] = spawnstruct(); - // level.interaction_types["plane_ramp"].priority = 4; - // level.interaction_types["plane_ramp"].animstate = "zm_lock_plane_ramp"; - // level.interaction_types["plane_ramp"].notify_name = "plane_lock_anim"; - // level.interaction_types["plane_ramp"].action_notetrack = "locked"; - // level.interaction_types["plane_ramp"].end_notetrack = "lock_done"; - // level.interaction_types["plane_ramp"].validity_func = ::is_plane_ramp_valid; - // level.interaction_types["plane_ramp"].get_func = ::get_plane_ramps; - // level.interaction_types["plane_ramp"].value_func = ::get_dist_score; - // level.interaction_types["plane_ramp"].interact_func = ::plane_ramp_lock; - // level.interaction_types["plane_ramp"].spawn_bias = 500; - // level.interaction_types["plane_ramp"].num_times_to_scale = 3; - // level.interaction_types["plane_ramp"].unlock_cost = 2000; - // level.interaction_types["plane_ramp"].interaction_z_offset = -60; - // level.interaction_types["plane_ramp"].fx_z_offset = -60; - // level.interaction_types["plane_ramp"].fx_x_offset = 70; - // level.interaction_types["plane_ramp"].fx_yaw_offset = 90; + if ( getDvar( "mapname" ) == "zm_prison" ) + { + level.interaction_types["craftable_table"] = spawnstruct(); + level.interaction_types["craftable_table"].priority = 2; + level.interaction_types["craftable_table"].animstate = "zm_smash_craftable_table"; + level.interaction_types["craftable_table"].notify_name = "table_smash_anim"; + level.interaction_types["craftable_table"].action_notetrack = "fire"; + level.interaction_types["craftable_table"].validity_func = ::is_craftable_table_valid; + level.interaction_types["craftable_table"].get_func = ::get_craftable_tables; + level.interaction_types["craftable_table"].value_func = ::get_dist_score; + level.interaction_types["craftable_table"].interact_func = ::craftable_table_lock; + level.interaction_types["craftable_table"].spawn_bias = 600; + level.interaction_types["craftable_table"].num_times_to_scale = 1; + level.interaction_types["craftable_table"].unlock_cost = 2000; + level.interaction_types["craftable_table"].interaction_z_offset = -15; + level.interaction_types["craftable_table"].interaction_yaw_offset = 270; + level.interaction_types["craftable_table"].fx_z_offset = -44; + level.interaction_types["craftable_table"].fx_yaw_offset = 270; + level.interaction_types["trap"] = spawnstruct(); + level.interaction_types["trap"].priority = 3; + level.interaction_types["trap"].animstate = "zm_smash_trap"; + level.interaction_types["trap"].notify_name = "trap_smash_anim"; + level.interaction_types["trap"].action_notetrack = "fire"; + level.interaction_types["trap"].validity_func = ::is_trap_valid; + level.interaction_types["trap"].get_func = ::get_traps; + level.interaction_types["trap"].value_func = ::get_dist_score; + level.interaction_types["trap"].interact_func = ::trap_smash; + level.interaction_types["trap"].spawn_bias = 400; + level.interaction_types["trap"].interaction_z_offset = -15; + level.interaction_types["plane_ramp"] = spawnstruct(); + level.interaction_types["plane_ramp"].priority = 4; + level.interaction_types["plane_ramp"].animstate = "zm_lock_plane_ramp"; + level.interaction_types["plane_ramp"].notify_name = "plane_lock_anim"; + level.interaction_types["plane_ramp"].action_notetrack = "locked"; + level.interaction_types["plane_ramp"].end_notetrack = "lock_done"; + level.interaction_types["plane_ramp"].validity_func = ::is_plane_ramp_valid; + level.interaction_types["plane_ramp"].get_func = ::get_plane_ramps; + level.interaction_types["plane_ramp"].value_func = ::get_dist_score; + level.interaction_types["plane_ramp"].interact_func = ::plane_ramp_lock; + level.interaction_types["plane_ramp"].spawn_bias = 500; + level.interaction_types["plane_ramp"].num_times_to_scale = 3; + level.interaction_types["plane_ramp"].unlock_cost = 2000; + level.interaction_types["plane_ramp"].interaction_z_offset = -60; + level.interaction_types["plane_ramp"].fx_z_offset = -60; + level.interaction_types["plane_ramp"].fx_x_offset = 70; + level.interaction_types["plane_ramp"].fx_yaw_offset = 90; + } level.interaction_types["blocker"] = spawnstruct(); level.interaction_types["blocker"].priority = 5; level.interaction_types["blocker"].animstate = "zm_smash_blocker"; @@ -2360,12 +2363,19 @@ get_brutus_interest_points() for ( i = 0; i < zone_names.size; i++ ) { self thread get_zone_perk_machines( zone_names[i] ); - //self thread get_zone_craftable_tables( zone_names[i] ); - //self thread get_zone_traps( zone_names[i] ); - //self thread get_zone_plane_ramp( zone_names[i] ); + if ( getDvar( "mapname" ) == "zm_prison" ) + { + self thread get_zone_craftable_tables( zone_names[i] ); + self thread get_zone_traps( zone_names[i] ); + self thread get_zone_plane_ramp( zone_names[i] ); + } } - //build_trap_array(); + if ( getDvar( "mapname" ) == "zm_prison" ) + { + build_trap_array(); + } + flag_set( "brutus_setup_complete" ); } @@ -2631,7 +2641,8 @@ check_plane_valid( player ) plane_struct.is_locked = 0; plane_struct.locked_cost = undefined; plane_struct.lock_fx delete(); - //plane_struct maps\mp\zm_alcatraz_sq::reset_plane_hint_string( player ); + func = getFunction( "maps/mp/zm_alcatraz_sq", "reset_plane_hint_string" ); + plane_struct [[ func ]]( player ); } return false; diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost.gsc index 0f5f039..3823ca2 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost.gsc @@ -809,7 +809,10 @@ ghost_think() { self [[ level.slowgun_set_anim_rate_func ]]( 1.0 ); } - //self setclientfield( "slowgun_fx", 0 ); + if ( level.script == "zm_buried" ) + { + self setclientfield( "slowgun_fx", 0 ); + } self setclientfield( "sndGhostAudio", 1 ); self init_thinking(); @@ -1592,11 +1595,13 @@ paralyzer_callback( player, upgraded ) if ( isdefined( self.ignore_slowgun_anim_rates ) && self.ignore_slowgun_anim_rates ) return; - // if ( upgraded ) - // self setclientfield( "slowgun_fx", 5 ); - // else - // self setclientfield( "slowgun_fx", 1 ); - + if ( level.script == "zm_buried" ) + { + if ( upgraded ) + self setclientfield( "slowgun_fx", 5 ); + else + self setclientfield( "slowgun_fx", 1 ); + } self [[ level.slowgun_zombie_slow_for_time ]]( 0.3, 0 ); } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost_ffotd.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost_ffotd.gsc index a756d3f..ffca2b1 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost_ffotd.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_ghost_ffotd.gsc @@ -77,14 +77,12 @@ ghost_bad_path_init() level.bad_zones[0].adjacent = []; level.bad_zones[0].adjacent[0] = "zone_underground_courthouse2"; level.bad_zones[0].adjacent[1] = "zone_tunnels_north2"; - //level.bad_zones[0].ignore_func = maps\mp\zm_buried::is_courthouse_open; level.bad_zones[0].ignore_func = getFunction( "maps/mp/zm_buried", "is_courthouse_open" ); level.bad_zones[1] = spawnstruct(); level.bad_zones[1].name = "zone_underground_courthouse2"; level.bad_zones[1].adjacent = []; level.bad_zones[1].adjacent[0] = "zone_underground_courthouse"; level.bad_zones[1].adjacent[1] = "zone_tunnels_north2"; - //level.bad_zones[1].ignore_func = maps\mp\zm_buried::is_courthouse_open; level.bad_zones[1].ignore_func = getFunction( "maps/mp/zm_buried", "is_courthouse_open" ); level.bad_zones[2] = spawnstruct(); level.bad_zones[2].name = "zone_tunnels_north2"; @@ -93,7 +91,6 @@ ghost_bad_path_init() level.bad_zones[2].adjacent[1] = "zone_underground_courthouse"; level.bad_zones[2].flag = "tunnels2courthouse"; level.bad_zones[2].flag_adjacent = "zone_tunnels_north"; - //level.bad_zones[2].ignore_func = maps\mp\zm_buried::is_courthouse_open; level.bad_zones[2].ignore_func = getFunction( "maps/mp/zm_buried", "is_courthouse_open" ); level.bad_zones[3] = spawnstruct(); level.bad_zones[3].name = "zone_tunnels_north"; @@ -101,20 +98,17 @@ ghost_bad_path_init() level.bad_zones[3].adjacent[0] = "zone_tunnels_center"; level.bad_zones[3].flag = "tunnels2courthouse"; level.bad_zones[3].flag_adjacent = "zone_tunnels_north2"; - //level.bad_zones[3].ignore_func = maps\mp\zm_buried::is_tunnel_open; level.bad_zones[3].ignore_func = getFunction( "maps/mp/zm_buried", "is_tunnel_open" ); level.bad_zones[4] = spawnstruct(); level.bad_zones[4].name = "zone_tunnels_center"; level.bad_zones[4].adjacent = []; level.bad_zones[4].adjacent[0] = "zone_tunnels_north"; level.bad_zones[4].adjacent[1] = "zone_tunnels_south"; - //level.bad_zones[4].ignore_func = maps\mp\zm_buried::is_tunnel_open; level.bad_zones[4].ignore_func = getFunction( "maps/mp/zm_buried", "is_tunnel_open" ); level.bad_zones[5] = spawnstruct(); level.bad_zones[5].name = "zone_tunnels_south"; level.bad_zones[5].adjacent = []; level.bad_zones[5].adjacent[0] = "zone_tunnels_center"; - //level.bad_zones[5].ignore_func = maps\mp\zm_buried::is_tunnel_open; level.bad_zones[5].ignore_func = getFunction( "maps/mp/zm_buried", "is_tunnel_open" ); } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz.gsc index 91ad822..657f4d9 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz.gsc @@ -24,404 +24,408 @@ precache() { - level thread mechz_setup_armor_pieces(); - precachemodel( "c_zom_mech_claw" ); - precachemodel( "c_zom_mech_faceplate" ); - precachemodel( "c_zom_mech_powersupply_cap" ); - level._effect["mech_dmg_sparks"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_sparks" ); - level._effect["mech_dmg_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_steam" ); - level._effect["mech_booster"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_booster" ); - level._effect["mech_wpn_source"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_source" ); - level._effect["mech_wpn_flamethrower"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_flamethrower" ); - level._effect["mech_booster_landing"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_landing" ); - level._effect["mech_faceplate_dmg"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_armor_face" ); - level._effect["mech_armor_dmg"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_armor" ); - level._effect["mech_exhaust"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" ); - level._effect["mech_booster_feet"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm" ); - level._effect["mech_headlamp"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_head_light" ); - level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" ); - setdvar( "zombie_double_wide_checks", 1 ); - precacherumble( "mechz_footsteps" ); - precacheshellshock( "lava_small" ); + level thread mechz_setup_armor_pieces(); + precachemodel( "c_zom_mech_claw" ); + precachemodel( "c_zom_mech_faceplate" ); + precachemodel( "c_zom_mech_powersupply_cap" ); + level._effect["mech_dmg_sparks"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_sparks" ); + level._effect["mech_dmg_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_steam" ); + level._effect["mech_booster"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_booster" ); + level._effect["mech_wpn_source"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_source" ); + level._effect["mech_wpn_flamethrower"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_flamethrower" ); + level._effect["mech_booster_landing"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_landing" ); + level._effect["mech_faceplate_dmg"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_armor_face" ); + level._effect["mech_armor_dmg"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_armor" ); + level._effect["mech_exhaust"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" ); + level._effect["mech_booster_feet"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm" ); + level._effect["mech_headlamp"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_head_light" ); + level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" ); + setdvar( "zombie_double_wide_checks", 1 ); + precacherumble( "mechz_footsteps" ); + precacheshellshock( "lava_small" ); } #using_animtree("mechz_claw"); init() { - maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_start(); - level.mechz_spawners = getentarray( "mechz_spawner", "script_noteworthy" ); + maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_start(); + level.mechz_spawners = getentarray( "mechz_spawner", "script_noteworthy" ); - if ( level.mechz_spawners.size == 0 ) - return; + if ( level.mechz_spawners.size == 0 ) + return; - for ( i = 0; i < level.mechz_spawners.size; i++ ) - { - level.mechz_spawners[i].is_enabled = 1; - level.mechz_spawners[i].script_forcespawn = 1; - } + for ( i = 0; i < level.mechz_spawners.size; i++ ) + { + level.mechz_spawners[i].is_enabled = 1; + level.mechz_spawners[i].script_forcespawn = 1; + } - level.mechz_base_health = 5000; - level.mechz_health = level.mechz_base_health; - level.mechz_health_increase = 1000; - level.mechz_round_count = 0; - level.mechz_damage_percent = 0.1; - level.mechz_remove_helmet_head_dmg_base = 500; - level.mechz_remove_helmet_head_dmg = level.mechz_remove_helmet_head_dmg_base; - level.mechz_remove_helmet_head_dmg_increase = 250; - level.mechz_explosive_dmg_head_scaler = 0.25; - level.mechz_helmet_health_percentage = 0.1; - level.mechz_powerplant_expose_dmg_base = 300; - level.mechz_powerplant_expose_dmg = level.mechz_powerplant_expose_base_dmg; - level.mechz_powerplant_expose_dmg_increase = 100; - level.mechz_powerplant_destroy_dmg_base = 500; - level.mechz_powerplant_destroy_dmg = level.mechz_powerplant_destroy_dmg_base; - level.mechz_powerplant_destroy_dmg_increase = 150; - level.mechz_powerplant_expose_health_percentage = 0.05; - level.mechz_powerplant_destroyed_health_percentage = 0.025; - level.mechz_explosive_dmg_to_cancel_claw_percentage = 0.1; - level.mechz_min_round_fq = 3; - level.mechz_max_round_fq = 4; - level.mechz_min_round_fq_solo = 4; - level.mechz_max_round_fq_solo = 6; - level.mechz_reset_dist_sq = 65536; - level.mechz_sticky_dist_sq = 1048576; - level.mechz_aggro_dist_sq = 16384; - level.mechz_zombie_per_round = 1; - level.mechz_left_to_spawn = 0; - level.mechz_players_in_zone_spawn_point_cap = 120; - level.mechz_shotgun_damage_mod = 1.5; - level.mechz_failed_paths_to_jump = 3; - level.mechz_jump_dist_threshold = 4410000; - level.mechz_jump_delay = 3; - level.mechz_player_flame_dmg = 10; - level.mechz_half_front_arc = cos( 45 ); - level.mechz_ft_sweep_chance = 10; - level.mechz_aim_max_pitch = 60; - level.mechz_aim_max_yaw = 45; - level.mechz_custom_goalradius = 48; - level.mechz_custom_goalradius_sq = level.mechz_custom_goalradius * level.mechz_custom_goalradius; - level.mechz_tank_knockdown_time = 5; - level.mechz_robot_knockdown_time = 10; - level.mechz_dist_for_sprint = 129600; - level.mechz_dist_for_stop_sprint = 57600; - level.mechz_claw_cooldown_time = 7000; - level.mechz_flamethrower_cooldown_time = 5000; - level.mechz_min_extra_spawn = 8; - level.mechz_max_extra_spawn = 11; - level.mechz_points_for_killer = 250; - level.mechz_points_for_team = 500; - level.mechz_points_for_helmet = 100; - level.mechz_points_for_powerplant = 100; - level.mechz_flogger_stun_time = 3; - level.mechz_powerplant_stun_time = 4; - flag_init( "mechz_launching_claw" ); - flag_init( "mechz_claw_move_complete" ); - level thread init_flamethrower_triggers(); + level.mechz_base_health = 5000; + level.mechz_health = level.mechz_base_health; + level.mechz_health_increase = 1000; + level.mechz_round_count = 0; + level.mechz_damage_percent = 0.1; + level.mechz_remove_helmet_head_dmg_base = 500; + level.mechz_remove_helmet_head_dmg = level.mechz_remove_helmet_head_dmg_base; + level.mechz_remove_helmet_head_dmg_increase = 250; + level.mechz_explosive_dmg_head_scaler = 0.25; + level.mechz_helmet_health_percentage = 0.1; + level.mechz_powerplant_expose_dmg_base = 300; + level.mechz_powerplant_expose_dmg = level.mechz_powerplant_expose_base_dmg; + level.mechz_powerplant_expose_dmg_increase = 100; + level.mechz_powerplant_destroy_dmg_base = 500; + level.mechz_powerplant_destroy_dmg = level.mechz_powerplant_destroy_dmg_base; + level.mechz_powerplant_destroy_dmg_increase = 150; + level.mechz_powerplant_expose_health_percentage = 0.05; + level.mechz_powerplant_destroyed_health_percentage = 0.025; + level.mechz_explosive_dmg_to_cancel_claw_percentage = 0.1; + level.mechz_min_round_fq = 3; + level.mechz_max_round_fq = 4; + level.mechz_min_round_fq_solo = 4; + level.mechz_max_round_fq_solo = 6; + level.mechz_reset_dist_sq = 65536; + level.mechz_sticky_dist_sq = 1048576; + level.mechz_aggro_dist_sq = 16384; + level.mechz_zombie_per_round = 1; + level.mechz_left_to_spawn = 0; + level.mechz_players_in_zone_spawn_point_cap = 120; + level.mechz_shotgun_damage_mod = 1.5; + level.mechz_failed_paths_to_jump = 3; + level.mechz_jump_dist_threshold = 4410000; + level.mechz_jump_delay = 3; + level.mechz_player_flame_dmg = 10; + level.mechz_half_front_arc = cos( 45 ); + level.mechz_ft_sweep_chance = 10; + level.mechz_aim_max_pitch = 60; + level.mechz_aim_max_yaw = 45; + level.mechz_custom_goalradius = 48; + level.mechz_custom_goalradius_sq = level.mechz_custom_goalradius * level.mechz_custom_goalradius; + level.mechz_tank_knockdown_time = 5; + level.mechz_robot_knockdown_time = 10; + level.mechz_dist_for_sprint = 129600; + level.mechz_dist_for_stop_sprint = 57600; + level.mechz_claw_cooldown_time = 7000; + level.mechz_flamethrower_cooldown_time = 5000; + level.mechz_min_extra_spawn = 8; + level.mechz_max_extra_spawn = 11; + level.mechz_points_for_killer = 250; + level.mechz_points_for_team = 500; + level.mechz_points_for_helmet = 100; + level.mechz_points_for_powerplant = 100; + level.mechz_flogger_stun_time = 3; + level.mechz_powerplant_stun_time = 4; + flag_init( "mechz_launching_claw" ); + flag_init( "mechz_claw_move_complete" ); + level thread init_flamethrower_triggers(); - if ( isdefined( level.mechz_spawning_logic_override_func ) ) - level thread [[ level.mechz_spawning_logic_override_func ]](); - else - level thread mechz_spawning_logic(); + if ( isdefined( level.mechz_spawning_logic_override_func ) ) + level thread [[ level.mechz_spawning_logic_override_func ]](); + else + level thread mechz_spawning_logic(); - scriptmodelsuseanimtree( #animtree ); + scriptmodelsuseanimtree( #animtree ); /# - setup_devgui(); + setup_devgui(); #/ - maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_end(); + maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_end(); } mechz_setup_armor_pieces() { - level.mechz_armor_info = []; - level.mechz_armor_info[0] = spawnstruct(); - level.mechz_armor_info[0].model = "c_zom_mech_armor_knee_left"; - level.mechz_armor_info[0].tag = "J_Knee_Attach_LE"; - level.mechz_armor_info[1] = spawnstruct(); - level.mechz_armor_info[1].model = "c_zom_mech_armor_knee_right"; - level.mechz_armor_info[1].tag = "J_Knee_attach_RI"; - level.mechz_armor_info[2] = spawnstruct(); - level.mechz_armor_info[2].model = "c_zom_mech_armor_shoulder_left"; - level.mechz_armor_info[2].tag = "J_ShoulderArmor_LE"; - level.mechz_armor_info[3] = spawnstruct(); - level.mechz_armor_info[3].model = "c_zom_mech_armor_shoulder_right"; - level.mechz_armor_info[3].tag = "J_ShoulderArmor_RI"; - level.mechz_armor_info[4] = spawnstruct(); - level.mechz_armor_info[4].tag = "J_Root_Attach_LE"; - level.mechz_armor_info[5] = spawnstruct(); - level.mechz_armor_info[5].tag = "J_Root_Attach_RI"; + level.mechz_armor_info = []; + level.mechz_armor_info[0] = spawnstruct(); + level.mechz_armor_info[0].model = "c_zom_mech_armor_knee_left"; + level.mechz_armor_info[0].tag = "J_Knee_Attach_LE"; + level.mechz_armor_info[1] = spawnstruct(); + level.mechz_armor_info[1].model = "c_zom_mech_armor_knee_right"; + level.mechz_armor_info[1].tag = "J_Knee_attach_RI"; + level.mechz_armor_info[2] = spawnstruct(); + level.mechz_armor_info[2].model = "c_zom_mech_armor_shoulder_left"; + level.mechz_armor_info[2].tag = "J_ShoulderArmor_LE"; + level.mechz_armor_info[3] = spawnstruct(); + level.mechz_armor_info[3].model = "c_zom_mech_armor_shoulder_right"; + level.mechz_armor_info[3].tag = "J_ShoulderArmor_RI"; + level.mechz_armor_info[4] = spawnstruct(); + level.mechz_armor_info[4].tag = "J_Root_Attach_LE"; + level.mechz_armor_info[5] = spawnstruct(); + level.mechz_armor_info[5].tag = "J_Root_Attach_RI"; - for ( i = 0; i < level.mechz_armor_info.size; i++ ) - { - if ( isdefined( level.mechz_armor_info[i].model ) ) - precachemodel( level.mechz_armor_info[i].model ); - } + for ( i = 0; i < level.mechz_armor_info.size; i++ ) + { + if ( isdefined( level.mechz_armor_info[i].model ) ) + precachemodel( level.mechz_armor_info[i].model ); + } } mechz_setup_fx() { - self.fx_field = 0; - self thread booster_fx_watcher(); - self thread flamethrower_fx_watcher(); + self.fx_field = 0; + self thread booster_fx_watcher(); + self thread flamethrower_fx_watcher(); } clear_one_off_fx( fx_id ) { - self endon( "death" ); - wait 10; - self.fx_field = self.fx_field & ~fx_id; - self setclientfield( "mechz_fx", self.fx_field ); + self endon( "death" ); + wait 10; + self.fx_field = self.fx_field & ~fx_id; + self setclientfield( "mechz_fx", self.fx_field ); } traversal_booster_fx_watcher() { - self endon( "death" ); + self endon( "death" ); - while ( true ) - { - self waittill( "traverse_anim", notetrack ); + while ( true ) + { + self waittill( "traverse_anim", notetrack ); - if ( notetrack == "booster_on" ) - { - self.fx_field = self.fx_field | 128; - self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); - self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); - } - else if ( notetrack == "booster_off" ) - { - self.fx_field = self.fx_field & ~128; - self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); - self.sndloopent stoploopsound( 1 ); - } + if ( notetrack == "booster_on" ) + { + self.fx_field = self.fx_field | 128; + self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); + self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); + } + else if ( notetrack == "booster_off" ) + { + self.fx_field = self.fx_field & ~128; + self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); + self.sndloopent stoploopsound( 1 ); + } - self setclientfield( "mechz_fx", self.fx_field ); - } + self setclientfield( "mechz_fx", self.fx_field ); + } } booster_fx_watcher() { - self endon( "death" ); - self thread traversal_booster_fx_watcher(); + self endon( "death" ); + self thread traversal_booster_fx_watcher(); - while ( true ) - { - self waittill( "jump_anim", notetrack ); + while ( true ) + { + self waittill( "jump_anim", notetrack ); - if ( isdefined( self.mechz_hidden ) && self.mechz_hidden ) - continue; + if ( isdefined( self.mechz_hidden ) && self.mechz_hidden ) + continue; - if ( notetrack == "booster_on" ) - { - self.fx_field = self.fx_field | 128; - self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); - self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); - } - else if ( notetrack == "booster_off" ) - { - self.fx_field = self.fx_field & ~128; - self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); - self.sndloopent stoploopsound( 1 ); - } - else if ( notetrack == "impact" ) - { - self.fx_field = self.fx_field | 512; + if ( notetrack == "booster_on" ) + { + self.fx_field = self.fx_field | 128; + self.sndloopent playsound( "zmb_ai_mechz_rocket_start" ); + self.sndloopent playloopsound( "zmb_ai_mechz_rocket_loop", 0.75 ); + } + else if ( notetrack == "booster_off" ) + { + self.fx_field = self.fx_field & ~128; + self.sndloopent playsound( "zmb_ai_mechz_rocket_stop" ); + self.sndloopent stoploopsound( 1 ); + } + else if ( notetrack == "impact" ) + { + self.fx_field = self.fx_field | 512; - if ( isdefined( self.has_helmet ) && self.has_helmet ) - self.fx_field = self.fx_field | 2048; + if ( isdefined( self.has_helmet ) && self.has_helmet ) + self.fx_field = self.fx_field | 2048; - self thread clear_one_off_fx( 512 ); - } + self thread clear_one_off_fx( 512 ); + } - self setclientfield( "mechz_fx", self.fx_field ); - } + self setclientfield( "mechz_fx", self.fx_field ); + } } flamethrower_fx_watcher() { - self endon( "death" ); + self endon( "death" ); - while ( true ) - { - self waittill( "flamethrower_anim", notetrack ); + while ( true ) + { + self waittill( "flamethrower_anim", notetrack ); - if ( notetrack == "start_ft" ) - self.fx_field = self.fx_field | 64; - else if ( notetrack == "stop_ft" ) - self.fx_field = self.fx_field & ~64; + if ( notetrack == "start_ft" ) + self.fx_field = self.fx_field | 64; + else if ( notetrack == "stop_ft" ) + self.fx_field = self.fx_field & ~64; - self setclientfield( "mechz_fx", self.fx_field ); - } + self setclientfield( "mechz_fx", self.fx_field ); + } } fx_cleanup() { - self.fx_field = 0; - self setclientfield( "mechz_fx", self.fx_field ); - wait_network_frame(); + self.fx_field = 0; + self setclientfield( "mechz_fx", self.fx_field ); + wait_network_frame(); } mechz_setup_snd() { - self.audio_type = "mechz"; + self.audio_type = "mechz"; - if ( !isdefined( self.sndloopent ) ) - { - self.sndloopent = spawn( "script_origin", self.origin ); - self.sndloopent linkto( self, "tag_origin" ); - self thread snddeleteentondeath( self.sndloopent ); - } + if ( !isdefined( self.sndloopent ) ) + { + self.sndloopent = spawn( "script_origin", self.origin ); + self.sndloopent linkto( self, "tag_origin" ); + self thread snddeleteentondeath( self.sndloopent ); + } - self thread play_ambient_mechz_vocals(); + self thread play_ambient_mechz_vocals(); } snddeleteentondeath( ent ) { - self waittill( "death" ); - ent delete(); + self waittill( "death" ); + ent delete(); } play_ambient_mechz_vocals() { - self endon( "death" ); - wait( randomintrange( 2, 4 ) ); + self endon( "death" ); + wait( randomintrange( 2, 4 ) ); - while ( true ) - { - if ( isdefined( self ) ) - { - if ( isdefined( self.favoriteenemy ) && distance( self.origin, self.favoriteenemy.origin ) <= 150 ) - { + while ( true ) + { + if ( isdefined( self ) ) + { + if ( isdefined( self.favoriteenemy ) && distance( self.origin, self.favoriteenemy.origin ) <= 150 ) + { - } - else - self playsound( "zmb_ai_mechz_vox_ambient" ); - } + } + else + self playsound( "zmb_ai_mechz_vox_ambient" ); + } - wait( randomfloatrange( 3, 6 ) ); - } + wait( randomfloatrange( 3, 6 ) ); + } } enable_mechz_rounds() { /# - if ( getdvarint( #"_id_FA81816F" ) >= 2 ) - return; + if ( getdvarint( #"_id_FA81816F" ) >= 2 ) + return; #/ - level.mechz_rounds_enabled = 1; - flag_init( "mechz_round" ); - level thread mechz_round_tracker(); + level.mechz_rounds_enabled = 1; + flag_init( "mechz_round" ); + level thread mechz_round_tracker(); } mechz_round_tracker() { - maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_start(); - level.num_mechz_spawned = 0; - old_spawn_func = level.round_spawn_func; - old_wait_func = level.round_wait_func; + maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_start(); + level.num_mechz_spawned = 0; + old_spawn_func = level.round_spawn_func; + old_wait_func = level.round_wait_func; - while ( !isdefined( level.zombie_mechz_locations ) ) - wait 0.05; + while ( !isdefined( level.zombie_mechz_locations ) ) + wait 0.05; - //flag_wait( "activate_zone_nml" ); - mech_start_round_num = 8; + if ( getDvar( "mapname" == "zm_tomb" ) ) + { + flag_wait( "activate_zone_nml" ); + } + + mech_start_round_num = 8; - if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) - mech_start_round_num = 8; + if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) + mech_start_round_num = 8; - while ( level.round_number < mech_start_round_num ) - level waittill( "between_round_over" ); + while ( level.round_number < mech_start_round_num ) + level waittill( "between_round_over" ); - level.next_mechz_round = level.round_number; - level thread debug_print_mechz_round(); + level.next_mechz_round = level.round_number; + level thread debug_print_mechz_round(); - while ( true ) - { - maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_loop_start(); + while ( true ) + { + maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_loop_start(); - if ( level.num_mechz_spawned > 0 ) - level.mechz_should_drop_powerup = 1; + if ( level.num_mechz_spawned > 0 ) + level.mechz_should_drop_powerup = 1; - if ( level.next_mechz_round <= level.round_number ) - { - a_zombies = getaispeciesarray( level.zombie_team, "all" ); + if ( level.next_mechz_round <= level.round_number ) + { + a_zombies = getaispeciesarray( level.zombie_team, "all" ); - foreach ( zombie in a_zombies ) - { - if ( isdefined( zombie.is_mechz ) && zombie.is_mechz && isalive( zombie ) ) - { - level.next_mechz_round++; - break; - } - } - } + foreach ( zombie in a_zombies ) + { + if ( isdefined( zombie.is_mechz ) && zombie.is_mechz && isalive( zombie ) ) + { + level.next_mechz_round++; + break; + } + } + } - if ( level.mechz_left_to_spawn == 0 && level.next_mechz_round <= level.round_number ) - { - mechz_health_increases(); + if ( level.mechz_left_to_spawn == 0 && level.next_mechz_round <= level.round_number ) + { + mechz_health_increases(); - if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) - level.mechz_zombie_per_round = 1; - else if ( level.mechz_round_count < 2 ) - level.mechz_zombie_per_round = 1; - else if ( level.mechz_round_count < 5 ) - level.mechz_zombie_per_round = 2; - else - level.mechz_zombie_per_round = 3; + if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) + level.mechz_zombie_per_round = 1; + else if ( level.mechz_round_count < 2 ) + level.mechz_zombie_per_round = 1; + else if ( level.mechz_round_count < 5 ) + level.mechz_zombie_per_round = 2; + else + level.mechz_zombie_per_round = 3; - level.mechz_left_to_spawn = level.mechz_zombie_per_round; - mechz_spawning = level.mechz_left_to_spawn; - wait( randomfloatrange( 10.0, 15.0 ) ); - level notify( "spawn_mechz" ); + level.mechz_left_to_spawn = level.mechz_zombie_per_round; + mechz_spawning = level.mechz_left_to_spawn; + wait( randomfloatrange( 10.0, 15.0 ) ); + level notify( "spawn_mechz" ); - if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) - n_round_gap = randomintrange( level.mechz_min_round_fq_solo, level.mechz_max_round_fq_solo ); - else - n_round_gap = randomintrange( level.mechz_min_round_fq, level.mechz_max_round_fq ); + if ( isdefined( level.is_forever_solo_game ) && level.is_forever_solo_game ) + n_round_gap = randomintrange( level.mechz_min_round_fq_solo, level.mechz_max_round_fq_solo ); + else + n_round_gap = randomintrange( level.mechz_min_round_fq, level.mechz_max_round_fq ); - level.next_mechz_round = level.round_number + n_round_gap; - level.mechz_round_count++; - level thread debug_print_mechz_round(); - level.num_mechz_spawned = level.num_mechz_spawned + mechz_spawning; - } + level.next_mechz_round = level.round_number + n_round_gap; + level.mechz_round_count++; + level thread debug_print_mechz_round(); + level.num_mechz_spawned = level.num_mechz_spawned + mechz_spawning; + } - maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_loop_end(); - level waittill( "between_round_over" ); - mechz_clear_spawns(); - } + maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_round_tracker_loop_end(); + level waittill( "between_round_over" ); + mechz_clear_spawns(); + } } debug_print_mechz_round() { - flag_wait( "start_zombie_round_logic" ); + flag_wait( "start_zombie_round_logic" ); /# - iprintln( "Next mechz Round = " + level.next_mechz_round ); + iprintln( "Next mechz Round = " + level.next_mechz_round ); #/ } mechz_spawning_logic() { - level thread enable_mechz_rounds(); + level thread enable_mechz_rounds(); - while ( true ) - { - level waittill( "spawn_mechz" ); + while ( true ) + { + level waittill( "spawn_mechz" ); - while ( level.mechz_left_to_spawn ) - { - while ( level.zombie_mechz_locations.size < 1 ) - wait( randomfloatrange( 5.0, 10.0 ) ); + while ( level.mechz_left_to_spawn ) + { + while ( level.zombie_mechz_locations.size < 1 ) + wait( randomfloatrange( 5.0, 10.0 ) ); - ai = spawn_zombie( level.mechz_spawners[0] ); - ai thread mechz_spawn(); - level.mechz_left_to_spawn--; + ai = spawn_zombie( level.mechz_spawners[0] ); + ai thread mechz_spawn(); + level.mechz_left_to_spawn--; - if ( level.mechz_left_to_spawn == 0 ) - level thread response_to_air_raid_siren_vo(); + if ( level.mechz_left_to_spawn == 0 ) + level thread response_to_air_raid_siren_vo(); - ai thread mechz_hint_vo(); - wait( randomfloatrange( 3.0, 6.0 ) ); - } - } + ai thread mechz_hint_vo(); + wait( randomfloatrange( 3.0, 6.0 ) ); + } + } } mechz_prespawn() @@ -431,1215 +435,1217 @@ mechz_prespawn() mechz_attach_objects() { - self detachall(); - self.armor_state = []; + self detachall(); + self.armor_state = []; - for ( i = 0; i < level.mechz_armor_info.size; i++ ) - { - self.armor_state[i] = spawnstruct(); - self.armor_state[i].index = i; - self.armor_state[i].tag = level.mechz_armor_info[i].tag; + for ( i = 0; i < level.mechz_armor_info.size; i++ ) + { + self.armor_state[i] = spawnstruct(); + self.armor_state[i].index = i; + self.armor_state[i].tag = level.mechz_armor_info[i].tag; - if ( isdefined( level.mechz_armor_info[i].model ) ) - { - self attach( level.mechz_armor_info[i].model, level.mechz_armor_info[i].tag, 1 ); - self.armor_state[i].model = level.mechz_armor_info[i].model; - } - } + if ( isdefined( level.mechz_armor_info[i].model ) ) + { + self attach( level.mechz_armor_info[i].model, level.mechz_armor_info[i].tag, 1 ); + self.armor_state[i].model = level.mechz_armor_info[i].model; + } + } - if ( isdefined( self.m_claw ) ) - { - self.m_claw delete(); - self.m_claw = undefined; - } + if ( isdefined( self.m_claw ) ) + { + self.m_claw delete(); + self.m_claw = undefined; + } - org = self gettagorigin( "tag_claw" ); - ang = self gettagangles( "tag_claw" ); - self.m_claw = spawn( "script_model", org ); - self.m_claw setmodel( "c_zom_mech_claw" ); - self.m_claw.angles = ang; - self.m_claw linkto( self, "tag_claw" ); - self.m_claw useanimtree( #animtree ); + org = self gettagorigin( "tag_claw" ); + ang = self gettagangles( "tag_claw" ); + self.m_claw = spawn( "script_model", org ); + self.m_claw setmodel( "c_zom_mech_claw" ); + self.m_claw.angles = ang; + self.m_claw linkto( self, "tag_claw" ); + self.m_claw useanimtree( #animtree ); - if ( isdefined( self.m_claw_damage_trigger ) ) - { - self.m_claw_damage_trigger unlink(); - self.m_claw_damage_trigger delete(); - self.m_claw_damage_trigger = undefined; - } + if ( isdefined( self.m_claw_damage_trigger ) ) + { + self.m_claw_damage_trigger unlink(); + self.m_claw_damage_trigger delete(); + self.m_claw_damage_trigger = undefined; + } - trigger_spawnflags = 0; - trigger_radius = 3; - trigger_height = 15; - self.m_claw_damage_trigger = spawn( "trigger_damage", org, trigger_spawnflags, trigger_radius, trigger_height ); - self.m_claw_damage_trigger.angles = ang; - self.m_claw_damage_trigger enablelinkto(); - self.m_claw_damage_trigger linkto( self, "tag_claw" ); - self thread mechz_claw_damage_trigger_thread(); - self attach( "c_zom_mech_faceplate", "J_Helmet", 0 ); - self.has_helmet = 1; - self attach( "c_zom_mech_powersupply_cap", "tag_powersupply", 0 ); - self.has_powerplant = 1; - self.powerplant_covered = 1; - self.armor_state = array_randomize( self.armor_state ); + trigger_spawnflags = 0; + trigger_radius = 3; + trigger_height = 15; + self.m_claw_damage_trigger = spawn( "trigger_damage", org, trigger_spawnflags, trigger_radius, trigger_height ); + self.m_claw_damage_trigger.angles = ang; + self.m_claw_damage_trigger enablelinkto(); + self.m_claw_damage_trigger linkto( self, "tag_claw" ); + self thread mechz_claw_damage_trigger_thread(); + self attach( "c_zom_mech_faceplate", "J_Helmet", 0 ); + self.has_helmet = 1; + self attach( "c_zom_mech_powersupply_cap", "tag_powersupply", 0 ); + self.has_powerplant = 1; + self.powerplant_covered = 1; + self.armor_state = array_randomize( self.armor_state ); } mechz_set_starting_health() { - self.maxhealth = level.mechz_health; - self.helmet_dmg = 0; - self.helmet_dmg_for_removal = self.maxhealth * level.mechz_helmet_health_percentage; - self.powerplant_cover_dmg = 0; - self.powerplant_cover_dmg_for_removal = self.maxhealth * level.mechz_powerplant_expose_health_percentage; - self.powerplant_dmg = 0; - self.powerplant_dmg_for_destroy = self.maxhealth * level.mechz_powerplant_destroyed_health_percentage; - level.mechz_explosive_dmg_to_cancel_claw = self.maxhealth * level.mechz_explosive_dmg_to_cancel_claw_percentage; + self.maxhealth = level.mechz_health; + self.helmet_dmg = 0; + self.helmet_dmg_for_removal = self.maxhealth * level.mechz_helmet_health_percentage; + self.powerplant_cover_dmg = 0; + self.powerplant_cover_dmg_for_removal = self.maxhealth * level.mechz_powerplant_expose_health_percentage; + self.powerplant_dmg = 0; + self.powerplant_dmg_for_destroy = self.maxhealth * level.mechz_powerplant_destroyed_health_percentage; + level.mechz_explosive_dmg_to_cancel_claw = self.maxhealth * level.mechz_explosive_dmg_to_cancel_claw_percentage; /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - { - println( "\\nMZ: MechZ Starting Health: " + self.maxhealth ); - println( "\\nMZ: MechZ Required Helmet Dmg: " + self.helmet_dmg_for_removal ); - println( "\\nMZ: MechZ Required Powerplant Cover Dmg: " + self.powerplant_cover_dmg_for_removal ); - println( "\\nMZ: MechZ Required Powerplant Dmg: " + self.powerplant_dmg_for_destroy ); - } + if ( getdvarint( #"_id_E7121222" ) > 0 ) + { + println( "\\nMZ: MechZ Starting Health: " + self.maxhealth ); + println( "\\nMZ: MechZ Required Helmet Dmg: " + self.helmet_dmg_for_removal ); + println( "\\nMZ: MechZ Required Powerplant Cover Dmg: " + self.powerplant_cover_dmg_for_removal ); + println( "\\nMZ: MechZ Required Powerplant Dmg: " + self.powerplant_dmg_for_destroy ); + } #/ - self.health = level.mechz_health; - self.non_attacker_func = ::mechz_non_attacker_damage_override; - self.non_attack_func_takes_attacker = 1; - self.actor_damage_func = ::mechz_damage_override; - self.instakill_func = ::mechz_instakill_override; - self.nuke_damage_func = ::mechz_nuke_override; + self.health = level.mechz_health; + self.non_attacker_func = ::mechz_non_attacker_damage_override; + self.non_attack_func_takes_attacker = 1; + self.actor_damage_func = ::mechz_damage_override; + self.instakill_func = ::mechz_instakill_override; + self.nuke_damage_func = ::mechz_nuke_override; } mechz_spawn() { - self maps\mp\zombies\_zm_ai_mechz_ffotd::spawn_start(); - self endon( "death" ); - level endon( "intermission" ); - self mechz_attach_objects(); - self mechz_set_starting_health(); - self mechz_setup_fx(); - self mechz_setup_snd(); - level notify( "sam_clue_mechz", self ); - self.closest_player_override = maps\mp\zombies\_zm_ai_mechz::get_favorite_enemy; - self.animname = "mechz_zombie"; - self.has_legs = 1; - self.no_gib = 1; - self.ignore_all_poi = 1; - self.is_mechz = 1; - self.ignore_enemy_count = 1; - self.no_damage_points = 1; - self.melee_anim_func = ::melee_anim_func; - self.meleedamage = 75; - self.custom_item_dmg = 2000; - recalc_zombie_array(); - self setphysparams( 20, 0, 80 ); - self setcandamage( 0 ); - self.zombie_init_done = 1; - self notify( "zombie_init_done" ); - self.allowpain = 0; - self animmode( "normal" ); - self orientmode( "face enemy" ); - self maps\mp\zombies\_zm_spawner::zombie_setup_attack_properties(); - self.completed_emerging_into_playable_area = 1; - self notify( "completed_emerging_into_playable_area" ); - self.no_powerups = 0; - self setfreecameralockonallowed( 0 ); - self notsolid(); - self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow(); - level thread maps\mp\zombies\_zm_spawner::zombie_death_event( self ); - self thread maps\mp\zombies\_zm_spawner::enemy_death_detection(); + self maps\mp\zombies\_zm_ai_mechz_ffotd::spawn_start(); + self endon( "death" ); + level endon( "intermission" ); + self mechz_attach_objects(); + self mechz_set_starting_health(); + self mechz_setup_fx(); + self mechz_setup_snd(); + level notify( "sam_clue_mechz", self ); + self.closest_player_override = maps\mp\zombies\_zm_ai_mechz::get_favorite_enemy; + self.animname = "mechz_zombie"; + self.has_legs = 1; + self.no_gib = 1; + self.ignore_all_poi = 1; + self.is_mechz = 1; + self.ignore_enemy_count = 1; + self.no_damage_points = 1; + self.melee_anim_func = ::melee_anim_func; + self.meleedamage = 75; + self.custom_item_dmg = 2000; + recalc_zombie_array(); + self setphysparams( 20, 0, 80 ); + self setcandamage( 0 ); + self.zombie_init_done = 1; + self notify( "zombie_init_done" ); + self.allowpain = 0; + self animmode( "normal" ); + self orientmode( "face enemy" ); + self maps\mp\zombies\_zm_spawner::zombie_setup_attack_properties(); + self.completed_emerging_into_playable_area = 1; + self notify( "completed_emerging_into_playable_area" ); + self.no_powerups = 0; + self setfreecameralockonallowed( 0 ); + self notsolid(); + self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow(); + level thread maps\mp\zombies\_zm_spawner::zombie_death_event( self ); + self thread maps\mp\zombies\_zm_spawner::enemy_death_detection(); - if ( level.zombie_mechz_locations.size ) - spawn_pos = self get_best_mechz_spawn_pos(); + if ( level.zombie_mechz_locations.size ) + spawn_pos = self get_best_mechz_spawn_pos(); - if ( !isdefined( spawn_pos ) ) - { + if ( !isdefined( spawn_pos ) ) + { /# - println( "ERROR: Tried to spawn mechz with no mechz spawn_positions!\\n" ); - iprintln( "ERROR: Tried to spawn mechz with no mechz spawn_positions!" ); + println( "ERROR: Tried to spawn mechz with no mechz spawn_positions!\\n" ); + iprintln( "ERROR: Tried to spawn mechz with no mechz spawn_positions!" ); #/ - self delete(); - return; - } + self delete(); + return; + } - if ( isdefined( level.mechz_force_spawn_pos ) ) - { - spawn_pos = level.mechz_force_spawn_pos; - level.mechz_force_spawn_pos = undefined; - } + if ( isdefined( level.mechz_force_spawn_pos ) ) + { + spawn_pos = level.mechz_force_spawn_pos; + level.mechz_force_spawn_pos = undefined; + } - if ( !isdefined( spawn_pos.angles ) ) - spawn_pos.angles = ( 0, 0, 0 ); + if ( !isdefined( spawn_pos.angles ) ) + spawn_pos.angles = ( 0, 0, 0 ); - self thread mechz_death(); - self forceteleport( spawn_pos.origin, spawn_pos.angles ); - self playsound( "zmb_ai_mechz_incoming_alarm" ); + self thread mechz_death(); + self forceteleport( spawn_pos.origin, spawn_pos.angles ); + self playsound( "zmb_ai_mechz_incoming_alarm" ); - if ( !isdefined( spawn_pos.angles ) ) - spawn_pos.angles = ( 0, 0, 0 ); + if ( !isdefined( spawn_pos.angles ) ) + spawn_pos.angles = ( 0, 0, 0 ); - self animscripted( spawn_pos.origin, spawn_pos.angles, "zm_spawn" ); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); - self setfreecameralockonallowed( 1 ); - self solid(); - self set_zombie_run_cycle( "walk" ); + self animscripted( spawn_pos.origin, spawn_pos.angles, "zm_spawn" ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + self setfreecameralockonallowed( 1 ); + self solid(); + self set_zombie_run_cycle( "walk" ); - if ( isdefined( level.mechz_find_flesh_override_func ) ) - level thread [[ level.mechz_find_flesh_override_func ]](); - else - self thread mechz_find_flesh(); + if ( isdefined( level.mechz_find_flesh_override_func ) ) + level thread [[ level.mechz_find_flesh_override_func ]](); + else + self thread mechz_find_flesh(); - self thread mechz_jump_think( spawn_pos ); - self setcandamage( 1 ); - self init_anim_rate(); - self maps\mp\zombies\_zm_ai_mechz_ffotd::spawn_end(); + self thread mechz_jump_think( spawn_pos ); + self setcandamage( 1 ); + self init_anim_rate(); + self maps\mp\zombies\_zm_ai_mechz_ffotd::spawn_end(); } get_closest_mechz_spawn_pos( org ) { - best_dist = -1; - best_pos = undefined; - players = get_players(); + best_dist = -1; + best_pos = undefined; + players = get_players(); - for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) - { - dist = distancesquared( org, level.zombie_mechz_locations[i].origin ); + for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) + { + dist = distancesquared( org, level.zombie_mechz_locations[i].origin ); - if ( dist < best_dist || best_dist < 0 ) - { - best_dist = dist; - best_pos = level.zombie_mechz_locations[i]; - } - } + if ( dist < best_dist || best_dist < 0 ) + { + best_dist = dist; + best_pos = level.zombie_mechz_locations[i]; + } + } /# - if ( !isdefined( best_pos ) ) - println( "Error: Mechz could not find a valid jump pos from position ( " + self.origin[0] + ", " + self.origin[1] + ", " + self.origin[2] + " )" ); + if ( !isdefined( best_pos ) ) + println( "Error: Mechz could not find a valid jump pos from position ( " + self.origin[0] + ", " + self.origin[1] + ", " + self.origin[2] + " )" ); #/ - return best_pos; + return best_pos; } get_best_mechz_spawn_pos( ignore_used_positions ) { - if ( !isdefined( ignore_used_positions ) ) - ignore_used_positions = 0; + if ( !isdefined( ignore_used_positions ) ) + ignore_used_positions = 0; - best_dist = -1; - best_pos = undefined; - players = get_players(); + best_dist = -1; + best_pos = undefined; + players = get_players(); - for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) - { - if ( !ignore_used_positions && ( isdefined( level.zombie_mechz_locations[i].has_been_used ) && level.zombie_mechz_locations[i].has_been_used ) ) - continue; + for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) + { + if ( !ignore_used_positions && ( isdefined( level.zombie_mechz_locations[i].has_been_used ) && level.zombie_mechz_locations[i].has_been_used ) ) + continue; - if ( ignore_used_positions == 1 && ( isdefined( level.zombie_mechz_locations[i].used_cooldown ) && level.zombie_mechz_locations[i].used_cooldown ) ) - continue; + if ( ignore_used_positions == 1 && ( isdefined( level.zombie_mechz_locations[i].used_cooldown ) && level.zombie_mechz_locations[i].used_cooldown ) ) + continue; - for ( j = 0; j < players.size; j++ ) - { - if ( is_player_valid( players[j], 1, 1 ) ) - { - dist = distancesquared( level.zombie_mechz_locations[i].origin, players[j].origin ); + for ( j = 0; j < players.size; j++ ) + { + if ( is_player_valid( players[j], 1, 1 ) ) + { + dist = distancesquared( level.zombie_mechz_locations[i].origin, players[j].origin ); - if ( dist < best_dist || best_dist < 0 ) - { - best_dist = dist; - best_pos = level.zombie_mechz_locations[i]; - } - } - } - } + if ( dist < best_dist || best_dist < 0 ) + { + best_dist = dist; + best_pos = level.zombie_mechz_locations[i]; + } + } + } + } - if ( ignore_used_positions && isdefined( best_pos ) ) - best_pos thread jump_pos_used_cooldown(); + if ( ignore_used_positions && isdefined( best_pos ) ) + best_pos thread jump_pos_used_cooldown(); - if ( isdefined( best_pos ) ) - best_pos.has_been_used = 1; - else if ( level.zombie_mechz_locations.size > 0 ) - return level.zombie_mechz_locations[randomint( level.zombie_mechz_locations.size )]; + if ( isdefined( best_pos ) ) + best_pos.has_been_used = 1; + else if ( level.zombie_mechz_locations.size > 0 ) + return level.zombie_mechz_locations[randomint( level.zombie_mechz_locations.size )]; - return best_pos; + return best_pos; } mechz_clear_spawns() { - for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) - level.zombie_mechz_locations[i].has_been_used = 0; + for ( i = 0; i < level.zombie_mechz_locations.size; i++ ) + level.zombie_mechz_locations[i].has_been_used = 0; } jump_pos_used_cooldown() { - self.used_cooldown = 1; - wait 5.0; - self.used_cooldown = 0; + self.used_cooldown = 1; + wait 5.0; + self.used_cooldown = 0; } mechz_health_increases() { - if ( !isdefined( level.mechz_last_spawn_round ) || level.round_number > level.mechz_last_spawn_round ) - { - a_players = getplayers(); - n_player_modifier = 1; + if ( !isdefined( level.mechz_last_spawn_round ) || level.round_number > level.mechz_last_spawn_round ) + { + a_players = getplayers(); + n_player_modifier = 1; - if ( a_players.size > 1 ) - n_player_modifier = a_players.size * 0.75; + if ( a_players.size > 1 ) + n_player_modifier = a_players.size * 0.75; - level.mechz_health = int( n_player_modifier * ( level.mechz_base_health + level.mechz_health_increase * level.mechz_round_count ) ); + level.mechz_health = int( n_player_modifier * ( level.mechz_base_health + level.mechz_health_increase * level.mechz_round_count ) ); - if ( level.mechz_health >= 22500 * n_player_modifier ) - level.mechz_health = int( 22500 * n_player_modifier ); + if ( level.mechz_health >= 22500 * n_player_modifier ) + level.mechz_health = int( 22500 * n_player_modifier ); - level.mechz_last_spawn_round = level.round_number; - } + level.mechz_last_spawn_round = level.round_number; + } } mechz_death() { - self endon( "mechz_cleanup" ); - thread mechz_cleanup(); - self waittill( "death" ); - death_origin = self.origin; + self endon( "mechz_cleanup" ); + thread mechz_cleanup(); + self waittill( "death" ); + death_origin = self.origin; - if ( isdefined( self.robot_stomped ) && self.robot_stomped ) - death_origin = death_origin + vectorscale( ( 0, 0, 1 ), 90.0 ); + if ( isdefined( self.robot_stomped ) && self.robot_stomped ) + death_origin = death_origin + vectorscale( ( 0, 0, 1 ), 90.0 ); - self mechz_claw_detach(); - self release_flamethrower_trigger(); - self.fx_field = 0; - self setclientfield( "mechz_fx", self.fx_field ); - self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); - self mechz_interrupt(); + self mechz_claw_detach(); + self release_flamethrower_trigger(); + self.fx_field = 0; + self setclientfield( "mechz_fx", self.fx_field ); + self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); + self mechz_interrupt(); - if ( isdefined( self.favoriteenemy ) ) - { - if ( isdefined( self.favoriteenemy.hunted_by ) ) - self.favoriteenemy.hunted_by--; - } + if ( isdefined( self.favoriteenemy ) ) + { + if ( isdefined( self.favoriteenemy.hunted_by ) ) + self.favoriteenemy.hunted_by--; + } - self thread mechz_explode( "tag_powersupply", death_origin ); + self thread mechz_explode( "tag_powersupply", death_origin ); - if ( get_current_zombie_count() == 0 && level.zombie_total == 0 ) - { - level.last_mechz_origin = self.origin; - level notify( "last_mechz_down" ); - } + if ( get_current_zombie_count() == 0 && level.zombie_total == 0 ) + { + level.last_mechz_origin = self.origin; + level notify( "last_mechz_down" ); + } - if ( isplayer( self.attacker ) ) - { - event = "death"; + if ( isplayer( self.attacker ) ) + { + event = "death"; - if ( issubstr( self.damageweapon, "knife_ballistic_" ) ) - event = "ballistic_knife_death"; + if ( issubstr( self.damageweapon, "knife_ballistic_" ) ) + event = "ballistic_knife_death"; - self.attacker delay_thread( 4.0, maps\mp\zombies\_zm_audio::create_and_play_dialog, "general", "mech_defeated" ); - self.attacker maps\mp\zombies\_zm_score::player_add_points( event, self.damagemod, self.damagelocation, 1 ); - self.attacker maps\mp\zombies\_zm_stats::increment_client_stat( "tomb_mechz_killed", 0 ); - self.attacker maps\mp\zombies\_zm_stats::increment_player_stat( "tomb_mechz_killed" ); + self.attacker delay_thread( 4.0, maps\mp\zombies\_zm_audio::create_and_play_dialog, "general", "mech_defeated" ); + self.attacker maps\mp\zombies\_zm_score::player_add_points( event, self.damagemod, self.damagelocation, 1 ); + self.attacker maps\mp\zombies\_zm_stats::increment_client_stat( "tomb_mechz_killed", 0 ); + self.attacker maps\mp\zombies\_zm_stats::increment_player_stat( "tomb_mechz_killed" ); - if ( isdefined( level.mechz_should_drop_powerup ) && level.mechz_should_drop_powerup ) - { - wait_network_frame(); - wait_network_frame(); - level.mechz_should_drop_powerup = 0; + if ( isdefined( level.mechz_should_drop_powerup ) && level.mechz_should_drop_powerup ) + { + wait_network_frame(); + wait_network_frame(); + level.mechz_should_drop_powerup = 0; - if ( level.powerup_drop_count >= level.zombie_vars["zombie_powerup_drop_max_per_round"] ) - level.powerup_drop_count = level.zombie_vars["zombie_powerup_drop_max_per_round"] - 1; + if ( level.powerup_drop_count >= level.zombie_vars["zombie_powerup_drop_max_per_round"] ) + level.powerup_drop_count = level.zombie_vars["zombie_powerup_drop_max_per_round"] - 1; - level.zombie_vars["zombie_drop_item"] = 1; - level thread maps\mp\zombies\_zm_powerups::powerup_drop( self.origin ); - } - } + level.zombie_vars["zombie_drop_item"] = 1; + level thread maps\mp\zombies\_zm_powerups::powerup_drop( self.origin ); + } + } } mechz_explode( str_tag, death_origin ) { - wait 2.0; - v_origin = self gettagorigin( str_tag ); - level notify( "mechz_exploded", v_origin ); - playsoundatposition( "zmb_ai_mechz_death_explode", v_origin ); - playfx( level._effect["mechz_death"], v_origin ); - radiusdamage( v_origin, 128, 100, 25, undefined, "MOD_GRENADE_SPLASH" ); - earthquake( 0.5, 1.0, v_origin, 256 ); - playrumbleonposition( "grenade_rumble", v_origin ); - level notify( "mechz_killed", death_origin ); + wait 2.0; + v_origin = self gettagorigin( str_tag ); + level notify( "mechz_exploded", v_origin ); + playsoundatposition( "zmb_ai_mechz_death_explode", v_origin ); + playfx( level._effect["mechz_death"], v_origin ); + radiusdamage( v_origin, 128, 100, 25, undefined, "MOD_GRENADE_SPLASH" ); + earthquake( 0.5, 1.0, v_origin, 256 ); + playrumbleonposition( "grenade_rumble", v_origin ); + level notify( "mechz_killed", death_origin ); } mechz_cleanup() { - self waittill( "mechz_cleanup" ); - self mechz_interrupt(); - level.sndmechzistalking = 0; + self waittill( "mechz_cleanup" ); + self mechz_interrupt(); + level.sndmechzistalking = 0; - if ( isdefined( self.sndmechzmusicent ) ) - { - self.sndmechzmusicent delete(); - self.sndmechzmusicent = undefined; - } + if ( isdefined( self.sndmechzmusicent ) ) + { + self.sndmechzmusicent delete(); + self.sndmechzmusicent = undefined; + } - if ( isdefined( self.favoriteenemy ) ) - { - if ( isdefined( self.favoriteenemy.hunted_by ) ) - self.favoriteenemy.hunted_by--; - } + if ( isdefined( self.favoriteenemy ) ) + { + if ( isdefined( self.favoriteenemy.hunted_by ) ) + self.favoriteenemy.hunted_by--; + } } mechz_interrupt() { - self notify( "kill_claw" ); - self notify( "kill_ft" ); - self notify( "kill_jump" ); + self notify( "kill_claw" ); + self notify( "kill_ft" ); + self notify( "kill_jump" ); } mechz_stun( time ) { - self endon( "death" ); + self endon( "death" ); - if ( !isalive( self ) || isdefined( self.not_interruptable ) && self.not_interruptable || isdefined( self.is_traversing ) && self.is_traversing ) - return; + if ( !isalive( self ) || isdefined( self.not_interruptable ) && self.not_interruptable || isdefined( self.is_traversing ) && self.is_traversing ) + return; - curr_time = 0; - anim_time = self getanimlengthfromasd( "zm_stun", 0 ); - self mechz_interrupt(); - self mechz_claw_detach(); - wait 0.05; - self.not_interruptable = 1; + curr_time = 0; + anim_time = self getanimlengthfromasd( "zm_stun", 0 ); + self mechz_interrupt(); + self mechz_claw_detach(); + wait 0.05; + self.not_interruptable = 1; /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Stun setting not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Stun setting not interruptable\\n" ); #/ - while ( curr_time < time ) - { - self animscripted( self.origin, self.angles, "zm_stun" ); - self maps\mp\animscripts\zm_shared::donotetracks( "stun_anim" ); - self clearanim( %root, 0 ); - curr_time = curr_time + anim_time; - } + while ( curr_time < time ) + { + self animscripted( self.origin, self.angles, "zm_stun" ); + self maps\mp\animscripts\zm_shared::donotetracks( "stun_anim" ); + self clearanim( %root, 0 ); + curr_time = curr_time + anim_time; + } - self.not_interruptable = 0; + self.not_interruptable = 0; /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Stun clearing not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Stun clearing not interruptable\\n" ); #/ } mechz_tank_hit_callback() { - self endon( "death" ); + self endon( "death" ); - if ( isdefined( self.mechz_hit_by_tank ) && self.mechz_hit_by_tank ) - return; + if ( isdefined( self.mechz_hit_by_tank ) && self.mechz_hit_by_tank ) + return; /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Tank damage setting not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Tank damage setting not interruptable\\n" ); #/ - self.not_interruptable = 1; - self.mechz_hit_by_tank = 1; - self mechz_interrupt(); - v_trace_start = self.origin + vectorscale( ( 0, 0, 1 ), 100.0 ); - v_trace_end = self.origin - vectorscale( ( 0, 0, 1 ), 500.0 ); - v_trace = physicstrace( self.origin, v_trace_end, ( -15, -15, -5 ), ( 15, 15, 5 ), self ); - self.origin = v_trace["position"]; - timer = 0; - self animscripted( self.origin, self.angles, "zm_tank_hit_in" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); - anim_length = self getanimlengthfromasd( "zm_tank_hit_loop", 0 ); + self.not_interruptable = 1; + self.mechz_hit_by_tank = 1; + self mechz_interrupt(); + v_trace_start = self.origin + vectorscale( ( 0, 0, 1 ), 100.0 ); + v_trace_end = self.origin - vectorscale( ( 0, 0, 1 ), 500.0 ); + v_trace = physicstrace( self.origin, v_trace_end, ( -15, -15, -5 ), ( 15, 15, 5 ), self ); + self.origin = v_trace["position"]; + timer = 0; + self animscripted( self.origin, self.angles, "zm_tank_hit_in" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); + anim_length = self getanimlengthfromasd( "zm_tank_hit_loop", 0 ); - while ( timer < level.mechz_tank_knockdown_time ) - { - timer = timer + anim_length; - self animscripted( self.origin, self.angles, "zm_tank_hit_loop" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); - } + while ( timer < level.mechz_tank_knockdown_time ) + { + timer = timer + anim_length; + self animscripted( self.origin, self.angles, "zm_tank_hit_loop" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); + } - self animscripted( self.origin, self.angles, "zm_tank_hit_out" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); + self animscripted( self.origin, self.angles, "zm_tank_hit_out" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Tank damage clearing not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Tank damage clearing not interruptable\\n" ); #/ - self.not_interruptable = 0; - self.mechz_hit_by_tank = 0; + self.not_interruptable = 0; + self.mechz_hit_by_tank = 0; - if ( !level.vh_tank ent_flag( "tank_moving" ) && self istouching( level.vh_tank ) ) - { - self notsolid(); - self ghost(); - self.mechz_hidden = 1; + if ( !level.vh_tank ent_flag( "tank_moving" ) && self istouching( level.vh_tank ) ) + { + self notsolid(); + self ghost(); + self.mechz_hidden = 1; - if ( isdefined( self.m_claw ) ) - self.m_claw ghost(); + if ( isdefined( self.m_claw ) ) + self.m_claw ghost(); - self.fx_field_old = self.fx_field; - self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); - self fx_cleanup(); - self mechz_do_jump(); - self solid(); - self.mechz_hidden = 0; - } + self.fx_field_old = self.fx_field; + self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); + self fx_cleanup(); + self mechz_do_jump(); + self solid(); + self.mechz_hidden = 0; + } } mechz_robot_stomp_callback() { - self endon( "death" ); + self endon( "death" ); - if ( isdefined( self.robot_stomped ) && self.robot_stomped ) - return; + if ( isdefined( self.robot_stomped ) && self.robot_stomped ) + return; - self.not_interruptable = 1; - self.robot_stomped = 1; - self mechz_interrupt(); + self.not_interruptable = 1; + self.robot_stomped = 1; + self mechz_interrupt(); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Robot stomp setting not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Robot stomp setting not interruptable\\n" ); #/ - self thread mechz_stomped_by_giant_robot_vo(); - v_trace_start = self.origin + vectorscale( ( 0, 0, 1 ), 100.0 ); - v_trace_end = self.origin - vectorscale( ( 0, 0, 1 ), 500.0 ); - v_trace = physicstrace( self.origin, v_trace_end, ( -15, -15, -5 ), ( 15, 15, 5 ), self ); - self.origin = v_trace["position"]; - timer = 0; - self animscripted( self.origin, self.angles, "zm_robot_hit_in" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); - anim_length = self getanimlengthfromasd( "zm_robot_hit_loop", 0 ); + self thread mechz_stomped_by_giant_robot_vo(); + v_trace_start = self.origin + vectorscale( ( 0, 0, 1 ), 100.0 ); + v_trace_end = self.origin - vectorscale( ( 0, 0, 1 ), 500.0 ); + v_trace = physicstrace( self.origin, v_trace_end, ( -15, -15, -5 ), ( 15, 15, 5 ), self ); + self.origin = v_trace["position"]; + timer = 0; + self animscripted( self.origin, self.angles, "zm_robot_hit_in" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); + anim_length = self getanimlengthfromasd( "zm_robot_hit_loop", 0 ); - while ( timer < level.mechz_robot_knockdown_time ) - { - timer = timer + anim_length; - self animscripted( self.origin, self.angles, "zm_robot_hit_loop" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); - } + while ( timer < level.mechz_robot_knockdown_time ) + { + timer = timer + anim_length; + self animscripted( self.origin, self.angles, "zm_robot_hit_loop" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim" ); + } - self animscripted( self.origin, self.angles, "zm_robot_hit_out" ); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + self animscripted( self.origin, self.angles, "zm_robot_hit_out" ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Robot stomp clearing not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Robot stomp clearing not interruptable\\n" ); #/ - self.not_interruptable = 0; - self.robot_stomped = 0; + self.not_interruptable = 0; + self.robot_stomped = 0; } mechz_delayed_item_delete() { - wait 30; - self delete(); + wait 30; + self delete(); } mechz_get_closest_valid_player() { - players = get_players(); + players = get_players(); - if ( isdefined( self.ignore_player ) ) - { - for ( i = 0; i < self.ignore_player.size; i++ ) - arrayremovevalue( players, self.ignore_player[i] ); - } + if ( isdefined( self.ignore_player ) ) + { + for ( i = 0; i < self.ignore_player.size; i++ ) + arrayremovevalue( players, self.ignore_player[i] ); + } - for ( i = 0; i < players.size; i++ ) - { - if ( isdefined( level._zombie_using_humangun ) && level._zombie_using_humangun && isai( players[i] ) ) - return players[i]; + for ( i = 0; i < players.size; i++ ) + { + if ( isdefined( level._zombie_using_humangun ) && level._zombie_using_humangun && isai( players[i] ) ) + return players[i]; - if ( !is_player_valid( players[i], 1, 1 ) ) - { - arrayremovevalue( players, players[i] ); - i--; - } - } + if ( !is_player_valid( players[i], 1, 1 ) ) + { + arrayremovevalue( players, players[i] ); + i--; + } + } - switch ( players.size ) - { - case 0: - return undefined; - case 1: - return players[0]; - default: - if ( isdefined( level.closest_player_override ) ) - player = [[ level.closest_player_override ]]( self.origin, players ); - else if ( isdefined( level.calc_closest_player_using_paths ) && level.calc_closest_player_using_paths ) - player = get_closest_player_using_paths( self.origin, players ); - else - player = getclosest( self.origin, players ); + switch ( players.size ) + { + case 0: + return undefined; + case 1: + return players[0]; + default: + if ( isdefined( level.closest_player_override ) ) + player = [[ level.closest_player_override ]]( self.origin, players ); + else if ( isdefined( level.calc_closest_player_using_paths ) && level.calc_closest_player_using_paths ) + player = get_closest_player_using_paths( self.origin, players ); + else + player = getclosest( self.origin, players ); - return player; - } + return player; + } } get_favorite_enemy( origin, players ) { - mechz_targets = getplayers(); - least_hunted = undefined; - best_hunted_val = -1; - best_dist = -1; - distances = []; + mechz_targets = getplayers(); + least_hunted = undefined; + best_hunted_val = -1; + best_dist = -1; + distances = []; - if ( isdefined( self.favoriteenemy ) && is_player_valid( self.favoriteenemy, 1, 1 ) && !isdefined( self.favoriteenemy.in_giant_robot_head ) /*&& !self.favoriteenemy maps\mp\zm_tomb_chamber::is_player_in_chamber()*/ ) - { - assert( isdefined( self.favoriteenemy.hunted_by ) ); - self.favoriteenemy.hunted_by--; - least_hunted = self.favoriteenemy; - } + if ( isdefined( self.favoriteenemy ) && is_player_valid( self.favoriteenemy, 1, 1 ) && !isdefined( self.favoriteenemy.in_giant_robot_head ) /*&& !self.favoriteenemy maps\mp\zm_tomb_chamber::is_player_in_chamber()*/ ) + { + assert( isdefined( self.favoriteenemy.hunted_by ) ); + self.favoriteenemy.hunted_by--; + least_hunted = self.favoriteenemy; + } - for ( i = 0; i < mechz_targets.size; i++ ) - { - if ( !isdefined( mechz_targets[i].hunted_by ) || mechz_targets[i].hunted_by < 0 ) - mechz_targets[i].hunted_by = 0; + for ( i = 0; i < mechz_targets.size; i++ ) + { + if ( !isdefined( mechz_targets[i].hunted_by ) || mechz_targets[i].hunted_by < 0 ) + mechz_targets[i].hunted_by = 0; - if ( !is_player_valid( mechz_targets[i], 1, 1 ) ) - { - distances[i] = undefined; - continue; - } + if ( !is_player_valid( mechz_targets[i], 1, 1 ) ) + { + distances[i] = undefined; + continue; + } - distances[i] = distancesquared( self.origin, mechz_targets[i].origin ); - } + distances[i] = distancesquared( self.origin, mechz_targets[i].origin ); + } - found_weapon_target = 0; + found_weapon_target = 0; - for ( i = 0; i < mechz_targets.size; i++ ) - { - if ( abs( mechz_targets[i].origin[2] - self.origin[2] ) > 60 ) - continue; + for ( i = 0; i < mechz_targets.size; i++ ) + { + if ( abs( mechz_targets[i].origin[2] - self.origin[2] ) > 60 ) + continue; - dist = distances[i]; + dist = distances[i]; - if ( !isdefined( dist ) ) - continue; + if ( !isdefined( dist ) ) + continue; - if ( dist < 50000 && ( dist < best_dist || best_dist < 0 ) ) - { - found_weapon_target = 1; - least_hunted = mechz_targets[i]; - best_dist = dist; - } - } + if ( dist < 50000 && ( dist < best_dist || best_dist < 0 ) ) + { + found_weapon_target = 1; + least_hunted = mechz_targets[i]; + best_dist = dist; + } + } - if ( found_weapon_target ) - { - least_hunted.hunted_by++; - return least_hunted; - } + if ( found_weapon_target ) + { + least_hunted.hunted_by++; + return least_hunted; + } - if ( isdefined( self.favoriteenemy ) && is_player_valid( self.favoriteenemy, 1, 1 ) ) - { - if ( distancesquared( self.origin, self.favoriteenemy.origin ) <= level.mechz_sticky_dist_sq ) - { - self.favoriteenemy.hunted_by++; - return self.favoriteenemy; - } - } + if ( isdefined( self.favoriteenemy ) && is_player_valid( self.favoriteenemy, 1, 1 ) ) + { + if ( distancesquared( self.origin, self.favoriteenemy.origin ) <= level.mechz_sticky_dist_sq ) + { + self.favoriteenemy.hunted_by++; + return self.favoriteenemy; + } + } - for ( i = 0; i < mechz_targets.size; i++ ) - { - if ( isdefined( mechz_targets[i].in_giant_robot_head ) ) - continue; + func = getFunction( "maps/mp/zm_tomb_chamber", "is_player_in_chamber" ); + for ( i = 0; i < mechz_targets.size; i++ ) + { + if ( isdefined( mechz_targets[i].in_giant_robot_head ) ) + continue; - // if ( mechz_targets[i] maps\mp\zm_tomb_chamber::is_player_in_chamber() ) - // continue; + if ( isDefined( func ) && mechz_targets[i] [[ func ]]() ) + continue; - if ( isdefined( distances[i] ) ) - dist = distances[i]; - else - continue; + if ( isdefined( distances[i] ) ) + dist = distances[i]; + else + continue; - hunted = mechz_targets[i].hunted_by; + hunted = mechz_targets[i].hunted_by; - if ( !isdefined( least_hunted ) || hunted <= least_hunted.hunted_by ) - { - if ( dist < best_dist || best_dist < 0 ) - { - least_hunted = mechz_targets[i]; - best_dist = dist; - } - } - } + if ( !isdefined( least_hunted ) || hunted <= least_hunted.hunted_by ) + { + if ( dist < best_dist || best_dist < 0 ) + { + least_hunted = mechz_targets[i]; + best_dist = dist; + } + } + } - if ( isdefined( least_hunted ) ) - least_hunted.hunted_by++; + if ( isdefined( least_hunted ) ) + least_hunted.hunted_by++; - return least_hunted; + return least_hunted; } mechz_check_in_arc( right_offset ) { - origin = self.origin; + origin = self.origin; - if ( isdefined( right_offset ) ) - { - right_angle = anglestoright( self.angles ); - origin = origin + right_angle * right_offset; - } + if ( isdefined( right_offset ) ) + { + right_angle = anglestoright( self.angles ); + origin = origin + right_angle * right_offset; + } - facing_vec = anglestoforward( self.angles ); - enemy_vec = self.favoriteenemy.origin - origin; - enemy_yaw_vec = ( enemy_vec[0], enemy_vec[1], 0 ); - facing_yaw_vec = ( facing_vec[0], facing_vec[1], 0 ); - enemy_yaw_vec = vectornormalize( enemy_yaw_vec ); - facing_yaw_vec = vectornormalize( facing_yaw_vec ); - enemy_dot = vectordot( facing_yaw_vec, enemy_yaw_vec ); + facing_vec = anglestoforward( self.angles ); + enemy_vec = self.favoriteenemy.origin - origin; + enemy_yaw_vec = ( enemy_vec[0], enemy_vec[1], 0 ); + facing_yaw_vec = ( facing_vec[0], facing_vec[1], 0 ); + enemy_yaw_vec = vectornormalize( enemy_yaw_vec ); + facing_yaw_vec = vectornormalize( facing_yaw_vec ); + enemy_dot = vectordot( facing_yaw_vec, enemy_yaw_vec ); - if ( enemy_dot < cos( level.mechz_aim_max_yaw ) ) - return false; + if ( enemy_dot < cos( level.mechz_aim_max_yaw ) ) + return false; - enemy_angles = vectortoangles( enemy_vec ); + enemy_angles = vectortoangles( enemy_vec ); - if ( abs( angleclamp180( enemy_angles[0] ) ) > level.mechz_aim_max_pitch ) - return false; + if ( abs( angleclamp180( enemy_angles[0] ) ) > level.mechz_aim_max_pitch ) + return false; - return true; + return true; } mechz_get_aim_anim( anim_prefix, target_pos, right_offset ) { - in_arc = self mechz_check_in_arc( right_offset ); + in_arc = self mechz_check_in_arc( right_offset ); - if ( !in_arc ) - return undefined; + if ( !in_arc ) + return undefined; - origin = self.origin; + origin = self.origin; - if ( isdefined( right_offset ) ) - { - right_angle = anglestoright( self.angles ); - origin = origin + right_angle * right_offset; - } + if ( isdefined( right_offset ) ) + { + right_angle = anglestoright( self.angles ); + origin = origin + right_angle * right_offset; + } - aiming_vec = vectortoangles( target_pos - origin ); - pitch = angleclamp180( aiming_vec[0] ); - yaw = angleclamp180( self.angles[1] - aiming_vec[1] ); - centered_ud = abs( pitch ) < level.mechz_aim_max_pitch / 2; - centered_lr = abs( yaw ) < level.mechz_aim_max_yaw / 2; - right_anim = angleclamp180( self.angles[1] - aiming_vec[1] ) > 0; - up_anim = pitch < 0; + aiming_vec = vectortoangles( target_pos - origin ); + pitch = angleclamp180( aiming_vec[0] ); + yaw = angleclamp180( self.angles[1] - aiming_vec[1] ); + centered_ud = abs( pitch ) < level.mechz_aim_max_pitch / 2; + centered_lr = abs( yaw ) < level.mechz_aim_max_yaw / 2; + right_anim = angleclamp180( self.angles[1] - aiming_vec[1] ) > 0; + up_anim = pitch < 0; - if ( centered_ud && centered_lr ) - return anim_prefix + "_aim_5"; - else if ( centered_ud && right_anim ) - return anim_prefix + "_aim_6"; - else if ( centered_ud ) - return anim_prefix + "_aim_4"; - else if ( centered_lr && up_anim ) - return anim_prefix + "_aim_8"; - else if ( centered_lr ) - return anim_prefix + "_aim_2"; - else if ( right_anim && up_anim ) - return anim_prefix + "_aim_9"; - else if ( right_anim ) - return anim_prefix + "_aim_3"; - else if ( up_anim ) - return anim_prefix + "_aim_7"; - else - return anim_prefix + "_aim_1"; + if ( centered_ud && centered_lr ) + return anim_prefix + "_aim_5"; + else if ( centered_ud && right_anim ) + return anim_prefix + "_aim_6"; + else if ( centered_ud ) + return anim_prefix + "_aim_4"; + else if ( centered_lr && up_anim ) + return anim_prefix + "_aim_8"; + else if ( centered_lr ) + return anim_prefix + "_aim_2"; + else if ( right_anim && up_anim ) + return anim_prefix + "_aim_9"; + else if ( right_anim ) + return anim_prefix + "_aim_3"; + else if ( up_anim ) + return anim_prefix + "_aim_7"; + else + return anim_prefix + "_aim_1"; } mechz_start_basic_find_flesh() { - self.goalradius = level.mechz_custom_goalradius; - self.custom_goalradius_override = level.mechz_custom_goalradius; + self.goalradius = level.mechz_custom_goalradius; + self.custom_goalradius_override = level.mechz_custom_goalradius; - if ( !isdefined( self.ai_state ) || self.ai_state != "find_flesh" ) - { - self.ai_state = "find_flesh"; - self thread maps\mp\zombies\_zm_ai_basic::find_flesh(); - } + if ( !isdefined( self.ai_state ) || self.ai_state != "find_flesh" ) + { + self.ai_state = "find_flesh"; + self thread maps\mp\zombies\_zm_ai_basic::find_flesh(); + } } mechz_stop_basic_find_flesh() { - if ( isdefined( self.ai_state ) && self.ai_state == "find_flesh" ) - { - self.ai_state = undefined; - self notify( "stop_find_flesh" ); - self notify( "zombie_acquire_enemy" ); - } + if ( isdefined( self.ai_state ) && self.ai_state == "find_flesh" ) + { + self.ai_state = undefined; + self notify( "stop_find_flesh" ); + self notify( "zombie_acquire_enemy" ); + } } watch_for_player_dist() { - self endon( "death" ); + self endon( "death" ); - while ( true ) - { - player = mechz_get_closest_valid_player(); + while ( true ) + { + player = mechz_get_closest_valid_player(); - if ( isdefined( player ) && ( isdefined( player.is_player_slowed ) && player.is_player_slowed ) ) - reset_dist = level.mechz_reset_dist_sq / 2; - else - reset_dist = level.mechz_reset_dist_sq; + if ( isdefined( player ) && ( isdefined( player.is_player_slowed ) && player.is_player_slowed ) ) + reset_dist = level.mechz_reset_dist_sq / 2; + else + reset_dist = level.mechz_reset_dist_sq; - if ( !isdefined( player ) || distancesquared( player.origin, self.origin ) > reset_dist ) - self.disable_complex_behaviors = 0; + if ( !isdefined( player ) || distancesquared( player.origin, self.origin ) > reset_dist ) + self.disable_complex_behaviors = 0; - wait 0.5; - } + wait 0.5; + } } mechz_find_flesh() { - self endon( "death" ); - level endon( "intermission" ); + self endon( "death" ); + level endon( "intermission" ); - if ( level.intermission ) - return; + if ( level.intermission ) + return; - self.helitarget = 1; - self.ignoreme = 0; - self.nododgemove = 1; - self.ignore_player = []; - self.goalradius = 32; - self.ai_state = "spawning"; - self thread watch_for_player_dist(); + self.helitarget = 1; + self.ignoreme = 0; + self.nododgemove = 1; + self.ignore_player = []; + self.goalradius = 32; + self.ai_state = "spawning"; + self thread watch_for_player_dist(); - while ( true ) - { + while ( true ) + { /# - if ( isdefined( self.force_behavior ) && self.force_behavior ) - { - wait 0.05; - continue; - } + if ( isdefined( self.force_behavior ) && self.force_behavior ) + { + wait 0.05; + continue; + } #/ - if ( isdefined( self.not_interruptable ) && self.not_interruptable ) - { + if ( isdefined( self.not_interruptable ) && self.not_interruptable ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Not thinking since a behavior has set not_interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Not thinking since a behavior has set not_interruptable\\n" ); #/ - wait 0.05; - continue; - } + wait 0.05; + continue; + } - if ( isdefined( self.is_traversing ) && self.is_traversing ) - { + if ( isdefined( self.is_traversing ) && self.is_traversing ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Not thinking since mech is traversing\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Not thinking since mech is traversing\\n" ); #/ - wait 0.05; - continue; - } + wait 0.05; + continue; + } - player = [[ self.closest_player_override ]](); - self mechz_set_locomotion_speed(); + player = [[ self.closest_player_override ]](); + self mechz_set_locomotion_speed(); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Doing think\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Doing think\\n" ); #/ - self.favoriteenemy = player; + self.favoriteenemy = player; - if ( !isdefined( player ) ) - { + if ( !isdefined( player ) ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: No Enemy, idling\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: No Enemy, idling\\n" ); #/ - self.goal_pos = self.origin; - self setgoalpos( self.goal_pos ); - self.ai_state = "idle"; - self setanimstatefromasd( "zm_idle" ); - wait 0.5; - continue; - } + self.goal_pos = self.origin; + self setgoalpos( self.goal_pos ); + self.ai_state = "idle"; + self setanimstatefromasd( "zm_idle" ); + wait 0.5; + continue; + } -// if ( player entity_on_tank() ) -// { -// if ( level.vh_tank ent_flag( "tank_moving" ) ) -// { -// if ( isdefined( self.jump_pos ) && self mechz_in_range_for_jump() ) -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on moving tank, do jump out and jump in when tank is stationary\\n" ); -// #/ -// self mechz_do_jump( 1 ); -// } -// else -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on moving tank, Jump Requested, going to jump pos\\n" ); -// #/ - -// if ( !isdefined( self.jump_pos ) ) -// self.jump_pos = get_closest_mechz_spawn_pos( self.origin ); - -// if ( isdefined( self.jump_pos ) ) -// { -// self.goal_pos = self.jump_pos.origin; -// self setgoalpos( self.goal_pos ); -// } - -// wait 0.5; -// continue; -// } -// } -// else -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on tank, targetting a tank pos\\n" ); -// #/ -// self.disable_complex_behaviors = 0; -// self mechz_stop_basic_find_flesh(); -// self.ai_state = "tracking_tank"; -// self.goalradius = level.mechz_custom_goalradius; -// self.custom_goalradius_override = level.mechz_custom_goalradius; -// closest_tank_tag = level.vh_tank get_closest_mechz_tag_on_tank( self, self.origin ); - -// if ( !isdefined( closest_tank_tag ) ) -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on tank, no closest tank pos found, continuing\\n" ); -// #/ -// wait 0.5; -// continue; -// } - -// closest_tank_tag_pos = level.vh_tank gettagorigin( closest_tank_tag ); - -// if ( abs( self.origin[2] - closest_tank_tag_pos[2] ) >= level.mechz_custom_goalradius || distance2dsquared( self.origin, closest_tank_tag_pos ) >= level.mechz_custom_goalradius_sq ) -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on tank, setting tank pos as goal\\n" ); -// #/ -// self.goal_pos = closest_tank_tag_pos; -// self setgoalpos( self.goal_pos ); -// self waittill_any_or_timeout( 0.5, "goal", "bad_path" ); - -// if ( !player entity_on_tank() ) -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy got off tank by the time we reached our goal, continuing\\n" ); -// #/ -// continue; -// } -// } - -// if ( abs( self.origin[2] - closest_tank_tag_pos[2] ) < level.mechz_custom_goalradius && distance2dsquared( self.origin, closest_tank_tag_pos ) < level.mechz_custom_goalradius_sq ) -// { -// /# -// if ( getdvarint( #"_id_E7121222" ) > 1 ) -// println( "\\n\\tMZ: Enemy on tank, reached tank pos, doing flamethrower sweep\\n" ); -// #/ -// self.angles = vectortoangles( level.vh_tank.origin - self.origin ); -// self mechz_do_flamethrower_attack( 1 ); -// self notify( "tank_flamethrower_attack_complete" ); -// } -// } - -// continue; -// } - if ( isdefined( self.jump_requested ) && self.jump_requested || isdefined( self.force_jump ) && self.force_jump ) - { - if ( self mechz_in_range_for_jump() ) - self mechz_do_jump(); - else - { + entity_on_tank_func = getFunction( "maps/mp/zm_tomb_tank", "entity_on_tank" ); + if ( isDefined( entity_on_tank_func ) && player [[ entity_on_tank_func ]]() ) + { + if ( level.vh_tank ent_flag( "tank_moving" ) ) + { + if ( isdefined( self.jump_pos ) && self mechz_in_range_for_jump() ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Jump Requested, going to jump pos\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on moving tank, do jump out and jump in when tank is stationary\\n" ); #/ - self.goal_pos = self.jump_pos.origin; - self setgoalpos( self.goal_pos ); - wait 0.5; - continue; - } - } - else if ( self.zombie_move_speed == "sprint" && isdefined( player ) ) - { + self mechz_do_jump( 1 ); + } + else + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Sprinting\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on moving tank, Jump Requested, going to jump pos\\n" ); #/ - self.goal_pos = player.origin; - self setgoalpos( self.goal_pos ); - wait 0.5; - continue; - } - else if ( distancesquared( self.origin, player.origin ) < level.mechz_aggro_dist_sq ) - { + + if ( !isdefined( self.jump_pos ) ) + self.jump_pos = get_closest_mechz_spawn_pos( self.origin ); + + if ( isdefined( self.jump_pos ) ) + { + self.goal_pos = self.jump_pos.origin; + self setgoalpos( self.goal_pos ); + } + + wait 0.5; + continue; + } + } + else + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Player very close, switching to melee only\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on tank, targetting a tank pos\\n" ); #/ - self.disable_complex_behaviors = 1; - } - else if ( self should_do_claw_attack() ) - { - self mechz_do_claw_grab(); - continue; - } - else if ( self should_do_flamethrower_attack() ) - { - self mechz_do_flamethrower_attack(); - continue; - } + self.disable_complex_behaviors = 0; + self mechz_stop_basic_find_flesh(); + self.ai_state = "tracking_tank"; + self.goalradius = level.mechz_custom_goalradius; + self.custom_goalradius_override = level.mechz_custom_goalradius; + closest_tank_tag = level.vh_tank get_closest_mechz_tag_on_tank( self, self.origin ); + + if ( !isdefined( closest_tank_tag ) ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on tank, no closest tank pos found, continuing\\n" ); +#/ + wait 0.5; + continue; + } + + closest_tank_tag_pos = level.vh_tank gettagorigin( closest_tank_tag ); + + if ( abs( self.origin[2] - closest_tank_tag_pos[2] ) >= level.mechz_custom_goalradius || distance2dsquared( self.origin, closest_tank_tag_pos ) >= level.mechz_custom_goalradius_sq ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on tank, setting tank pos as goal\\n" ); +#/ + self.goal_pos = closest_tank_tag_pos; + self setgoalpos( self.goal_pos ); + self waittill_any_or_timeout( 0.5, "goal", "bad_path" ); + + if ( !player entity_on_tank() ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy got off tank by the time we reached our goal, continuing\\n" ); +#/ + continue; + } + } + + if ( abs( self.origin[2] - closest_tank_tag_pos[2] ) < level.mechz_custom_goalradius && distance2dsquared( self.origin, closest_tank_tag_pos ) < level.mechz_custom_goalradius_sq ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Enemy on tank, reached tank pos, doing flamethrower sweep\\n" ); +#/ + self.angles = vectortoangles( level.vh_tank.origin - self.origin ); + self mechz_do_flamethrower_attack( 1 ); + self notify( "tank_flamethrower_attack_complete" ); + } + } + + continue; + } + if ( isdefined( self.jump_requested ) && self.jump_requested || isdefined( self.force_jump ) && self.force_jump ) + { + if ( self mechz_in_range_for_jump() ) + self mechz_do_jump(); + else + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Jump Requested, going to jump pos\\n" ); +#/ + self.goal_pos = self.jump_pos.origin; + self setgoalpos( self.goal_pos ); + wait 0.5; + continue; + } + } + else if ( self.zombie_move_speed == "sprint" && isdefined( player ) ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Sprinting\\n" ); +#/ + self.goal_pos = player.origin; + self setgoalpos( self.goal_pos ); + wait 0.5; + continue; + } + else if ( distancesquared( self.origin, player.origin ) < level.mechz_aggro_dist_sq ) + { +/# + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Player very close, switching to melee only\\n" ); +#/ + self.disable_complex_behaviors = 1; + } + else if ( self should_do_claw_attack() ) + { + self mechz_do_claw_grab(); + continue; + } + else if ( self should_do_flamethrower_attack() ) + { + self mechz_do_flamethrower_attack(); + continue; + } /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: No special behavior valid, heading after player\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: No special behavior valid, heading after player\\n" ); #/ - self.goal_pos = player.origin; + self.goal_pos = player.origin; - if ( isdefined( level.damage_prone_players_override_func ) ) - level thread [[ level.damage_prone_players_override_func ]](); - else - self thread damage_prone_players(); + if ( isdefined( level.damage_prone_players_override_func ) ) + level thread [[ level.damage_prone_players_override_func ]](); + else + self thread damage_prone_players(); - mechz_start_basic_find_flesh(); - wait 0.5; - } + mechz_start_basic_find_flesh(); + wait 0.5; + } } damage_prone_players() { - self endon( "death" ); - a_players = getplayers(); + self endon( "death" ); + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( isdefined( self.favoriteenemy ) && self.favoriteenemy == player ) - { - n_dist = distance2dsquared( player.origin, self.origin ); + foreach ( player in a_players ) + { + if ( isdefined( self.favoriteenemy ) && self.favoriteenemy == player ) + { + n_dist = distance2dsquared( player.origin, self.origin ); - if ( n_dist < 2025 ) - { - player_z = player.origin[2]; - mechz_z = self.origin[2]; + if ( n_dist < 2025 ) + { + player_z = player.origin[2]; + mechz_z = self.origin[2]; - if ( player_z < mechz_z && mechz_z - player_z <= 75 ) - { - if ( isdefined( self.meleedamage ) ) - idamage = self.meleedamage; - else - idamage = 50; + if ( player_z < mechz_z && mechz_z - player_z <= 75 ) + { + if ( isdefined( self.meleedamage ) ) + idamage = self.meleedamage; + else + idamage = 50; - player dodamage( idamage, self.origin, self, self, "none", "MOD_MELEE" ); - } - } - } - } + player dodamage( idamage, self.origin, self, self, "none", "MOD_MELEE" ); + } + } + } + } } melee_anim_func() { - self.next_leap_time = gettime() + 1500; + self.next_leap_time = gettime() + 1500; } mechz_launch_armor_piece() { - if ( !isdefined( self.next_armor_piece ) ) - self.next_armor_piece = 0; + if ( !isdefined( self.next_armor_piece ) ) + self.next_armor_piece = 0; - if ( !isdefined( self.armor_state ) || self.next_armor_piece >= self.armor_state.size ) - { + if ( !isdefined( self.armor_state ) || self.next_armor_piece >= self.armor_state.size ) + { /# - println( "Trying to launch armor piece after all pieces have already been launched!" ); + println( "Trying to launch armor piece after all pieces have already been launched!" ); #/ - return; - } + return; + } - if ( isdefined( self.armor_state[self.next_armor_piece].model ) ) - self detach( self.armor_state[self.next_armor_piece].model, self.armor_state[self.next_armor_piece].tag ); + if ( isdefined( self.armor_state[self.next_armor_piece].model ) ) + self detach( self.armor_state[self.next_armor_piece].model, self.armor_state[self.next_armor_piece].tag ); - self.fx_field = self.fx_field | 1 << self.armor_state[self.next_armor_piece].index; - self setclientfield( "mechz_fx", self.fx_field ); + self.fx_field = self.fx_field | 1 << self.armor_state[self.next_armor_piece].index; + self setclientfield( "mechz_fx", self.fx_field ); - if ( sndmechzisnetworksafe( "destruction" ) ) - self playsound( "zmb_ai_mechz_destruction" ); + if ( sndmechzisnetworksafe( "destruction" ) ) + self playsound( "zmb_ai_mechz_destruction" ); - self.next_armor_piece++; + self.next_armor_piece++; } mechz_damage_override( inflictor, attacker, damage, flags, meansofdeath, weapon, vpoint, vdir, shitloc, poffsettime, boneindex ) { - num_tiers = level.mechz_armor_info.size + 1; - old_health_tier = int( num_tiers * self.health / self.maxhealth ); - bonename = getpartname( "c_zom_mech_body", boneindex ); + num_tiers = level.mechz_armor_info.size + 1; + old_health_tier = int( num_tiers * self.health / self.maxhealth ); + bonename = getpartname( "c_zom_mech_body", boneindex ); - if ( isdefined( attacker ) && isalive( attacker ) && isplayer( attacker ) && ( level.zombie_vars[attacker.team]["zombie_insta_kill"] || isdefined( attacker.personal_instakill ) && attacker.personal_instakill ) ) - { - n_mechz_damage_percent = 1.0; - n_mechz_headshot_modifier = 2.0; - } - else - { - n_mechz_damage_percent = level.mechz_damage_percent; - n_mechz_headshot_modifier = 1.0; - } + if ( isdefined( attacker ) && isalive( attacker ) && isplayer( attacker ) && ( level.zombie_vars[attacker.team]["zombie_insta_kill"] || isdefined( attacker.personal_instakill ) && attacker.personal_instakill ) ) + { + n_mechz_damage_percent = 1.0; + n_mechz_headshot_modifier = 2.0; + } + else + { + n_mechz_damage_percent = level.mechz_damage_percent; + n_mechz_headshot_modifier = 1.0; + } - if ( isdefined( weapon ) && is_weapon_shotgun( weapon ) ) - { - n_mechz_damage_percent = n_mechz_damage_percent * level.mechz_shotgun_damage_mod; - n_mechz_headshot_modifier = n_mechz_headshot_modifier * level.mechz_shotgun_damage_mod; - } + if ( isdefined( weapon ) && is_weapon_shotgun( weapon ) ) + { + n_mechz_damage_percent = n_mechz_damage_percent * level.mechz_shotgun_damage_mod; + n_mechz_headshot_modifier = n_mechz_headshot_modifier * level.mechz_shotgun_damage_mod; + } - if ( damage <= 10 ) - n_mechz_damage_percent = 1.0; + if ( damage <= 10 ) + n_mechz_damage_percent = 1.0; - if ( is_explosive_damage( meansofdeath ) || issubstr( weapon, "staff" ) ) - { - if ( n_mechz_damage_percent < 0.5 ) - n_mechz_damage_percent = 0.5; + if ( is_explosive_damage( meansofdeath ) || issubstr( weapon, "staff" ) ) + { + if ( n_mechz_damage_percent < 0.5 ) + n_mechz_damage_percent = 0.5; - if ( !( isdefined( self.has_helmet ) && self.has_helmet ) && issubstr( weapon, "staff" ) && n_mechz_damage_percent < 1.0 ) - n_mechz_damage_percent = 1.0; + if ( !( isdefined( self.has_helmet ) && self.has_helmet ) && issubstr( weapon, "staff" ) && n_mechz_damage_percent < 1.0 ) + n_mechz_damage_percent = 1.0; - final_damage = damage * n_mechz_damage_percent; + final_damage = damage * n_mechz_damage_percent; - if ( !isdefined( self.explosive_dmg_taken ) ) - self.explosive_dmg_taken = 0; + if ( !isdefined( self.explosive_dmg_taken ) ) + self.explosive_dmg_taken = 0; - self.explosive_dmg_taken = self.explosive_dmg_taken + final_damage; - self.helmet_dmg = self.helmet_dmg + final_damage; + self.explosive_dmg_taken = self.explosive_dmg_taken + final_damage; + self.helmet_dmg = self.helmet_dmg + final_damage; - if ( isdefined( self.explosive_dmg_taken_on_grab_start ) ) - { - if ( isdefined( self.e_grabbed ) && self.explosive_dmg_taken - self.explosive_dmg_taken_on_grab_start > level.mechz_explosive_dmg_to_cancel_claw ) - { - if ( isdefined( self.has_helmet ) && self.has_helmet && self.helmet_dmg < self.helmet_dmg_for_removal || !( isdefined( self.has_helmet ) && self.has_helmet ) ) - self thread mechz_claw_shot_pain_reaction(); + if ( isdefined( self.explosive_dmg_taken_on_grab_start ) ) + { + if ( isdefined( self.e_grabbed ) && self.explosive_dmg_taken - self.explosive_dmg_taken_on_grab_start > level.mechz_explosive_dmg_to_cancel_claw ) + { + if ( isdefined( self.has_helmet ) && self.has_helmet && self.helmet_dmg < self.helmet_dmg_for_removal || !( isdefined( self.has_helmet ) && self.has_helmet ) ) + self thread mechz_claw_shot_pain_reaction(); - self thread ent_released_from_claw_grab_achievement( attacker, self.e_grabbed ); - self thread mechz_claw_release(); - } - } - } - else if ( shitloc != "head" && shitloc != "helmet" ) - { - if ( bonename == "tag_powersupply" ) - { - final_damage = damage * n_mechz_damage_percent; + self thread ent_released_from_claw_grab_achievement( attacker, self.e_grabbed ); + self thread mechz_claw_release(); + } + } + } + else if ( shitloc != "head" && shitloc != "helmet" ) + { + if ( bonename == "tag_powersupply" ) + { + final_damage = damage * n_mechz_damage_percent; - if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) ) - self.powerplant_dmg = self.powerplant_dmg + final_damage; - else - self.powerplant_cover_dmg = self.powerplant_cover_dmg + final_damage; - } + if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) ) + self.powerplant_dmg = self.powerplant_dmg + final_damage; + else + self.powerplant_cover_dmg = self.powerplant_cover_dmg + final_damage; + } - if ( isdefined( self.e_grabbed ) && ( shitloc == "left_hand" || shitloc == "left_arm_lower" || shitloc == "left_arm_upper" ) ) - { - if ( isdefined( self.e_grabbed ) ) - self thread mechz_claw_shot_pain_reaction(); + if ( isdefined( self.e_grabbed ) && ( shitloc == "left_hand" || shitloc == "left_arm_lower" || shitloc == "left_arm_upper" ) ) + { + if ( isdefined( self.e_grabbed ) ) + self thread mechz_claw_shot_pain_reaction(); - self thread ent_released_from_claw_grab_achievement( attacker, self.e_grabbed ); - self thread mechz_claw_release( 1 ); - } + self thread ent_released_from_claw_grab_achievement( attacker, self.e_grabbed ); + self thread mechz_claw_release( 1 ); + } - final_damage = damage * n_mechz_damage_percent; - } - else if ( !( isdefined( self.has_helmet ) && self.has_helmet ) ) - final_damage = damage * n_mechz_headshot_modifier; - else - { - final_damage = damage * n_mechz_damage_percent; - self.helmet_dmg = self.helmet_dmg + final_damage; - } + final_damage = damage * n_mechz_damage_percent; + } + else if ( !( isdefined( self.has_helmet ) && self.has_helmet ) ) + final_damage = damage * n_mechz_headshot_modifier; + else + { + final_damage = damage * n_mechz_damage_percent; + self.helmet_dmg = self.helmet_dmg + final_damage; + } - if ( !isdefined( weapon ) || weapon == "none" ) - { - if ( !isplayer( attacker ) ) - final_damage = 0; - } + if ( !isdefined( weapon ) || weapon == "none" ) + { + if ( !isplayer( attacker ) ) + final_damage = 0; + } - new_health_tier = int( num_tiers * ( self.health - final_damage ) / self.maxhealth ); + new_health_tier = int( num_tiers * ( self.health - final_damage ) / self.maxhealth ); - if ( old_health_tier > new_health_tier ) - { - while ( old_health_tier > new_health_tier ) - { + if ( old_health_tier > new_health_tier ) + { + while ( old_health_tier > new_health_tier ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - println( "\\nMZ: Old tier: " + old_health_tier + " New Health Tier: " + new_health_tier + " Launching armor piece" ); + if ( getdvarint( #"_id_E7121222" ) > 0 ) + println( "\\nMZ: Old tier: " + old_health_tier + " New Health Tier: " + new_health_tier + " Launching armor piece" ); #/ - if ( old_health_tier < num_tiers ) - self mechz_launch_armor_piece(); + if ( old_health_tier < num_tiers ) + self mechz_launch_armor_piece(); - old_health_tier--; - } - } + old_health_tier--; + } + } - if ( isdefined( self.has_helmet ) && self.has_helmet && self.helmet_dmg >= self.helmet_dmg_for_removal ) - { - self.has_helmet = 0; - self detach( "c_zom_mech_faceplate", "J_Helmet" ); + if ( isdefined( self.has_helmet ) && self.has_helmet && self.helmet_dmg >= self.helmet_dmg_for_removal ) + { + self.has_helmet = 0; + self detach( "c_zom_mech_faceplate", "J_Helmet" ); - if ( sndmechzisnetworksafe( "destruction" ) ) - self playsound( "zmb_ai_mechz_destruction" ); + if ( sndmechzisnetworksafe( "destruction" ) ) + self playsound( "zmb_ai_mechz_destruction" ); - if ( sndmechzisnetworksafe( "angry" ) ) - self playsound( "zmb_ai_mechz_vox_angry" ); + if ( sndmechzisnetworksafe( "angry" ) ) + self playsound( "zmb_ai_mechz_vox_angry" ); - self.fx_field = self.fx_field | 1024; - self.fx_field = self.fx_field & ~2048; - self setclientfield( "mechz_fx", self.fx_field ); + self.fx_field = self.fx_field | 1024; + self.fx_field = self.fx_field & ~2048; + self setclientfield( "mechz_fx", self.fx_field ); - if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) ) - { - self mechz_interrupt(); - self animscripted( self.origin, self.angles, "zm_pain_faceplate" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim_faceplate" ); - } + if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) ) + { + self mechz_interrupt(); + self animscripted( self.origin, self.angles, "zm_pain_faceplate" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim_faceplate" ); + } - self thread shoot_mechz_head_vo(); - } + self thread shoot_mechz_head_vo(); + } - if ( isdefined( self.powerplant_covered ) && self.powerplant_covered && self.powerplant_cover_dmg >= self.powerplant_cover_dmg_for_removal ) - { - self.powerplant_covered = 0; - self detach( "c_zom_mech_powersupply_cap", "tag_powersupply" ); - cap_model = spawn( "script_model", self gettagorigin( "tag_powersupply" ) ); - cap_model.angles = self gettagangles( "tag_powersupply" ); - cap_model setmodel( "c_zom_mech_powersupply_cap" ); - cap_model physicslaunch( cap_model.origin, anglestoforward( cap_model.angles ) ); - cap_model thread mechz_delayed_item_delete(); + if ( isdefined( self.powerplant_covered ) && self.powerplant_covered && self.powerplant_cover_dmg >= self.powerplant_cover_dmg_for_removal ) + { + self.powerplant_covered = 0; + self detach( "c_zom_mech_powersupply_cap", "tag_powersupply" ); + cap_model = spawn( "script_model", self gettagorigin( "tag_powersupply" ) ); + cap_model.angles = self gettagangles( "tag_powersupply" ); + cap_model setmodel( "c_zom_mech_powersupply_cap" ); + cap_model physicslaunch( cap_model.origin, anglestoforward( cap_model.angles ) ); + cap_model thread mechz_delayed_item_delete(); - if ( sndmechzisnetworksafe( "destruction" ) ) - self playsound( "zmb_ai_mechz_destruction" ); + if ( sndmechzisnetworksafe( "destruction" ) ) + self playsound( "zmb_ai_mechz_destruction" ); - if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) ) - { - self mechz_interrupt(); - self animscripted( self.origin, self.angles, "zm_pain_powercore" ); - self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim_powercore" ); - } - } - else if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) && ( isdefined( self.has_powerplant ) && self.has_powerplant ) && self.powerplant_dmg >= self.powerplant_dmg_for_destroy ) - { - self.has_powerplant = 0; - self thread mechz_stun( level.mechz_powerplant_stun_time ); + if ( !( isdefined( self.not_interruptable ) && self.not_interruptable ) && !( isdefined( self.is_traversing ) && self.is_traversing ) ) + { + self mechz_interrupt(); + self animscripted( self.origin, self.angles, "zm_pain_powercore" ); + self maps\mp\animscripts\zm_shared::donotetracks( "pain_anim_powercore" ); + } + } + else if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) && ( isdefined( self.has_powerplant ) && self.has_powerplant ) && self.powerplant_dmg >= self.powerplant_dmg_for_destroy ) + { + self.has_powerplant = 0; + self thread mechz_stun( level.mechz_powerplant_stun_time ); - if ( sndmechzisnetworksafe( "destruction" ) ) - self playsound( "zmb_ai_mechz_destruction" ); - } + if ( sndmechzisnetworksafe( "destruction" ) ) + self playsound( "zmb_ai_mechz_destruction" ); + } /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - { - println( "\\nMZ: Doing " + final_damage + " damage to mechz, Health Remaining: " + self.health ); + if ( getdvarint( #"_id_E7121222" ) > 0 ) + { + println( "\\nMZ: Doing " + final_damage + " damage to mechz, Health Remaining: " + self.health ); - if ( self.helmet_dmg < self.helmet_dmg_for_removal ) - println( "\\nMZ: Current helmet dmg: " + self.helmet_dmg + " Required helmet dmg: " + self.helmet_dmg_for_removal ); - } + if ( self.helmet_dmg < self.helmet_dmg_for_removal ) + println( "\\nMZ: Current helmet dmg: " + self.helmet_dmg + " Required helmet dmg: " + self.helmet_dmg_for_removal ); + } #/ - return final_damage; + return final_damage; } mechz_non_attacker_damage_override( damage, weapon, attacker ) { - if ( attacker == level.vh_tank ) - self thread mechz_tank_hit_callback(); + if ( attacker == level.vh_tank ) + self thread mechz_tank_hit_callback(); - return false; + return false; } mechz_instakill_override() @@ -1649,320 +1655,320 @@ mechz_instakill_override() mechz_nuke_override() { - self endon( "death" ); - wait( randomfloatrange( 0.1, 0.7 ) ); - self playsound( "evt_nuked" ); - self dodamage( self.health * 0.25, self.origin ); + self endon( "death" ); + wait( randomfloatrange( 0.1, 0.7 ) ); + self playsound( "evt_nuked" ); + self dodamage( self.health * 0.25, self.origin ); } mechz_set_locomotion_speed() { - self endon( "death" ); - self.prev_move_speed = self.zombie_move_speed; + self endon( "death" ); + self.prev_move_speed = self.zombie_move_speed; - if ( !isdefined( self.favoriteenemy ) ) - self.zombie_move_speed = "walk"; - else if ( isdefined( self.force_run ) && self.force_run ) - self.zombie_move_speed = "run"; - else if ( isdefined( self.force_sprint ) && self.force_sprint ) - self.zombie_move_speed = "sprint"; - // else if ( isdefined( self.favoriteenemy ) && self.favoriteenemy entity_on_tank() && isdefined( level.vh_tank ) && level.vh_tank ent_flag( "tank_activated" ) ) - // self.zombie_move_speed = "run"; - else if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) > level.mechz_dist_for_sprint ) - self.zombie_move_speed = "run"; - else if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) - self.zombie_move_speed = "walk"; - else - self.zombie_move_speed = "walk"; + if ( !isdefined( self.favoriteenemy ) ) + self.zombie_move_speed = "walk"; + else if ( isdefined( self.force_run ) && self.force_run ) + self.zombie_move_speed = "run"; + else if ( isdefined( self.force_sprint ) && self.force_sprint ) + self.zombie_move_speed = "sprint"; + // else if ( isdefined( self.favoriteenemy ) && self.favoriteenemy entity_on_tank() && isdefined( level.vh_tank ) && level.vh_tank ent_flag( "tank_activated" ) ) + // self.zombie_move_speed = "run"; + else if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) > level.mechz_dist_for_sprint ) + self.zombie_move_speed = "run"; + else if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) + self.zombie_move_speed = "walk"; + else + self.zombie_move_speed = "walk"; - if ( self.zombie_move_speed == "sprint" && self.prev_move_speed != "sprint" ) - { - self mechz_interrupt(); - self animscripted( self.origin, self.angles, "zm_sprint_intro" ); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); - } - else if ( self.zombie_move_speed != "sprint" && self.prev_move_speed == "sprint" ) - { - self animscripted( self.origin, self.angles, "zm_sprint_outro" ); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); - } + if ( self.zombie_move_speed == "sprint" && self.prev_move_speed != "sprint" ) + { + self mechz_interrupt(); + self animscripted( self.origin, self.angles, "zm_sprint_intro" ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + } + else if ( self.zombie_move_speed != "sprint" && self.prev_move_speed == "sprint" ) + { + self animscripted( self.origin, self.angles, "zm_sprint_outro" ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + } - self set_zombie_run_cycle( self.zombie_move_speed ); + self set_zombie_run_cycle( self.zombie_move_speed ); } response_to_air_raid_siren_vo() { - wait 3.0; - a_players = getplayers(); + wait 3.0; + a_players = getplayers(); - if ( a_players.size == 0 ) - return; + if ( a_players.size == 0 ) + return; - a_players = array_randomize( a_players ); + a_players = array_randomize( a_players ); - foreach ( player in a_players ) - { - if ( is_player_valid( player ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - if ( !isdefined( level.air_raid_siren_count ) ) - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "siren_1st_time" ); - level.air_raid_siren_count = 1; + foreach ( player in a_players ) + { + if ( is_player_valid( player ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + if ( !isdefined( level.air_raid_siren_count ) ) + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "siren_1st_time" ); + level.air_raid_siren_count = 1; - while ( isdefined( player ) && ( isdefined( player.isspeaking ) && player.isspeaking ) ) - wait 0.1; + while ( isdefined( player ) && ( isdefined( player.isspeaking ) && player.isspeaking ) ) + wait 0.1; - level thread start_see_mech_zombie_vo(); - break; - } - else if ( level.mechz_zombie_per_round == 1 ) - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "siren_generic" ); - break; - } - else - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "multiple_mechs" ); - break; - } - } - } - } + level thread start_see_mech_zombie_vo(); + break; + } + else if ( level.mechz_zombie_per_round == 1 ) + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "siren_generic" ); + break; + } + else + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "multiple_mechs" ); + break; + } + } + } + } } start_see_mech_zombie_vo() { - wait 1.0; - a_zombies = getaispeciesarray( level.zombie_team, "all" ); + wait 1.0; + a_zombies = getaispeciesarray( level.zombie_team, "all" ); - foreach ( zombie in a_zombies ) - { - if ( isdefined( zombie.is_mechz ) && zombie.is_mechz ) - ai_mechz = zombie; - } + foreach ( zombie in a_zombies ) + { + if ( isdefined( zombie.is_mechz ) && zombie.is_mechz ) + ai_mechz = zombie; + } - a_players = getplayers(); + a_players = getplayers(); - if ( a_players.size == 0 ) - return; + if ( a_players.size == 0 ) + return; - if ( isalive( ai_mechz ) ) - { - foreach ( player in a_players ) - player thread player_looking_at_mechz_watcher( ai_mechz ); - } + if ( isalive( ai_mechz ) ) + { + foreach ( player in a_players ) + player thread player_looking_at_mechz_watcher( ai_mechz ); + } } player_looking_at_mechz_watcher( ai_mechz ) { - self endon( "disconnect" ); - ai_mechz endon( "death" ); - level endon( "first_mech_zombie_seen" ); + self endon( "disconnect" ); + ai_mechz endon( "death" ); + level endon( "first_mech_zombie_seen" ); - while ( true ) - { - if ( distancesquared( self.origin, ai_mechz.origin ) < 1000000 ) - { - if ( self is_player_looking_at( ai_mechz.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) - { - if ( !( isdefined( self.dontspeak ) && self.dontspeak ) ) - { - self maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "discover_mech" ); - level notify( "first_mech_zombie_seen" ); - break; - } - } - } + while ( true ) + { + if ( distancesquared( self.origin, ai_mechz.origin ) < 1000000 ) + { + if ( self is_player_looking_at( ai_mechz.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) + { + if ( !( isdefined( self.dontspeak ) && self.dontspeak ) ) + { + self maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "discover_mech" ); + level notify( "first_mech_zombie_seen" ); + break; + } + } + } - wait 0.1; - } + wait 0.1; + } } mechz_grabbed_played_vo( ai_mechz ) { - self endon( "disconnect" ); - self maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "mech_grab" ); + self endon( "disconnect" ); + self maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "mech_grab" ); - while ( isdefined( self ) && ( isdefined( self.isspeaking ) && self.isspeaking ) ) - wait 0.1; + while ( isdefined( self ) && ( isdefined( self.isspeaking ) && self.isspeaking ) ) + wait 0.1; - wait 1.0; + wait 1.0; - if ( isalive( ai_mechz ) && isdefined( ai_mechz.e_grabbed ) ) - ai_mechz thread play_shoot_arm_hint_vo(); + if ( isalive( ai_mechz ) && isdefined( ai_mechz.e_grabbed ) ) + ai_mechz thread play_shoot_arm_hint_vo(); } play_shoot_arm_hint_vo() { - self endon( "death" ); + self endon( "death" ); - while ( true ) - { - if ( !isdefined( self.e_grabbed ) ) - return; + while ( true ) + { + if ( !isdefined( self.e_grabbed ) ) + return; - a_players = getplayers(); + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( player == self.e_grabbed ) - continue; + foreach ( player in a_players ) + { + if ( player == self.e_grabbed ) + continue; - if ( distancesquared( self.origin, player.origin ) < 1000000 ) - { - if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_arm" ); - return; - } - } - } - } + if ( distancesquared( self.origin, player.origin ) < 1000000 ) + { + if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_arm" ); + return; + } + } + } + } - wait 0.1; - } + wait 0.1; + } } mechz_hint_vo() { - self endon( "death" ); - wait 30.0; + self endon( "death" ); + wait 30.0; - while ( true ) - { - if ( self.health > self.maxhealth * 0.5 ) - { - wait 1.0; - continue; - } + while ( true ) + { + if ( self.health > self.maxhealth * 0.5 ) + { + wait 1.0; + continue; + } - if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) ) - { - wait 1.0; - continue; - } + if ( !( isdefined( self.powerplant_covered ) && self.powerplant_covered ) ) + { + wait 1.0; + continue; + } - a_players = getplayers(); + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( isdefined( self.e_grabbed ) && self.e_grabbed == player ) - continue; + foreach ( player in a_players ) + { + if ( isdefined( self.e_grabbed ) && self.e_grabbed == player ) + continue; - if ( distancesquared( self.origin, player.origin ) < 1000000 ) - { - if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_power" ); - return; - } - } - } - } + if ( distancesquared( self.origin, player.origin ) < 1000000 ) + { + if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_power" ); + return; + } + } + } + } - wait 0.1; - } + wait 0.1; + } } shoot_mechz_head_vo() { - self endon( "death" ); - a_players = getplayers(); + self endon( "death" ); + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( isdefined( self.e_grabbed ) && self.e_grabbed == player ) - continue; + foreach ( player in a_players ) + { + if ( isdefined( self.e_grabbed ) && self.e_grabbed == player ) + continue; - if ( distancesquared( self.origin, player.origin ) < 1000000 ) - { - if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_head" ); - return; - } - } - } - } + if ( distancesquared( self.origin, player.origin ) < 1000000 ) + { + if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + player maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "shoot_mech_head" ); + return; + } + } + } + } } mechz_jump_vo() { - a_players = getplayers(); + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( distancesquared( self.origin, player.origin ) < 1000000 ) - { - if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.5 ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - player delay_thread( 3.0, maps\mp\zombies\_zm_audio::create_and_play_dialog, "general", "rspnd_mech_jump" ); - return; - } - } - } - } + foreach ( player in a_players ) + { + if ( distancesquared( self.origin, player.origin ) < 1000000 ) + { + if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.5 ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + player delay_thread( 3.0, maps\mp\zombies\_zm_audio::create_and_play_dialog, "general", "rspnd_mech_jump" ); + return; + } + } + } + } } mechz_stomped_by_giant_robot_vo() { - self endon( "death" ); - wait 5.0; - a_players = getplayers(); + self endon( "death" ); + wait 5.0; + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( distancesquared( self.origin, player.origin ) < 1000000 ) - { - if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) - { - if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) - { - player thread maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "robot_crush_mech" ); - return; - } - } - } - } + foreach ( player in a_players ) + { + if ( distancesquared( self.origin, player.origin ) < 1000000 ) + { + if ( player is_player_looking_at( self.origin + vectorscale( ( 0, 0, 1 ), 60.0 ), 0.75 ) ) + { + if ( !( isdefined( player.dontspeak ) && player.dontspeak ) ) + { + player thread maps\mp\zombies\_zm_audio::create_and_play_dialog( "general", "robot_crush_mech" ); + return; + } + } + } + } } init_anim_rate() { - self setclientfield( "anim_rate", 1 ); - n_rate = self getclientfield( "anim_rate" ); - self setentityanimrate( n_rate ); + self setclientfield( "anim_rate", 1 ); + n_rate = self getclientfield( "anim_rate" ); + self setentityanimrate( n_rate ); } sndmechzisnetworksafe( type ) { - if ( !isdefined( level.sndmechz ) ) - level.sndmechz = []; + if ( !isdefined( level.sndmechz ) ) + level.sndmechz = []; - if ( !isdefined( level.sndmechz[type] ) ) - level thread sndmechznetworkchoke( type ); + if ( !isdefined( level.sndmechz[type] ) ) + level thread sndmechznetworkchoke( type ); - if ( level.sndmechz[type] > 1 ) - return false; + if ( level.sndmechz[type] > 1 ) + return false; - level.sndmechz[type]++; - return true; + level.sndmechz[type]++; + return true; } sndmechznetworkchoke( type ) { - while ( true ) - { - level.sndmechz[type] = 0; - wait_network_frame(); - } + while ( true ) + { + level.sndmechz[type] = 0; + wait_network_frame(); + } } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_booster.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_booster.gsc index e1cb845..41818c4 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_booster.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_booster.gsc @@ -14,291 +14,291 @@ mechz_in_range_for_jump() { - if ( !isdefined( self.jump_pos ) ) - { + if ( !isdefined( self.jump_pos ) ) + { /# - iprintln( "\\nMZ Error: Trying to jump without valid jump_pos\\n" ); + iprintln( "\\nMZ Error: Trying to jump without valid jump_pos\\n" ); #/ - self.jump_requested = 0; - return false; - } + self.jump_requested = 0; + return false; + } - dist = distancesquared( self.origin, self.jump_pos.origin ); + dist = distancesquared( self.origin, self.jump_pos.origin ); - if ( dist <= 100 ) - return true; + if ( dist <= 100 ) + return true; - return false; + return false; } mechz_jump_think( spawn_pos ) { - self endon( "death" ); - self endon( "stop_jump_think" ); - self.closest_jump_point = spawn_pos; - self.goal_pos = self.origin; - self setgoalpos( self.goal_pos ); - self thread mechz_jump_stuck_watcher(); + self endon( "death" ); + self endon( "stop_jump_think" ); + self.closest_jump_point = spawn_pos; + self.goal_pos = self.origin; + self setgoalpos( self.goal_pos ); + self thread mechz_jump_stuck_watcher(); - while ( true ) - { - if ( isdefined( self.jump_requested ) && self.jump_requested ) - { - if ( !self mechz_should_jump() ) - { - self.jump_requested = 0; - self.jump_pos = undefined; - } + while ( true ) + { + if ( isdefined( self.jump_requested ) && self.jump_requested ) + { + if ( !self mechz_should_jump() ) + { + self.jump_requested = 0; + self.jump_pos = undefined; + } - wait 1; - continue; - } + wait 1; + continue; + } - if ( !isdefined( self.ai_state ) || self.ai_state != "find_flesh" ) - { - wait 0.05; - continue; - } + if ( !isdefined( self.ai_state ) || self.ai_state != "find_flesh" ) + { + wait 0.05; + continue; + } - if ( isdefined( self.not_interruptable ) && self.not_interruptable ) - { - wait 0.05; - continue; - } + if ( isdefined( self.not_interruptable ) && self.not_interruptable ) + { + wait 0.05; + continue; + } /# - if ( isdefined( self.force_behavior ) && self.force_behavior ) - { - wait 0.05; - continue; - } + if ( isdefined( self.force_behavior ) && self.force_behavior ) + { + wait 0.05; + continue; + } #/ - if ( self mechz_should_jump() ) - { - self.jump_requested = 1; - self.jump_pos = get_closest_mechz_spawn_pos( self.origin ); + if ( self mechz_should_jump() ) + { + self.jump_requested = 1; + self.jump_pos = get_closest_mechz_spawn_pos( self.origin ); - if ( !isdefined( self.jump_pos ) ) - self.jump_requested = 0; - } + if ( !isdefined( self.jump_pos ) ) + self.jump_requested = 0; + } - wait 1; - } + wait 1; + } } watch_for_riot_shield_melee() { - self endon( "new_stuck_watcher" ); - self endon( "death" ); + self endon( "new_stuck_watcher" ); + self endon( "death" ); - while ( true ) - { - self waittill( "item_attack" ); + while ( true ) + { + self waittill( "item_attack" ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Resetting fail count because of item attack\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Resetting fail count because of item attack\\n" ); #/ - self.fail_count = 0; - } + self.fail_count = 0; + } } watch_for_valid_melee() { - self endon( "new_stuck_watcher" ); - self endon( "death" ); + self endon( "new_stuck_watcher" ); + self endon( "death" ); - while ( true ) - { - self waittillmatch( "melee_anim", "end" ); + while ( true ) + { + self waittillmatch( "melee_anim", "end" ); - if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) < 16384 ) - { + if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) < 16384 ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Resetting fail count because of melee\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Resetting fail count because of melee\\n" ); #/ - self.fail_count = 0; - } - } + self.fail_count = 0; + } + } } mechz_jump_stuck_watcher() { - self notify( "new_stuck_watcher" ); - self endon( "death" ); - self endon( "new_stuck_watcher" ); - self.fail_count = 0; - self thread watch_for_valid_melee(); - self thread watch_for_riot_shield_melee(); + self notify( "new_stuck_watcher" ); + self endon( "death" ); + self endon( "new_stuck_watcher" ); + self.fail_count = 0; + self thread watch_for_valid_melee(); + self thread watch_for_riot_shield_melee(); - while ( true ) - { - if ( !isdefined( self.goal_pos ) ) - { - wait 0.05; - continue; - } + while ( true ) + { + if ( !isdefined( self.goal_pos ) ) + { + wait 0.05; + continue; + } - if ( isdefined( self.not_interruptable ) && self.not_interruptable ) - { - wait 0.05; - continue; - } + if ( isdefined( self.not_interruptable ) && self.not_interruptable ) + { + wait 0.05; + continue; + } - if ( isdefined( self.ai_state ) && self.ai_state != "find_flesh" ) - { - wait 0.05; - continue; - } + if ( isdefined( self.ai_state ) && self.ai_state != "find_flesh" ) + { + wait 0.05; + continue; + } /# - if ( isdefined( self.force_behavior ) && self.force_behavior ) - { - wait 0.05; - continue; - } + if ( isdefined( self.force_behavior ) && self.force_behavior ) + { + wait 0.05; + continue; + } #/ - if ( !findpath( self.origin, self.goal_pos, self, 0, 0 ) ) - { + if ( !findpath( self.origin, self.goal_pos, self, 0, 0 ) ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Incrementing fail count\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Incrementing fail count\\n" ); #/ /# - println( "Mechz could not path to goal_pos " + self.goal_pos ); + println( "Mechz could not path to goal_pos " + self.goal_pos ); #/ - self.fail_count++; - } - else - { + self.fail_count++; + } + else + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Resetting fail count because of good path\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Resetting fail count because of good path\\n" ); #/ - self.fail_count = 0; - } + self.fail_count = 0; + } - wait 1; - } + wait 1; + } } mechz_should_jump() { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Checking should jump\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Checking should jump\\n" ); #/ - if ( !isdefined( self.favoriteenemy ) ) - { + if ( !isdefined( self.favoriteenemy ) ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing jump because has no enemy\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing jump because has no enemy\\n" ); #/ - return false; - } + return false; + } - dist = distancesquared( self.origin, self.favoriteenemy.origin ); + dist = distancesquared( self.origin, self.favoriteenemy.origin ); - if ( dist >= level.mechz_jump_dist_threshold ) - { + if ( dist >= level.mechz_jump_dist_threshold ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Doing jump because target is too far\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Doing jump because target is too far\\n" ); #/ - return true; - } + return true; + } - if ( self.fail_count >= level.mechz_failed_paths_to_jump ) - { + if ( self.fail_count >= level.mechz_failed_paths_to_jump ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Doing jump because has failed too many pathfind checks\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Doing jump because has failed too many pathfind checks\\n" ); #/ - return true; - } + return true; + } - return false; + return false; } mechz_do_jump( wait_for_stationary_tank ) { - self endon( "death" ); - self endon( "kill_jump" ); + self endon( "death" ); + self endon( "kill_jump" ); /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - println( "\\nMZ: Doing Jump-Teleport\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 0 ) + println( "\\nMZ: Doing Jump-Teleport\\n" ); #/ /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Jump setting not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Jump setting not interruptable\\n" ); #/ - self.not_interruptable = 1; - self setfreecameralockonallowed( 0 ); - self thread mechz_jump_vo(); - self animscripted( self.origin, self.angles, "zm_fly_out" ); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); - self ghost(); - self.mechz_hidden = 1; + self.not_interruptable = 1; + self setfreecameralockonallowed( 0 ); + self thread mechz_jump_vo(); + self animscripted( self.origin, self.angles, "zm_fly_out" ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + self ghost(); + self.mechz_hidden = 1; - if ( isdefined( self.m_claw ) ) - self.m_claw ghost(); + if ( isdefined( self.m_claw ) ) + self.m_claw ghost(); - if ( self.fx_field ) - self.fx_field_old = self.fx_field; + if ( self.fx_field ) + self.fx_field_old = self.fx_field; - self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); - self fx_cleanup(); - self animscripted( self.origin, self.angles, "zm_fly_hover" ); - wait( level.mechz_jump_delay ); + self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow_stop(); + self fx_cleanup(); + self animscripted( self.origin, self.angles, "zm_fly_hover" ); + wait( level.mechz_jump_delay ); - if ( isdefined( wait_for_stationary_tank ) && wait_for_stationary_tank ) - level.vh_tank ent_flag_waitopen( "tank_moving" ); + if ( isdefined( wait_for_stationary_tank ) && wait_for_stationary_tank ) + level.vh_tank ent_flag_waitopen( "tank_moving" ); - self notsolid(); - closest_jump_point = get_best_mechz_spawn_pos( 1 ); + self notsolid(); + closest_jump_point = get_best_mechz_spawn_pos( 1 ); - if ( isdefined( closest_jump_point ) ) - self.closest_jump_point = closest_jump_point; + if ( isdefined( closest_jump_point ) ) + self.closest_jump_point = closest_jump_point; - if ( !isdefined( self.closest_jump_point.angles ) ) - self.closest_jump_point.angles = ( 0, 0, 0 ); + if ( !isdefined( self.closest_jump_point.angles ) ) + self.closest_jump_point.angles = ( 0, 0, 0 ); - self animscripted( self.closest_jump_point.origin, self.closest_jump_point.angles, "zm_fly_in" ); - self solid(); - self.mechz_hidden = 0; - self show(); - self.fx_field = self.fx_field_old; - self.fx_field_old = undefined; - self setclientfield( "mechz_fx", self.fx_field ); - self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow(); + self animscripted( self.closest_jump_point.origin, self.closest_jump_point.angles, "zm_fly_in" ); + self solid(); + self.mechz_hidden = 0; + self show(); + self.fx_field = self.fx_field_old; + self.fx_field_old = undefined; + self setclientfield( "mechz_fx", self.fx_field ); + self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow(); - if ( isdefined( self.m_claw ) ) - self.m_claw show(); + if ( isdefined( self.m_claw ) ) + self.m_claw show(); - self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); - self.not_interruptable = 0; - self setfreecameralockonallowed( 1 ); + self maps\mp\animscripts\zm_shared::donotetracks( "jump_anim" ); + self.not_interruptable = 0; + self setfreecameralockonallowed( 1 ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\nMZ: Jump clearing not interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\nMZ: Jump clearing not interruptable\\n" ); #/ - mechz_jump_cleanup(); + mechz_jump_cleanup(); } mechz_kill_jump_watcher() { - self endon( "jump_complete" ); - self waittill_either( "death", "kill_jump" ); - self mechz_jump_cleanup(); + self endon( "jump_complete" ); + self waittill_either( "death", "kill_jump" ); + self mechz_jump_cleanup(); } mechz_jump_cleanup() { - self.fx_field = self.fx_field & ~128; - self setclientfield( "mechz_fx", self.fx_field ); - self stopanimscripted(); - self notify( "jump_complete" ); + self.fx_field = self.fx_field & ~128; + self setclientfield( "mechz_fx", self.fx_field ); + self stopanimscripted(); + self notify( "jump_complete" ); } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_claw.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_claw.gsc index 5ba5f79..1e04230 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_claw.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_claw.gsc @@ -19,600 +19,608 @@ mechz_claw_detach() { - if ( isdefined( self.m_claw ) ) - { - self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); + if ( isdefined( self.m_claw ) ) + { + self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); - if ( isdefined( self.m_claw.fx_ent ) ) - self.m_claw.fx_ent delete(); + if ( isdefined( self.m_claw.fx_ent ) ) + self.m_claw.fx_ent delete(); - self.m_claw unlink(); - self.m_claw physicslaunch( self.m_claw.origin, ( 0, 0, -1 ) ); - self.m_claw thread mechz_delayed_item_delete(); - self.m_claw = undefined; - } + self.m_claw unlink(); + self.m_claw physicslaunch( self.m_claw.origin, ( 0, 0, -1 ) ); + self.m_claw thread mechz_delayed_item_delete(); + self.m_claw = undefined; + } - if ( isdefined( self.m_claw_damage_trigger ) ) - { - self.m_claw_damage_trigger unlink(); - self.m_claw_damage_trigger delete(); - self.m_claw_damage_trigger = undefined; - } + if ( isdefined( self.m_claw_damage_trigger ) ) + { + self.m_claw_damage_trigger unlink(); + self.m_claw_damage_trigger delete(); + self.m_claw_damage_trigger = undefined; + } } mechz_claw_release( bopenclaw ) { - self.explosive_dmg_taken_on_grab_start = undefined; + self.explosive_dmg_taken_on_grab_start = undefined; - if ( isdefined( self.e_grabbed ) ) - { - if ( isplayer( self.e_grabbed ) ) - { - self.e_grabbed setclientfieldtoplayer( "mechz_grab", 0 ); - self.e_grabbed allowcrouch( 1 ); - self.e_grabbed allowprone( 1 ); - } + if ( isdefined( self.e_grabbed ) ) + { + if ( isplayer( self.e_grabbed ) ) + { + self.e_grabbed setclientfieldtoplayer( "mechz_grab", 0 ); + self.e_grabbed allowcrouch( 1 ); + self.e_grabbed allowprone( 1 ); + } - if ( !isdefined( self.e_grabbed._fall_down_anchor ) ) - { - trace_start = self.e_grabbed.origin + vectorscale( ( 0, 0, 1 ), 70.0 ); - trace_end = self.e_grabbed.origin + vectorscale( ( 0, 0, -1 ), 500.0 ); - drop_trace = playerphysicstrace( trace_start, trace_end ) + vectorscale( ( 0, 0, 1 ), 24.0 ); - self.e_grabbed unlink(); - self.e_grabbed setorigin( drop_trace ); - } + if ( !isdefined( self.e_grabbed._fall_down_anchor ) ) + { + trace_start = self.e_grabbed.origin + vectorscale( ( 0, 0, 1 ), 70.0 ); + trace_end = self.e_grabbed.origin + vectorscale( ( 0, 0, -1 ), 500.0 ); + drop_trace = playerphysicstrace( trace_start, trace_end ) + vectorscale( ( 0, 0, 1 ), 24.0 ); + self.e_grabbed unlink(); + self.e_grabbed setorigin( drop_trace ); + } - self.e_grabbed = undefined; + self.e_grabbed = undefined; - if ( isdefined( bopenclaw ) && bopenclaw ) - self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); - } + if ( isdefined( bopenclaw ) && bopenclaw ) + self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); + } } mechz_claw_shot_pain_reaction() { - self mechz_interrupt(); - self animscripted( self.origin, self.angles, "zm_head_pain" ); - self maps\mp\animscripts\zm_shared::donotetracks( "head_pain_anim" ); + self mechz_interrupt(); + self animscripted( self.origin, self.angles, "zm_head_pain" ); + self maps\mp\animscripts\zm_shared::donotetracks( "head_pain_anim" ); } ent_released_from_claw_grab_achievement( e_releaser, e_held_by_mechz ) { - if ( isdefined( e_releaser ) && isdefined( e_held_by_mechz ) && isplayer( e_releaser ) && isplayer( e_held_by_mechz ) ) - { - if ( e_releaser == e_held_by_mechz ) - e_releaser notify( "mechz_grab_released_self" ); - else - e_releaser notify( "mechz_grab_released_friendly" ); - } + if ( isdefined( e_releaser ) && isdefined( e_held_by_mechz ) && isplayer( e_releaser ) && isplayer( e_held_by_mechz ) ) + { + if ( e_releaser == e_held_by_mechz ) + e_releaser notify( "mechz_grab_released_self" ); + else + e_releaser notify( "mechz_grab_released_friendly" ); + } } mechz_claw_notetracks() { - self endon( "death" ); - self endon( "kill_claw" ); - self waittillmatch( "grapple_anim", "muzzleflash" ); - self waittillmatch( "grapple_anim", "end" ); + self endon( "death" ); + self endon( "kill_claw" ); + self waittillmatch( "grapple_anim", "muzzleflash" ); + self waittillmatch( "grapple_anim", "end" ); } mechz_claw_aim( target_pos ) { - self endon( "death" ); - self endon( "kill_claw" ); - self endon( "claw_complete" ); - aim_anim = mechz_get_aim_anim( "zm_grapple", target_pos ); - self animscripted( self.origin, self.angles, "zm_grapple_aim_start" ); - self thread mechz_claw_notetracks(); - self maps\mp\animscripts\zm_shared::donotetracks( "grapple_anim" ); + self endon( "death" ); + self endon( "kill_claw" ); + self endon( "claw_complete" ); + aim_anim = mechz_get_aim_anim( "zm_grapple", target_pos ); + self animscripted( self.origin, self.angles, "zm_grapple_aim_start" ); + self thread mechz_claw_notetracks(); + self maps\mp\animscripts\zm_shared::donotetracks( "grapple_anim" ); - while ( flag( "mechz_launching_claw" ) ) - { - self animscripted( self.origin, self.angles, aim_anim ); - self maps\mp\animscripts\zm_shared::donotetracks( "grapple_anim" ); - self clearanim( %root, 0.0 ); - } + while ( flag( "mechz_launching_claw" ) ) + { + self animscripted( self.origin, self.angles, aim_anim ); + self maps\mp\animscripts\zm_shared::donotetracks( "grapple_anim" ); + self clearanim( %root, 0.0 ); + } } player_can_be_grabbed() { - if ( self getstance() == "prone" && ( isdefined( self.is_dtp ) && self.is_dtp ) ) - return false; + if ( self getstance() == "prone" && ( isdefined( self.is_dtp ) && self.is_dtp ) ) + return false; - if ( !is_player_valid( self, 1, 1 ) ) - return false; + if ( !is_player_valid( self, 1, 1 ) ) + return false; - return true; + return true; } mechz_claw_explosive_watcher() { - if ( !isdefined( self.explosive_dmg_taken ) ) - self.explosive_dmg_taken = 0; + if ( !isdefined( self.explosive_dmg_taken ) ) + self.explosive_dmg_taken = 0; - self.explosive_dmg_taken_on_grab_start = self.explosive_dmg_taken; + self.explosive_dmg_taken_on_grab_start = self.explosive_dmg_taken; } mechz_unlink_on_laststand( mechz ) { - self endon( "death" ); - self endon( "disconnect" ); - mechz endon( "death" ); - mechz endon( "claw_complete" ); - mechz endon( "kill_claw" ); + self endon( "death" ); + self endon( "disconnect" ); + mechz endon( "death" ); + mechz endon( "claw_complete" ); + mechz endon( "kill_claw" ); - while ( true ) - { - if ( isdefined( self ) && self maps\mp\zombies\_zm_laststand::player_is_in_laststand() ) - { - mechz thread mechz_claw_release(); - return; - } + while ( true ) + { + if ( isdefined( self ) && self maps\mp\zombies\_zm_laststand::player_is_in_laststand() ) + { + mechz thread mechz_claw_release(); + return; + } - wait 0.05; - } + wait 0.05; + } } claw_grapple() { - self endon( "death" ); - self endon( "kill_claw" ); + self endon( "death" ); + self endon( "kill_claw" ); - if ( !isdefined( self.favoriteenemy ) ) - return; + if ( !isdefined( self.favoriteenemy ) ) + return; - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = vectortoangles( self.origin - self.favoriteenemy.origin ); - self.fx_field = self.fx_field | 256; - self setclientfield( "mechz_fx", self.fx_field ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0, 1 ); - self.m_claw unlink(); - self.m_claw.fx_ent = spawn( "script_model", self.m_claw gettagorigin( "tag_claw" ) ); - self.m_claw.fx_ent.angles = self.m_claw gettagangles( "tag_claw" ); - self.m_claw.fx_ent setmodel( "tag_origin" ); - self.m_claw.fx_ent linkto( self.m_claw, "tag_claw" ); - network_safe_play_fx_on_tag( "mech_claw", 1, level._effect["mechz_claw"], self.m_claw.fx_ent, "tag_origin" ); - v_enemy_origin = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 ); - n_dist = distance( v_claw_origin, v_enemy_origin ); - n_time = n_dist / 1200; - self playsound( "zmb_ai_mechz_claw_fire" ); - self.m_claw moveto( v_enemy_origin, n_time ); - self.m_claw thread check_for_claw_move_complete(); - self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_out", 0.1 ); - self.e_grabbed = undefined; + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = vectortoangles( self.origin - self.favoriteenemy.origin ); + self.fx_field = self.fx_field | 256; + self setclientfield( "mechz_fx", self.fx_field ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0, 1 ); + self.m_claw unlink(); + self.m_claw.fx_ent = spawn( "script_model", self.m_claw gettagorigin( "tag_claw" ) ); + self.m_claw.fx_ent.angles = self.m_claw gettagangles( "tag_claw" ); + self.m_claw.fx_ent setmodel( "tag_origin" ); + self.m_claw.fx_ent linkto( self.m_claw, "tag_claw" ); + network_safe_play_fx_on_tag( "mech_claw", 1, level._effect["mechz_claw"], self.m_claw.fx_ent, "tag_origin" ); + v_enemy_origin = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 ); + n_dist = distance( v_claw_origin, v_enemy_origin ); + n_time = n_dist / 1200; + self playsound( "zmb_ai_mechz_claw_fire" ); + self.m_claw moveto( v_enemy_origin, n_time ); + self.m_claw thread check_for_claw_move_complete(); + self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_out", 0.1 ); + self.e_grabbed = undefined; - do - { - a_players = getplayers(); + do + { + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( !is_player_valid( player, 1, 1 ) || !player player_can_be_grabbed() ) - continue; + foreach ( player in a_players ) + { + if ( !is_player_valid( player, 1, 1 ) || !player player_can_be_grabbed() ) + continue; - n_dist_sq = distancesquared( player.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.m_claw.origin ); + n_dist_sq = distancesquared( player.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.m_claw.origin ); - if ( n_dist_sq < 2304 ) - { - if ( isdefined( player.hasriotshield ) && player.hasriotshield && player getcurrentweapon() == level.riotshield_name ) - { - shield_dmg = level.zombie_vars["riotshield_hit_points"]; - //player maps\mp\zombies\_zm_weap_riotshield_tomb::player_damage_shield( shield_dmg - 1, 1 ); - wait 1; - //player maps\mp\zombies\_zm_weap_riotshield_tomb::player_damage_shield( 1, 1 ); - } - else - { - self.e_grabbed = player; - self.e_grabbed setclientfieldtoplayer( "mechz_grab", 1 ); - self.e_grabbed playerlinktodelta( self.m_claw, "tag_attach_player" ); - self.e_grabbed setplayerangles( vectortoangles( self.origin - self.e_grabbed.origin ) ); - self.e_grabbed playsound( "zmb_ai_mechz_claw_grab" ); - self.e_grabbed setstance( "stand" ); - self.e_grabbed allowcrouch( 0 ); - self.e_grabbed allowprone( 0 ); - self.e_grabbed thread mechz_grabbed_played_vo( self ); + if ( n_dist_sq < 2304 ) + { + if ( isdefined( player.hasriotshield ) && player.hasriotshield && player getcurrentweapon() == level.riotshield_name ) + { + shield_dmg = level.zombie_vars["riotshield_hit_points"]; + func = getFunction( "maps/mp/zombies/_zm_weap_riotshield_tomb", "player_damage_shield" ); + if ( isDefined( func ) ) + { + player [[ func ]]( shield_dmg - 1, 1 ); + } + + wait 1; + if ( isDefined( func ) ) + { + player [[ func ]]( 1, 1 ); + } + } + else + { + self.e_grabbed = player; + self.e_grabbed setclientfieldtoplayer( "mechz_grab", 1 ); + self.e_grabbed playerlinktodelta( self.m_claw, "tag_attach_player" ); + self.e_grabbed setplayerangles( vectortoangles( self.origin - self.e_grabbed.origin ) ); + self.e_grabbed playsound( "zmb_ai_mechz_claw_grab" ); + self.e_grabbed setstance( "stand" ); + self.e_grabbed allowcrouch( 0 ); + self.e_grabbed allowprone( 0 ); + self.e_grabbed thread mechz_grabbed_played_vo( self ); - if ( !flag( "mechz_claw_move_complete" ) ) - self.m_claw moveto( self.m_claw.origin, 0.05 ); - } + if ( !flag( "mechz_claw_move_complete" ) ) + self.m_claw moveto( self.m_claw.origin, 0.05 ); + } - break; - } - } + break; + } + } - wait 0.05; - } - while (!flag( "mechz_claw_move_complete" ) && !isdefined( self.e_grabbed ) ); + wait 0.05; + } + while (!flag( "mechz_claw_move_complete" ) && !isdefined( self.e_grabbed ) ); - if ( !isdefined( self.e_grabbed ) ) - { - a_ai_zombies = get_round_enemy_array(); + if ( !isdefined( self.e_grabbed ) ) + { + a_ai_zombies = get_round_enemy_array(); - foreach ( ai_zombie in a_ai_zombies ) - { - if ( !isalive( ai_zombie ) || isdefined( ai_zombie.is_giant_robot ) && ai_zombie.is_giant_robot || isdefined( ai_zombie.is_mechz ) && ai_zombie.is_mechz ) - continue; + foreach ( ai_zombie in a_ai_zombies ) + { + if ( !isalive( ai_zombie ) || isdefined( ai_zombie.is_giant_robot ) && ai_zombie.is_giant_robot || isdefined( ai_zombie.is_mechz ) && ai_zombie.is_mechz ) + continue; - n_dist_sq = distancesquared( ai_zombie.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.m_claw.origin ); + n_dist_sq = distancesquared( ai_zombie.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.m_claw.origin ); - if ( n_dist_sq < 2304 ) - { - self.e_grabbed = ai_zombie; - self.e_grabbed linkto( self.m_claw, "tag_attach_player", ( 0, 0, 0 ) ); - self.e_grabbed.mechz_grabbed_by = self; - self.e_grabbed animcustom( ::zombie_grabbed_by_mechz_claw ); - break; - } - } - } + if ( n_dist_sq < 2304 ) + { + self.e_grabbed = ai_zombie; + self.e_grabbed linkto( self.m_claw, "tag_attach_player", ( 0, 0, 0 ) ); + self.e_grabbed.mechz_grabbed_by = self; + self.e_grabbed animcustom( ::zombie_grabbed_by_mechz_claw ); + break; + } + } + } - self.m_claw clearanim( %root, 0.2 ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); - wait 0.5; + self.m_claw clearanim( %root, 0.2 ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); + wait 0.5; - if ( isdefined( self.e_grabbed ) ) - n_time = n_dist / 200; - else - n_time = n_dist / 1000; + if ( isdefined( self.e_grabbed ) ) + n_time = n_dist / 200; + else + n_time = n_dist / 1000; - self mechz_claw_explosive_watcher(); - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = self gettagangles( "tag_claw" ); - self.m_claw moveto( v_claw_origin, max( 0.05, n_time ) ); - self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_in", 0.1 ); - self.m_claw waittill( "movedone" ); - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = self gettagangles( "tag_claw" ); - self.m_claw playsound( "zmb_ai_mechz_claw_back" ); - self.m_claw stoploopsound( 1 ); + self mechz_claw_explosive_watcher(); + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = self gettagangles( "tag_claw" ); + self.m_claw moveto( v_claw_origin, max( 0.05, n_time ) ); + self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_in", 0.1 ); + self.m_claw waittill( "movedone" ); + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = self gettagangles( "tag_claw" ); + self.m_claw playsound( "zmb_ai_mechz_claw_back" ); + self.m_claw stoploopsound( 1 ); - if ( maps\mp\zombies\_zm_ai_mechz::sndmechzisnetworksafe( "angry" ) ) - self playsound( "zmb_ai_mechz_vox_angry" ); + if ( maps\mp\zombies\_zm_ai_mechz::sndmechzisnetworksafe( "angry" ) ) + self playsound( "zmb_ai_mechz_vox_angry" ); - self.m_claw.origin = v_claw_origin; - self.m_claw.angles = v_claw_angles; - self.m_claw clearanim( %root, 0.2 ); - self.m_claw linkto( self, "tag_claw", ( 0, 0, 0 ) ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); - self.m_claw.fx_ent delete(); - self.m_claw.fx_ent = undefined; - self.fx_field = self.fx_field & ~256; - self setclientfield( "mechz_fx", self.fx_field ); - flag_clear( "mechz_launching_claw" ); + self.m_claw.origin = v_claw_origin; + self.m_claw.angles = v_claw_angles; + self.m_claw clearanim( %root, 0.2 ); + self.m_claw linkto( self, "tag_claw", ( 0, 0, 0 ) ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); + self.m_claw.fx_ent delete(); + self.m_claw.fx_ent = undefined; + self.fx_field = self.fx_field & ~256; + self setclientfield( "mechz_fx", self.fx_field ); + flag_clear( "mechz_launching_claw" ); - if ( isdefined( self.e_grabbed ) ) - { - if ( !isdefined( self.flamethrower_trigger ) ) - self mechz_flamethrower_initial_setup(); + if ( isdefined( self.e_grabbed ) ) + { + if ( !isdefined( self.flamethrower_trigger ) ) + self mechz_flamethrower_initial_setup(); - if ( isplayer( self.e_grabbed ) && is_player_valid( self.e_grabbed ) ) - self.e_grabbed thread mechz_unlink_on_laststand( self ); - else if ( isai( self.e_grabbed ) ) - self.e_grabbed thread mechz_zombie_flamethrower_gib( self ); + if ( isplayer( self.e_grabbed ) && is_player_valid( self.e_grabbed ) ) + self.e_grabbed thread mechz_unlink_on_laststand( self ); + else if ( isai( self.e_grabbed ) ) + self.e_grabbed thread mechz_zombie_flamethrower_gib( self ); - self thread check_for_claw_damaged( self.e_grabbed ); - self animscripted( self.origin, self.angles, "zm_flamethrower_claw_victim" ); - self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); - } + self thread check_for_claw_damaged( self.e_grabbed ); + self animscripted( self.origin, self.angles, "zm_flamethrower_claw_victim" ); + self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); + } - flag_clear( "mechz_claw_move_complete" ); + flag_clear( "mechz_claw_move_complete" ); } zombie_grabbed_by_mechz_claw() { - self endon( "death" ); - self setanimstatefromasd( "zm_grabbed_by_mech" ); - self.mechz_grabbed_by waittill_any( "death", "claw_complete", "kill_claw" ); + self endon( "death" ); + self setanimstatefromasd( "zm_grabbed_by_mech" ); + self.mechz_grabbed_by waittill_any( "death", "claw_complete", "kill_claw" ); } check_for_claw_damaged( player ) { - player endon( "death" ); - player endon( "disconnect" ); - self endon( "death" ); - self endon( "claw_complete" ); - self endon( "kill_claw" ); - self thread claw_damaged_mechz_endon_watcher( player ); - player thread claw_damaged_player_endon_watcher( self ); - self.m_claw setcandamage( 1 ); + player endon( "death" ); + player endon( "disconnect" ); + self endon( "death" ); + self endon( "claw_complete" ); + self endon( "kill_claw" ); + self thread claw_damaged_mechz_endon_watcher( player ); + player thread claw_damaged_player_endon_watcher( self ); + self.m_claw setcandamage( 1 ); - while ( isdefined( self.e_grabbed ) ) - { - self.m_claw waittill( "damage", amount, inflictor, direction, point, type, tagname, modelname, partname, weaponname, idflags ); + while ( isdefined( self.e_grabbed ) ) + { + self.m_claw waittill( "damage", amount, inflictor, direction, point, type, tagname, modelname, partname, weaponname, idflags ); - if ( is_player_valid( inflictor ) ) - { - self dodamage( 1, inflictor.origin, inflictor, inflictor, "left_hand", type ); - self.m_claw setcandamage( 0 ); - self notify( "claw_damaged" ); - break; - } - } + if ( is_player_valid( inflictor ) ) + { + self dodamage( 1, inflictor.origin, inflictor, inflictor, "left_hand", type ); + self.m_claw setcandamage( 0 ); + self notify( "claw_damaged" ); + break; + } + } } claw_damaged_mechz_endon_watcher( player ) { - self endon( "claw_damaged" ); - player endon( "death" ); - player endon( "disconnect" ); - self waittill_any( "death", "claw_complete", "kill_claw" ); + self endon( "claw_damaged" ); + player endon( "death" ); + player endon( "disconnect" ); + self waittill_any( "death", "claw_complete", "kill_claw" ); - if ( isdefined( self ) && isdefined( self.m_claw ) ) - self.m_claw setcandamage( 0 ); + if ( isdefined( self ) && isdefined( self.m_claw ) ) + self.m_claw setcandamage( 0 ); } claw_damaged_player_endon_watcher( mechz ) { - mechz endon( "claw_damaged" ); - mechz endon( "death" ); - mechz endon( "claw_complete" ); - mechz endon( "kill_claw" ); - self waittill_any( "death", "disconnect" ); + mechz endon( "claw_damaged" ); + mechz endon( "death" ); + mechz endon( "claw_complete" ); + mechz endon( "kill_claw" ); + self waittill_any( "death", "disconnect" ); - if ( isdefined( mechz ) && isdefined( mechz.m_claw ) ) - mechz.m_claw setcandamage( 0 ); + if ( isdefined( mechz ) && isdefined( mechz.m_claw ) ) + mechz.m_claw setcandamage( 0 ); } check_for_players_mid_grapple() { - self endon( "movedone" ); + self endon( "movedone" ); - while ( true ) - { - a_players = getplayers(); + while ( true ) + { + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( !is_player_valid( player, 1, 1 ) || !player player_can_be_grabbed() ) - continue; + foreach ( player in a_players ) + { + if ( !is_player_valid( player, 1, 1 ) || !player player_can_be_grabbed() ) + continue; - n_dist_sq = distancesquared( player.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.origin ); + n_dist_sq = distancesquared( player.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.origin ); - if ( n_dist_sq < 2304 ) - { - self moveto( self.origin, 0.05 ); - self notify( "movedone" ); - return; - } - } + if ( n_dist_sq < 2304 ) + { + self moveto( self.origin, 0.05 ); + self notify( "movedone" ); + return; + } + } - wait 0.05; - } + wait 0.05; + } } check_for_claw_move_complete() { - self waittill( "movedone" ); - wait 0.05; - flag_set( "mechz_claw_move_complete" ); + self waittill( "movedone" ); + wait 0.05; + flag_set( "mechz_claw_move_complete" ); } zombie_gib_all() { - if ( !isdefined( self ) ) - return; + if ( !isdefined( self ) ) + return; - if ( isdefined( self.is_mechz ) && self.is_mechz ) - return; + if ( isdefined( self.is_mechz ) && self.is_mechz ) + return; - a_gib_ref = []; - a_gib_ref[0] = level._zombie_gib_piece_index_all; - self gib( "normal", a_gib_ref ); - self ghost(); - wait 0.4; + a_gib_ref = []; + a_gib_ref[0] = level._zombie_gib_piece_index_all; + self gib( "normal", a_gib_ref ); + self ghost(); + wait 0.4; - if ( isdefined( self ) ) - self self_delete(); + if ( isdefined( self ) ) + self self_delete(); } mechz_zombie_flamethrower_gib( mechz ) { - mechz waittillmatch( "flamethrower_anim", "start_ft" ); + mechz waittillmatch( "flamethrower_anim", "start_ft" ); - if ( isalive( self ) ) - { - self thread zombie_gib_all(); - self dodamage( self.health, self.origin, self ); - } + if ( isalive( self ) ) + { + self thread zombie_gib_all(); + self dodamage( self.health, self.origin, self ); + } } should_do_claw_attack() { - assert( isdefined( self.favoriteenemy ) ); + assert( isdefined( self.favoriteenemy ) ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Checking should claw\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Checking should claw\\n" ); #/ - if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) - { + if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because powerplant has been destroyed\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because powerplant has been destroyed\\n" ); #/ - return false; - } + return false; + } - if ( isdefined( self.disable_complex_behaviors ) && self.disable_complex_behaviors ) - { + if ( isdefined( self.disable_complex_behaviors ) && self.disable_complex_behaviors ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because doing force aggro\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because doing force aggro\\n" ); #/ - return false; - } + return false; + } - if ( isdefined( self.not_interruptable ) && self.not_interruptable ) - { + if ( isdefined( self.not_interruptable ) && self.not_interruptable ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because another behavior has set not_interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because another behavior has set not_interruptable\\n" ); #/ - return false; - } + return false; + } - if ( isdefined( self.last_claw_time ) && gettime() - self.last_claw_time < level.mechz_claw_cooldown_time ) - { + if ( isdefined( self.last_claw_time ) && gettime() - self.last_claw_time < level.mechz_claw_cooldown_time ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because claw is on cooldown\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because claw is on cooldown\\n" ); #/ - return false; - } + return false; + } - if ( !self mechz_check_in_arc() ) - { + if ( !self mechz_check_in_arc() ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because target is not in front arc\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because target is not in front arc\\n" ); #/ - return false; - } + return false; + } - n_dist_sq = distancesquared( self.origin, self.favoriteenemy.origin ); + n_dist_sq = distancesquared( self.origin, self.favoriteenemy.origin ); - if ( n_dist_sq < 90000 || n_dist_sq > 1000000 ) - { + if ( n_dist_sq < 90000 || n_dist_sq > 1000000 ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because target is not in range\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because target is not in range\\n" ); #/ - return false; - } + return false; + } - if ( !self.favoriteenemy player_can_be_grabbed() ) - { + if ( !self.favoriteenemy player_can_be_grabbed() ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because player is prone or dtp\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because player is prone or dtp\\n" ); #/ - return false; - } + return false; + } - curr_zone = get_zone_from_position( self.origin + vectorscale( ( 0, 0, 1 ), 36.0 ) ); + curr_zone = get_zone_from_position( self.origin + vectorscale( ( 0, 0, 1 ), 36.0 ) ); - if ( isdefined( curr_zone ) && "ug_bottom_zone" == curr_zone ) - { + if ( isdefined( curr_zone ) && "ug_bottom_zone" == curr_zone ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because mech is in main chamber\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because mech is in main chamber\\n" ); #/ - return false; - } + return false; + } - clip_mask = level.physicstracemaskclip | level.physicstracemaskphysics; - claw_origin = self.origin + vectorscale( ( 0, 0, 1 ), 65.0 ); - trace = physicstrace( claw_origin, self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 30.0 ), ( -15, -15, -20 ), ( 15, 15, 40 ), self, clip_mask ); - b_cansee = trace["fraction"] == 1.0 || isdefined( trace["entity"] ) && trace["entity"] == self.favoriteenemy; + clip_mask = level.physicstracemaskclip | level.physicstracemaskphysics; + claw_origin = self.origin + vectorscale( ( 0, 0, 1 ), 65.0 ); + trace = physicstrace( claw_origin, self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 30.0 ), ( -15, -15, -20 ), ( 15, 15, 40 ), self, clip_mask ); + b_cansee = trace["fraction"] == 1.0 || isdefined( trace["entity"] ) && trace["entity"] == self.favoriteenemy; - if ( !b_cansee ) - { + if ( !b_cansee ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing claw because capsule trace failed\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing claw because capsule trace failed\\n" ); #/ - return false; - } + return false; + } - return true; + return true; } mechz_do_claw_grab() { - self endon( "death" ); - self endon( "kill_claw" ); + self endon( "death" ); + self endon( "kill_claw" ); /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - println( "\\n\\tMZ: Doing Claw Attack\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 0 ) + println( "\\n\\tMZ: Doing Claw Attack\\n" ); #/ - assert( isdefined( self.favoriteenemy ) ); - self thread mechz_kill_claw_watcher(); - self.last_claw_time = gettime(); - target_pos = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 30.0 ); - self thread mechz_stop_basic_find_flesh(); - self.ai_state = "grapple_attempt"; - flag_set( "mechz_launching_claw" ); - self thread mechz_claw_aim( target_pos ); - self orientmode( "face enemy" ); - self waittillmatch( "grapple_anim", "muzzleflash" ); - self claw_grapple(); - self mechz_claw_cleanup(); + assert( isdefined( self.favoriteenemy ) ); + self thread mechz_kill_claw_watcher(); + self.last_claw_time = gettime(); + target_pos = self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 30.0 ); + self thread mechz_stop_basic_find_flesh(); + self.ai_state = "grapple_attempt"; + flag_set( "mechz_launching_claw" ); + self thread mechz_claw_aim( target_pos ); + self orientmode( "face enemy" ); + self waittillmatch( "grapple_anim", "muzzleflash" ); + self claw_grapple(); + self mechz_claw_cleanup(); } mechz_kill_claw_watcher() { - self endon( "claw_complete" ); - self waittill_either( "death", "kill_claw" ); - self mechz_claw_cleanup(); + self endon( "claw_complete" ); + self waittill_either( "death", "kill_claw" ); + self mechz_claw_cleanup(); } mechz_claw_cleanup() { - self.fx_field = self.fx_field & ~256; - self.fx_field = self.fx_field & ~64; - self setclientfield( "mechz_fx", self.fx_field ); - self mechz_claw_release(); + self.fx_field = self.fx_field & ~256; + self.fx_field = self.fx_field & ~64; + self setclientfield( "mechz_fx", self.fx_field ); + self mechz_claw_release(); - if ( isdefined( self.m_claw ) ) - { - self.m_claw clearanim( %root, 0.2 ); + if ( isdefined( self.m_claw ) ) + { + self.m_claw clearanim( %root, 0.2 ); - if ( isdefined( self.m_claw.fx_ent ) ) - { - self.m_claw.fx_ent delete(); - self.m_claw.fx_ent = undefined; - } + if ( isdefined( self.m_claw.fx_ent ) ) + { + self.m_claw.fx_ent delete(); + self.m_claw.fx_ent = undefined; + } - if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) - { - self mechz_claw_detach(); - flag_clear( "mechz_launching_claw" ); - } - else - { - if ( !self.m_claw islinkedto( self ) ) - { - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = self gettagangles( "tag_claw" ); - n_dist = distance( self.m_claw.origin, v_claw_origin ); - n_time = n_dist / 1000; - self.m_claw moveto( v_claw_origin, max( 0.05, n_time ) ); - self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_in", 0.1 ); - self.m_claw waittill( "movedone" ); - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = self gettagangles( "tag_claw" ); - self.m_claw playsound( "zmb_ai_mechz_claw_back" ); - self.m_claw stoploopsound( 1 ); - self.m_claw.origin = v_claw_origin; - self.m_claw.angles = v_claw_angles; - self.m_claw clearanim( %root, 0.2 ); - self.m_claw linkto( self, "tag_claw", ( 0, 0, 0 ) ); - } + if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) ) + { + self mechz_claw_detach(); + flag_clear( "mechz_launching_claw" ); + } + else + { + if ( !self.m_claw islinkedto( self ) ) + { + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = self gettagangles( "tag_claw" ); + n_dist = distance( self.m_claw.origin, v_claw_origin ); + n_time = n_dist / 1000; + self.m_claw moveto( v_claw_origin, max( 0.05, n_time ) ); + self.m_claw playloopsound( "zmb_ai_mechz_claw_loop_in", 0.1 ); + self.m_claw waittill( "movedone" ); + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = self gettagangles( "tag_claw" ); + self.m_claw playsound( "zmb_ai_mechz_claw_back" ); + self.m_claw stoploopsound( 1 ); + self.m_claw.origin = v_claw_origin; + self.m_claw.angles = v_claw_angles; + self.m_claw clearanim( %root, 0.2 ); + self.m_claw linkto( self, "tag_claw", ( 0, 0, 0 ) ); + } - self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); - } - } + self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); + } + } - self notify( "claw_complete" ); + self notify( "claw_complete" ); } mechz_claw_damage_trigger_thread() { - self endon( "death" ); - self.m_claw_damage_trigger endon( "death" ); + self endon( "death" ); + self.m_claw_damage_trigger endon( "death" ); - while ( true ) - { - self.m_claw_damage_trigger waittill( "damage", amount, inflictor, direction, point, type, tagname, modelname, partname, weaponname, idflags ); + while ( true ) + { + self.m_claw_damage_trigger waittill( "damage", amount, inflictor, direction, point, type, tagname, modelname, partname, weaponname, idflags ); - if ( self.m_claw islinkedto( self ) ) - continue; + if ( self.m_claw islinkedto( self ) ) + continue; - if ( is_player_valid( inflictor ) ) - { - self dodamage( 1, inflictor.origin, inflictor, inflictor, "left_hand", type ); - self.m_claw setcandamage( 0 ); - self notify( "claw_damaged" ); - } - } + if ( is_player_valid( inflictor ) ) + { + self dodamage( 1, inflictor.origin, inflictor, inflictor, "left_hand", type ); + self.m_claw setcandamage( 0 ); + self notify( "claw_damaged" ); + } + } } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_dev.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_dev.gsc index c67be10..a6f3c7a 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_dev.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_dev.gsc @@ -11,304 +11,304 @@ mechz_debug() { /# - while ( true ) - { - debug_level = getdvarint( #"_id_E7121222" ); + while ( true ) + { + debug_level = getdvarint( #"_id_E7121222" ); - if ( isdefined( debug_level ) && debug_level ) - { - if ( debug_level == 1 ) - { - mechz_array = getentarray( "mechz_zombie_ai" ); + if ( isdefined( debug_level ) && debug_level ) + { + if ( debug_level == 1 ) + { + mechz_array = getentarray( "mechz_zombie_ai" ); - for ( i = 0; i < mechz_array.size; i++ ) - { - if ( isdefined( mechz_array[i].goal_pos ) ) - { - debugstar( mechz_array[i].goal_pos, ( 1, 0, 0 ), 1 ); - line( mechz_array[i].goal_pos, mechz_array[i].origin, ( 1, 0, 0 ), 0, 1 ); - } - } - } - } - } + for ( i = 0; i < mechz_array.size; i++ ) + { + if ( isdefined( mechz_array[i].goal_pos ) ) + { + debugstar( mechz_array[i].goal_pos, ( 1, 0, 0 ), 1 ); + line( mechz_array[i].goal_pos, mechz_array[i].origin, ( 1, 0, 0 ), 0, 1 ); + } + } + } + } + } #/ } setup_devgui() { /# - setdvar( "spawn_Mechz", "off" ); - setdvar( "force_mechz_jump", "off" ); - setdvar( "test_mechz_tank", "off" ); - setdvar( "test_mechz_robot", "off" ); - setdvar( "reset_mechz_thinking", "off" ); - setdvar( "test_mechz_sprint", "off" ); - setdvar( "mechz_force_behavior", "none" ); - setdvarint( "mechz_behavior_orient", 0 ); - setdvarint( "mechz_behavior_dist", 300 ); - adddebugcommand( "devgui_cmd \"Zombies/Zombie Spawning:2/Spawn Zombie:1/Mech Zombie:1\" \"spawn_Mechz on\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Jump In:1\" \"mechz_force_behavior jump_in\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Jump Out:2\" \"mechz_force_behavior jump_out\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Flamethrower:3\" \"mechz_force_behavior flamethrower\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Damage Armor:4\" \"mechz_force_behavior damage_armor\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Damage Faceplate:5\" \"mechz_force_behavior damage_faceplate\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Claw Attack:5\" \"mechz_force_behavior claw_attack\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Melee:6\" \"mechz_force_behavior melee\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/zero degrees:1\" \"mechz_behavior_orient 0\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/forty-five degrees:2\" \"mechz_behavior_orient 45\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/ninety degrees:3\" \"mechz_behavior_orient 90\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/one thirty five degrees:4\" \"mechz_behavior_orient 135\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/one eighty degrees:5\" \"mechz_behavior_orient 180\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/two twenty five degrees:6\" \"mechz_behavior_orient 225\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/two seventy degrees:7\" \"mechz_behavior_orient 270\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/three fifteen degrees:8\" \"mechz_behavior_orient 315\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/one hundred:1\" \"mechz_behavior_dist 100\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/two hundred:2\" \"mechz_behavior_dist 200\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/three hundred:3\" \"mechz_behavior_dist 300\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/four hundred:4\" \"mechz_behavior_dist 400\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/five hundred:5\" \"mechz_behavior_dist 500\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Tank Knockdown:2\" \"test_mechz_tank on\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Robot Knockdown:3\" \"test_mechz_robot on\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Sprint:4\" \"test_mechz_sprint on\"\n" ); - adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Reset Mech:5\" \"reset_mechz_thinking on\"\n" ); - level thread watch_devgui_mechz(); + setdvar( "spawn_Mechz", "off" ); + setdvar( "force_mechz_jump", "off" ); + setdvar( "test_mechz_tank", "off" ); + setdvar( "test_mechz_robot", "off" ); + setdvar( "reset_mechz_thinking", "off" ); + setdvar( "test_mechz_sprint", "off" ); + setdvar( "mechz_force_behavior", "none" ); + setdvarint( "mechz_behavior_orient", 0 ); + setdvarint( "mechz_behavior_dist", 300 ); + adddebugcommand( "devgui_cmd \"Zombies/Zombie Spawning:2/Spawn Zombie:1/Mech Zombie:1\" \"spawn_Mechz on\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Jump In:1\" \"mechz_force_behavior jump_in\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Jump Out:2\" \"mechz_force_behavior jump_out\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Flamethrower:3\" \"mechz_force_behavior flamethrower\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Damage Armor:4\" \"mechz_force_behavior damage_armor\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Damage Faceplate:5\" \"mechz_force_behavior damage_faceplate\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Claw Attack:5\" \"mechz_force_behavior claw_attack\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Melee:6\" \"mechz_force_behavior melee\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/zero degrees:1\" \"mechz_behavior_orient 0\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/forty-five degrees:2\" \"mechz_behavior_orient 45\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/ninety degrees:3\" \"mechz_behavior_orient 90\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/one thirty five degrees:4\" \"mechz_behavior_orient 135\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/one eighty degrees:5\" \"mechz_behavior_orient 180\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/two twenty five degrees:6\" \"mechz_behavior_orient 225\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/two seventy degrees:7\" \"mechz_behavior_orient 270\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Angles:7/three fifteen degrees:8\" \"mechz_behavior_orient 315\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/one hundred:1\" \"mechz_behavior_dist 100\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/two hundred:2\" \"mechz_behavior_dist 200\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/three hundred:3\" \"mechz_behavior_dist 300\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/four hundred:4\" \"mechz_behavior_dist 400\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Force Behavior:1/Distance:8/five hundred:5\" \"mechz_behavior_dist 500\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Tank Knockdown:2\" \"test_mechz_tank on\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Robot Knockdown:3\" \"test_mechz_robot on\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Test Sprint:4\" \"test_mechz_sprint on\"\n" ); + adddebugcommand( "devgui_cmd \"Zombies/MechZ:3/Reset Mech:5\" \"reset_mechz_thinking on\"\n" ); + level thread watch_devgui_mechz(); #/ } watch_devgui_mechz() { /# - while ( true ) - { - if ( getdvar( #"_id_877D2B64" ) == "on" ) - { - mechz_health_increases(); - level.mechz_left_to_spawn = 1; + while ( true ) + { + if ( getdvar( #"_id_877D2B64" ) == "on" ) + { + mechz_health_increases(); + level.mechz_left_to_spawn = 1; - if ( getdvarint( #"_id_FA81816F" ) >= 2 ) - level.round_number++; + if ( getdvarint( #"_id_FA81816F" ) >= 2 ) + level.round_number++; - level notify( "spawn_mechz" ); - setdvar( "spawn_Mechz", "off" ); - level.mechz_last_spawn_round = 0; - } + level notify( "spawn_mechz" ); + setdvar( "spawn_Mechz", "off" ); + level.mechz_last_spawn_round = 0; + } - if ( getdvar( #"_id_7D9211F9" ) != "none" ) - { - behavior = getdvar( #"_id_7D9211F9" ); - zombies = getaiarray( "axis" ); + if ( getdvar( #"_id_7D9211F9" ) != "none" ) + { + behavior = getdvar( #"_id_7D9211F9" ); + zombies = getaiarray( "axis" ); - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - zombies[i] thread mechz_force_behavior( behavior ); - } + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + zombies[i] thread mechz_force_behavior( behavior ); + } - setdvar( "mechz_force_behavior", "none" ); - } + setdvar( "mechz_force_behavior", "none" ); + } - if ( getdvar( #"_id_BD7CA008" ) == "on" ) - { - setdvar( "test_mechz_tank", "off" ); - mechz = undefined; - zombies = getaiarray( "axis" ); + if ( getdvar( #"_id_BD7CA008" ) == "on" ) + { + setdvar( "test_mechz_tank", "off" ); + mechz = undefined; + zombies = getaiarray( "axis" ); - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - mechz = zombies[i]; - } + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + mechz = zombies[i]; + } - if ( !isdefined( mechz ) ) - continue; + if ( !isdefined( mechz ) ) + continue; - mechz.not_interruptable = 1; - mechz mechz_stop_basic_find_flesh(); - mechz.ai_state = "devgui"; - mechz.goal_pos = ( 446, -4318, 200 ); - mechz setgoalpos( mechz.goal_pos ); - } + mechz.not_interruptable = 1; + mechz mechz_stop_basic_find_flesh(); + mechz.ai_state = "devgui"; + mechz.goal_pos = ( 446, -4318, 200 ); + mechz setgoalpos( mechz.goal_pos ); + } - if ( getdvar( #"_id_6CF3EB40" ) == "on" ) - { - setdvar( "test_mechz_robot", "off" ); - mechz = undefined; - zombies = getaiarray( "axis" ); + if ( getdvar( #"_id_6CF3EB40" ) == "on" ) + { + setdvar( "test_mechz_robot", "off" ); + mechz = undefined; + zombies = getaiarray( "axis" ); - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - mechz = zombies[i]; - } + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + mechz = zombies[i]; + } - if ( !isdefined( mechz ) ) - continue; + if ( !isdefined( mechz ) ) + continue; - mechz.not_interruptable = 1; - mechz mechz_stop_basic_find_flesh(); - mechz.ai_state = "devgui"; - mechz.goal_pos = ( 1657, -336, 92 ); - mechz setgoalpos( mechz.goal_pos ); - } + mechz.not_interruptable = 1; + mechz mechz_stop_basic_find_flesh(); + mechz.ai_state = "devgui"; + mechz.goal_pos = ( 1657, -336, 92 ); + mechz setgoalpos( mechz.goal_pos ); + } - if ( getdvar( #"_id_0DE1409A" ) == "on" ) - { - setdvar( "test_mechz_sprint", "off" ); - zombies = getaiarray( "axis" ); + if ( getdvar( #"_id_0DE1409A" ) == "on" ) + { + setdvar( "test_mechz_sprint", "off" ); + zombies = getaiarray( "axis" ); - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - zombies[i].force_sprint = 1; - } - } + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + zombies[i].force_sprint = 1; + } + } - if ( getdvar( #"_id_772BCD39" ) == "on" ) - { - setdvar( "reset_mechz_thinking", "off" ); - zombies = getaiarray( "axis" ); + if ( getdvar( #"_id_772BCD39" ) == "on" ) + { + setdvar( "reset_mechz_thinking", "off" ); + zombies = getaiarray( "axis" ); - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - { - zombies[i].not_interruptable = 0; - zombies[i].force_sprint = 0; - } - } - } + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + { + zombies[i].not_interruptable = 0; + zombies[i].force_sprint = 0; + } + } + } - wait 0.1; - } + wait 0.1; + } #/ } mechz_force_behavior( behavior ) { /# - self notify( "kill_force_behavior" ); - self thread mechz_stop_basic_find_flesh(); - self.ignoreall = 1; - self.force_behavior = 1; + self notify( "kill_force_behavior" ); + self thread mechz_stop_basic_find_flesh(); + self.ignoreall = 1; + self.force_behavior = 1; - if ( behavior == "jump_in" ) - self thread mechz_force_jump_in(); + if ( behavior == "jump_in" ) + self thread mechz_force_jump_in(); - if ( behavior == "jump_out" ) - self thread mechz_force_jump_out(); + if ( behavior == "jump_out" ) + self thread mechz_force_jump_out(); - if ( behavior == "flamethrower" ) - self thread mechz_force_flamethrower(); + if ( behavior == "flamethrower" ) + self thread mechz_force_flamethrower(); - if ( behavior == "claw_attack" ) - self thread mechz_force_claw_attack(); + if ( behavior == "claw_attack" ) + self thread mechz_force_claw_attack(); - if ( behavior == "damage_armor" ) - self thread mechz_force_damage_armor(); + if ( behavior == "damage_armor" ) + self thread mechz_force_damage_armor(); - if ( behavior == "damage_faceplate" ) - self thread mechz_force_damage_faceplate(); + if ( behavior == "damage_faceplate" ) + self thread mechz_force_damage_faceplate(); - if ( behavior == "melee" ) - self thread mechz_force_melee(); + if ( behavior == "melee" ) + self thread mechz_force_melee(); - if ( behavior == "none" ) - { - self.ignoreall = 0; - self.force_behavior = 0; - self notify( "kill_force_behavior" ); - } + if ( behavior == "none" ) + { + self.ignoreall = 0; + self.force_behavior = 0; + self notify( "kill_force_behavior" ); + } #/ } get_behavior_orient() { /# - behavior_orient = getdvarint( #"_id_2F660A7B" ); - return level.players[0].angles + vectorscale( ( 0, 1, 0 ), 180.0 ) + ( 0, behavior_orient, 0 ); + behavior_orient = getdvarint( #"_id_2F660A7B" ); + return level.players[0].angles + vectorscale( ( 0, 1, 0 ), 180.0 ) + ( 0, behavior_orient, 0 ); #/ } setup_force_behavior() { /# - if ( !isdefined( level.test_align_struct ) ) - { - player = get_players()[0]; - pos = player.origin; - offset = anglestoforward( player.angles ); - offset = vectornormalize( offset ); - level.test_align_struct = spawn( "script_model", pos + 300 * offset ); - level.test_align_struct setmodel( "tag_origin" ); - level.test_align_struct.angles = player.angles + vectorscale( ( 0, 1, 0 ), 180.0 ); - level.test_align_struct thread align_test_struct(); - level.test_align_struct.angles = player.angles + vectorscale( ( 0, 1, 0 ), 180.0 ); - } + if ( !isdefined( level.test_align_struct ) ) + { + player = get_players()[0]; + pos = player.origin; + offset = anglestoforward( player.angles ); + offset = vectornormalize( offset ); + level.test_align_struct = spawn( "script_model", pos + 300 * offset ); + level.test_align_struct setmodel( "tag_origin" ); + level.test_align_struct.angles = player.angles + vectorscale( ( 0, 1, 0 ), 180.0 ); + level.test_align_struct thread align_test_struct(); + level.test_align_struct.angles = player.angles + vectorscale( ( 0, 1, 0 ), 180.0 ); + } - self linkto( level.test_align_struct, "tag_origin", ( 0, 0, 0 ), ( 0, 0, 0 ) ); - self.fx_field = self.fx_field & ~64; - self.fx_field = self.fx_field & ~128; - self.fx_field = self.fx_field & ~256; + self linkto( level.test_align_struct, "tag_origin", ( 0, 0, 0 ), ( 0, 0, 0 ) ); + self.fx_field = self.fx_field & ~64; + self.fx_field = self.fx_field & ~128; + self.fx_field = self.fx_field & ~256; #/ } align_test_struct() { /# - while ( true ) - { - pos = level.players[0].origin; - offset = anglestoforward( level.players[0].angles ); - offset = vectornormalize( offset ); - dist = getdvarint( #"_id_6DCD047E" ); - level.test_align_struct.origin = pos + dist * offset; - level.test_align_struct.angles = get_behavior_orient(); - wait 0.05; - } + while ( true ) + { + pos = level.players[0].origin; + offset = anglestoforward( level.players[0].angles ); + offset = vectornormalize( offset ); + dist = getdvarint( #"_id_6DCD047E" ); + level.test_align_struct.origin = pos + dist * offset; + level.test_align_struct.angles = get_behavior_orient(); + wait 0.05; + } #/ } scripted_behavior( anim_scripted_name, notify_name ) { /# - self animscripted( level.test_align_struct.origin, level.test_align_struct.angles, anim_scripted_name ); - self maps\mp\animscripts\zm_shared::donotetracks( notify_name ); + self animscripted( level.test_align_struct.origin, level.test_align_struct.angles, anim_scripted_name ); + self maps\mp\animscripts\zm_shared::donotetracks( notify_name ); #/ } mechz_force_jump_in() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); - while ( true ) - { - self animscripted( self.origin, self.angles, "zm_idle" ); - wait 0.2; - self scripted_behavior( "zm_spawn", "jump_anim" ); - } + while ( true ) + { + self animscripted( self.origin, self.angles, "zm_idle" ); + wait 0.2; + self scripted_behavior( "zm_spawn", "jump_anim" ); + } #/ } mechz_force_jump_out() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); - while ( true ) - { - self animscripted( self.origin, self.angles, "zm_idle" ); - wait 0.2; - self scripted_behavior( "zm_fly_out", "jump_anim" ); - self ghost(); - self animscripted( self.origin, self.angles, "zm_fly_hover" ); - wait( level.mechz_jump_delay ); - self show(); - self scripted_behavior( "zm_fly_in", "jump_anim" ); - } + while ( true ) + { + self animscripted( self.origin, self.angles, "zm_idle" ); + wait 0.2; + self scripted_behavior( "zm_fly_out", "jump_anim" ); + self ghost(); + self animscripted( self.origin, self.angles, "zm_fly_hover" ); + wait( level.mechz_jump_delay ); + self show(); + self scripted_behavior( "zm_fly_in", "jump_anim" ); + } #/ } @@ -317,189 +317,189 @@ mechz_force_jump_out() mechz_force_flamethrower() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); - curr_aim_anim = 1; - curr_timer = 0; - self animscripted( self.origin, self.angles, "zm_idle" ); - wait 0.2; - self scripted_behavior( "zm_flamethrower_aim_start", "flamethrower_anim" ); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); + curr_aim_anim = 1; + curr_timer = 0; + self animscripted( self.origin, self.angles, "zm_idle" ); + wait 0.2; + self scripted_behavior( "zm_flamethrower_aim_start", "flamethrower_anim" ); - while ( true ) - { - if ( curr_timer > 3 ) - { - curr_aim_anim++; - curr_timer = 0; + while ( true ) + { + if ( curr_timer > 3 ) + { + curr_aim_anim++; + curr_timer = 0; - if ( curr_aim_anim < 10 ) - iprintln( "Testing aim_" + curr_aim_anim ); - } + if ( curr_aim_anim < 10 ) + iprintln( "Testing aim_" + curr_aim_anim ); + } - if ( curr_aim_anim >= 10 ) - { - iprintln( "Testing flamethrower sweep" ); - curr_aim_anim = 1; - self scripted_behavior( "zm_flamethrower_sweep", "flamethrower_anim" ); - self.fx_field = self.fx_field | 64; - self setclientfield( "mechz_fx", self.fx_field ); - } - else - { - length = self getanimlengthfromasd( "zm_flamethrower_aim_" + curr_aim_anim, 0 ); - self clearanim( %root, 0 ); - self scripted_behavior( "zm_flamethrower_aim_" + curr_aim_anim, "flamethrower_anim" ); - curr_timer = curr_timer + length; - } - } + if ( curr_aim_anim >= 10 ) + { + iprintln( "Testing flamethrower sweep" ); + curr_aim_anim = 1; + self scripted_behavior( "zm_flamethrower_sweep", "flamethrower_anim" ); + self.fx_field = self.fx_field | 64; + self setclientfield( "mechz_fx", self.fx_field ); + } + else + { + length = self getanimlengthfromasd( "zm_flamethrower_aim_" + curr_aim_anim, 0 ); + self clearanim( %root, 0 ); + self scripted_behavior( "zm_flamethrower_aim_" + curr_aim_anim, "flamethrower_anim" ); + curr_timer = curr_timer + length; + } + } #/ } fake_launch_claw() { /# - self.launching_claw = 1; - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = vectortoangles( self.origin - level.players[0].origin ); - self.fx_field = self.fx_field | 256; - self setclientfield( "mechz_fx", self.fx_field ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0, 1 ); - self.m_claw unlink(); - self.m_claw.fx_ent = spawn( "script_model", self.m_claw gettagorigin( "tag_claw" ) ); - self.m_claw.fx_ent.angles = self.m_claw gettagangles( "tag_claw" ); - self.m_claw.fx_ent setmodel( "tag_origin" ); - self.m_claw.fx_ent linkto( self.m_claw, "tag_claw" ); - network_safe_play_fx_on_tag( "mech_claw", 1, level._effect["mechz_claw"], self.m_claw.fx_ent, "tag_origin" ); - self.m_claw clearanim( %root, 0.2 ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); - offset = anglestoforward( self.angles ); - offset = vectornormalize( offset ); - target_pos = self.origin + offset * 500 + vectorscale( ( 0, 0, 1 ), 36.0 ); - n_time = 0.0833333; - self.m_claw moveto( target_pos, n_time ); - self.m_claw waittill( "movedone" ); - self.m_claw clearanim( %root, 0.2 ); - self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); - wait 0.5; - self.m_claw moveto( v_claw_origin, 0.5 ); - self.m_claw waittill( "movedone" ); - self.m_claw.fx_ent delete(); - self.fx_field = self.fx_field & ~256; - self setclientfield( "mechz_fx", self.fx_field ); - v_claw_origin = self gettagorigin( "tag_claw" ); - v_claw_angles = self gettagangles( "tag_claw" ); - self.m_claw.origin = v_claw_origin; - self.m_claw.angles = v_claw_angles; - self.m_claw linkto( self, "tag_claw" ); - self.launching_claw = 0; + self.launching_claw = 1; + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = vectortoangles( self.origin - level.players[0].origin ); + self.fx_field = self.fx_field | 256; + self setclientfield( "mechz_fx", self.fx_field ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0, 1 ); + self.m_claw unlink(); + self.m_claw.fx_ent = spawn( "script_model", self.m_claw gettagorigin( "tag_claw" ) ); + self.m_claw.fx_ent.angles = self.m_claw gettagangles( "tag_claw" ); + self.m_claw.fx_ent setmodel( "tag_origin" ); + self.m_claw.fx_ent linkto( self.m_claw, "tag_claw" ); + network_safe_play_fx_on_tag( "mech_claw", 1, level._effect["mechz_claw"], self.m_claw.fx_ent, "tag_origin" ); + self.m_claw clearanim( %root, 0.2 ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_open_idle, 1, 0.2, 1 ); + offset = anglestoforward( self.angles ); + offset = vectornormalize( offset ); + target_pos = self.origin + offset * 500 + vectorscale( ( 0, 0, 1 ), 36.0 ); + n_time = 0.0833333; + self.m_claw moveto( target_pos, n_time ); + self.m_claw waittill( "movedone" ); + self.m_claw clearanim( %root, 0.2 ); + self.m_claw setanim( %ai_zombie_mech_grapple_arm_closed_idle, 1, 0.2, 1 ); + wait 0.5; + self.m_claw moveto( v_claw_origin, 0.5 ); + self.m_claw waittill( "movedone" ); + self.m_claw.fx_ent delete(); + self.fx_field = self.fx_field & ~256; + self setclientfield( "mechz_fx", self.fx_field ); + v_claw_origin = self gettagorigin( "tag_claw" ); + v_claw_angles = self gettagangles( "tag_claw" ); + self.m_claw.origin = v_claw_origin; + self.m_claw.angles = v_claw_angles; + self.m_claw linkto( self, "tag_claw" ); + self.launching_claw = 0; #/ } mechz_force_claw_attack() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); - while ( true ) - { - self animscripted( self.origin, self.angles, "zm_idle" ); - wait 0.2; - self scripted_behavior( "zm_grapple_aim_start", "grapple_anim" ); - self thread fake_launch_claw(); + while ( true ) + { + self animscripted( self.origin, self.angles, "zm_idle" ); + wait 0.2; + self scripted_behavior( "zm_grapple_aim_start", "grapple_anim" ); + self thread fake_launch_claw(); - while ( isdefined( self.launching_claw ) && self.launching_claw ) - { - self clearanim( %root, 0 ); - wait 0.05; - self scripted_behavior( "zm_grapple_aim_5", "grapple_anim" ); - } + while ( isdefined( self.launching_claw ) && self.launching_claw ) + { + self clearanim( %root, 0 ); + wait 0.05; + self scripted_behavior( "zm_grapple_aim_5", "grapple_anim" ); + } - self scripted_behavior( "zm_flamethrower_claw_victim", "flamethrower_anim" ); - } + self scripted_behavior( "zm_flamethrower_claw_victim", "flamethrower_anim" ); + } #/ } mechz_force_damage_armor() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); - if ( !isdefined( self.next_armor_piece ) ) - self.next_armor_piece = 0; + if ( !isdefined( self.next_armor_piece ) ) + self.next_armor_piece = 0; - self thread scripted_behavior( "zm_idle", "idle_anim" ); + self thread scripted_behavior( "zm_idle", "idle_anim" ); - if ( self.next_armor_piece == self.armor_state.size ) - { - self.next_armor_piece = 0; + if ( self.next_armor_piece == self.armor_state.size ) + { + self.next_armor_piece = 0; - for ( i = 0; i < self.armor_state.size; i++ ) - { - self.fx_field = self.fx_field & ~( 1 << self.armor_state[i].index ); + for ( i = 0; i < self.armor_state.size; i++ ) + { + self.fx_field = self.fx_field & ~( 1 << self.armor_state[i].index ); - if ( isdefined( self.armor_state[i].model ) ) - self attach( self.armor_state[i].model, self.armor_state[i].tag ); - } - } - else - { - self.fx_field = self.fx_field | 1 << self.armor_state[self.next_armor_piece].index; + if ( isdefined( self.armor_state[i].model ) ) + self attach( self.armor_state[i].model, self.armor_state[i].tag ); + } + } + else + { + self.fx_field = self.fx_field | 1 << self.armor_state[self.next_armor_piece].index; - if ( isdefined( self.armor_state[self.next_armor_piece].model ) ) - self detach( self.armor_state[self.next_armor_piece].model, self.armor_state[self.next_armor_piece].tag ); + if ( isdefined( self.armor_state[self.next_armor_piece].model ) ) + self detach( self.armor_state[self.next_armor_piece].model, self.armor_state[self.next_armor_piece].tag ); - self.next_armor_piece++; - } + self.next_armor_piece++; + } - self setclientfield( "mechz_fx", self.fx_field ); + self setclientfield( "mechz_fx", self.fx_field ); - while ( true ) - self scripted_behavior( "zm_idle", "idle_anim" ); + while ( true ) + self scripted_behavior( "zm_idle", "idle_anim" ); #/ } mechz_force_damage_faceplate() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); - self thread scripted_behavior( "zm_idle", "idle_anim" ); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); + self thread scripted_behavior( "zm_idle", "idle_anim" ); - if ( isdefined( self.has_helmet ) && self.has_helmet ) - { - self.has_helmet = 0; - self detach( "c_zom_mech_faceplate", "J_Helmet" ); - self.fx_field = self.fx_field | 1024; - self.fx_field = self.fx_field & ~2048; - } - else - { - self.has_helmet = 1; - self.fx_field = self.fx_field & ~1024; - self.fx_field = self.fx_field | 2048; - self attach( "c_zom_mech_faceplate", "J_Helmet" ); - } + if ( isdefined( self.has_helmet ) && self.has_helmet ) + { + self.has_helmet = 0; + self detach( "c_zom_mech_faceplate", "J_Helmet" ); + self.fx_field = self.fx_field | 1024; + self.fx_field = self.fx_field & ~2048; + } + else + { + self.has_helmet = 1; + self.fx_field = self.fx_field & ~1024; + self.fx_field = self.fx_field | 2048; + self attach( "c_zom_mech_faceplate", "J_Helmet" ); + } - self setclientfield( "mechz_fx", self.fx_field ); + self setclientfield( "mechz_fx", self.fx_field ); - while ( true ) - self scripted_behavior( "zm_idle", "idle_anim" ); + while ( true ) + self scripted_behavior( "zm_idle", "idle_anim" ); #/ } mechz_force_melee() { /# - self endon( "kill_force_behavior" ); - self setup_force_behavior(); + self endon( "kill_force_behavior" ); + self setup_force_behavior(); - while ( true ) - { - self animscripted( self.origin, self.angles, "zm_idle" ); - wait 0.2; - self scripted_behavior( "zm_melee_stand", "melee_anim" ); - } + while ( true ) + { + self animscripted( self.origin, self.angles, "zm_idle" ); + wait 0.2; + self scripted_behavior( "zm_melee_stand", "melee_anim" ); + } #/ } diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ffotd.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ffotd.gsc index baaa944..96a4e19 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ffotd.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ffotd.gsc @@ -16,12 +16,12 @@ mechz_init_end() spawn_start() { - self.not_interruptable = 1; + self.not_interruptable = 1; } spawn_end() { - self.not_interruptable = 0; + self.not_interruptable = 0; } mechz_round_tracker_start() diff --git a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ft.gsc b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ft.gsc index 5361ef0..de5d24b 100644 --- a/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ft.gsc +++ b/zm_ai_pack/maps/mp/zombies/_zm_ai_mechz_ft.gsc @@ -14,535 +14,544 @@ init_flamethrower_triggers() { - flag_wait( "initial_players_connected" ); - level.flamethrower_trigger_array = getentarray( "flamethrower_trigger", "script_noteworthy" ); - assert( isdefined( level.flamethrower_trigger_array ) && level.flamethrower_trigger_array.size >= 4 ); + flag_wait( "initial_players_connected" ); + level.flamethrower_trigger_array = getentarray( "flamethrower_trigger", "script_noteworthy" ); + assert( isdefined( level.flamethrower_trigger_array ) && level.flamethrower_trigger_array.size >= 4 ); - for ( i = 0; i < level.flamethrower_trigger_array.size; i++ ) - level.flamethrower_trigger_array[i] enablelinkto(); + for ( i = 0; i < level.flamethrower_trigger_array.size; i++ ) + level.flamethrower_trigger_array[i] enablelinkto(); } mechz_flamethrower_initial_setup() { - self endon( "death" ); + self endon( "death" ); - if ( isdefined( self.flamethrower_trigger ) ) - self release_flamethrower_trigger(); + if ( isdefined( self.flamethrower_trigger ) ) + self release_flamethrower_trigger(); - self.flamethrower_trigger = get_flamethrower_trigger(); + self.flamethrower_trigger = get_flamethrower_trigger(); - if ( !isdefined( self.flamethrower_trigger ) ) - { + if ( !isdefined( self.flamethrower_trigger ) ) + { /# - println( "Error: No free flamethrower triggers! Make sure you haven't spawned more than 4 mech zombies" ); + println( "Error: No free flamethrower triggers! Make sure you haven't spawned more than 4 mech zombies" ); #/ - return; - } + return; + } - self.flamethrower_trigger.origin = self gettagorigin( "tag_flamethrower_FX" ); - self.flamethrower_trigger.angles = self gettagangles( "tag_flamethrower_FX" ); - self.flamethrower_trigger linkto( self, "tag_flamethrower_FX" ); - self thread mechz_watch_for_flamethrower_damage(); + self.flamethrower_trigger.origin = self gettagorigin( "tag_flamethrower_FX" ); + self.flamethrower_trigger.angles = self gettagangles( "tag_flamethrower_FX" ); + self.flamethrower_trigger linkto( self, "tag_flamethrower_FX" ); + self thread mechz_watch_for_flamethrower_damage(); } get_flamethrower_trigger() { - for ( i = 0; i < level.flamethrower_trigger_array.size; i++ ) - { - if ( !( isdefined( level.flamethrower_trigger_array[i].in_use ) && level.flamethrower_trigger_array[i].in_use ) ) - { - level.flamethrower_trigger_array[i].in_use = 1; - level.flamethrower_trigger_array[i].original_position = level.flamethrower_trigger_array[i].origin; - return level.flamethrower_trigger_array[i]; - } - } + for ( i = 0; i < level.flamethrower_trigger_array.size; i++ ) + { + if ( !( isdefined( level.flamethrower_trigger_array[i].in_use ) && level.flamethrower_trigger_array[i].in_use ) ) + { + level.flamethrower_trigger_array[i].in_use = 1; + level.flamethrower_trigger_array[i].original_position = level.flamethrower_trigger_array[i].origin; + return level.flamethrower_trigger_array[i]; + } + } - return undefined; + return undefined; } release_flamethrower_trigger() { - if ( !isdefined( self.flamethrower_trigger ) ) - return; + if ( !isdefined( self.flamethrower_trigger ) ) + return; - self.flamethrower_trigger.in_use = 0; - self.flamethrower_trigger unlink(); - self.flamethrower_trigger.origin = self.flamethrower_trigger.original_position; - self.flamethrower_linked = 0; - self.flamethrower_trigger = undefined; + self.flamethrower_trigger.in_use = 0; + self.flamethrower_trigger unlink(); + self.flamethrower_trigger.origin = self.flamethrower_trigger.original_position; + self.flamethrower_linked = 0; + self.flamethrower_trigger = undefined; } mechz_flamethrower_dist_watcher() { - self endon( "kill_ft" ); - wait 0.5; + self endon( "kill_ft" ); + wait 0.5; - while ( true ) - { - if ( !isdefined( self.favoriteenemy ) || !is_player_valid( self.favoriteenemy, 1, 1 ) || distancesquared( self.origin, self.favoriteenemy.origin ) > 50000 ) - { - self notify( "stop_ft" ); - return; - } + while ( true ) + { + if ( !isdefined( self.favoriteenemy ) || !is_player_valid( self.favoriteenemy, 1, 1 ) || distancesquared( self.origin, self.favoriteenemy.origin ) > 50000 ) + { + self notify( "stop_ft" ); + return; + } - wait 0.05; - } + wait 0.05; + } } mechz_flamethrower_arc_watcher() { - self endon( "death" ); - self endon( "kill_ft" ); - self endon( "stop_ft" ); - aim_anim = undefined; + self endon( "death" ); + self endon( "kill_ft" ); + self endon( "stop_ft" ); + aim_anim = undefined; - while ( true ) - { - old_anim = aim_anim; - aim_anim = mechz_get_aim_anim( "zm_flamethrower", self.favoriteenemy.origin, 26 ); - self.curr_aim_anim = aim_anim; + while ( true ) + { + old_anim = aim_anim; + aim_anim = mechz_get_aim_anim( "zm_flamethrower", self.favoriteenemy.origin, 26 ); + self.curr_aim_anim = aim_anim; - if ( !isdefined( aim_anim ) ) - { - self notify( "stop_ft" ); - return; - } + if ( !isdefined( aim_anim ) ) + { + self notify( "stop_ft" ); + return; + } - if ( !isdefined( old_anim ) || old_anim != aim_anim ) - self notify( "arc_change" ); + if ( !isdefined( old_anim ) || old_anim != aim_anim ) + self notify( "arc_change" ); - wait 0.05; - } + wait 0.05; + } } mechz_play_flamethrower_aim() { - self endon( "death" ); - self endon( "kill_ft" ); - self endon( "stop_ft" ); - self endon( "arc_change" ); + self endon( "death" ); + self endon( "kill_ft" ); + self endon( "stop_ft" ); + self endon( "arc_change" ); - if ( isdefined( self.curr_aim_anim ) ) - { - self stopanimscripted(); - self animscripted( self.origin, self.angles, self.curr_aim_anim ); - self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); - } - else - wait 0.05; + if ( isdefined( self.curr_aim_anim ) ) + { + self stopanimscripted(); + self animscripted( self.origin, self.angles, self.curr_aim_anim ); + self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); + } + else + wait 0.05; } mechz_flamethrower_aim() { - self endon( "death" ); - self endon( "kill_ft" ); - self endon( "stop_ft" ); - self waittillmatch( "flamethrower_anim", "end" ); - self thread mechz_flamethrower_dist_watcher(); - self thread mechz_flamethrower_arc_watcher(); - aim_anim = undefined; + self endon( "death" ); + self endon( "kill_ft" ); + self endon( "stop_ft" ); + self waittillmatch( "flamethrower_anim", "end" ); + self thread mechz_flamethrower_dist_watcher(); + self thread mechz_flamethrower_arc_watcher(); + aim_anim = undefined; - while ( true ) - self mechz_play_flamethrower_aim(); + while ( true ) + self mechz_play_flamethrower_aim(); } mechz_flamethrower_tank_sweep() { - self endon( "death" ); - self endon( "kill_ft" ); - self endon( "stop_ft" ); + self endon( "death" ); + self endon( "kill_ft" ); + self endon( "stop_ft" ); - while ( true ) - { - self stopanimscripted(); - self.angles = vectortoangles( level.vh_tank.origin - self.origin ); - self animscripted( self.origin, self.angles, "zm_flamethrower_sweep_up" ); - self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); + while ( true ) + { + self stopanimscripted(); + self.angles = vectortoangles( level.vh_tank.origin - self.origin ); + self animscripted( self.origin, self.angles, "zm_flamethrower_sweep_up" ); + self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); - if ( level.vh_tank ent_flag( "tank_moving" ) ) - break; + if ( level.vh_tank ent_flag( "tank_moving" ) ) + break; + + func = getFunction( "maps/mp/zm_tomb_tank", "get_players_on_tank" ); + if ( isDefined( func ) ) + { + a_players_on_tank = [[ func ]]( 1 ); + } + else + { + a_players_on_tank = 0; + } + + if ( !a_players_on_tank.size ) + break; + } - //a_players_on_tank = get_players_on_tank( 1 ); - a_players_on_tank = 0; - - if ( !a_players_on_tank.size ) - break; - } - - self notify( "stop_ft" ); + self notify( "stop_ft" ); } mechz_stop_firing_watcher() { - self endon( "death" ); - self endon( "kill_ft" ); - self endon( "flamethrower_complete" ); - self waittillmatch( "flamethrower_anim", "stop_ft" ); - self.firing = 0; + self endon( "death" ); + self endon( "kill_ft" ); + self endon( "flamethrower_complete" ); + self waittillmatch( "flamethrower_anim", "stop_ft" ); + self.firing = 0; } mechz_watch_for_flamethrower_damage() { - self endon( "death" ); + self endon( "death" ); - while ( true ) - { - self waittillmatch( "flamethrower_anim", "start_ft" ); - self.firing = 1; - self thread mechz_stop_firing_watcher(); + entity_on_tank_func = getFunction( "maps/mp/zm_tomb_tank", "entity_on_tank" ); - while ( isdefined( self.firing ) && self.firing ) - { - do_tank_sweep_auto_damage = isdefined( self.doing_tank_sweep ) && self.doing_tank_sweep && !level.vh_tank ent_flag( "tank_moving" ); - players = getplayers(); + while ( true ) + { + self waittillmatch( "flamethrower_anim", "start_ft" ); + self.firing = 1; + self thread mechz_stop_firing_watcher(); - for ( i = 0; i < players.size; i++ ) - { - if ( !( isdefined( players[i].is_burning ) && players[i].is_burning ) ) - { - // if ( do_tank_sweep_auto_damage && players[i] entity_on_tank() || players[i] istouching( self.flamethrower_trigger ) ) - // players[i] thread player_flame_damage(); - } - } + while ( isdefined( self.firing ) && self.firing ) + { + do_tank_sweep_auto_damage = isdefined( self.doing_tank_sweep ) && self.doing_tank_sweep && !level.vh_tank ent_flag( "tank_moving" ); + players = getplayers(); - zombies = getaispeciesarray( "axis", "all" ); + for ( i = 0; i < players.size; i++ ) + { + if ( !( isdefined( players[i].is_burning ) && players[i].is_burning ) ) + { + if ( isDefined( entity_on_tank_func ) && do_tank_sweep_auto_damage && players[i] [[ entity_on_tank_func ]]() || players[i] istouching( self.flamethrower_trigger ) ) + players[i] thread player_flame_damage(); + } + } - for ( i = 0; i < zombies.size; i++ ) - { - if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) - continue; + zombies = getaispeciesarray( "axis", "all" ); - if ( isdefined( zombies[i].on_fire ) && zombies[i].on_fire ) - continue; + for ( i = 0; i < zombies.size; i++ ) + { + if ( isdefined( zombies[i].is_mechz ) && zombies[i].is_mechz ) + continue; - // if ( do_tank_sweep_auto_damage && zombies[i] entity_on_tank() || zombies[i] istouching( self.flamethrower_trigger ) ) - // { - // zombies[i].on_fire = 1; - // zombies[i] promote_to_explosive(); - // } - } + if ( isdefined( zombies[i].on_fire ) && zombies[i].on_fire ) + continue; - wait 0.1; - } - } + if ( isDefined( entity_on_tank_func ) && do_tank_sweep_auto_damage && zombies[i] [[ entity_on_tank_func ]]() || zombies[i] istouching( self.flamethrower_trigger ) ) + { + zombies[i].on_fire = 1; + zombies[i] promote_to_explosive(); + } + } + + wait 0.1; + } + } } player_flame_damage() { - self endon( "zombified" ); - self endon( "death" ); - self endon( "disconnect" ); - n_player_dmg = 30; - n_jugga_dmg = 45; - n_burn_time = 1.5; + self endon( "zombified" ); + self endon( "death" ); + self endon( "disconnect" ); + n_player_dmg = 30; + n_jugga_dmg = 45; + n_burn_time = 1.5; - if ( isdefined( self.is_zombie ) && self.is_zombie ) - return; + if ( isdefined( self.is_zombie ) && self.is_zombie ) + return; - self thread player_stop_burning(); + self thread player_stop_burning(); - if ( !isdefined( self.is_burning ) && is_player_valid( self, 1, 0 ) ) - { - self.is_burning = 1; - maps\mp\_visionset_mgr::vsmgr_activate( "overlay", "zm_transit_burn", self, n_burn_time, level.zm_transit_burn_max_duration ); - self notify( "burned" ); + if ( !isdefined( self.is_burning ) && is_player_valid( self, 1, 0 ) ) + { + self.is_burning = 1; + maps\mp\_visionset_mgr::vsmgr_activate( "overlay", "zm_transit_burn", self, n_burn_time, level.zm_transit_burn_max_duration ); + self notify( "burned" ); - if ( !self hasperk( "specialty_armorvest" ) ) - self dodamage( n_player_dmg, self.origin ); - else - self dodamage( n_jugga_dmg, self.origin ); + if ( !self hasperk( "specialty_armorvest" ) ) + self dodamage( n_player_dmg, self.origin ); + else + self dodamage( n_jugga_dmg, self.origin ); - wait 0.5; - self.is_burning = undefined; - } + wait 0.5; + self.is_burning = undefined; + } } player_stop_burning() { - self notify( "player_stop_burning" ); - self endon( "player_stop_burning" ); - self endon( "death_or_disconnect" ); - self waittill( "zombified" ); - self notify( "stop_flame_damage" ); - maps\mp\_visionset_mgr::vsmgr_deactivate( "overlay", "zm_transit_burn", self ); + self notify( "player_stop_burning" ); + self endon( "player_stop_burning" ); + self endon( "death_or_disconnect" ); + self waittill( "zombified" ); + self notify( "stop_flame_damage" ); + maps\mp\_visionset_mgr::vsmgr_deactivate( "overlay", "zm_transit_burn", self ); } zombie_burning_fx() { - self endon( "death" ); - self endon( "stop_flame_damage" ); + self endon( "death" ); + self endon( "stop_flame_damage" ); - while ( true ) - { - if ( isdefined( level._effect ) && isdefined( level._effect["character_fire_death_torso"] ) ) - { - if ( !self.isdog ) - playfxontag( level._effect["character_fire_death_torso"], self, "J_SpineLower" ); - } + while ( true ) + { + if ( isdefined( level._effect ) && isdefined( level._effect["character_fire_death_torso"] ) ) + { + if ( !self.isdog ) + playfxontag( level._effect["character_fire_death_torso"], self, "J_SpineLower" ); + } - if ( isdefined( level._effect ) && isdefined( level._effect["character_fire_death_sm"] ) ) - { - wait 1; - tagarray = []; + if ( isdefined( level._effect ) && isdefined( level._effect["character_fire_death_sm"] ) ) + { + wait 1; + tagarray = []; - if ( randomint( 2 ) == 0 ) - { - tagarray[0] = "J_Elbow_LE"; - tagarray[1] = "J_Elbow_RI"; - tagarray[2] = "J_HEAD"; - } - else - { - tagarray[0] = "J_Wrist_RI"; - tagarray[1] = "J_Wrist_LE"; - tagarray[2] = "J_HEAD"; - } + if ( randomint( 2 ) == 0 ) + { + tagarray[0] = "J_Elbow_LE"; + tagarray[1] = "J_Elbow_RI"; + tagarray[2] = "J_HEAD"; + } + else + { + tagarray[0] = "J_Wrist_RI"; + tagarray[1] = "J_Wrist_LE"; + tagarray[2] = "J_HEAD"; + } - tagarray = array_randomize( tagarray ); - self thread network_safe_play_fx_on_tag( "flamethrower", 2, level._effect["character_fire_death_sm"], self, tagarray[0] ); - } + tagarray = array_randomize( tagarray ); + self thread network_safe_play_fx_on_tag( "flamethrower", 2, level._effect["character_fire_death_sm"], self, tagarray[0] ); + } - wait 12; - } + wait 12; + } } zombie_burning_audio() { - self playloopsound( "zmb_fire_loop" ); - self waittill_any( "death", "stop_flame_damage" ); + self playloopsound( "zmb_fire_loop" ); + self waittill_any( "death", "stop_flame_damage" ); - if ( isdefined( self ) && isalive( self ) ) - self stoploopsound( 0.25 ); + if ( isdefined( self ) && isalive( self ) ) + self stoploopsound( 0.25 ); } zombie_burning_dmg() { - self endon( "death" ); - self endon( "stop_flame_damage" ); - damageradius = 25; - damage = 2; + self endon( "death" ); + self endon( "stop_flame_damage" ); + damageradius = 25; + damage = 2; - while ( true ) - { - eyeorigin = self geteye(); - players = get_players(); + while ( true ) + { + eyeorigin = self geteye(); + players = get_players(); - for ( i = 0; i < players.size; i++ ) - { - if ( is_player_valid( players[i], 1, 0 ) ) - { - playereye = players[i] geteye(); + for ( i = 0; i < players.size; i++ ) + { + if ( is_player_valid( players[i], 1, 0 ) ) + { + playereye = players[i] geteye(); - if ( distancesquared( eyeorigin, playereye ) < damageradius * damageradius ) - { - players[i] dodamage( damage, self.origin, self ); - players[i] notify( "burned" ); - } - } - } + if ( distancesquared( eyeorigin, playereye ) < damageradius * damageradius ) + { + players[i] dodamage( damage, self.origin, self ); + players[i] notify( "burned" ); + } + } + } - wait 1.0; - } + wait 1.0; + } } promote_to_explosive() { - self endon( "death" ); - self thread zombie_burning_audio(); - self thread zombie_burning_fx(); - self thread explode_on_death(); - self thread zombie_burning_dmg(); - self thread on_fire_timeout(); + self endon( "death" ); + self thread zombie_burning_audio(); + self thread zombie_burning_fx(); + self thread explode_on_death(); + self thread zombie_burning_dmg(); + self thread on_fire_timeout(); } explode_on_death() { - self endon( "stop_flame_damage" ); - self waittill( "death" ); + self endon( "stop_flame_damage" ); + self waittill( "death" ); - if ( !isdefined( self ) ) - return; + if ( !isdefined( self ) ) + return; - tag = "J_SpineLower"; + tag = "J_SpineLower"; - if ( isdefined( self.animname ) && self.animname == "zombie_dog" ) - tag = "tag_origin"; + if ( isdefined( self.animname ) && self.animname == "zombie_dog" ) + tag = "tag_origin"; - if ( is_mature() ) - { - if ( isdefined( level._effect["zomb_gib"] ) ) - playfx( level._effect["zomb_gib"], self gettagorigin( tag ) ); - } - else if ( isdefined( level._effect["spawn_cloud"] ) ) - playfx( level._effect["spawn_cloud"], self gettagorigin( tag ) ); + if ( is_mature() ) + { + if ( isdefined( level._effect["zomb_gib"] ) ) + playfx( level._effect["zomb_gib"], self gettagorigin( tag ) ); + } + else if ( isdefined( level._effect["spawn_cloud"] ) ) + playfx( level._effect["spawn_cloud"], self gettagorigin( tag ) ); - self radiusdamage( self.origin, 128, 30, 15, undefined, "MOD_EXPLOSIVE" ); - self ghost(); + self radiusdamage( self.origin, 128, 30, 15, undefined, "MOD_EXPLOSIVE" ); + self ghost(); - if ( isdefined( self.isdog ) && self.isdog ) - self hide(); - else - self delay_thread( 1, ::self_delete ); + if ( isdefined( self.isdog ) && self.isdog ) + self hide(); + else + self delay_thread( 1, ::self_delete ); } on_fire_timeout() { - self endon( "death" ); - wait 12; + self endon( "death" ); + wait 12; - if ( isdefined( self ) && isalive( self ) ) - { - self.is_on_fire = 0; - self notify( "stop_flame_damage" ); - } + if ( isdefined( self ) && isalive( self ) ) + { + self.is_on_fire = 0; + self notify( "stop_flame_damage" ); + } } should_do_flamethrower_attack() { - assert( isdefined( self.favoriteenemy ) ); + assert( isdefined( self.favoriteenemy ) ); /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\tMZ: Checking should flame\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\tMZ: Checking should flame\\n" ); #/ - if ( isdefined( self.disable_complex_behaviors ) && self.disable_complex_behaviors ) - { + if ( isdefined( self.disable_complex_behaviors ) && self.disable_complex_behaviors ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because doing force aggro\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because doing force aggro\\n" ); #/ - return false; - } + return false; + } - if ( isdefined( self.not_interruptable ) && self.not_interruptable ) - { + if ( isdefined( self.not_interruptable ) && self.not_interruptable ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because another behavior has set not_interruptable\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because another behavior has set not_interruptable\\n" ); #/ - return false; - } + return false; + } - if ( !self mechz_check_in_arc( 26 ) ) - { + if ( !self mechz_check_in_arc( 26 ) ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because target is not in front arc\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because target is not in front arc\\n" ); #/ - return false; - } + return false; + } - if ( isdefined( self.last_flamethrower_time ) && gettime() - self.last_flamethrower_time < level.mechz_flamethrower_cooldown_time ) - { + if ( isdefined( self.last_flamethrower_time ) && gettime() - self.last_flamethrower_time < level.mechz_flamethrower_cooldown_time ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because it is still on cooldown\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because it is still on cooldown\\n" ); #/ - return false; - } + return false; + } - n_dist_sq = distancesquared( self.origin, self.favoriteenemy.origin ); + n_dist_sq = distancesquared( self.origin, self.favoriteenemy.origin ); - if ( n_dist_sq < 10000 || n_dist_sq > 50000 ) - { + if ( n_dist_sq < 10000 || n_dist_sq > 50000 ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because target is not in range\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because target is not in range\\n" ); #/ - return false; - } + return false; + } - b_cansee = bullettracepassed( self.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), 0, undefined ); + b_cansee = bullettracepassed( self.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), self.favoriteenemy.origin + vectorscale( ( 0, 0, 1 ), 36.0 ), 0, undefined ); - if ( !b_cansee ) - { + if ( !b_cansee ) + { /# - if ( getdvarint( #"_id_E7121222" ) > 1 ) - println( "\\n\\t\\tMZ: Not doing flamethrower because cannot see target\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 1 ) + println( "\\n\\t\\tMZ: Not doing flamethrower because cannot see target\\n" ); #/ - return false; - } + return false; + } - return true; + return true; } #using_animtree("mechz_claw"); mechz_do_flamethrower_attack( tank_sweep ) { - self endon( "death" ); - self endon( "kill_ft" ); + self endon( "death" ); + self endon( "kill_ft" ); /# - if ( getdvarint( #"_id_E7121222" ) > 0 ) - println( "\\n\\tMZ: Doing Flamethrower Attack\\n" ); + if ( getdvarint( #"_id_E7121222" ) > 0 ) + println( "\\n\\tMZ: Doing Flamethrower Attack\\n" ); #/ - self thread mechz_stop_basic_find_flesh(); - self.ai_state = "flamethrower_attack"; - self setgoalpos( self.origin ); - self clearanim( %root, 0.2 ); - self.last_flamethrower_time = gettime(); - self thread mechz_kill_flamethrower_watcher(); + self thread mechz_stop_basic_find_flesh(); + self.ai_state = "flamethrower_attack"; + self setgoalpos( self.origin ); + self clearanim( %root, 0.2 ); + self.last_flamethrower_time = gettime(); + self thread mechz_kill_flamethrower_watcher(); - if ( !isdefined( self.flamethrower_trigger ) ) - self mechz_flamethrower_initial_setup(); + if ( !isdefined( self.flamethrower_trigger ) ) + self mechz_flamethrower_initial_setup(); - n_nearby_enemies = 0; - a_players = getplayers(); + n_nearby_enemies = 0; + a_players = getplayers(); - foreach ( player in a_players ) - { - if ( distance2dsquared( player.origin, self.favoriteenemy.origin ) < 10000 ) - n_nearby_enemies++; - } + foreach ( player in a_players ) + { + if ( distance2dsquared( player.origin, self.favoriteenemy.origin ) < 10000 ) + n_nearby_enemies++; + } - if ( isdefined( tank_sweep ) && tank_sweep ) - { - self.doing_tank_sweep = 1; - self thread mechz_flamethrower_tank_sweep(); - } - else if ( randomint( 100 ) < level.mechz_ft_sweep_chance && n_nearby_enemies > 1 ) - { - self.doing_ft_sweep = 1; - self animscripted( self.origin, self.angles, "zm_flamethrower_sweep" ); - self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); - } - else - { - self animscripted( self.origin, self.angles, "zm_flamethrower_aim_start" ); - self thread mechz_flamethrower_aim(); - self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); - } + if ( isdefined( tank_sweep ) && tank_sweep ) + { + self.doing_tank_sweep = 1; + self thread mechz_flamethrower_tank_sweep(); + } + else if ( randomint( 100 ) < level.mechz_ft_sweep_chance && n_nearby_enemies > 1 ) + { + self.doing_ft_sweep = 1; + self animscripted( self.origin, self.angles, "zm_flamethrower_sweep" ); + self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); + } + else + { + self animscripted( self.origin, self.angles, "zm_flamethrower_aim_start" ); + self thread mechz_flamethrower_aim(); + self maps\mp\animscripts\zm_shared::donotetracks( "flamethrower_anim" ); + } - self orientmode( "face default" ); + self orientmode( "face default" ); - if ( isdefined( self.doing_ft_sweep ) && self.doing_ft_sweep ) - self.doing_ft_sweep = 0; - else - { - self.cant_melee = 1; - self waittill( "stop_ft" ); - self mechz_flamethrower_cleanup(); - wait 0.5; - self stopanimscripted(); - return; - } + if ( isdefined( self.doing_ft_sweep ) && self.doing_ft_sweep ) + self.doing_ft_sweep = 0; + else + { + self.cant_melee = 1; + self waittill( "stop_ft" ); + self mechz_flamethrower_cleanup(); + wait 0.5; + self stopanimscripted(); + return; + } - self mechz_flamethrower_cleanup(); + self mechz_flamethrower_cleanup(); } mechz_kill_flamethrower_watcher() { - self endon( "flamethrower_complete" ); - self waittill_either( "kill_ft", "death" ); - self mechz_flamethrower_cleanup(); + self endon( "flamethrower_complete" ); + self waittill_either( "kill_ft", "death" ); + self mechz_flamethrower_cleanup(); } mechz_flamethrower_cleanup() { - self.fx_field = self.fx_field & ~64; - self setclientfield( "mechz_fx", self.fx_field ); - self.firing = 0; - self.doing_tank_sweep = 0; - self.cant_melee = 0; - self notify( "flamethrower_complete" ); + self.fx_field = self.fx_field & ~64; + self setclientfield( "mechz_fx", self.fx_field ); + self.firing = 0; + self.doing_tank_sweep = 0; + self.cant_melee = 0; + self notify( "flamethrower_complete" ); } diff --git a/zm_ai_pack/scripts/zm/_zm_ai_ghost.csc b/zm_ai_pack/scripts/zm/_zm_ai_ghost.csc index e438c8f..de560fc 100644 --- a/zm_ai_pack/scripts/zm/_zm_ai_ghost.csc +++ b/zm_ai_pack/scripts/zm/_zm_ai_ghost.csc @@ -31,6 +31,10 @@ precache_fx() main() { + if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" ) + { + return; + } precache_fx(); register_client_fields(); } diff --git a/zm_ai_pack/scripts/zm/_zm_ai_mechz.csc b/zm_ai_pack/scripts/zm/_zm_ai_mechz.csc index 7ca9722..ab1b112 100644 --- a/zm_ai_pack/scripts/zm/_zm_ai_mechz.csc +++ b/zm_ai_pack/scripts/zm/_zm_ai_mechz.csc @@ -179,7 +179,7 @@ mechz_do_manual_looping_fx( localclientnum, script_id, tag_name, fx_element, min return; playfxontag( localclientnum, fx_element, self, tag_name ); - //waitrealtime( randomfloatrange( min_wait, max_wait ) ); + waitrealtime( randomfloatrange( min_wait, max_wait ) ); wait randomfloatrange( min_wait, max_wait ); } } @@ -199,7 +199,7 @@ mechz_screen_shake_loop( localclientnum ) while ( true ) { self playrumbleonentity( localclientnum, "mechz_footsteps" ); - //waitrealtime( 0.1 ); + waitrealtime( 0.1 ); wait 0.1; } } diff --git a/zm_ai_pack/scripts/zm/brutus.gsc b/zm_ai_pack/scripts/zm/brutus.gsc index a368927..602ea7b 100644 --- a/zm_ai_pack/scripts/zm/brutus.gsc +++ b/zm_ai_pack/scripts/zm/brutus.gsc @@ -1,5 +1,9 @@ main() { + if ( getDvar( "mapname" ) == "zm_prison" ) + { + return; + } maps\mp\zombies\_zm_ai_brutus::main(); } diff --git a/zm_ai_pack/scripts/zm/ghost.gsc b/zm_ai_pack/scripts/zm/ghost.gsc index 78f8673..9cdd628 100644 --- a/zm_ai_pack/scripts/zm/ghost.gsc +++ b/zm_ai_pack/scripts/zm/ghost.gsc @@ -5,17 +5,21 @@ main() { - if ( getDvar( "mapname" ) == "zm_buried" ) + if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" ) { return; } - maps\mp\zombies\_zm_ai_ghost::precache_fx(); - maps\mp\zombies\_zm_ai_ghost::init(); + //maps\mp\zombies\_zm_ai_ghost::precache_fx(); + //maps\mp\zombies\_zm_ai_ghost::init(); } init() { - level thread ghost_zone_spawning_think(); + if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" ) + { + return; + } + //level thread ghost_zone_spawning_think(); } ghost_zone_spawning_think() diff --git a/zm_ai_pack/scripts/zm/mechz.gsc b/zm_ai_pack/scripts/zm/mechz.gsc index 9bf5d0c..3cc5041 100644 --- a/zm_ai_pack/scripts/zm/mechz.gsc +++ b/zm_ai_pack/scripts/zm/mechz.gsc @@ -6,12 +6,20 @@ main() { level thread on_player_connect(); level thread command_thread(); + if ( getDvar( "mapname" ) == "zm_tomb" ) + { + return; + } maps\mp\zombies\_zm_ai_mechz::precache(); maps\mp\_utility::onfinalizeinitialization_callback( ::register_clientfields ); } init() { + if ( getDvar( "mapname" ) == "zm_tomb" ) + { + return; + } maps\mp\zombies\_zm_ai_mechz::init(); } diff --git a/zm_ai_pack/scripts/zm/screecher.gsc b/zm_ai_pack/scripts/zm/screecher.gsc index 00971fb..faf45f7 100644 --- a/zm_ai_pack/scripts/zm/screecher.gsc +++ b/zm_ai_pack/scripts/zm/screecher.gsc @@ -1,12 +1,20 @@ main() { + if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" ) + { + return; + } maps\mp\zombies\_zm_ai_screecher::precache(); maps\mp\_utility::onfinalizeinitialization_callback( ::register_clientfields ); } init() { + if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" ) + { + return; + } maps\mp\zombies\_zm_ai_screecher::init(); } diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v1_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v1_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..35b680b Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v1_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..9555aa3 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_nobell_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_nobell_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..2413b57 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v2_nobell_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..a2e749e Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_piano_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_piano_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..befc57f Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/dead/brutus_dead_stinger_v3_piano_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_fullmelody_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_fullmelody_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..5a3bbe2 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_fullmelody_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_lightcomp_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_lightcomp_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..aed1dfe Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_lightcomp_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..a865dd6 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v1_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v2_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v2_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..a9b18d5 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v2_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-stock_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-stock_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..908f5e2 Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-stock_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-withoddity_mas.SN65.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-withoddity_mas.SN65.pc.snd.flac new file mode 100644 index 0000000..0c39a3c Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/alcatraz/brutus/round_start/v3-withoddity_mas.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/mus/zombie/tomb/mechz_round/desolation.SL45.pc.snd.flac b/zm_ai_pack/sound/mus/zombie/tomb/mechz_round/desolation.SL45.pc.snd.flac new file mode 100644 index 0000000..03825ec Binary files /dev/null and b/zm_ai_pack/sound/mus/zombie/tomb/mechz_round/desolation.SL45.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn.LN65.pc.snd.wav new file mode 100644 index 0000000..d9db47c Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn_2d.SN65.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn_2d.SN65.pc.snd.flac new file mode 100644 index 0000000..61bc820 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/brutus_spawn_2d.SN65.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/death.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/death.LN65.pc.snd.wav new file mode 100644 index 0000000..499b25f Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/death.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_00.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_00.LN65.pc.snd.wav new file mode 100644 index 0000000..de5d00a Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_00.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_01.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_01.LN65.pc.snd.wav new file mode 100644 index 0000000..efaa78d Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_01.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_02.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_02.LN65.pc.snd.wav new file mode 100644 index 0000000..5ff5c04 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_02.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_03.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_03.LN65.pc.snd.wav new file mode 100644 index 0000000..a4ae919 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_03.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_04.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_04.LN65.pc.snd.wav new file mode 100644 index 0000000..40c9d14 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/gear/brutus_gear_04.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_00.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_00.LN65.pc.snd.wav new file mode 100644 index 0000000..e029b28 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_00.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_01.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_01.LN65.pc.snd.wav new file mode 100644 index 0000000..e010f54 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_01.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_02.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_02.LN65.pc.snd.wav new file mode 100644 index 0000000..3424511 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_02.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_03.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_03.LN65.pc.snd.wav new file mode 100644 index 0000000..88aa1a1 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_03.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_04.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_04.LN65.pc.snd.wav new file mode 100644 index 0000000..03e11b5 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/step/brutus_step_04.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_00.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_00.LN65.pc.snd.wav new file mode 100644 index 0000000..16cec52 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_00.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_01.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_01.LN65.pc.snd.wav new file mode 100644 index 0000000..b79f372 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_01.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_02.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_02.LN65.pc.snd.wav new file mode 100644 index 0000000..5b431f2 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_02.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_03.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_03.LN65.pc.snd.wav new file mode 100644 index 0000000..128b859 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_03.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_04.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_04.LN65.pc.snd.wav new file mode 100644 index 0000000..5e4cb64 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/brutus/swing/brutus_swing_04.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_01.LN50.pc.snd.wav new file mode 100644 index 0000000..13148a8 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_02.LN50.pc.snd.wav new file mode 100644 index 0000000..70581a2 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/servo/anim_ratc_srvo_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_01.LN50.pc.snd.wav new file mode 100644 index 0000000..c359dd2 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_02.LN50.pc.snd.wav new file mode 100644 index 0000000..d244dc4 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_03.LN50.pc.snd.wav new file mode 100644 index 0000000..773ba48 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_04.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_04.LN50.pc.snd.wav new file mode 100644 index 0000000..3889b4f Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step/anim_decepticon_lg_run_04.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_01.LN50.pc.snd.wav new file mode 100644 index 0000000..066fa71 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_02.LN50.pc.snd.wav new file mode 100644 index 0000000..3141437 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/step_water/imp_step_water_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_00.LN50.pc.snd.wav new file mode 100644 index 0000000..2275ebf Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_01.LN50.pc.snd.wav new file mode 100644 index 0000000..d1660de Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_02.LN50.pc.snd.wav new file mode 100644 index 0000000..ea509dd Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/fire/fire_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/grab/grab.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/grab/grab.LN50.pc.snd.wav new file mode 100644 index 0000000..f899c15 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/grab/grab.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_in.LL50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_in.LL50.pc.snd.wav new file mode 100644 index 0000000..5b22b4e Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_in.LL50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_out.LL50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_out.LL50.pc.snd.wav new file mode 100644 index 0000000..63d82fe Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/loop_out.LL50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/retract/retract.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/retract/retract.LN50.pc.snd.wav new file mode 100644 index 0000000..3301960 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/claw/retract/retract.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/death/explode.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/explode.LN50.pc.snd.wav new file mode 100644 index 0000000..dcac816 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/explode.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killimp.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killimp.LN50.pc.snd.wav new file mode 100644 index 0000000..aa39203 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killimp.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killshot.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killshot.LN50.pc.snd.wav new file mode 100644 index 0000000..aa1f251 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/killshot.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/death/rise.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/rise.LN50.pc.snd.wav new file mode 100644 index 0000000..1619de9 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/death/rise.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_00.LN50.pc.snd.wav new file mode 100644 index 0000000..12d0779 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_01.LN50.pc.snd.wav new file mode 100644 index 0000000..b9bc1f4 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_02.LN50.pc.snd.wav new file mode 100644 index 0000000..0d365a8 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/destruction/destruction_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/loop.LL50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/loop.LL50.pc.snd.wav new file mode 100644 index 0000000..2c6996a Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/loop.LL50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/start.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/start.LN50.pc.snd.wav new file mode 100644 index 0000000..76009d5 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/start.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/stop.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/stop.LN50.pc.snd.wav new file mode 100644 index 0000000..f218b8c Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/flame/stop.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/incoming_alarm.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/v2/incoming_alarm.SN50.pc.snd.flac new file mode 100644 index 0000000..4799365 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/incoming_alarm.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_00.LN50.pc.snd.wav new file mode 100644 index 0000000..097c809 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_01.LN50.pc.snd.wav new file mode 100644 index 0000000..3c77471 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump/jump_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/jump_in_118.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump_in_118.LN50.pc.snd.wav new file mode 100644 index 0000000..0ca48bc Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/jump_in_118.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_00.LN50.pc.snd.wav new file mode 100644 index 0000000..c25330e Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_01.LN50.pc.snd.wav new file mode 100644 index 0000000..2804698 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_02.LN50.pc.snd.wav new file mode 100644 index 0000000..93ba5c5 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/land/land_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_a.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_a.LN50.pc.snd.wav new file mode 100644 index 0000000..5fb081c Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_a.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_b.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_b.LN50.pc.snd.wav new file mode 100644 index 0000000..bfc911b Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/melee_b.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/loop.LL50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/loop.LL50.pc.snd.wav new file mode 100644 index 0000000..9bcc9e6 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/loop.LL50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/start.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/start.LN50.pc.snd.wav new file mode 100644 index 0000000..9f9c1a6 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/start.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/stop.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/stop.LN50.pc.snd.wav new file mode 100644 index 0000000..c9cfe6b Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/v2/rocket/stop.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/alarm_2.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/alarm_2.LN50.pc.snd.wav new file mode 100644 index 0000000..3a801d5 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/alarm_2.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.LN50.pc.snd.wav new file mode 100644 index 0000000..8f1c915 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.SN50.pc.snd.flac new file mode 100644 index 0000000..4bc4562 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_00.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.LN50.pc.snd.wav new file mode 100644 index 0000000..9e8ca86 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.SN50.pc.snd.flac new file mode 100644 index 0000000..645e5f3 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_01.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.LN50.pc.snd.wav new file mode 100644 index 0000000..ead473c Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.SN50.pc.snd.flac new file mode 100644 index 0000000..00a1081 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_02.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.LN50.pc.snd.wav new file mode 100644 index 0000000..70cd6bb Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.SN50.pc.snd.flac new file mode 100644 index 0000000..f000013 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_03.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.LN50.pc.snd.wav new file mode 100644 index 0000000..e7fe7bc Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.SN50.pc.snd.flac new file mode 100644 index 0000000..c9dbe26 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/ambient/ambient_04.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.LN50.pc.snd.wav new file mode 100644 index 0000000..2521c28 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.SN50.pc.snd.flac new file mode 100644 index 0000000..fe1b505 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_00.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.LN50.pc.snd.wav new file mode 100644 index 0000000..fe8621e Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.SN50.pc.snd.flac new file mode 100644 index 0000000..c8e1c0b Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_01.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.LN50.pc.snd.wav new file mode 100644 index 0000000..b4a34ed Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.SN50.pc.snd.flac new file mode 100644 index 0000000..c0d4d1a Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_02.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.LN50.pc.snd.wav new file mode 100644 index 0000000..9c9a23f Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.SN50.pc.snd.flac new file mode 100644 index 0000000..81f00b7 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/angry_nh/angry_nh_03.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death/death_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/death/death_00.LN50.pc.snd.wav new file mode 100644 index 0000000..ad6b94c Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death/death_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.LN50.pc.snd.wav new file mode 100644 index 0000000..eaa8244 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.SN50.pc.snd.flac new file mode 100644 index 0000000..79aa32d Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_00.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.LN50.pc.snd.wav new file mode 100644 index 0000000..4422fc6 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.SN50.pc.snd.flac new file mode 100644 index 0000000..7533629 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_01.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.LN50.pc.snd.wav new file mode 100644 index 0000000..4fb4dfd Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.SN50.pc.snd.flac new file mode 100644 index 0000000..73b7f04 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/death_nh/death_nh_02.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_00.LN50.pc.snd.wav new file mode 100644 index 0000000..aedd480 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_01.LN50.pc.snd.wav new file mode 100644 index 0000000..91760b9 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_02.LN50.pc.snd.wav new file mode 100644 index 0000000..87b52f8 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_03.LN50.pc.snd.wav new file mode 100644 index 0000000..6674aa2 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/pain/pain_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_00.LN50.pc.snd.wav new file mode 100644 index 0000000..aa3850d Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_01.LN50.pc.snd.wav new file mode 100644 index 0000000..3c2f9d7 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_02.LN50.pc.snd.wav new file mode 100644 index 0000000..bdbcc5a Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_03.LN50.pc.snd.wav new file mode 100644 index 0000000..52b9078 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_04.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_04.LN50.pc.snd.wav new file mode 100644 index 0000000..2433d98 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing/swing_04.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_00.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_00.SN50.pc.snd.flac new file mode 100644 index 0000000..45b74b3 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_00.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_01.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_01.SN50.pc.snd.flac new file mode 100644 index 0000000..a7ea1ec Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_01.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_02.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_02.SN50.pc.snd.flac new file mode 100644 index 0000000..44e020d Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_02.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_03.SN50.pc.snd.flac b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_03.SN50.pc.snd.flac new file mode 100644 index 0000000..8961684 Binary files /dev/null and b/zm_ai_pack/sound/zmb/ai/mechz/vox/swing_nh/swing_nh_03.SN50.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet.LN65.pc.snd.wav new file mode 100644 index 0000000..b0fda96 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_l.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_l.LN65.pc.snd.wav new file mode 100644 index 0000000..ebc22ab Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_l.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_r.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_r.LN65.pc.snd.wav new file mode 100644 index 0000000..8d20aec Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_helmet_flux_r.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_spawn_02.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_spawn_02.LN65.pc.snd.wav new file mode 100644 index 0000000..27260e6 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/brutus_spawn_02.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/clang.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/clang.LN65.pc.snd.wav new file mode 100644 index 0000000..889dcd7 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/clang.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_canister.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_canister.LN65.pc.snd.wav new file mode 100644 index 0000000..49d5416 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_canister.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_02.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_02.LN65.pc.snd.wav new file mode 100644 index 0000000..f9a5728 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_02.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_03.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_03.LN65.pc.snd.wav new file mode 100644 index 0000000..6962f65 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_drop_03.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_00.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_00.LN65.pc.snd.wav new file mode 100644 index 0000000..95d3720 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_00.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_01.LN65.pc.snd.wav b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_01.LN65.pc.snd.wav new file mode 100644 index 0000000..b9dfc06 Binary files /dev/null and b/zm_ai_pack/sound/zmb/level/zm_alcatraz/brutus/gas_drop/brutus_gas_tear_01.LN65.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_00.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_00.LN50.pc.snd.wav new file mode 100644 index 0000000..0eca272 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_00.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_01.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_01.LN50.pc.snd.wav new file mode 100644 index 0000000..8a4e3d6 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_01.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_02.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_02.LN50.pc.snd.wav new file mode 100644 index 0000000..d5f9634 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_02.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_03.LN50.pc.snd.wav b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_03.LN50.pc.snd.wav new file mode 100644 index 0000000..09a7b5f Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/evt/zombie_coast/director/step/zmb_director_step_03.LN50.pc.snd.wav differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_00.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_00.SN55.pc.snd.flac new file mode 100644 index 0000000..18c33a2 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_00.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_01.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_01.SN55.pc.snd.flac new file mode 100644 index 0000000..9a9f4bc Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_01.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_02.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_02.SN55.pc.snd.flac new file mode 100644 index 0000000..cd3546f Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_02.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_03.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_03.SN55.pc.snd.flac new file mode 100644 index 0000000..1fa620b Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_03.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_04.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_04.SN55.pc.snd.flac new file mode 100644 index 0000000..3bce0e1 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/angered/vox_director_angered_04.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_00.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_00.SN55.pc.snd.flac new file mode 100644 index 0000000..c92a1f4 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_00.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_01.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_01.SN55.pc.snd.flac new file mode 100644 index 0000000..1dac78b Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_01.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_03.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_03.SN55.pc.snd.flac new file mode 100644 index 0000000..8bae784 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_03.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_04.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_04.SN55.pc.snd.flac new file mode 100644 index 0000000..66393e4 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_04.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_05.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_05.SN55.pc.snd.flac new file mode 100644 index 0000000..04f9386 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_05.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_06.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_06.SN55.pc.snd.flac new file mode 100644 index 0000000..5e41862 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_06.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_07.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_07.SN55.pc.snd.flac new file mode 100644 index 0000000..3881b01 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/exert/vox_director_exert_07.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_00.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_00.SN55.pc.snd.flac new file mode 100644 index 0000000..8f168de Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_00.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_01.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_01.SN55.pc.snd.flac new file mode 100644 index 0000000..9a7374d Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_01.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_02.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_02.SN55.pc.snd.flac new file mode 100644 index 0000000..29af9c6 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_02.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_03.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_03.SN55.pc.snd.flac new file mode 100644 index 0000000..3b04e46 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_03.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_04.SN55.pc.snd.flac b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_04.SN55.pc.snd.flac new file mode 100644 index 0000000..cc86fc3 Binary files /dev/null and b/zm_ai_pack/sound/zmb_blops/vox/zmb/director/pain_yell/vox_director_pain_yell_04.SN55.pc.snd.flac differ diff --git a/zm_ai_pack/soundbank/ducks/zmb_mus_brutus.duk b/zm_ai_pack/soundbank/ducks/zmb_mus_brutus.duk new file mode 100644 index 0000000..93e7bbf --- /dev/null +++ b/zm_ai_pack/soundbank/ducks/zmb_mus_brutus.duk @@ -0,0 +1,174 @@ +{ + "distance": 1500.0, + "fadeIn": 2.0, + "fadeInCurve": "defaultmin", + "fadeInCurveId": 1298231670, + "fadeOut": 2.0, + "fadeOutCurve": "default", + "fadeOutCurveId": 4135636924, + "length": 0.0, + "startDelay": 0.0, + "updateWhilePaused": 0, + "values": [ + { + "attenuation": 1.0, + "duckGroup": "snp_alerts_gameplay", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_ambience", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_claw", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_destructible", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_dying", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_dying_ice", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_evt_2d", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_explosion", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_foley", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_grenade", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_hdrfx", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_igc", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_impacts", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_menu", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_movie", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_music", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_never_duck", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_player_dead", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_player_impacts", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_scripted_moment", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_set_piece", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_special", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_vehicle", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_vehicle_interior", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_voice", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_weapon_decay_1p", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_whizby", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_wpn_1p", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_wpn_3p", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_wpn_turret", + "filter": 1.0 + }, + { + "attenuation": 1.0, + "duckGroup": "snp_x2", + "filter": 1.0 + }, + { + "attenuation": 0.0, + "duckGroup": "snp_x3", + "filter": 1.0 + } + ] +} diff --git a/zm_ai_pack/soundbank/mod.all.aliases.csv b/zm_ai_pack/soundbank/mod.all.aliases.csv new file mode 100644 index 0000000..e49efeb --- /dev/null +++ b/zm_ai_pack/soundbank/mod.all.aliases.csv @@ -0,0 +1,147 @@ +name,file,template,loadspec,secondary,group,vol_min,vol_max,team_vol_mod,dist_min,dist_max,dist_reverb_max,volume_falloff_curve,reverb_falloff_curve,volume_min_falloff_curve,reverb_min_falloff_curve,limit_count,limit_type,entity_limit_count,entity_limit_type,pitch_min,pitch_max,team_pitch_mod,min_priority,max_priority,min_priority_threshold,max_priority_threshold,spatialized,type,loop,randomize_type,probability,start_delay,reverb_send,duck,duck_group,pan,center_send,envelop_min,envelop_max,envelop_percentage,occlusion_level,occlusion_wet_dry,is_big,distance_lpf,move_type,move_time,real_delay,subtitle,mature,doppler,futz,context_type,context_value,compression,timescale,music,fade_in,fade_out,pc_format,pause,stop_on_death,bus,snapshot +fly_servo_mechz,sound\zmb\ai\mechz\servo\anim_ratc_srvo_01.LN50.pc.snd,,,,grp_foley,3685,3685,,250,1000,1750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_servo_mechz,sound\zmb\ai\mechz\servo\anim_ratc_srvo_02.LN50.pc.snd,,,,grp_foley,3685,3685,,250,1000,1750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +zmb_ai_mechz_claw_back,sound\zmb\ai\mechz\v2\claw\retract\retract.LN50.pc.snd,,,,grp_hdrfx,18470,18470,,125,500,625,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_claw_fire,sound\zmb\ai\mechz\v2\claw\fire\fire_00.LN50.pc.snd,,,,grp_hdrfx,18470,18470,,500,1250,1750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_claw_fire,sound\zmb\ai\mechz\v2\claw\fire\fire_01.LN50.pc.snd,,,,grp_hdrfx,18470,18470,,500,1250,1750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_claw_fire,sound\zmb\ai\mechz\v2\claw\fire\fire_02.LN50.pc.snd,,,,grp_hdrfx,18470,18470,,500,1250,1750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_claw_grab,sound\zmb\ai\mechz\v2\claw\grab\grab.LN50.pc.snd,,,,grp_hdrfx,18470,18470,,125,500,625,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_claw_loop_in,sound\zmb\ai\mechz\v2\claw\loop_in.LL50.pc.snd,,,,grp_hdrfx,5205,5205,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,looping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_hdrfx, +zmb_ai_mechz_claw_loop_out,sound\zmb\ai\mechz\v2\claw\loop_out.LL50.pc.snd,,,,grp_hdrfx,5205,5205,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,looping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_hdrfx, +zmb_ai_mechz_death_explode,sound\zmb\ai\mechz\v2\death\explode.LN50.pc.snd,,,,grp_hdrfx,41349,41349,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_death_fall,sound\zmb\ai\mechz\v2\death\killimp.LN50.pc.snd,,,,grp_hdrfx,23252,23252,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_death_imp,sound\zmb\ai\mechz\v2\death\killshot.LN50.pc.snd,,,zmb_ai_mechz_death_rise,grp_hdrfx,23252,23252,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_death_rise,sound\zmb\ai\mechz\v2\death\rise.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,75,95,63,-1,,loaded,nonlooping,volume,-1,1000,655,,snp_hdrfx,3d,0,50,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_destruction,sound\zmb\ai\mechz\v2\destruction\destruction_00.LN50.pc.snd,,,zmb_ai_mechz_vox_pain,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_destruction,sound\zmb\ai\mechz\v2\destruction\destruction_01.LN50.pc.snd,,,zmb_ai_mechz_vox_pain,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_destruction,sound\zmb\ai\mechz\v2\destruction\destruction_02.LN50.pc.snd,,,zmb_ai_mechz_vox_pain,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_flame_loop,sound\zmb\ai\mechz\v2\flame\loop.LL50.pc.snd,,,,grp_hdrfx,10386,10386,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,65,95,63,-1,,loaded,looping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_hdrfx, +zmb_ai_mechz_flame_start,sound\zmb\ai\mechz\v2\flame\start.LN50.pc.snd,,,,grp_hdrfx,10386,10386,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,65,95,63,-1,,loaded,nonlooping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_flame_stop,sound\zmb\ai\mechz\v2\flame\stop.LN50.pc.snd,,,,grp_hdrfx,10386,10386,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,65,95,63,-1,,loaded,nonlooping,volume,-1,0,655,,snp_hdrfx,3d,0,50,125,58408,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_incoming_alarm,sound\zmb\ai\mechz\v2\incoming_alarm.SN50.pc.snd,,,,grp_hdrfx,6553,6553,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,streamed,nonlooping,volume,-1,0,26089,,snp_hdrfx,2d,0,0,0,0,0,,no,yes,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_intro,sound\zmb\ai\mechz\v2\jump_in_118.LN50.pc.snd,,,,grp_hdrfx,36853,36853,,750,1500,2500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_intro_alarm,sound\zmb\ai\mechz\vox\alarm_2.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,6553,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_jump,sound\zmb\ai\mechz\v2\jump\jump_00.LN50.pc.snd,,,,grp_hdrfx,9257,9257,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_jump,sound\zmb\ai\mechz\v2\jump\jump_01.LN50.pc.snd,,,,grp_hdrfx,9257,9257,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_land,sound\zmb\ai\mechz\v2\land\land_00.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_land,sound\zmb\ai\mechz\v2\land\land_01.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_land,sound\zmb\ai\mechz\v2\land\land_02.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,375,875,1125,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_rocket_loop,sound\zmb\ai\mechz\v2\rocket\loop.LL50.pc.snd,,,,grp_hdrfx,13075,13075,,625,1500,2000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,95,63,-1,,loaded,looping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,0,,yes,no,none,0,,,,yes,0,0,0,,no,no,0,0,,yes,yes,bus_hdrfx, +zmb_ai_mechz_rocket_start,sound\zmb\ai\mechz\v2\rocket\start.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,625,1500,2000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_rocket_stop,sound\zmb\ai\mechz\v2\rocket\stop.LN50.pc.snd,,,,grp_hdrfx,13075,13075,,625,1500,2000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_swing_a,sound\zmb\ai\mechz\v2\melee_a.LN50.pc.snd,,,zmb_ai_mechz_vox_swing,grp_hdrfx,13075,13075,,175,625,750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_swing_b,sound\zmb\ai\mechz\v2\melee_b.LN50.pc.snd,,,zmb_ai_mechz_vox_swing,grp_hdrfx,13075,13075,,175,625,750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,55,95,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,100,125,58408,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\ambient\ambient_00.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\ambient\ambient_01.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\ambient\ambient_02.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\ambient\ambient_03.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\ambient\ambient_04.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_00.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_01.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_02.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_ambient,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_03.LN50.pc.snd,,,,grp_hdrfx,5205,5205,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\ambient\ambient_00.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\ambient\ambient_01.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\ambient\ambient_02.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\ambient\ambient_03.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\ambient\ambient_04.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_00.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_01.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_02.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_angry,sound\zmb\ai\mechz\vox\angry_nh\angry_nh_03.SN50.pc.snd,,,,grp_hdrfx,23252,23252,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,300,3685,,snp_hdrfx,3d,0,50,75,58408,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_death,sound\zmb\ai\mechz\vox\death\death_00.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_death,sound\zmb\ai\mechz\vox\death_nh\death_nh_00.SN50.pc.snd,,,,grp_hdrfx,11653,11653,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_death,sound\zmb\ai\mechz\vox\death_nh\death_nh_01.SN50.pc.snd,,,,grp_hdrfx,11653,11653,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_death,sound\zmb\ai\mechz\vox\death_nh\death_nh_02.SN50.pc.snd,,,,grp_hdrfx,11653,11653,,250,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\death_nh\death_nh_00.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\death_nh\death_nh_01.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\death_nh\death_nh_02.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\pain\pain_00.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\pain\pain_01.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\pain\pain_02.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_pain,sound\zmb\ai\mechz\vox\pain\pain_03.LN50.pc.snd,,,,grp_hdrfx,11653,11653,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing\swing_00.LN50.pc.snd,,,,grp_hdrfx,7353,7353,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing\swing_01.LN50.pc.snd,,,,grp_hdrfx,7353,7353,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing\swing_02.LN50.pc.snd,,,,grp_hdrfx,7353,7353,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing\swing_03.LN50.pc.snd,,,,grp_hdrfx,7353,7353,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing\swing_04.LN50.pc.snd,,,,grp_hdrfx,7353,7353,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,loaded,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,yes,no,none,0,,,,no,0,707721443,3914671733,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing_nh\swing_nh_00.SN50.pc.snd,,,,grp_hdrfx,13075,13075,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing_nh\swing_nh_01.SN50.pc.snd,,,,grp_hdrfx,13075,13075,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing_nh\swing_nh_02.SN50.pc.snd,,,,grp_hdrfx,13075,13075,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_mechz_vox_swing,sound\zmb\ai\mechz\vox\swing_nh\swing_nh_03.SN50.pc.snd,,,,grp_hdrfx,13075,13075,,125,1000,1500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,50,90,63,-1,,streamed,nonlooping,volume,-1,0,3685,,snp_hdrfx,3d,0,0,0,0,25,,no,no,none,0,,,,no,0,707721443,3132862595,,no,no,0,0,,yes,no,bus_hdrfx, +mus_mechz_fight_loop,sound\mus\zombie\tomb\mechz_round\desolation.SL45.pc.snd,,,,grp_music,23252,23252,,0,5000,5000,default,default,allon,allon,1,oldest,8,oldest,32767,32767,,100,100,0,-1,,streamed,looping,volume,-1,0,0,,snp_movie,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,yes,yes,0,0,,yes,yes,bus_reference, +fly_step_mechz,sound\zmb\ai\mechz\step\anim_decepticon_lg_run_01.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,8250,8250,,250,1000,1750,default,default,allon,allon,3,priority,2,oldest,29702,36147,,60,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz,sound\zmb\ai\mechz\step\anim_decepticon_lg_run_02.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,8250,8250,,250,1000,1750,default,default,allon,allon,3,priority,2,oldest,29702,36147,,60,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz,sound\zmb\ai\mechz\step\anim_decepticon_lg_run_03.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,8250,8250,,250,1000,1750,default,default,allon,allon,3,priority,2,oldest,29702,36147,,60,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz,sound\zmb\ai\mechz\step\anim_decepticon_lg_run_04.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,8250,8250,,250,1000,1750,default,default,allon,allon,3,priority,2,oldest,29702,36147,,60,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_water,sound\zmb\ai\mechz\step_water\imp_step_water_01.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,2927,2927,,250,875,1250,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_water,sound\zmb\ai\mechz\step_water\imp_step_water_02.LN50.pc.snd,,,fly_step_mechz_weight,grp_foley,2927,2927,,250,875,1250,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_weight,sound\zmb_blops\evt\zombie_coast\director\step\zmb_director_step_00.LN50.pc.snd,,,,grp_foley,14671,14671,,150,500,625,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_weight,sound\zmb_blops\evt\zombie_coast\director\step\zmb_director_step_01.LN50.pc.snd,,,,grp_foley,14671,14671,,150,500,625,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_weight,sound\zmb_blops\evt\zombie_coast\director\step\zmb_director_step_02.LN50.pc.snd,,,,grp_foley,14671,14671,,150,500,625,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_mechz_weight,sound\zmb_blops\evt\zombie_coast\director\step\zmb_director_step_03.LN50.pc.snd,,,,grp_foley,14671,14671,,150,500,625,default,default,allon,allon,3,oldest,2,oldest,29702,36147,,50,95,63,-1,,loaded,nonlooping,volume,-1,0,65,,snp_foley,3d,0,25,100,6553,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +evt_brutus_helmet,sound\zmb\level\zm_alcatraz\brutus\brutus_helmet.LN65.pc.snd,,,evt_brutus_helmet_flux_l,grp_hdrfx,52056,52056,,750,1600,1750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,13075,,3d,0,0,0,0,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +evt_brutus_helmet_flux_l,sound\zmb\level\zm_alcatraz\brutus\brutus_helmet_flux_l.LN65.pc.snd,,,evt_brutus_helmet_flux_r,grp_explosion,16461,26089,,6000,25000,25000,default,default,allon,allon,1,reject,8,oldest,28361,37857,,30,40,63,-1,,loaded,nonlooping,volume,-1,4000,1165,,3d,0,0,0,0,0,,no,no,left_player,3000,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +evt_brutus_helmet_flux_r,sound\zmb\level\zm_alcatraz\brutus\brutus_helmet_flux_r.LN65.pc.snd,,,,grp_explosion,16461,26089,,6000,25000,25000,default,default,allon,allon,1,reject,8,oldest,28361,37857,,30,40,63,-1,,loaded,nonlooping,volume,-1,4150,1165,,3d,0,0,0,0,0,,no,no,right_player,3000,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +evt_brutus_spawn,sound\zmb\level\zm_alcatraz\brutus\brutus_spawn_02.LN65.pc.snd,,,,grp_hdrfx,14671,14671,,0,5000,5000,default,default,allon,allon,1,reject,8,oldest,32767,32767,,100,100,63,-1,,loaded,nonlooping,volume,-1,0,65,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +fly_gear_brutus,sound\zmb\ai\brutus\gear\brutus_gear_00.LN65.pc.snd,,,,grp_foley,4134,4134,,175,625,750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,10,50,63,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_gear_brutus,sound\zmb\ai\brutus\gear\brutus_gear_01.LN65.pc.snd,,,,grp_foley,4134,4134,,175,625,750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,10,50,63,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_gear_brutus,sound\zmb\ai\brutus\gear\brutus_gear_02.LN65.pc.snd,,,,grp_foley,4134,4134,,175,625,750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,10,50,63,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_gear_brutus,sound\zmb\ai\brutus\gear\brutus_gear_03.LN65.pc.snd,,,,grp_foley,4134,4134,,175,625,750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,10,50,63,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_gear_brutus,sound\zmb\ai\brutus\gear\brutus_gear_04.LN65.pc.snd,,,,grp_foley,4134,4134,,175,625,750,default,default,allon,allon,3,oldest,4,oldest,30047,35732,,10,50,63,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_brutus,sound\zmb\ai\brutus\step\brutus_step_00.LN65.pc.snd,,,fly_gear_brutus,grp_foley,14671,14671,,250,875,1250,default,default,allon,allon,3,priority,2,oldest,29702,36147,,10,50,38,-1,,loaded,nonlooping,volume,-1,0,65,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_brutus,sound\zmb\ai\brutus\step\brutus_step_01.LN65.pc.snd,,,fly_gear_brutus,grp_foley,14671,14671,,250,875,1250,default,default,allon,allon,3,priority,2,oldest,29702,36147,,10,50,38,-1,,loaded,nonlooping,volume,-1,0,65,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_brutus,sound\zmb\ai\brutus\step\brutus_step_02.LN65.pc.snd,,,fly_gear_brutus,grp_foley,14671,14671,,250,875,1250,default,default,allon,allon,3,priority,2,oldest,29702,36147,,10,50,38,-1,,loaded,nonlooping,volume,-1,0,65,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_brutus,sound\zmb\ai\brutus\step\brutus_step_03.LN65.pc.snd,,,fly_gear_brutus,grp_foley,14671,14671,,250,875,1250,default,default,allon,allon,3,priority,2,oldest,29702,36147,,10,50,38,-1,,loaded,nonlooping,volume,-1,0,65,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +fly_step_brutus,sound\zmb\ai\brutus\step\brutus_step_04.LN65.pc.snd,,,fly_gear_brutus,grp_foley,14671,14671,,250,875,1250,default,default,allon,allon,3,priority,2,oldest,29702,36147,,10,50,38,-1,,loaded,nonlooping,volume,-1,0,65,,3d,0,25,100,6553,-91,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +mus_event_brutus_death,sound\mus\zombie\alcatraz\brutus\dead\brutus_dead_stinger_v1_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_death,sound\mus\zombie\alcatraz\brutus\dead\brutus_dead_stinger_v2_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_death,sound\mus\zombie\alcatraz\brutus\dead\brutus_dead_stinger_v2_nobell_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_death,sound\mus\zombie\alcatraz\brutus\dead\brutus_dead_stinger_v3_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_death,sound\mus\zombie\alcatraz\brutus\dead\brutus_dead_stinger_v3_piano_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_loop,sound\mus\zombie\alcatraz\brutus_spawn\brutus_spawn_loop.SL65.pc.snd,,,,grp_music,20723,20723,,400,1500,1750,default,default,allon,allon,1,priority,8,oldest,32767,32767,,95,100,63,-1,,streamed,looping,volume,-1,0,0,zmb_mus_brutus,3d,0,0,0,0,63,,no,no,none,0,,,,no,0,0,0,,no,yes,3,5,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v1_fullmelody_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v1_lightcomp_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v1_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v2_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v3-stock_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_round_start,sound\mus\zombie\alcatraz\brutus\round_start\v3-withoddity_mas.SN65.pc.snd,,,,grp_music,41349,41349,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,zmb_mus_rounds,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_spawn,sound\mus\zombie\alcatraz\brutus_spawn\brutus_spawn_long.SN65.pc.snd,,,,grp_music,20723,20723,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_spawn,sound\mus\zombie\alcatraz\brutus_spawn\brutus_spawn_loop.SN65.pc.snd,,,,grp_music,20723,20723,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +mus_event_brutus_spawn,sound\mus\zombie\alcatraz\brutus_spawn\brutus_spawn_short.SN65.pc.snd,,,,grp_music,20723,20723,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,100,100,0,-1,,streamed,nonlooping,volume,-1,0,0,,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,no,yes,0,0,,yes,no,bus_reference, +vox_brutus_enraged,sound\zmb_blops\vox\zmb\director\pain_yell\vox_director_pain_yell_00.SN55.pc.snd,,,,grp_voice,20723,20723,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_enraged,sound\zmb_blops\vox\zmb\director\pain_yell\vox_director_pain_yell_01.SN55.pc.snd,,,,grp_voice,20723,20723,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_enraged,sound\zmb_blops\vox\zmb\director\pain_yell\vox_director_pain_yell_02.SN55.pc.snd,,,,grp_voice,20723,20723,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_enraged,sound\zmb_blops\vox\zmb\director\pain_yell\vox_director_pain_yell_03.SN55.pc.snd,,,,grp_voice,20723,20723,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_enraged,sound\zmb_blops\vox\zmb\director\pain_yell\vox_director_pain_yell_04.SN55.pc.snd,,,,grp_voice,20723,20723,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_00.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_01.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_03.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_04.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_05.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_06.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_exert,sound\zmb_blops\vox\zmb\director\exert\vox_director_exert_07.SN55.pc.snd,,,,grp_voice,16461,16461,,125,500,625,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_spawn,sound\zmb_blops\vox\zmb\director\angered\vox_director_angered_00.SN55.pc.snd,,,,grp_voice,20723,20723,,125,750,1500,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_spawn,sound\zmb_blops\vox\zmb\director\angered\vox_director_angered_01.SN55.pc.snd,,,,grp_voice,20723,20723,,125,750,1500,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_spawn,sound\zmb_blops\vox\zmb\director\angered\vox_director_angered_02.SN55.pc.snd,,,,grp_voice,20723,20723,,125,750,1500,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_spawn,sound\zmb_blops\vox\zmb\director\angered\vox_director_angered_03.SN55.pc.snd,,,,grp_voice,20723,20723,,125,750,1500,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +vox_brutus_spawn,sound\zmb_blops\vox\zmb\director\angered\vox_director_angered_04.SN55.pc.snd,,,,grp_voice,20723,20723,,125,750,1500,default,default,allon,rev65,2,reject,8,oldest,32767,32767,,40,70,0,-1,,streamed,nonlooping,volume,-1,0,2072,,3d,0,50,200,6553,25,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,yes,bus_voice, +zmb_ai_brutus_clang,sound\zmb\level\zm_alcatraz\brutus\clang.LN65.pc.snd,,,zmb_ai_brutus_slam,grp_hdrfx,41349,41349,,250,375,625,default,default,allon,allon,4,priority,8,oldest,32767,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_death,sound\zmb\ai\brutus\death.LN65.pc.snd,,,,grp_hdrfx,52056,52056,,2000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,2,,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_gas_drop_1,sound\zmb\level\zm_alcatraz\brutus\gas_drop\brutus_gas_drop_02.LN65.pc.snd,,,,grp_hdrfx,52056,52056,,1000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,0,0,0,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_gas_drop_2,sound\zmb\level\zm_alcatraz\brutus\gas_drop\brutus_gas_drop_03.LN65.pc.snd,,,,grp_hdrfx,52056,52056,,1000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,0,0,0,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_gas_explode,sound\zmb\level\zm_alcatraz\brutus\gas_drop\brutus_canister.LN65.pc.snd,,,zmb_ai_brutus_gas_explode_flux_l,grp_hdrfx,5840,5840,,225,425,500,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,63,-1,,loaded,nonlooping,volume,-1,0,655,,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_gas_explode_flux_l,sound\wpn\grenade\smoke\flux\flux_l.LN65.pc.snd,,,zmb_ai_brutus_gas_explode_flux_r,grp_explosion,2325,2927,,500,2500,2500,default,default,allon,allon,2,priority,8,oldest,29192,36779,,30,40,63,-1,,loaded,nonlooping,volume,-1,150,2072,,3d,0,0,0,0,63,,no,no,left_player,2500,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +zmb_ai_brutus_gas_explode_flux_r,sound\wpn\grenade\smoke\flux\flux_r.LN65.pc.snd,,,,grp_explosion,2325,2927,,500,2500,2500,default,default,allon,allon,2,priority,8,oldest,29192,36779,,30,40,63,-1,,loaded,nonlooping,volume,-1,175,2072,,3d,0,0,0,0,63,,yes,no,right_player,3500,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +zmb_ai_brutus_gas_tear_1,sound\zmb\level\zm_alcatraz\brutus\gas_drop\brutus_gas_tear_00.LN65.pc.snd,,,,grp_hdrfx,46395,46395,,1000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,0,0,0,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_gas_tear_2,sound\zmb\level\zm_alcatraz\brutus\gas_drop\brutus_gas_tear_01.LN65.pc.snd,,,,grp_hdrfx,46395,46395,,1000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,6553,,3d,0,0,0,0,0,,no,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_slam,sound\zmb_blops\evt\zombie_coast\director\ground_attack\zmb_ground_attack_00.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,26089,26089,,250,375,625,default,default,allon,allon,4,priority,8,oldest,32767,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_slam,sound\zmb_blops\evt\zombie_coast\director\ground_attack\zmb_ground_attack_01.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,26089,26089,,250,375,625,default,default,allon,allon,4,priority,8,oldest,32767,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,25,,yes,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_spawn,sound\zmb\ai\brutus\brutus_spawn.LN65.pc.snd,,,vox_brutus_spawn,grp_hdrfx,52056,52056,,2000,10000,10000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,0,-1,,loaded,nonlooping,volume,-1,0,2,,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_spawn_2d,sound\zmb\ai\brutus\brutus_spawn_2d.SN65.pc.snd,,,,grp_hdrfx,32845,32845,,0,5000,5000,default,default,allon,allon,1,reject,8,oldest,32767,32767,,95,100,0,-1,,streamed,nonlooping,volume,-1,0,6,zmb_afterlife,2d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_swing,sound\zmb\ai\brutus\swing\brutus_swing_00.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,20723,20723,,125,375,500,default,default,allon,allon,4,priority,8,oldest,31143,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_swing,sound\zmb\ai\brutus\swing\brutus_swing_01.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,20723,20723,,125,375,500,default,default,allon,allon,4,priority,8,oldest,31143,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_swing,sound\zmb\ai\brutus\swing\brutus_swing_02.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,20723,20723,,125,375,500,default,default,allon,allon,4,priority,8,oldest,31143,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_swing,sound\zmb\ai\brutus\swing\brutus_swing_03.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,20723,20723,,125,375,500,default,default,allon,allon,4,priority,8,oldest,31143,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_swing,sound\zmb\ai\brutus\swing\brutus_swing_04.LN65.pc.snd,,,vox_brutus_exert,grp_hdrfx,20723,20723,,125,375,500,default,default,allon,allon,4,priority,8,oldest,31143,32767,,40,90,63,-1,,loaded,nonlooping,volume,-1,0,5205,,3d,0,50,75,52056,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, +zmb_ai_brutus_window_teardown,sound\zmb_blops\evt\zombie_temple\sq\bttp\wood_explo.LN65.pc.snd,,,,grp_hdrfx,20723,20723,,250,500,625,default,default,allon,allon,8,priority,8,oldest,32767,32767,,95,100,63,-1,,loaded,nonlooping,volume,-1,0,655,,3d,0,0,0,0,0,,yes,no,none,0,,,,no,0,0,0,,no,no,0,0,,yes,no,bus_hdrfx, \ No newline at end of file diff --git a/zm_ai_pack/soundbank/zmb_alcatraz.all.ducklist.csv b/zm_ai_pack/soundbank/zmb_alcatraz.all.ducklist.csv new file mode 100644 index 0000000..a40c752 --- /dev/null +++ b/zm_ai_pack/soundbank/zmb_alcatraz.all.ducklist.csv @@ -0,0 +1,2 @@ +name +zmb_mus_brutus diff --git a/zm_ai_pack/zone_source/highrise/zm_highrise_basic.zone b/zm_ai_pack/zone_source/highrise/zm_highrise_basic.zone index 9dcdb58..af56d22 100644 --- a/zm_ai_pack/zone_source/highrise/zm_highrise_basic.zone +++ b/zm_ai_pack/zone_source/highrise/zm_highrise_basic.zone @@ -478,7 +478,6 @@ xmodel,c_zom_zombie_civ_shorts_body6_g_llegoff xmodel,c_zom_zombie_civ_shorts_body6_g_legsoff script,character/clientscripts/c_zom_zombie_civ_shorts6.csc script,aitype/clientscripts/zm_highrise_basic_01.csc -zbarrier,zmcore_basicwoodbarrier_hide_pieces script,aitype/zm_highrise_basic_02.gsc script,character/c_zom_zombie_scientist.gsc image,~~-gc_zom_scientist_body_s-rg~d537386d diff --git a/zm_ai_pack/zone_source/highrise/zm_highrise_basic_no_anims.zone b/zm_ai_pack/zone_source/highrise/zm_highrise_basic_no_anims.zone index 13ae224..f2056d5 100644 --- a/zm_ai_pack/zone_source/highrise/zm_highrise_basic_no_anims.zone +++ b/zm_ai_pack/zone_source/highrise/zm_highrise_basic_no_anims.zone @@ -126,7 +126,6 @@ xmodel,c_zom_zombie_civ_shorts_body6_g_llegoff xmodel,c_zom_zombie_civ_shorts_body6_g_legsoff script,character/clientscripts/c_zom_zombie_civ_shorts6.csc script,aitype/clientscripts/zm_highrise_basic_01.csc -zbarrier,zmcore_basicwoodbarrier_hide_pieces script,aitype/zm_highrise_basic_02.gsc script,character/c_zom_zombie_scientist.gsc image,~~-gc_zom_scientist_body_s-rg~d537386d diff --git a/zm_ai_pack/zone_source/tomb/zm_tomb_mech_zombie.zone b/zm_ai_pack/zone_source/tomb/zm_tomb_mech_zombie.zone index b97c671..82fa2f0 100644 --- a/zm_ai_pack/zone_source/tomb/zm_tomb_mech_zombie.zone +++ b/zm_ai_pack/zone_source/tomb/zm_tomb_mech_zombie.zone @@ -72,8 +72,8 @@ xanim,ai_zombie_mech_jump_down_dlc4_trench_wall_96 xanim,ai_zombie_mech_jump_down_dlc4_trench_wall_112 xanim,ai_zombie_mech_jump_down_dlc4_trench_wall_120 xanim,ai_zombie_mech_jump_up_dlc4_trench_wall_140 -//rawfile,animtrees/zm_tomb_mechz.atr -//rawfile,animstatedefs/zm_tomb_mechz.asd +rawfile,animtrees/zm_tomb_mechz.atr +rawfile,animstatedefs/zm_tomb_mechz.asd script,character/c_zom_dlc_mech.gsc techniqueset,mc_sw4_3d_char_skin_emissive_189j7w84 techniqueset,mc_sw4_3d_char_cloth_emissive_5ef7226z diff --git a/zm_coolweps/README.md b/zm_coolweps/README.md new file mode 100644 index 0000000..e69de29 diff --git a/zm_coolweps/TODO.txt b/zm_coolweps/TODO.txt new file mode 100644 index 0000000..ca31c07 --- /dev/null +++ b/zm_coolweps/TODO.txt @@ -0,0 +1,9 @@ +add every perk to every map +add every bo2 powerup to every map + death machine + firesale +implement waw-reimagined changes +crossbow and paped variant +spas shotgun from SP +every wonder weapon on every map +faster sprint anims for zombies (supersprint and chase_bus)