1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

Zombies: decrease melee damage

Players: change low health threshold
This commit is contained in:
Jbleezy
2023-09-25 19:11:37 -07:00
parent ccafc4d252
commit 7423d548c6
10 changed files with 102 additions and 4 deletions

View File

@ -53,6 +53,7 @@
* 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 (normally fully restored health in 0.5 seconds)
* Changed low health threshold from 20% of player's max health to 50 health
* Fall damage no longer increases when max health is increased
* Added blood fx when at or below 20% health
* Removed blur after getting damaged
@ -77,9 +78,10 @@
## Zombies
* Health capped at 100,000
* Decreased damage from 60 to 50
* Changed height to 60 (normally either 48 or 72)
* Amount of zombies scales linearly with the amount of players
* Zombies that are deleted due to being too far away always respawn
* Changed height to 60 (normally either 48 or 72)
* Attracted towards points of interest immediately
* Removed walkers in high rounds
* Removed headless zombies

View File

@ -67,7 +67,7 @@ playerhealthregen()
longregendelay *= 0.75;
}
if ( health_ratio > healthoverlaycutoff )
if ( self.health > 50 )
{
if ( self player_flag( "player_has_red_flashing_overlay" ) )
{
@ -90,7 +90,7 @@ playerhealthregen()
wasveryhurt = veryhurt;
if ( health_ratio <= healthoverlaycutoff )
if ( self.health <= 50 )
{
veryhurt = 1;
if ( !wasveryhurt )

View File

@ -23,7 +23,7 @@
setup_capture_zones()
{
spawner_capture_zombie = getent( "capture_zombie_spawner", "targetname" );
spawner_capture_zombie add_spawn_function( ::capture_zombie_spawn_init );
spawner_capture_zombie add_spawn_function( scripts\zm\replaced\zm_tomb_utility::capture_zombie_spawn_init );
a_s_generator = getstructarray( "s_generator", "targetname" );
registerclientfield( "world", "packapunch_anim", 14000, 3, "int" );
registerclientfield( "actor", "zone_capture_zombie", 14000, 1, "int" );

View File

@ -18,6 +18,96 @@
#include maps\mp\zm_tomb_craftables;
#include maps\mp\zm_tomb_utility;
capture_zombie_spawn_init( animname_set = 0 )
{
self.targetname = "capture_zombie_ai";
if ( !animname_set )
self.animname = "zombie";
self.sndname = "capzomb";
if ( isdefined( get_gamemode_var( "pre_init_zombie_spawn_func" ) ) )
self [[ get_gamemode_var( "pre_init_zombie_spawn_func" ) ]]();
self thread play_ambient_zombie_vocals();
self.zmb_vocals_attack = "zmb_vocals_capzomb_attack";
self.no_damage_points = 1;
self.deathpoints_already_given = 1;
self.ignore_enemy_count = 1;
self.ignoreall = 1;
self.ignoreme = 1;
self.allowdeath = 1;
self.force_gib = 1;
self.is_zombie = 1;
self.has_legs = 1;
self allowedstances( "stand" );
self.zombie_damaged_by_bar_knockdown = 0;
self.gibbed = 0;
self.head_gibbed = 0;
self.disablearrivals = 1;
self.disableexits = 1;
self.grenadeawareness = 0;
self.badplaceawareness = 0;
self.ignoresuppression = 1;
self.suppressionthreshold = 1;
self.nododgemove = 1;
self.dontshootwhilemoving = 1;
self.pathenemylookahead = 0;
self.badplaceawareness = 0;
self.chatinitialized = 0;
self.a.disablepain = 1;
self disable_react();
if ( isdefined( level.zombie_health ) )
{
self.maxhealth = level.zombie_health;
if ( isdefined( level.zombie_respawned_health ) && level.zombie_respawned_health.size > 0 )
{
self.health = level.zombie_respawned_health[0];
arrayremovevalue( level.zombie_respawned_health, level.zombie_respawned_health[0] );
}
else
self.health = level.zombie_health;
}
else
{
self.maxhealth = level.zombie_vars["zombie_health_start"];
self.health = self.maxhealth;
}
self.freezegun_damage = 0;
self.dropweapon = 0;
level thread zombie_death_event( self );
self set_zombie_run_cycle();
self thread dug_zombie_think();
self thread zombie_gib_on_damage();
self thread zombie_damage_failsafe();
self thread enemy_death_detection();
if ( !isdefined( self.no_eye_glow ) || !self.no_eye_glow )
{
if ( !( isdefined( self.is_inert ) && self.is_inert ) )
self thread delayed_zombie_eye_glow();
}
self.deathfunction = ::zombie_death_animscript;
self.flame_damage_time = 0;
self.meleedamage = 50;
self.no_powerups = 1;
self zombie_history( "zombie_spawn_init -> Spawned = " + self.origin );
self.thundergun_knockdown_func = level.basic_zombie_thundergun_knockdown;
self.tesla_head_gib_func = ::zombie_tesla_head_gib;
self.team = level.zombie_team;
if ( isdefined( get_gamemode_var( "post_init_zombie_spawn_func" ) ) )
self [[ get_gamemode_var( "post_init_zombie_spawn_func" ) ]]();
self.zombie_init_done = 1;
self notify( "zombie_init_done" );
}
update_staff_accessories( n_element_index )
{
cur_weapon = self get_player_melee_weapon();

View File

@ -102,6 +102,7 @@ init()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
self.zombie_path_bad = 0;
self thread maps\mp\zm_buried_distance_tracking::escaped_zombies_cleanup_init();

View File

@ -100,6 +100,7 @@ door_changes()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
self.zombie_path_bad = 0;
self thread maps\mp\zm_highrise_distance_tracking::escaped_zombies_cleanup_init();

View File

@ -18,6 +18,7 @@ init()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
if ( isDefined( self.script_parameters ) && self.script_parameters == "crater" )
{

View File

@ -122,6 +122,7 @@ door_changes()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
self setphysparams( 15, 0, 48 );
}

View File

@ -116,6 +116,7 @@ init()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
self thread maps\mp\zm_tomb_distance_tracking::escaped_zombies_cleanup_init();
self setphysparams( 15, 0, 48 );

View File

@ -127,6 +127,7 @@ grief_include_weapons()
zombie_init_done()
{
self.meleedamage = 50;
self.allowpain = 0;
self setphysparams( 15, 0, 48 );
}