mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
Weapon damage scalar changes
Override level.global_damage_func in _zm_reimagined Move zombie_damage function to replaced folder
This commit is contained in:
@ -37,7 +37,7 @@
|
||||
* Decreased normal health regeneration delay from 2.4 seconds to 2 seconds
|
||||
* Decreased low health regeneration delay from 5 seconds to 4 seconds
|
||||
* Normal health regeneration rate is no longer instant
|
||||
* Changed health regeneration rate to 100 health per second (previously fully restored health in 0.5 seconds)
|
||||
* Changed health regeneration rate to 100 health per second (normally fully restored health in 0.5 seconds)
|
||||
* Fall damage no longer increases when max health is increased
|
||||
* Removed blur when getting damaged
|
||||
* Removed shellshock when getting damaged from grenades
|
||||
@ -66,6 +66,11 @@
|
||||
|
||||
## Weapons
|
||||
* Switch to melee weapon by pressing the new melee weapon button (same button as the Maxis Drone on Origins)
|
||||
* Changed grenade damage scalar to 150 (normally random number between 100 and 200 added by round number)
|
||||
* Changed projectile weapon damage scalar to 50 multiplied by round number (normally random number between 0 and 100 multiplied by round number)
|
||||
* Capped projectile weapon damage scalar at 3000
|
||||
* Changed placeable mine damage scalar to 150 multiplied by round number (normally random number between 100 and 200 multiplied by round number)
|
||||
* Capped placeable mine damage scalar at 9000
|
||||
|
||||
### AN-94
|
||||
* Increased weapon cost from 1200 to 1500
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include scripts/zm/replaced/_zm_traps;
|
||||
#include scripts/zm/replaced/_zm_equipment;
|
||||
#include scripts/zm/replaced/_zm_ai_basic;
|
||||
#include scripts/zm/replaced/_zm_spawner;
|
||||
|
||||
main()
|
||||
{
|
||||
@ -194,6 +195,7 @@ post_all_players_spawned()
|
||||
level.playersuicideallowed = undefined;
|
||||
level.disable_free_perks_before_power = undefined;
|
||||
level.custom_random_perk_weights = undefined;
|
||||
level.global_damage_func = scripts/zm/replaced/_zm_spawner::zombie_damage;
|
||||
level.callbackplayerdamage = scripts/zm/replaced/_zm::callback_playerdamage;
|
||||
level.overrideplayerdamage = scripts/zm/replaced/_zm::player_damage_override;
|
||||
level.playerlaststand_func = scripts/zm/replaced/_zm::player_laststand;
|
||||
|
154
scripts/zm/replaced/_zm_spawner.gsc
Normal file
154
scripts/zm/replaced/_zm_spawner.gsc
Normal file
@ -0,0 +1,154 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\zombies\_zm_utility;
|
||||
|
||||
zombie_damage( mod, hit_location, hit_origin, player, amount, team )
|
||||
{
|
||||
if ( is_magic_bullet_shield_enabled( self ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
player.use_weapon_type = mod;
|
||||
|
||||
if ( isDefined( self.marked_for_death ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isDefined( player ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( isDefined( hit_origin ) )
|
||||
{
|
||||
self.damagehit_origin = hit_origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.damagehit_origin = player getweaponmuzzlepoint();
|
||||
}
|
||||
|
||||
if ( self maps/mp/zombies/_zm_spawner::check_zombie_damage_callbacks( mod, hit_location, hit_origin, player, amount ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if ( self maps/mp/zombies/_zm_spawner::zombie_flame_damage( mod, player ) )
|
||||
{
|
||||
if ( self maps/mp/zombies/_zm_spawner::zombie_give_flame_damage_points() )
|
||||
{
|
||||
player maps/mp/zombies/_zm_score::player_add_points( "damage", mod, hit_location, self.isdog, team );
|
||||
}
|
||||
}
|
||||
else if ( maps/mp/zombies/_zm_spawner::player_using_hi_score_weapon( player ) )
|
||||
{
|
||||
damage_type = "damage";
|
||||
}
|
||||
else
|
||||
{
|
||||
damage_type = "damage_light";
|
||||
}
|
||||
|
||||
if ( !is_true( self.no_damage_points ) )
|
||||
{
|
||||
player maps/mp/zombies/_zm_score::player_add_points( damage_type, mod, hit_location, self.isdog, team, self.damageweapon );
|
||||
}
|
||||
|
||||
if ( isDefined( self.zombie_damage_fx_func ) )
|
||||
{
|
||||
self [[ self.zombie_damage_fx_func ]]( mod, hit_location, hit_origin, player );
|
||||
}
|
||||
|
||||
modname = remove_mod_from_methodofdeath( mod );
|
||||
|
||||
round_scalar = level.round_number;
|
||||
if(level.scr_zm_ui_gametype == "zgrief")
|
||||
{
|
||||
round_scalar = 20;
|
||||
}
|
||||
|
||||
if ( is_placeable_mine( self.damageweapon ) )
|
||||
{
|
||||
damage = round_scalar * 150;
|
||||
max_damage = 9000;
|
||||
if(damage > max_damage)
|
||||
{
|
||||
damage = max_damage;
|
||||
}
|
||||
|
||||
if ( isDefined( self.zombie_damage_claymore_func ) )
|
||||
{
|
||||
self [[ self.zombie_damage_claymore_func ]]( mod, hit_location, hit_origin, player );
|
||||
}
|
||||
else if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
self dodamage( damage, self.origin, player, self, hit_location, mod );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, mod );
|
||||
}
|
||||
}
|
||||
else if ( mod == "MOD_GRENADE" || mod == "MOD_GRENADE_SPLASH" )
|
||||
{
|
||||
damage = 150;
|
||||
|
||||
if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
player.grenade_multiattack_count++;
|
||||
player.grenade_multiattack_ent = self;
|
||||
self dodamage( damage, self.origin, player, self, hit_location, modname );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, modname );
|
||||
}
|
||||
}
|
||||
else if ( mod == "MOD_PROJECTILE" || mod == "MOD_PROJECTILE_SPLASH" || mod == "MOD_EXPLOSIVE" )
|
||||
{
|
||||
damage = round_scalar * 50;
|
||||
max_damage = 3000;
|
||||
if(damage > max_damage)
|
||||
{
|
||||
damage = max_damage;
|
||||
}
|
||||
|
||||
if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
self dodamage( damage, self.origin, player, self, hit_location, modname );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, modname );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isDefined( self.a.gib_ref ) && self.a.gib_ref == "no_legs" && isalive( self ) )
|
||||
{
|
||||
if ( isDefined( player ) )
|
||||
{
|
||||
rand = randomintrange( 0, 100 );
|
||||
if ( rand < 10 )
|
||||
{
|
||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "crawl_spawn" );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( isDefined( self.a.gib_ref ) || self.a.gib_ref == "right_arm" && self.a.gib_ref == "left_arm" )
|
||||
{
|
||||
if ( self.has_legs && isalive( self ) )
|
||||
{
|
||||
if ( isDefined( player ) )
|
||||
{
|
||||
rand = randomintrange( 0, 100 );
|
||||
if ( rand < 7 )
|
||||
{
|
||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "shoot_arm" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self thread maps/mp/zombies/_zm_powerups::check_for_instakill( player, mod, hit_location );
|
||||
}
|
@ -247,7 +247,6 @@ set_grief_vars()
|
||||
level.brutus_health = 20000;
|
||||
level.brutus_expl_dmg_req = 12000;
|
||||
level.player_starting_points = 10000;
|
||||
level.global_damage_func = ::zombie_damage;
|
||||
level.custom_end_screen = ::custom_end_screen;
|
||||
level.game_module_onplayerconnect = ::grief_onplayerconnect;
|
||||
level.game_mode_custom_onplayerdisconnect = ::grief_onplayerdisconnect;
|
||||
@ -1701,127 +1700,6 @@ unlimited_zombies()
|
||||
}
|
||||
}
|
||||
|
||||
zombie_damage( mod, hit_location, hit_origin, player, amount, team )
|
||||
{
|
||||
if ( is_magic_bullet_shield_enabled( self ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
player.use_weapon_type = mod;
|
||||
if ( isDefined( self.marked_for_death ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ( !isDefined( player ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ( isDefined( hit_origin ) )
|
||||
{
|
||||
self.damagehit_origin = hit_origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.damagehit_origin = player getweaponmuzzlepoint();
|
||||
}
|
||||
if ( self maps/mp/zombies/_zm_spawner::check_zombie_damage_callbacks( mod, hit_location, hit_origin, player, amount ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if ( self maps/mp/zombies/_zm_spawner::zombie_flame_damage( mod, player ) )
|
||||
{
|
||||
if ( self maps/mp/zombies/_zm_spawner::zombie_give_flame_damage_points() )
|
||||
{
|
||||
player maps/mp/zombies/_zm_score::player_add_points( "damage", mod, hit_location, self.isdog, team );
|
||||
}
|
||||
}
|
||||
else if ( maps/mp/zombies/_zm_spawner::player_using_hi_score_weapon( player ) )
|
||||
{
|
||||
damage_type = "damage";
|
||||
}
|
||||
else
|
||||
{
|
||||
damage_type = "damage_light";
|
||||
}
|
||||
if ( !is_true( self.no_damage_points ) )
|
||||
{
|
||||
player maps/mp/zombies/_zm_score::player_add_points( damage_type, mod, hit_location, self.isdog, team, self.damageweapon );
|
||||
}
|
||||
if ( isDefined( self.zombie_damage_fx_func ) )
|
||||
{
|
||||
self [[ self.zombie_damage_fx_func ]]( mod, hit_location, hit_origin, player );
|
||||
}
|
||||
modname = remove_mod_from_methodofdeath( mod );
|
||||
if ( is_placeable_mine( self.damageweapon ) )
|
||||
{
|
||||
damage = 2000;
|
||||
if ( isDefined( self.zombie_damage_claymore_func ) )
|
||||
{
|
||||
self [[ self.zombie_damage_claymore_func ]]( mod, hit_location, hit_origin, player );
|
||||
}
|
||||
else if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
self dodamage( damage, self.origin, player, self, hit_location, mod );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, mod );
|
||||
}
|
||||
}
|
||||
else if ( mod == "MOD_GRENADE" || mod == "MOD_GRENADE_SPLASH" )
|
||||
{
|
||||
damage = 150;
|
||||
if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
player.grenade_multiattack_count++;
|
||||
player.grenade_multiattack_ent = self;
|
||||
self dodamage( damage, self.origin, player, self, hit_location, modname );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, modname );
|
||||
}
|
||||
}
|
||||
else if ( mod == "MOD_PROJECTILE" || mod == "MOD_PROJECTILE_SPLASH" || mod == "MOD_EXPLOSIVE" )
|
||||
{
|
||||
damage = 1000;
|
||||
if ( isDefined( player ) && isalive( player ) )
|
||||
{
|
||||
self dodamage( damage, self.origin, player, self, hit_location, modname );
|
||||
}
|
||||
else
|
||||
{
|
||||
self dodamage( damage, self.origin, undefined, self, hit_location, modname );
|
||||
}
|
||||
}
|
||||
if ( isDefined( self.a.gib_ref ) && self.a.gib_ref == "no_legs" && isalive( self ) )
|
||||
{
|
||||
if ( isDefined( player ) )
|
||||
{
|
||||
rand = randomintrange( 0, 100 );
|
||||
if ( rand < 10 )
|
||||
{
|
||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "crawl_spawn" );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( isDefined( self.a.gib_ref ) || self.a.gib_ref == "right_arm" && self.a.gib_ref == "left_arm" )
|
||||
{
|
||||
if ( self.has_legs && isalive( self ) )
|
||||
{
|
||||
if ( isDefined( player ) )
|
||||
{
|
||||
rand = randomintrange( 0, 100 );
|
||||
if ( rand < 7 )
|
||||
{
|
||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "shoot_arm" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
self thread maps/mp/zombies/_zm_powerups::check_for_instakill( player, mod, hit_location );
|
||||
}
|
||||
|
||||
player_suicide()
|
||||
{
|
||||
self.playersuicided = 1;
|
||||
|
Reference in New Issue
Block a user