mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-07-08 12:58:13 -05:00
One Inch Punch: reset melee weapon if bled out in Giant Robot
This commit is contained in:
63
scripts/zm/replaced/_zm_weap_one_inch_punch.gsc
Normal file
63
scripts/zm/replaced/_zm_weap_one_inch_punch.gsc
Normal file
@ -0,0 +1,63 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
#include maps\mp\zombies\_zm_net;
|
||||
#include maps\mp\zombies\_zm_audio;
|
||||
#include maps\mp\zombies\_zm_spawner;
|
||||
#include maps\mp\zombies\_zm_weap_staff_fire;
|
||||
#include maps\mp\zombies\_zm_weap_staff_water;
|
||||
#include maps\mp\zombies\_zm_score;
|
||||
#include maps\mp\zombies\_zm_weap_staff_lightning;
|
||||
#include maps\mp\animscripts\zm_shared;
|
||||
#include maps\mp\zombies\_zm_weap_one_inch_punch;
|
||||
|
||||
monitor_melee_swipe()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
self notify( "stop_monitor_melee_swipe" );
|
||||
self endon( "stop_monitor_melee_swipe" );
|
||||
self endon( "bled_out" );
|
||||
self endon( "gr_head_forced_bleed_out" );
|
||||
|
||||
while ( true )
|
||||
{
|
||||
while ( !self ismeleeing() )
|
||||
wait 0.05;
|
||||
|
||||
if ( self getcurrentweapon() == level.riotshield_name )
|
||||
{
|
||||
wait 0.1;
|
||||
continue;
|
||||
}
|
||||
|
||||
range_mod = 1;
|
||||
self setclientfield( "oneinchpunch_impact", 1 );
|
||||
wait_network_frame();
|
||||
self setclientfield( "oneinchpunch_impact", 0 );
|
||||
v_punch_effect_fwd = anglestoforward( self getplayerangles() );
|
||||
v_punch_yaw = get2dyaw( ( 0, 0, 0 ), v_punch_effect_fwd );
|
||||
|
||||
if ( isdefined( self.b_punch_upgraded ) && self.b_punch_upgraded && isdefined( self.str_punch_element ) && self.str_punch_element == "air" )
|
||||
range_mod *= 2;
|
||||
|
||||
a_zombies = getaispeciesarray( level.zombie_team, "all" );
|
||||
a_zombies = get_array_of_closest( self.origin, a_zombies, undefined, undefined, 100 );
|
||||
|
||||
foreach ( zombie in a_zombies )
|
||||
{
|
||||
if ( self is_player_facing( zombie, v_punch_yaw ) && distancesquared( self.origin, zombie.origin ) <= 4096 * range_mod )
|
||||
{
|
||||
self thread zombie_punch_damage( zombie, 1 );
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( self is_player_facing( zombie, v_punch_yaw ) )
|
||||
self thread zombie_punch_damage( zombie, 0.5 );
|
||||
}
|
||||
|
||||
while ( self ismeleeing() )
|
||||
wait 0.05;
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
@ -25,6 +25,7 @@
|
||||
#include scripts\zm\replaced\_zm_powerup_zombie_blood;
|
||||
#include scripts\zm\replaced\_zm_riotshield_tomb;
|
||||
#include scripts\zm\replaced\_zm_weap_riotshield_tomb;
|
||||
#include scripts\zm\replaced\_zm_weap_one_inch_punch;
|
||||
#include scripts\zm\replaced\_zm_weap_staff_air;
|
||||
#include scripts\zm\replaced\_zm_weap_staff_fire;
|
||||
#include scripts\zm\replaced\_zm_weap_staff_lightning;
|
||||
@ -66,6 +67,7 @@ main()
|
||||
replaceFunc(maps\mp\zombies\_zm_riotshield_tomb::trackriotshield, scripts\zm\replaced\_zm_riotshield_tomb::trackriotshield);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_riotshield_tomb::init, scripts\zm\replaced\_zm_weap_riotshield_tomb::init);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_riotshield_tomb::player_damage_shield, scripts\zm\replaced\_zm_weap_riotshield_tomb::player_damage_shield);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_one_inch_punch::monitor_melee_swipe, scripts\zm\replaced\_zm_weap_one_inch_punch::monitor_melee_swipe);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_staff_air::whirlwind_kill_zombies, scripts\zm\replaced\_zm_weap_staff_air::whirlwind_kill_zombies);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_staff_fire::flame_damage_fx, scripts\zm\replaced\_zm_weap_staff_fire::flame_damage_fx);
|
||||
replaceFunc(maps\mp\zombies\_zm_weap_staff_fire::get_impact_damage, scripts\zm\replaced\_zm_weap_staff_fire::get_impact_damage);
|
||||
|
Reference in New Issue
Block a user