mirror of
https://github.com/JezuzLizard/t6-fastfile-mods.git
synced 2025-07-10 18:17:53 -05:00
Fix panzer errors.
This commit is contained in:
@ -44,6 +44,7 @@ precache()
|
||||
|
||||
main()
|
||||
{
|
||||
precacherumble( "brutus_footsteps" );
|
||||
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" );
|
||||
@ -899,7 +900,6 @@ wait_on_box_alarm()
|
||||
while ( true )
|
||||
{
|
||||
self.zbarrier waittill( "randomization_done" );
|
||||
level notify( "spawn_brutus", 1 );
|
||||
level.num_pulls_since_brutus_spawn++;
|
||||
|
||||
if ( level.brutus_in_grief )
|
||||
|
@ -52,10 +52,31 @@ register_clientfields()
|
||||
registerclientfield( "actor", "anim_rate", 14000, 2, "float" );
|
||||
}
|
||||
|
||||
register_burn_overlay()
|
||||
{
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" || getDvar( "mapname" ) == "zm_transit" )
|
||||
{
|
||||
return;
|
||||
}
|
||||
level.zm_transit_burn_max_duration = 2;
|
||||
|
||||
if ( !isdefined( level.vsmgr_prio_overlay_zm_transit_burn ) )
|
||||
level.vsmgr_prio_overlay_zm_transit_burn = 20;
|
||||
|
||||
maps\mp\_visionset_mgr::vsmgr_register_info( "overlay", "zm_transit_burn", 14000, level.vsmgr_prio_overlay_zm_transit_burn, 15, 1, maps\mp\_visionset_mgr::vsmgr_duration_lerp_thread_per_player, 0 );
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
register_clientfields();
|
||||
level._effect["mechz_death"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_death" );
|
||||
level._effect["mechz_sparks"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_sparks" );
|
||||
level._effect["mechz_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_dmg_steam" );
|
||||
level._effect["mechz_claw"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_claw" );
|
||||
level._effect["mechz_claw_arm"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_source" );
|
||||
level._effect["mech_booster_landing"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_landing" );
|
||||
precache();
|
||||
scripts\zm\zm_ai_pack_mod_main::add_visionset_callback( ::register_burn_overlay );
|
||||
}
|
||||
|
||||
#using_animtree("mechz_claw");
|
||||
@ -335,7 +356,7 @@ mechz_round_tracker()
|
||||
while ( !isdefined( level.zombie_mechz_locations ) )
|
||||
wait 0.05;
|
||||
|
||||
if ( getDvar( "mapname" == "zm_tomb" ) )
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
flag_wait( "activate_zone_nml" );
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ mechz_flamethrower_initial_setup()
|
||||
|
||||
self.flamethrower_trigger = get_flamethrower_trigger();
|
||||
|
||||
if ( !isdefined( self.flamethrower_trigger ) )
|
||||
if ( !isdefined( self.flamethrower_trigger ) && getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
/#
|
||||
println( "Error: No free flamethrower triggers! Make sure you haven't spawned more than 4 mech zombies" );
|
||||
@ -39,9 +39,13 @@ mechz_flamethrower_initial_setup()
|
||||
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" );
|
||||
if ( getDvar( "mapname" ) == "zm_tomb" )
|
||||
{
|
||||
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();
|
||||
}
|
||||
|
||||
@ -188,10 +192,56 @@ mechz_stop_firing_watcher()
|
||||
self.firing = 0;
|
||||
}
|
||||
|
||||
// credit to shippuden1592 for the original code
|
||||
hit_by_flamethrower( mechz )
|
||||
{
|
||||
dist = distance(self.origin, mechz.origin);
|
||||
dirTo = self.origin - mechz.flamethrower_fx.origin;
|
||||
dirTo = vectornormalize(dirTo);
|
||||
mechDir = anglestoforward(mechz.flamethrower_fx.angles + (180,0,0));
|
||||
dot = vectordot(dirTo, mechDir);
|
||||
|
||||
if ( isDefined( self.is_zombie ) && self.is_zombie )
|
||||
{
|
||||
if ( dot < -0.85 && dist < 300 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if ( dot < -0.85 && is_player_valid( self ) && BulletTracePassed( mechz GetEye(), self GetEye(), false, undefined) && dist < 300 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
mech_flamethrower_fx()
|
||||
{
|
||||
self.flamethrower_fx = spawn("script_model", self GetTagOrigin("tag_flamethrower_FX"));
|
||||
self.flamethrower_fx setmodel("tag_origin");
|
||||
self.flamethrower_fx.angles = self GetTagAngles("tag_flamethrower_FX");
|
||||
self.flamethrower_fx linkto(self, "tag_flamethrower_FX");
|
||||
ft = self.flamethrower_fx;
|
||||
|
||||
self waittill( "death" );
|
||||
|
||||
if ( isDefined( ft ) )
|
||||
{
|
||||
ft unlink();
|
||||
ft delete();
|
||||
}
|
||||
}
|
||||
|
||||
mechz_watch_for_flamethrower_damage()
|
||||
{
|
||||
self endon( "death" );
|
||||
|
||||
if ( level.script != "zm_tomb" )
|
||||
{
|
||||
self thread mech_flamethrower_fx();
|
||||
}
|
||||
|
||||
entity_on_tank_func = getFunction( "maps/mp/zm_tomb_tank", "entity_on_tank" );
|
||||
|
||||
while ( true )
|
||||
@ -209,8 +259,11 @@ mechz_watch_for_flamethrower_damage()
|
||||
{
|
||||
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 ) )
|
||||
if ( isDefined( entity_on_tank_func ) && do_tank_sweep_auto_damage && players[i] [[ entity_on_tank_func ]]()
|
||||
|| isDefined( self.flamethrower_trigger ) && players[i] istouching( self.flamethrower_trigger ) || level.script != "zm_tomb" && players[ i ] hit_by_flamethrower( self ) )
|
||||
{
|
||||
players[i] thread player_flame_damage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -224,7 +277,8 @@ mechz_watch_for_flamethrower_damage()
|
||||
if ( isdefined( zombies[i].on_fire ) && zombies[i].on_fire )
|
||||
continue;
|
||||
|
||||
if ( isDefined( entity_on_tank_func ) && do_tank_sweep_auto_damage && zombies[i] [[ entity_on_tank_func ]]() || zombies[i] istouching( self.flamethrower_trigger ) )
|
||||
if ( isDefined( entity_on_tank_func ) && do_tank_sweep_auto_damage && zombies[i] [[ entity_on_tank_func ]]()
|
||||
|| isDefined( self.flamethrower_trigger ) && zombies[i] istouching( self.flamethrower_trigger ) || level.script != "zm_tomb" && zombies[ i ] hit_by_flamethrower( self ) )
|
||||
{
|
||||
zombies[i].on_fire = 1;
|
||||
zombies[i] promote_to_explosive();
|
||||
@ -492,7 +546,7 @@ mechz_do_flamethrower_attack( tank_sweep )
|
||||
self.last_flamethrower_time = gettime();
|
||||
self thread mechz_kill_flamethrower_watcher();
|
||||
|
||||
if ( !isdefined( self.flamethrower_trigger ) )
|
||||
if ( !isdefined( self.flamethrower_trigger ) && !isDefined( self.flamethrower_fx ) )
|
||||
self mechz_flamethrower_initial_setup();
|
||||
|
||||
n_nearby_enemies = 0;
|
||||
|
Reference in New Issue
Block a user