fixed health not setting on first spawn with the playerMaxHealth dvar

This commit is contained in:
JezuzLizard 2020-05-12 16:36:57 -07:00
parent db1bbcfb48
commit 5c4b153a04
3 changed files with 36 additions and 12 deletions

View File

@ -88,11 +88,11 @@ init()
level.cmEquipmentRiotshieldHitPoints = getDvarIntDefault( "cmEquipmentRiotshieldHitPoints", 2250 );
level.zombie_vars[ "riotshield_hit_points" ] = level.cmEquipmentRiotshieldHitPoints;
//jugg health bonus
level.cmPerkJuggHealthBonus = getDvarIntDefault( "cmPerkJuggHealthBonus", 160 );
level.zombie_vars[ "zombie_perk_juggernaut_health" ] = level.cmPerkJuggHealthBonus;
level.cmPerkJuggHealth = getDvarIntDefault( "cmPerkJuggHealth", 250 );
level.zombie_vars[ "zombie_perk_juggernaut_health" ] = level.cmPerkJuggHealth;
//perma jugg health bonus
level.cmPerkPermaJuggHealthBonus = getDvarIntDefault( "cmPerkPermaJuggHealthBonus", 90 );
level.zombie_vars[ "zombie_perk_juggernaut_health_upgrade" ] = level.cmPerkPermaJuggHealthBonus;
level.cmPerkPermaJuggHealth = getDvarIntDefault( "cmPerkPermaJuggHealth", 190 );
level.zombie_vars[ "zombie_perk_juggernaut_health_upgrade" ] = level.cmPerkPermaJuggHealth;
//phd min explosion damage
level.cmPerkMinPhdExplosionDamage = getDvarIntDefault( "cmPerkMinPhdExplosionDamage", 2000 );
level.zombie_vars[ "zombie_perk_divetonuke_min_damage" ] = level.cmPerkMinPhdExplosionDamage;
@ -244,14 +244,23 @@ init()
onplayerconnect()
{
level endon( "end_game" );
self endon( "disconnect" );
while ( 1 )
{
level waittill( "connected", player );
player thread onplayerspawned();
}
}
onplayerspawned()
{
self waittill( "spawned_player" );
self._retain_perks = getDvarIntDefault( "cmPlayerRetainPerks", 0 );
self thread watch_for_respawn();
self.health = level.cmPlayerMaxHealth;
self.maxHealth = self.health;
self setMaxHealth( level.cmPlayerMaxHealth );
}
checks()
@ -532,22 +541,27 @@ zombie_move_animation_override()
watch_for_respawn()
{
self endon( "disconnect" );
self._retain_perks = getDvarIntDefault( "cmPlayerRetainPerks", 0 );
while ( 1 )
{
self waittill_any( "spawned_player", "player_revived" );
wait_network_frame();
if ( self._retain_perks && self hasPerk( "specialty_armorvest" ) )
{
self setMaxHealth( level.cmPerkJuggHealthBonus );
self setMaxHealth( level.cmPerkJuggHealth );
self.health = level.cmPerkJuggHealth;
self.maxHealth = self.health;
}
else if ( self.pers_upgrades_awarded[ "jugg" ] )
else if ( self.pers_upgrades_awarded[ "jugg" ] && maps/mp/zombies/_zm_utility::is_classic() )
{
self setMaxHealth( level.cmPerkPermaJuggHealthBonus );
self setMaxHealth( level.cmPerkPermaJuggHealth );
self.health = level.cmPerkPermaJuggHealth;
self.maxHealth = self.health;
}
else
{
self setMaxHealth( level.cmPlayerMaxHealth );
self.health = level.cmPlayerMaxHealth;
self.maxHealth = self.health;
}
}
}
@ -587,3 +601,5 @@ init_custom_zm_powerups_gsc_exclusive_dvars()

View File

@ -150,8 +150,8 @@ set cmTeamAlliesPointsMultiplier 1
set cmTeamAxisPointsMultiplier 1
//perk properties
set cmPerkJuggHealthBonus 160
set cmPerkPermaJuggHealthBonus 190
set cmPerkJuggHealth 250
set cmPerkPermaJuggHealth 190
set cmPerkMinPhdExplosionDamage 2000
set cmPerkMaxPhdExplosionDamage 5000
set cmPerkPhdDamageRadius 300

View File

@ -20,6 +20,14 @@ Install _zm_powerups.gsc in in maps/mp/zombies
This will add support for changing a few aspects of the vanilla powerups
# Update 5/12/20
## Main Changes
Changed the names of jugg type perk health bonuses to be more accurate to their usage.
Now sets each players health on first spawn and subsequent respawns and revives.
# Update 5/10/20
## Main Changes