mirror of
https://github.com/JezuzLizard/t6-fastfile-mods.git
synced 2025-04-19 21:32:53 +00:00
Cleanup scripts.
This commit is contained in:
parent
4bbd8bf1fb
commit
7c043cee57
@ -9,11 +9,12 @@ precache()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
init()
|
||||||
|
{
|
||||||
|
clientscripts\mp\_visionset_mgr::vsmgr_register_overlay_info_style_electrified( "zm_ai_avogadro_electrified", 1, 15, 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
{
|
{
|
||||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
clientscripts\mp\_visionset_mgr::vsmgr_register_overlay_info_style_electrified( "zm_ai_avogadro_electrified", 1, 15, 1 );
|
clientscripts\mp\_visionset_mgr::vsmgr_register_overlay_info_style_electrified( "zm_ai_avogadro_electrified", 1, 15, 1 );
|
||||||
}
|
}
|
@ -8,12 +8,15 @@ precache()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
registerclientfield( "actor", "helmet_off", 9000, 1, "int", ::brutus_helmet_launch_cb );
|
||||||
|
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int", ::brutus_lock_down_effects_cb );
|
||||||
|
registerbrutusfootstepcb( "zm_alcatraz_brutus", ::brutusfootstepcbfunc );
|
||||||
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
if ( getDvar( "mapname" ) == "zm_prison" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
registerclientfield( "actor", "helmet_off", 9000, 1, "int", ::brutus_helmet_launch_cb );
|
registerclientfield( "actor", "helmet_off", 9000, 1, "int", ::brutus_helmet_launch_cb );
|
||||||
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int", ::brutus_lock_down_effects_cb );
|
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int", ::brutus_lock_down_effects_cb );
|
||||||
registerbrutusfootstepcb( "zm_alcatraz_brutus", ::brutusfootstepcbfunc );
|
registerbrutusfootstepcb( "zm_alcatraz_brutus", ::brutusfootstepcbfunc );
|
@ -29,12 +29,13 @@ precache_fx()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
register_client_fields();
|
||||||
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
precache_fx();
|
precache_fx();
|
||||||
register_client_fields();
|
register_client_fields();
|
||||||
}
|
}
|
@ -39,24 +39,11 @@ add_fx_element( index, fx_element, tag_name, min_freq, max_freq )
|
|||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
|
||||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::mechz_clientfields );
|
|
||||||
}
|
|
||||||
|
|
||||||
mechz_clientfields()
|
|
||||||
{
|
{
|
||||||
registerclientfield( "actor", "mechz_fx", 14000, 12, "int", ::mechz_handle_fx );
|
registerclientfield( "actor", "mechz_fx", 14000, 12, "int", ::mechz_handle_fx );
|
||||||
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int", ::mechz_claw_callback );
|
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int", ::mechz_claw_callback );
|
||||||
registerclientfield( "actor", "anim_rate", 14000, 2, "float", undefined, 0 );
|
registerclientfield( "actor", "anim_rate", 14000, 2, "float", undefined, 0 );
|
||||||
setupclientfieldanimspeedcallbacks( "actor", 1, "anim_rate" );
|
setupclientfieldanimspeedcallbacks( "actor", 1, "anim_rate" );
|
||||||
}
|
|
||||||
|
|
||||||
init()
|
|
||||||
{
|
|
||||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_LE" );
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_LE" );
|
||||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_LE", 0.25, 0.75 );
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_LE", 0.25, 0.75 );
|
||||||
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_LE", 0.1, 0.3 );
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_LE", 0.1, 0.3 );
|
||||||
@ -88,6 +75,41 @@ init()
|
|||||||
init_animtree();
|
init_animtree();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
registerclientfield( "actor", "mechz_fx", 14000, 12, "int", ::mechz_handle_fx );
|
||||||
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_LE" );
|
||||||
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_LE", 0.25, 0.75 );
|
||||||
|
add_fx_element( 0, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_LE", 0.1, 0.3 );
|
||||||
|
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_Knee_Attach_RI" );
|
||||||
|
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Knee_Attach_RI", 0.25, 0.75 );
|
||||||
|
add_fx_element( 1, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Knee_Attach_RI", 0.1, 0.3 );
|
||||||
|
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_ShoulderArmor_LE" );
|
||||||
|
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_ShoulderArmor_LE", 0.25, 0.75 );
|
||||||
|
add_fx_element( 2, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_ShoulderArmor_LE", 0.1, 0.3 );
|
||||||
|
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_armor", "J_ShoulderArmor_RI" );
|
||||||
|
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_ShoulderArmor_RI", 0.25, 0.75 );
|
||||||
|
add_fx_element( 3, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_ShoulderArmor_RI", 0.1, 0.3 );
|
||||||
|
add_fx_element( 4, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Root_Attach_RI", 0.25, 0.75 );
|
||||||
|
add_fx_element( 4, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Root_Attach_RI", 0.1, 0.3 );
|
||||||
|
add_fx_element( 5, "maps/zombie_tomb/fx_tomb_mech_dmg_sparks", "J_Root_Attach_LE", 0.25, 0.75 );
|
||||||
|
add_fx_element( 5, "maps/zombie_tomb/fx_tomb_mech_dmg_steam", "J_Root_Attach_LE", 0.1, 0.3 );
|
||||||
|
add_fx_element( 6, "maps/zombie_tomb/fx_tomb_mech_wpn_flamethrower", "tag_flamethrower_FX", 0.25 );
|
||||||
|
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster", "tag_booster_LE_FX", 0.25 );
|
||||||
|
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster", "tag_booster_RI_FX", 0.25 );
|
||||||
|
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm", "tag_leg_booster_LE_FX", 0.25 );
|
||||||
|
add_fx_element( 7, "maps/zombie_tomb/fx_tomb_mech_jump_booster_sm", "tag_leg_booster_RI_FX", 0.25 );
|
||||||
|
add_fx_element( 8, "maps/zombie_tomb/fx_tomb_mech_wpn_source", "tag_claw", 0.5 );
|
||||||
|
add_fx_element( 9, "maps/zombie_tomb/fx_tomb_mech_jump_landing", "tag_origin" );
|
||||||
|
add_fx_element( 10, "maps/zombie_tomb/fx_tomb_mech_dmg_armor_face", "J_Helmet" );
|
||||||
|
add_fx_element( 11, "maps/zombie_tomb/fx_tomb_mech_head_light", "tag_headlamp_FX" );
|
||||||
|
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int", ::mechz_claw_callback );
|
||||||
|
registermechzfootstepcb( "zm_tomb_mech_zombie", ::mechzfootstepcbfunc );
|
||||||
|
level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" );
|
||||||
|
level._effect["mech_exhaust_smoke"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" );
|
||||||
|
init_animtree();
|
||||||
|
}
|
||||||
|
|
||||||
setup_fx( localclientnum, index, bnewent, binitialsnap, fieldname, bwasdemojump )
|
setup_fx( localclientnum, index, bnewent, binitialsnap, fieldname, bwasdemojump )
|
||||||
{
|
{
|
||||||
if ( !is_true( self.fx_initialized ) )
|
if ( !is_true( self.fx_initialized ) )
|
@ -9,12 +9,13 @@ precache()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::screecher_clientfields );
|
||||||
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
if ( getDvar( "mapname" ) == "zm_transit" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::screecher_clientfields );
|
clientscripts\mp\zombies\_callbacks::onfinalizeinitialization_callback( ::screecher_clientfields );
|
||||||
}
|
}
|
||||||
|
|
@ -35,6 +35,11 @@ precache_fx()
|
|||||||
level._effect["avogadro_health_low"] = loadfx( "maps/zombie/fx_zmb_avog_health_low" );
|
level._effect["avogadro_health_low"] = loadfx( "maps/zombie/fx_zmb_avog_health_low" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
precache();
|
||||||
|
}
|
||||||
|
|
||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
init_phase_anims();
|
init_phase_anims();
|
||||||
|
@ -19,6 +19,29 @@
|
|||||||
#include maps\mp\animscripts\zm_death;
|
#include maps\mp\animscripts\zm_death;
|
||||||
#include maps\mp\zombies\_zm_perks;
|
#include maps\mp\zombies\_zm_perks;
|
||||||
|
|
||||||
|
precache()
|
||||||
|
{
|
||||||
|
level._effect["brutus_flashlight"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_light" );
|
||||||
|
level._effect["brutus_spawn"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_spawn" );
|
||||||
|
level._effect["brutus_death"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_spawn" );
|
||||||
|
level._effect["brutus_teargas"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_gas" );
|
||||||
|
level._effect["brutus_lockdown"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_perk_lock" );
|
||||||
|
level._effect["brutus_lockdown_sm"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_perk_s_lock" );
|
||||||
|
level._effect["brutus_lockdown_lg"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_w_bench_lock" );
|
||||||
|
precachemodel( "c_zom_cellbreaker_helmet" );
|
||||||
|
precacheshellshock( "mp_radiation_high" );
|
||||||
|
precacheshellshock( "mp_radiation_med" );
|
||||||
|
precacheshellshock( "mp_radiation_low" );
|
||||||
|
precachestring( &"ZOMBIE_LOCKED_COST" );
|
||||||
|
precachestring( &"ZOMBIE_LOCKED_COST_2000" );
|
||||||
|
precachestring( &"ZOMBIE_LOCKED_COST_4000" );
|
||||||
|
precachestring( &"ZOMBIE_LOCKED_COST_6000" );
|
||||||
|
flag_init( "brutus_setup_complete" );
|
||||||
|
setdvar( "zombie_double_wide_checks", 1 );
|
||||||
|
registerclientfield( "actor", "helmet_off", 9000, 1, "int" );
|
||||||
|
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int" );
|
||||||
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
level._effect["brutus_flashlight"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_light" );
|
level._effect["brutus_flashlight"] = loadfx( "maps/zombie_alcatraz/fx_alcatraz_brut_light" );
|
||||||
@ -118,8 +141,84 @@ main()
|
|||||||
setup_devgui();
|
setup_devgui();
|
||||||
#/
|
#/
|
||||||
level.custom_perk_validation = ::check_perk_machine_valid;
|
level.custom_perk_validation = ::check_perk_machine_valid;
|
||||||
//level.custom_craftable_validation = ::check_craftable_table_valid;
|
level.custom_craftable_validation = ::check_craftable_table_valid;
|
||||||
//level.custom_plane_validation = ::check_plane_valid;
|
level.custom_plane_validation = ::check_plane_valid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
level.brutus_spawners = getentarray( "brutus_zombie_spawner", "script_noteworthy" );
|
||||||
|
|
||||||
|
if ( level.brutus_spawners.size == 0 )
|
||||||
|
return;
|
||||||
|
|
||||||
|
array_thread( level.brutus_spawners, ::add_spawn_function, ::brutus_prespawn );
|
||||||
|
|
||||||
|
for ( i = 0; i < level.brutus_spawners.size; i++ )
|
||||||
|
{
|
||||||
|
level.brutus_spawners[i].is_enabled = 1;
|
||||||
|
level.brutus_spawners[i].script_forcespawn = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
level.brutus_spawn_positions = getstructarray( "brutus_location", "script_noteworthy" );
|
||||||
|
level thread setup_interaction_matrix();
|
||||||
|
level.sndbrutusistalking = 0;
|
||||||
|
level.brutus_health = 500;
|
||||||
|
level.brutus_health_increase = 1000;
|
||||||
|
level.brutus_round_count = 0;
|
||||||
|
level.brutus_last_spawn_round = 0;
|
||||||
|
level.brutus_count = 0;
|
||||||
|
level.brutus_max_count = 1;
|
||||||
|
level.brutus_damage_percent = 0.1;
|
||||||
|
level.brutus_helmet_shots = 5;
|
||||||
|
level.brutus_team_points_for_death = 500;
|
||||||
|
level.brutus_player_points_for_death = 250;
|
||||||
|
level.brutus_points_for_helmet = 250;
|
||||||
|
level.brutus_alarm_chance = 100;
|
||||||
|
level.brutus_min_alarm_chance = 100;
|
||||||
|
level.brutus_alarm_chance_increment = 10;
|
||||||
|
level.brutus_max_alarm_chance = 200;
|
||||||
|
level.brutus_min_round_fq = 4;
|
||||||
|
level.brutus_max_round_fq = 7;
|
||||||
|
level.brutus_reset_dist_sq = 262144;
|
||||||
|
level.brutus_aggro_dist_sq = 16384;
|
||||||
|
level.brutus_aggro_earlyout = 12;
|
||||||
|
level.brutus_blocker_pieces_req = 1;
|
||||||
|
level.brutus_zombie_per_round = 1;
|
||||||
|
level.brutus_players_in_zone_spawn_point_cap = 120;
|
||||||
|
level.brutus_teargas_duration = 7;
|
||||||
|
level.player_teargas_duration = 2;
|
||||||
|
level.brutus_teargas_radius = 64;
|
||||||
|
level.num_pulls_since_brutus_spawn = 0;
|
||||||
|
level.brutus_min_pulls_between_box_spawns = 4;
|
||||||
|
level.brutus_explosive_damage_for_helmet_pop = 1500;
|
||||||
|
level.brutus_explosive_damage_increase = 600;
|
||||||
|
level.brutus_failed_paths_to_teleport = 4;
|
||||||
|
level.brutus_do_prologue = 1;
|
||||||
|
level.brutus_min_spawn_delay = 10.0;
|
||||||
|
level.brutus_max_spawn_delay = 60.0;
|
||||||
|
level.brutus_respawn_after_despawn = 1;
|
||||||
|
level.brutus_in_grief = 0;
|
||||||
|
|
||||||
|
if ( getdvar( #"ui_gametype" ) == "zgrief" )
|
||||||
|
level.brutus_in_grief = 1;
|
||||||
|
|
||||||
|
level.brutus_shotgun_damage_mod = 1.5;
|
||||||
|
level.brutus_custom_goalradius = 48;
|
||||||
|
registerclientfield( "actor", "helmet_off", 9000, 1, "int" );
|
||||||
|
registerclientfield( "actor", "brutus_lock_down", 9000, 1, "int" );
|
||||||
|
level thread maps\mp\zombies\_zm_ai_brutus::brutus_spawning_logic();
|
||||||
|
|
||||||
|
if ( !level.brutus_in_grief )
|
||||||
|
{
|
||||||
|
level thread maps\mp\zombies\_zm_ai_brutus::get_brutus_interest_points();
|
||||||
|
/#
|
||||||
|
setup_devgui();
|
||||||
|
#/
|
||||||
|
level.custom_perk_validation = maps\mp\zombies\_zm_ai_brutus::check_perk_machine_valid;
|
||||||
|
level.custom_craftable_validation = maps\mp\zombies\_zm_ai_brutus::check_craftable_table_valid;
|
||||||
|
level.custom_plane_validation = maps\mp\zombies\_zm_ai_brutus::check_plane_valid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +40,69 @@ precache_fx()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
precache_fx();
|
||||||
|
maps\mp\zombies\_zm_ai_ghost_ffotd::ghost_init_start();
|
||||||
|
register_client_fields();
|
||||||
|
flag_init( "spawn_ghosts" );
|
||||||
|
|
||||||
|
if ( !init_ghost_spawners() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
level.slowgun_reset_anim_func = getFunction( "maps/mp/zombies/_zm_weap_slowgun", "reset_anim" );
|
||||||
|
level.slowgun_set_anim_rate_func = getFunction( "maps/mp/zombies/_zm_weap_slowgun", "set_anim_rate" );
|
||||||
|
level.slowgun_zombie_slow_for_time = getFunction( "maps/mp/zombies/_zm_weap_slowgun", "zombie_slow_for_time" );
|
||||||
|
level.time_bomb_get_time_bomb_saved_round_type = getFunction( "maps/mp/zombies/_zm_weap_time_bomb", "get_time_bomb_saved_round_type" );
|
||||||
|
level.time_bomb_time_bomb_add_custom_func_global_save = getFunction( "maps/mp/zombies/_zm_weap_time_bomb", "time_bomb_add_custom_func_global_save" );
|
||||||
|
level.time_bomb_time_bomb_add_custom_func_global_restore = getFunction( "maps/mp/zombies/_zm_weap_time_bomb", "time_bomb_add_custom_func_global_restore" );
|
||||||
|
level.time_bomb_register_time_bomb_enemy_save_filter = getFunction( "maps/mp/zombies/_zm_weap_time_bomb", "register_time_bomb_enemy_save_filter" );
|
||||||
|
level.time_bomb_register_time_bomb_enemy = getFunction( "maps/mp/zombies/_zm_weap_time_bomb", "register_time_bomb_enemy" );
|
||||||
|
|
||||||
|
init_ghost_zone();
|
||||||
|
init_ghost_sounds();
|
||||||
|
init_ghost_script_move_path_data();
|
||||||
|
level.zombie_ai_limit_ghost = 4;
|
||||||
|
level.zombie_ai_limit_ghost_per_player = 1;
|
||||||
|
level.zombie_ghost_count = 0;
|
||||||
|
level.ghost_health = 100;
|
||||||
|
level.zombie_ghost_round_states = spawnstruct();
|
||||||
|
level.zombie_ghost_round_states.any_player_in_ghost_zone = 0;
|
||||||
|
level.zombie_ghost_round_states.active_zombie_locations = [];
|
||||||
|
level.is_ghost_round_started = ::is_ghost_round_started;
|
||||||
|
level.zombie_ghost_round_states.is_started = 0;
|
||||||
|
level.zombie_ghost_round_states.is_first_ghost_round_finished = 0;
|
||||||
|
level.zombie_ghost_round_states.current_ghost_round_number = 0;
|
||||||
|
level.zombie_ghost_round_states.next_ghost_round_number = 0;
|
||||||
|
level.zombie_ghost_round_states.presentation_stage_1_started = 0;
|
||||||
|
level.zombie_ghost_round_states.presentation_stage_2_started = 0;
|
||||||
|
level.zombie_ghost_round_states.presentation_stage_3_started = 0;
|
||||||
|
level.zombie_ghost_round_states.is_teleporting = 0;
|
||||||
|
level.zombie_ghost_round_states.round_count = 0;
|
||||||
|
level thread ghost_round_presentation_think();
|
||||||
|
|
||||||
|
if ( isdefined( level.ghost_round_think_override_func ) )
|
||||||
|
level thread [[ level.ghost_round_think_override_func ]]();
|
||||||
|
else
|
||||||
|
level thread ghost_round_think();
|
||||||
|
|
||||||
|
level thread player_in_ghost_zone_monitor();
|
||||||
|
|
||||||
|
if ( isdefined( level.ghost_zone_spawning_think_override_func ) )
|
||||||
|
level thread [[ level.ghost_zone_spawning_think_override_func ]]();
|
||||||
|
else
|
||||||
|
level thread ghost_zone_spawning_think();
|
||||||
|
|
||||||
|
level thread ghost_vox_think();
|
||||||
|
init_time_bomb_ghost_rounds();
|
||||||
|
/#
|
||||||
|
level.force_no_ghost = 0;
|
||||||
|
level.ghost_devgui_toggle_no_ghost = ::devgui_toggle_no_ghost;
|
||||||
|
level.ghost_devgui_warp_to_mansion = ::devgui_warp_to_mansion;
|
||||||
|
#/
|
||||||
|
maps\mp\zombies\_zm_ai_ghost_ffotd::ghost_init_end();
|
||||||
|
}
|
||||||
|
|
||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
maps\mp\zombies\_zm_ai_ghost_ffotd::ghost_init_start();
|
maps\mp\zombies\_zm_ai_ghost_ffotd::ghost_init_start();
|
||||||
|
@ -45,6 +45,19 @@ precache()
|
|||||||
precacheshellshock( "lava_small" );
|
precacheshellshock( "lava_small" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
register_clientfields()
|
||||||
|
{
|
||||||
|
registerclientfield( "actor", "mechz_fx", 14000, 12, "int" );
|
||||||
|
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int" );
|
||||||
|
registerclientfield( "actor", "anim_rate", 14000, 2, "float" );
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
register_clientfields();
|
||||||
|
precache();
|
||||||
|
}
|
||||||
|
|
||||||
#using_animtree("mechz_claw");
|
#using_animtree("mechz_claw");
|
||||||
|
|
||||||
init()
|
init()
|
||||||
@ -1295,7 +1308,12 @@ mechz_find_flesh()
|
|||||||
self.ai_state = "tracking_tank";
|
self.ai_state = "tracking_tank";
|
||||||
self.goalradius = level.mechz_custom_goalradius;
|
self.goalradius = level.mechz_custom_goalradius;
|
||||||
self.custom_goalradius_override = 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 );
|
func = getFunction( "maps/mp/zm_tomb_tank", "get_closest_mechz_tag_on_tank" );
|
||||||
|
closest_tank_tag = undefined;
|
||||||
|
if ( isDefined( func ) )
|
||||||
|
{
|
||||||
|
closest_tank_tag = level.vh_tank [[ func ]]( self, self.origin );
|
||||||
|
}
|
||||||
|
|
||||||
if ( !isdefined( closest_tank_tag ) )
|
if ( !isdefined( closest_tank_tag ) )
|
||||||
{
|
{
|
||||||
@ -1319,7 +1337,7 @@ mechz_find_flesh()
|
|||||||
self setgoalpos( self.goal_pos );
|
self setgoalpos( self.goal_pos );
|
||||||
self waittill_any_or_timeout( 0.5, "goal", "bad_path" );
|
self waittill_any_or_timeout( 0.5, "goal", "bad_path" );
|
||||||
|
|
||||||
if ( !player entity_on_tank() )
|
if ( isDefined( entity_on_tank_func ) && !player [[ entity_on_tank_func ]]() )
|
||||||
{
|
{
|
||||||
/#
|
/#
|
||||||
if ( getdvarint( #"_id_E7121222" ) > 1 )
|
if ( getdvarint( #"_id_E7121222" ) > 1 )
|
||||||
@ -1666,14 +1684,15 @@ mechz_set_locomotion_speed()
|
|||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self.prev_move_speed = self.zombie_move_speed;
|
self.prev_move_speed = self.zombie_move_speed;
|
||||||
|
|
||||||
|
entity_on_tank_func = getFunction( "maps/mp/zm_tomb_tank", "entity_on_tank" );
|
||||||
if ( !isdefined( self.favoriteenemy ) )
|
if ( !isdefined( self.favoriteenemy ) )
|
||||||
self.zombie_move_speed = "walk";
|
self.zombie_move_speed = "walk";
|
||||||
else if ( isdefined( self.force_run ) && self.force_run )
|
else if ( isdefined( self.force_run ) && self.force_run )
|
||||||
self.zombie_move_speed = "run";
|
self.zombie_move_speed = "run";
|
||||||
else if ( isdefined( self.force_sprint ) && self.force_sprint )
|
else if ( isdefined( self.force_sprint ) && self.force_sprint )
|
||||||
self.zombie_move_speed = "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" ) )
|
else if ( isDefined( entity_on_tank_func ) && isdefined( self.favoriteenemy ) && self.favoriteenemy [[ entity_on_tank_func ]]() && isdefined( level.vh_tank ) && level.vh_tank ent_flag( "tank_activated" ) )
|
||||||
// self.zombie_move_speed = "run";
|
self.zombie_move_speed = "run";
|
||||||
else if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) > level.mechz_dist_for_sprint )
|
else if ( isdefined( self.favoriteenemy ) && distancesquared( self.origin, self.favoriteenemy.origin ) > level.mechz_dist_for_sprint )
|
||||||
self.zombie_move_speed = "run";
|
self.zombie_move_speed = "run";
|
||||||
else if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) )
|
else if ( !( isdefined( self.has_powerplant ) && self.has_powerplant ) )
|
||||||
|
@ -28,6 +28,18 @@ precache()
|
|||||||
level._effect["screecher_death"] = loadfx( "maps/zombie/fx_zmb_screech_death_ash" );
|
level._effect["screecher_death"] = loadfx( "maps/zombie/fx_zmb_screech_death_ash" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
register_clientfields()
|
||||||
|
{
|
||||||
|
maps\mp\_visionset_mgr::vsmgr_register_info( "overlay", "zm_ai_screecher_blur", 1, level.vsmgr_prio_overlay_zm_ai_screecher_blur, 1, 1, maps\mp\_visionset_mgr::vsmgr_timeout_lerp_thread_per_player, 0 );
|
||||||
|
registerclientfield( "actor", "render_third_person", 1, 1, "int" );
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
register_clientfields();
|
||||||
|
precache();
|
||||||
|
}
|
||||||
|
|
||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
level.screecher_spawners = getentarray( "screecher_zombie_spawner", "script_noteworthy" );
|
level.screecher_spawners = getentarray( "screecher_zombie_spawner", "script_noteworthy" );
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
main()
|
|
||||||
{
|
|
||||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
maps\mp\zombies\_zm_ai_avogadro::precache();
|
|
||||||
}
|
|
||||||
|
|
||||||
init()
|
|
||||||
{
|
|
||||||
if ( getDvar( "mapname" ) == "zm_transit" && getDvar( "g_gametype" ) == "zclassic" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
maps\mp\zombies\_zm_ai_avogadro::init();
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
main()
|
|
||||||
{
|
|
||||||
if ( getDvar( "mapname" ) == "zm_prison" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
maps\mp\zombies\_zm_ai_brutus::main();
|
|
||||||
}
|
|
||||||
|
|
||||||
init()
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,102 +0,0 @@
|
|||||||
#include maps\mp\zombies\_zm_ai_ghost;
|
|
||||||
#include maps\mp\zombies\_zm_utility;
|
|
||||||
#include maps\mp\_utility;
|
|
||||||
#include common_scripts\utility;
|
|
||||||
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
init()
|
|
||||||
{
|
|
||||||
if ( getDvar( "mapname" ) == "zm_buried" && getDvar( "g_gametype" ) == "zclassic" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//level thread ghost_zone_spawning_think();
|
|
||||||
}
|
|
||||||
|
|
||||||
ghost_zone_spawning_think()
|
|
||||||
{
|
|
||||||
level endon( "intermission" );
|
|
||||||
|
|
||||||
if ( isdefined( level.intermission ) && level.intermission )
|
|
||||||
return;
|
|
||||||
|
|
||||||
if ( !isdefined( level.female_ghost_spawner ) )
|
|
||||||
{
|
|
||||||
/#
|
|
||||||
assertmsg( "No female ghost spawner in the map. Check to see if the zone is active and if it's pointing to spawners." );
|
|
||||||
#/
|
|
||||||
}
|
|
||||||
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
if ( level.zombie_ghost_count >= level.zombie_ai_limit_ghost )
|
|
||||||
{
|
|
||||||
wait 0.1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( level.zombie_spawn_locations.size <= 0 )
|
|
||||||
{
|
|
||||||
wait 0.1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
spawn_point = random( level.zombie_spawn_locations );
|
|
||||||
|
|
||||||
if ( !isdefined( spawn_point ) )
|
|
||||||
{
|
|
||||||
print( "No spawn point" );
|
|
||||||
wait 0.1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/#
|
|
||||||
if ( isdefined( level.force_no_ghost ) && level.force_no_ghost )
|
|
||||||
{
|
|
||||||
wait 0.1;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
#/
|
|
||||||
ghost_ai = undefined;
|
|
||||||
|
|
||||||
if ( isdefined( level.female_ghost_spawner ) )
|
|
||||||
ghost_ai = spawn_zombie( level.female_ghost_spawner, level.female_ghost_spawner.targetname, spawn_point );
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print( "No spawner" );
|
|
||||||
/#
|
|
||||||
assertmsg( "No female ghost spawner in the map." );
|
|
||||||
#/
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( isdefined( ghost_ai ) )
|
|
||||||
{
|
|
||||||
ghost_ai setclientfield( "ghost_fx", 3 );
|
|
||||||
ghost_ai.spawn_point = spawn_point;
|
|
||||||
ghost_ai.is_ghost = 1;
|
|
||||||
ghost_ai.is_spawned_in_ghost_zone = 1;
|
|
||||||
ghost_ai.find_target = 1;
|
|
||||||
level.zombie_ghost_count++;
|
|
||||||
/#
|
|
||||||
ghost_print( "ghost total " + level.zombie_ghost_count );
|
|
||||||
#/
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/#
|
|
||||||
assertmsg( "Female ghost: failed spawn" );
|
|
||||||
#/
|
|
||||||
}
|
|
||||||
|
|
||||||
wait 0.1;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
#include maps\mp\zombies\_zm_utility;
|
|
||||||
#include common_scripts\utility;
|
|
||||||
#include maps\mp\_utility;
|
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
register_clientfields()
|
|
||||||
{
|
|
||||||
registerclientfield( "actor", "mechz_fx", 14000, 12, "int" );
|
|
||||||
registerclientfield( "toplayer", "mechz_grab", 14000, 1, "int" );
|
|
||||||
registerclientfield( "actor", "anim_rate", 14000, 2, "float" );
|
|
||||||
}
|
|
||||||
|
|
||||||
command_thread()
|
|
||||||
{
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
level waittill( "say", message, player, is_hidden );
|
|
||||||
|
|
||||||
if ( message == "print" )
|
|
||||||
{
|
|
||||||
player iPrintLn( player.origin );
|
|
||||||
}
|
|
||||||
else if ( message == "zone" )
|
|
||||||
{
|
|
||||||
player iPrintLn( player maps\mp\zombies\_zm_zonemgr::get_player_zone() );
|
|
||||||
}
|
|
||||||
else if ( message == "points" )
|
|
||||||
{
|
|
||||||
player.score = 1000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
on_player_connect()
|
|
||||||
{
|
|
||||||
while ( true )
|
|
||||||
{
|
|
||||||
level waittill( "connected", player );
|
|
||||||
player thread zone_hud();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
zone_hud()
|
|
||||||
{
|
|
||||||
self endon("disconnect");
|
|
||||||
|
|
||||||
x = 5;
|
|
||||||
y = -119;
|
|
||||||
if (level.script == "zm_buried")
|
|
||||||
{
|
|
||||||
y -= 25;
|
|
||||||
}
|
|
||||||
else if (level.script == "zm_tomb")
|
|
||||||
{
|
|
||||||
y -= 60;
|
|
||||||
}
|
|
||||||
|
|
||||||
zone_hud = newClientHudElem(self);
|
|
||||||
zone_hud.alignx = "left";
|
|
||||||
zone_hud.aligny = "middle";
|
|
||||||
zone_hud.horzalign = "user_left";
|
|
||||||
zone_hud.vertalign = "user_bottom";
|
|
||||||
zone_hud.x += x;
|
|
||||||
zone_hud.y += y;
|
|
||||||
zone_hud.fontscale = 1.4;
|
|
||||||
zone_hud.alpha = 0;
|
|
||||||
zone_hud.color = ( 1, 1, 1 );
|
|
||||||
zone_hud.hidewheninmenu = 1;
|
|
||||||
zone_hud.foreground = 1;
|
|
||||||
|
|
||||||
zone_hud endon("death");
|
|
||||||
|
|
||||||
zone_hud thread destroy_on_intermission();
|
|
||||||
|
|
||||||
flag_wait( "initial_blackscreen_passed" );
|
|
||||||
|
|
||||||
zone = self get_current_zone();
|
|
||||||
prev_zone = zone;
|
|
||||||
zone_hud settext(zone);
|
|
||||||
zone_hud.alpha = 1;
|
|
||||||
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
zone = self get_current_zone();
|
|
||||||
|
|
||||||
if(prev_zone != zone)
|
|
||||||
{
|
|
||||||
prev_zone = zone;
|
|
||||||
|
|
||||||
zone_hud fadeovertime(0.25);
|
|
||||||
zone_hud.alpha = 0;
|
|
||||||
wait 0.25;
|
|
||||||
|
|
||||||
zone_hud settext(zone);
|
|
||||||
|
|
||||||
zone_hud fadeovertime(0.25);
|
|
||||||
zone_hud.alpha = 1;
|
|
||||||
wait 0.25;
|
|
||||||
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
destroy_on_intermission()
|
|
||||||
{
|
|
||||||
self endon("death");
|
|
||||||
|
|
||||||
level waittill("intermission");
|
|
||||||
|
|
||||||
if(isDefined(self.elemtype) && self.elemtype == "bar")
|
|
||||||
{
|
|
||||||
self.bar destroy();
|
|
||||||
self.barframe destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
self destroy();
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
register_clientfields()
|
|
||||||
{
|
|
||||||
maps\mp\_visionset_mgr::vsmgr_register_info( "overlay", "zm_ai_screecher_blur", 1, level.vsmgr_prio_overlay_zm_ai_screecher_blur, 1, 1, maps\mp\_visionset_mgr::vsmgr_timeout_lerp_thread_per_player, 0 );
|
|
||||||
registerclientfield( "actor", "render_third_person", 1, 1, "int" );
|
|
||||||
}
|
|
38
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.csc
Normal file
38
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.csc
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
level.script = toLower( getDvar( "mapname" ) );
|
||||||
|
level.gametype = toLower( getDvar( "g_gametype" ) );
|
||||||
|
|
||||||
|
level.ai_data = [];
|
||||||
|
level.ai_data[ "avogadro" ] = spawnStruct();
|
||||||
|
level.ai_data[ "avogadro" ].main = clientscripts\mp\zombies\_zm_ai_avogadro::main;
|
||||||
|
level.ai_data[ "avogadro" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||||
|
level.ai_data[ "screecher" ] = spawnStruct();
|
||||||
|
level.ai_data[ "screecher" ].main = clientscripts\mp\zombies\_zm_ai_screecher::main;
|
||||||
|
level.ai_data[ "screecher" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||||
|
level.ai_data[ "ghost" ] = spawnStruct();
|
||||||
|
level.ai_data[ "ghost" ].main = clientscripts\mp\zombies\_zm_ai_ghost::main;
|
||||||
|
level.ai_data[ "ghost" ].should_execute = !( level.script == "zm_buried" && level.gametype == "zclassic" );
|
||||||
|
level.ai_data[ "brutus" ] = spawnStruct();
|
||||||
|
level.ai_data[ "brutus" ].main = clientscripts\mp\zombies\_zm_ai_brutus::main;
|
||||||
|
level.ai_data[ "brutus" ].should_execute = level.script != "zm_prison";
|
||||||
|
level.ai_data[ "mechz" ] = spawnStruct();
|
||||||
|
level.ai_data[ "mechz" ].main = clientscripts\mp\zombies\_zm_ai_mechz::main;
|
||||||
|
level.ai_data[ "mechz" ].should_execute = level.script != "zm_tomb";
|
||||||
|
|
||||||
|
keys = getArrayKeys( level.ai_data );
|
||||||
|
for ( j = 0; j < keys2.size; j++ )
|
||||||
|
{
|
||||||
|
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
{
|
||||||
|
level [[ level.ai_data[ keys[ j ] ].main ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
165
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.gsc
Normal file
165
zm_ai_pack/scripts/zm/zm_ai_pack_mod_main.gsc
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
level.script = toLower( getDvar( "mapname" ) );
|
||||||
|
level.gametype = toLower( getDvar( "g_gametype" ) );
|
||||||
|
|
||||||
|
level.ai_home_maps = [];
|
||||||
|
level.ai_home_maps[ "avogadro" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "avogadro" ].main = maps\mp\zombies\_zm_ai_avogadro::main;
|
||||||
|
level.ai_home_maps[ "avogadro" ].init = maps\mp\zombies\_zm_ai_avogadro::init;
|
||||||
|
level.ai_home_maps[ "avogadro" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||||
|
level.ai_home_maps[ "screecher" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "screecher" ].main = maps\mp\zombies\_zm_ai_screecher::main;
|
||||||
|
level.ai_home_maps[ "screecher" ].init = maps\mp\zombies\_zm_ai_screecher::init;
|
||||||
|
level.ai_home_maps[ "screecher" ].should_execute = !( level.script == "zm_transit" && level.gametype == "zclassic" );
|
||||||
|
level.ai_home_maps[ "ghost" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "ghost" ].main = maps\mp\zombies\_zm_ai_ghost::main;
|
||||||
|
level.ai_home_maps[ "ghost" ].should_execute = !( level.script == "zm_buried" && level.gametype == "zclassic" );
|
||||||
|
level.ai_home_maps[ "brutus" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "brutus" ].main = maps\mp\zombies\_zm_ai_brutus::main;
|
||||||
|
level.ai_home_maps[ "brutus" ].should_execute = level.script != "zm_prison";
|
||||||
|
level.ai_home_maps[ "mechz" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "mechz" ].main = maps\mp\zombies\_zm_ai_mechz::main;
|
||||||
|
level.ai_home_maps[ "mechz" ].init = maps\mp\zombies\_zm_ai_mechz::init;
|
||||||
|
level.ai_home_maps[ "mechz" ].should_execute = level.script != "zm_tomb";
|
||||||
|
level.ai_home_maps[ "zombie_dog" ] = spawnStruct();
|
||||||
|
level.ai_home_maps[ "zombie_dog" ].main = maps\mp\zombies\_zm_ai_dogs::init;
|
||||||
|
level.ai_home_maps[ "zombie_dog" ].init = maps\mp\zombies\_zm_ai_dogs::enable_dog_rounds;
|
||||||
|
level.ai_home_maps[ "zombie_dog" ].should_execute = !( level.gametype == "zstandard" && getGametypeSetting( "allowDogs" ) == 1 );
|
||||||
|
|
||||||
|
keys = getArrayKeys( level.ai_data );
|
||||||
|
for ( j = 0; j < keys2.size; j++ )
|
||||||
|
{
|
||||||
|
if ( isDefined( level.ai_data[ keys[ j ] ].main ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
{
|
||||||
|
level [[ level.ai_data[ keys[ j ] ].main ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
level thread command_thread();
|
||||||
|
level thread on_player_connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
|
{
|
||||||
|
keys = getArrayKeys( level.ai_data );
|
||||||
|
for ( j = 0; j < keys2.size; j++ )
|
||||||
|
{
|
||||||
|
if ( isDefined( level.ai_data[ keys[ j ] ].init ) && isDefined( level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
&& level.ai_data[ keys[ j ] ].should_execute )
|
||||||
|
{
|
||||||
|
level [[ level.ai_data[ keys[ j ] ].init ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
command_thread()
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
level waittill( "say", message, player, is_hidden );
|
||||||
|
|
||||||
|
if ( message == "print" )
|
||||||
|
{
|
||||||
|
player iPrintLn( player.origin );
|
||||||
|
}
|
||||||
|
else if ( message == "points" )
|
||||||
|
{
|
||||||
|
player.score = 1000000;
|
||||||
|
}
|
||||||
|
else if ( message == "setdoground" )
|
||||||
|
{
|
||||||
|
level.next_dog_round = level.round_number + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
on_player_connect()
|
||||||
|
{
|
||||||
|
while ( true )
|
||||||
|
{
|
||||||
|
level waittill( "connected", player );
|
||||||
|
player thread zone_hud();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
zone_hud()
|
||||||
|
{
|
||||||
|
self endon("disconnect");
|
||||||
|
|
||||||
|
x = 5;
|
||||||
|
y = -119;
|
||||||
|
if (level.script == "zm_buried")
|
||||||
|
{
|
||||||
|
y -= 25;
|
||||||
|
}
|
||||||
|
else if (level.script == "zm_tomb")
|
||||||
|
{
|
||||||
|
y -= 60;
|
||||||
|
}
|
||||||
|
|
||||||
|
zone_hud = newClientHudElem(self);
|
||||||
|
zone_hud.alignx = "left";
|
||||||
|
zone_hud.aligny = "middle";
|
||||||
|
zone_hud.horzalign = "user_left";
|
||||||
|
zone_hud.vertalign = "user_bottom";
|
||||||
|
zone_hud.x += x;
|
||||||
|
zone_hud.y += y;
|
||||||
|
zone_hud.fontscale = 1.4;
|
||||||
|
zone_hud.alpha = 0;
|
||||||
|
zone_hud.color = ( 1, 1, 1 );
|
||||||
|
zone_hud.hidewheninmenu = 1;
|
||||||
|
zone_hud.foreground = 1;
|
||||||
|
|
||||||
|
zone_hud endon("death");
|
||||||
|
|
||||||
|
zone_hud thread destroy_on_intermission();
|
||||||
|
|
||||||
|
flag_wait( "initial_blackscreen_passed" );
|
||||||
|
|
||||||
|
zone = self get_current_zone();
|
||||||
|
prev_zone = zone;
|
||||||
|
zone_hud settext(zone);
|
||||||
|
zone_hud.alpha = 1;
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
zone = self get_current_zone();
|
||||||
|
|
||||||
|
if(prev_zone != zone)
|
||||||
|
{
|
||||||
|
prev_zone = zone;
|
||||||
|
|
||||||
|
zone_hud fadeovertime(0.25);
|
||||||
|
zone_hud.alpha = 0;
|
||||||
|
wait 0.25;
|
||||||
|
|
||||||
|
zone_hud settext(zone);
|
||||||
|
|
||||||
|
zone_hud fadeovertime(0.25);
|
||||||
|
zone_hud.alpha = 1;
|
||||||
|
wait 0.25;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy_on_intermission()
|
||||||
|
{
|
||||||
|
self endon("death");
|
||||||
|
|
||||||
|
level waittill("intermission");
|
||||||
|
|
||||||
|
if(isDefined(self.elemtype) && self.elemtype == "bar")
|
||||||
|
{
|
||||||
|
self.bar destroy();
|
||||||
|
self.barframe destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
self destroy();
|
||||||
|
}
|
@ -1,20 +0,0 @@
|
|||||||
main()
|
|
||||||
{
|
|
||||||
if ( getDvar( "g_gametype" ) == "zstandard" )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
maps\mp\zombies\_zm_ai_dogs::init();
|
|
||||||
}
|
|
||||||
|
|
||||||
init()
|
|
||||||
{
|
|
||||||
if ( getGametypeSetting( "allowDogs" ) == 1 )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
maps\mp\zombies\_zm_ai_dogs::enable_dog_rounds();
|
|
||||||
|
|
||||||
wait 1;
|
|
||||||
level.next_dog_round = 2;
|
|
||||||
}
|
|
@ -78,10 +78,6 @@ material,mc/mtl_c_zom_buried_ghost_woman_hair
|
|||||||
xmodel,c_zom_zombie_buried_ghost_woman_fb
|
xmodel,c_zom_zombie_buried_ghost_woman_fb
|
||||||
script,character/clientscripts/c_zom_zombie_buried_ghost_woman.csc
|
script,character/clientscripts/c_zom_zombie_buried_ghost_woman.csc
|
||||||
script,aitype/clientscripts/zm_buried_ghost_female.csc
|
script,aitype/clientscripts/zm_buried_ghost_female.csc
|
||||||
script,maps/mp/zombies/_zm_ai_ghost.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_ghost_ffotd.gsc
|
|
||||||
script,scripts/zm/_zm_ai_ghost.csc
|
|
||||||
script,scripts/zm/ghost.gsc
|
|
||||||
|
|
||||||
fx,maps/zombie_buried/fx_buried_ghost_impact
|
fx,maps/zombie_buried/fx_buried_ghost_impact
|
||||||
material,gfx_fxt_bio_bloodtrail
|
material,gfx_fxt_bio_bloodtrail
|
||||||
|
@ -32,3 +32,27 @@ include,transit/zm_transit_screecher
|
|||||||
include,transit/zombie_dog
|
include,transit/zombie_dog
|
||||||
|
|
||||||
soundbank,mod.all
|
soundbank,mod.all
|
||||||
|
|
||||||
|
script,maps/mp/zombies/_zm_ai_ghost.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_ghost_ffotd.gsc
|
||||||
|
script,clientscripts/mp/zombies/_zm_ai_ghost.csc
|
||||||
|
|
||||||
|
script,maps/mp/zombies/_zm_ai_brutus.gsc
|
||||||
|
script,clientscripts/mp/zombies/_zm_ai_brutus.csc
|
||||||
|
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz_ft.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz_ffotd.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz_dev.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz_claw.gsc
|
||||||
|
script,maps/mp/zombies/_zm_ai_mechz_booster.gsc
|
||||||
|
script,clientscripts/mp/zombies/_zm_ai_mechz.csc
|
||||||
|
|
||||||
|
script,maps/mp/zombies/_zm_ai_avogadro.gsc
|
||||||
|
script,clientscripts/mp/zombies/_zm_ai_avogadro.csc
|
||||||
|
|
||||||
|
script,maps/mp/zombies/_zm_ai_screecher.gsc
|
||||||
|
script,clientscripts/mp/zombies/_zm_ai_screecher.csc
|
||||||
|
|
||||||
|
script,scripts/zm/zm_ai_pack_mod_main.csc
|
||||||
|
script,scripts/zm/zm_ai_pack_mod_main.gsc
|
@ -95,7 +95,3 @@ material,hud_willy_pete
|
|||||||
image,hud_obit_tact_grenade
|
image,hud_obit_tact_grenade
|
||||||
material,hud_obit_tact_grenade
|
material,hud_obit_tact_grenade
|
||||||
weapon,willy_pete_zm
|
weapon,willy_pete_zm
|
||||||
|
|
||||||
script,scripts/zm/_zm_ai_brutus.csc
|
|
||||||
script,maps/mp/zombies/_zm_ai_brutus.gsc
|
|
||||||
script,scripts/zm/brutus.gsc
|
|
@ -106,14 +106,6 @@ material,mc/mtl_c_zom_german_soldier_upper1
|
|||||||
xmodel,c_zom_mech_body
|
xmodel,c_zom_mech_body
|
||||||
script,character/clientscripts/c_zom_dlc_mech.csc
|
script,character/clientscripts/c_zom_dlc_mech.csc
|
||||||
script,aitype/clientscripts/zm_tomb_mech_zombie.csc
|
script,aitype/clientscripts/zm_tomb_mech_zombie.csc
|
||||||
script,scripts/zm/_zm_ai_mechz.csc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz_ft.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz_ffotd.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz_dev.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz_claw.gsc
|
|
||||||
script,maps/mp/zombies/_zm_ai_mechz_booster.gsc
|
|
||||||
script,scripts/zm/mechz.gsc
|
|
||||||
|
|
||||||
fx,maps/zombie_tomb/fx_tomb_mech_death
|
fx,maps/zombie_tomb/fx_tomb_mech_death
|
||||||
material,gfx_fxt_smk_light_old_z10
|
material,gfx_fxt_smk_light_old_z10
|
||||||
|
@ -117,7 +117,3 @@ material,gfx_fxt_light_flare_halogen_vm
|
|||||||
fx,maps/zombie/fx_zmb_avog_ascend_aerial
|
fx,maps/zombie/fx_zmb_avog_ascend_aerial
|
||||||
fx,maps/zombie/fx_zmb_avog_descend
|
fx,maps/zombie/fx_zmb_avog_descend
|
||||||
fx,maps/zombie/fx_zmb_avog_phase_trail
|
fx,maps/zombie/fx_zmb_avog_phase_trail
|
||||||
|
|
||||||
script,scripts/zm/avogadro.gsc
|
|
||||||
script,scripts/zm/_zm_ai_avogadro.csc
|
|
||||||
script,maps/mp/zombies/_zm_ai_avogadro.gsc
|
|
@ -117,7 +117,3 @@ image,~-gp6_zm_screecher_hole_p2_c
|
|||||||
image,~-gp6_zm_screecher_hole_p3_c
|
image,~-gp6_zm_screecher_hole_p3_c
|
||||||
material,mc/mtl_p6_zm_screecher_hole_p
|
material,mc/mtl_p6_zm_screecher_hole_p
|
||||||
xmodel,p6_zm_screecher_hole
|
xmodel,p6_zm_screecher_hole
|
||||||
|
|
||||||
script,scripts/zm/_zm_ai_screecher.csc
|
|
||||||
script,maps/mp/zombies/_zm_ai_screecher.gsc
|
|
||||||
script,scripts/zm/screecher.gsc
|
|
@ -72,5 +72,3 @@ image,fxt_exp_ember_omni3
|
|||||||
material,gfx_fxt_exp_ember_omni3
|
material,gfx_fxt_exp_ember_omni3
|
||||||
fx,maps/zombie/fx_zombie_dog_ash_trail
|
fx,maps/zombie/fx_zombie_dog_ash_trail
|
||||||
rawfile,shock/dog_bite.shock
|
rawfile,shock/dog_bite.shock
|
||||||
|
|
||||||
script,scripts/zm/zombie_dog.gsc
|
|
Loading…
x
Reference in New Issue
Block a user