if (IS_PLAYER(this))
{
- if(GetResourceAmount(this, RESOURCE_HEALTH) >= 1)
+ if(GetResourceAmount(this, RES_HEALTH) >= 1)
{
// despawn effect
Send_Effect(EFFECT_SPAWN_NEUTRAL, this.origin, '0 0 0', 1);
if(this.damagedbycontents)
IL_REMOVE(g_damagedbycontents, this);
this.damagedbycontents = false;
- SetResourceAmountExplicit(this, RESOURCE_HEALTH, FRAGS_SPECTATOR);
+ SetResourceAmount(this, RES_HEALTH, FRAGS_SPECTATOR);
SetSpectatee_status(this, etof(this));
this.takedamage = DAMAGE_NO;
this.solid = SOLID_NOT;
set_movetype(this, MOVETYPE_FLY_WORLDONLY); // user preference is controlled by playerprethink
this.flags = FL_CLIENT | FL_NOTARGET;
this.effects = 0;
- SetResourceAmountExplicit(this, RESOURCE_ARMOR, autocvar_g_balance_armor_start); // was 666?!
+ SetResourceAmount(this, RES_ARMOR, autocvar_g_balance_armor_start); // was 666?!
this.pauserotarmor_finished = 0;
this.pauserothealth_finished = 0;
this.pauseregen_finished = 0;
this.effects = EF_TELEPORT_BIT | EF_RESTARTANIM_BIT;
if (warmup_stage) {
- SetResourceAmount(this, RESOURCE_SHELLS, warmup_start_ammo_shells);
- SetResourceAmount(this, RESOURCE_BULLETS, warmup_start_ammo_nails);
- SetResourceAmount(this, RESOURCE_ROCKETS, warmup_start_ammo_rockets);
- SetResourceAmount(this, RESOURCE_CELLS, warmup_start_ammo_cells);
- SetResourceAmount(this, RESOURCE_PLASMA, warmup_start_ammo_plasma);
- SetResourceAmount(this, RESOURCE_FUEL, warmup_start_ammo_fuel);
- SetResourceAmount(this, RESOURCE_HEALTH, warmup_start_health);
- SetResourceAmount(this, RESOURCE_ARMOR, warmup_start_armorvalue);
+ SetResourceAmount(this, RES_SHELLS, warmup_start_ammo_shells);
+ SetResourceAmount(this, RES_BULLETS, warmup_start_ammo_nails);
+ SetResourceAmount(this, RES_ROCKETS, warmup_start_ammo_rockets);
+ SetResourceAmount(this, RES_CELLS, warmup_start_ammo_cells);
+ SetResourceAmount(this, RES_PLASMA, warmup_start_ammo_plasma);
+ SetResourceAmount(this, RES_FUEL, warmup_start_ammo_fuel);
+ SetResourceAmount(this, RES_HEALTH, warmup_start_health);
+ SetResourceAmount(this, RES_ARMOR, warmup_start_armorvalue);
STAT(WEAPONS, this) = WARMUP_START_WEAPONS;
} else {
- SetResourceAmount(this, RESOURCE_SHELLS, start_ammo_shells);
- SetResourceAmount(this, RESOURCE_BULLETS, start_ammo_nails);
- SetResourceAmount(this, RESOURCE_ROCKETS, start_ammo_rockets);
- SetResourceAmount(this, RESOURCE_CELLS, start_ammo_cells);
- SetResourceAmount(this, RESOURCE_PLASMA, start_ammo_plasma);
- SetResourceAmount(this, RESOURCE_FUEL, start_ammo_fuel);
- SetResourceAmount(this, RESOURCE_HEALTH, start_health);
- SetResourceAmount(this, RESOURCE_ARMOR, start_armorvalue);
+ SetResourceAmount(this, RES_SHELLS, start_ammo_shells);
+ SetResourceAmount(this, RES_BULLETS, start_ammo_nails);
+ SetResourceAmount(this, RES_ROCKETS, start_ammo_rockets);
+ SetResourceAmount(this, RES_CELLS, start_ammo_cells);
+ SetResourceAmount(this, RES_PLASMA, start_ammo_plasma);
+ SetResourceAmount(this, RES_FUEL, start_ammo_fuel);
+ SetResourceAmount(this, RES_HEALTH, start_health);
+ SetResourceAmount(this, RES_ARMOR, start_armorvalue);
STAT(WEAPONS, this) = start_weapons;
if (MUTATOR_CALLHOOK(ForbidRandomStartWeapons, this) == false)
{
float mina, maxa, limith, limita;
maxa = autocvar_g_balance_armor_rotstable;
mina = autocvar_g_balance_armor_regenstable;
- limith = GetResourceLimit(this, RESOURCE_HEALTH);
- limita = GetResourceLimit(this, RESOURCE_ARMOR);
+ limith = GetResourceLimit(this, RES_HEALTH);
+ limita = GetResourceLimit(this, RES_ARMOR);
regen_health_rotstable = regen_health_rotstable * max_mod;
regen_health_stable = regen_health_stable * max_mod;
limith = limith * limit_mod;
limita = limita * limit_mod;
- SetResourceAmount(this, RESOURCE_ARMOR, CalcRotRegen(GetResourceAmount(this, RESOURCE_ARMOR), mina, autocvar_g_balance_armor_regen, autocvar_g_balance_armor_regenlinear,
+ SetResourceAmount(this, RES_ARMOR, CalcRotRegen(GetResourceAmount(this, RES_ARMOR), mina, autocvar_g_balance_armor_regen, autocvar_g_balance_armor_regenlinear,
regen_mod * frametime * (time > this.pauseregen_finished), maxa, autocvar_g_balance_armor_rot, autocvar_g_balance_armor_rotlinear,
rot_mod * frametime * (time > this.pauserotarmor_finished), limita));
- SetResourceAmount(this, RESOURCE_HEALTH, CalcRotRegen(GetResourceAmount(this, RESOURCE_HEALTH), regen_health_stable, regen_health, regen_health_linear,
+ SetResourceAmount(this, RES_HEALTH, CalcRotRegen(GetResourceAmount(this, RES_HEALTH), regen_health_stable, regen_health, regen_health_linear,
regen_mod * frametime * (time > this.pauseregen_finished), regen_health_rotstable, regen_health_rot, regen_health_rotlinear,
rot_mod * frametime * (time > this.pauserothealth_finished), limith));
}
// if player rotted to death... die!
// check this outside above checks, as player may still be able to rot to death
- if(GetResourceAmount(this, RESOURCE_HEALTH) < 1)
+ if(GetResourceAmount(this, RES_HEALTH) < 1)
{
if(this.vehicle)
vehicles_exit(this.vehicle, VHEF_RELEASE);
maxf = autocvar_g_balance_fuel_rotstable;
minf = autocvar_g_balance_fuel_regenstable;
- limitf = GetResourceLimit(this, RESOURCE_FUEL);
+ limitf = GetResourceLimit(this, RES_FUEL);
- SetResourceAmount(this, RESOURCE_FUEL, CalcRotRegen(GetResourceAmount(this, RESOURCE_FUEL), minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear,
+ SetResourceAmount(this, RES_FUEL, CalcRotRegen(GetResourceAmount(this, RES_FUEL), minf, autocvar_g_balance_fuel_regen, autocvar_g_balance_fuel_regenlinear,
frametime * (time > this.pauseregen_finished) * ((this.items & ITEM_JetpackRegen.m_itemid) != 0),
maxf, autocvar_g_balance_fuel_rot, autocvar_g_balance_fuel_rotlinear, frametime * (time > this.pauserotfuel_finished), limitf));
}
MUTATOR_CALLHOOK(SpectateCopy, spectatee, this);
PS(this) = PS(spectatee);
this.armortype = spectatee.armortype;
- SetResourceAmountExplicit(this, RESOURCE_ARMOR, GetResourceAmount(spectatee, RESOURCE_ARMOR));
- SetResourceAmountExplicit(this, RESOURCE_CELLS, GetResourceAmount(spectatee, RESOURCE_CELLS));
- SetResourceAmountExplicit(this, RESOURCE_PLASMA, GetResourceAmount(spectatee, RESOURCE_PLASMA));
- SetResourceAmountExplicit(this, RESOURCE_SHELLS, GetResourceAmount(spectatee, RESOURCE_SHELLS));
- SetResourceAmountExplicit(this, RESOURCE_BULLETS, GetResourceAmount(spectatee, RESOURCE_BULLETS));
- SetResourceAmountExplicit(this, RESOURCE_ROCKETS, GetResourceAmount(spectatee, RESOURCE_ROCKETS));
- SetResourceAmountExplicit(this, RESOURCE_FUEL, GetResourceAmount(spectatee, RESOURCE_FUEL));
+ SetResourceAmount(this, RES_ARMOR, GetResourceAmount(spectatee, RES_ARMOR));
+ SetResourceAmount(this, RES_CELLS, GetResourceAmount(spectatee, RES_CELLS));
+ SetResourceAmount(this, RES_PLASMA, GetResourceAmount(spectatee, RES_PLASMA));
+ SetResourceAmount(this, RES_SHELLS, GetResourceAmount(spectatee, RES_SHELLS));
+ SetResourceAmount(this, RES_BULLETS, GetResourceAmount(spectatee, RES_BULLETS));
+ SetResourceAmount(this, RES_ROCKETS, GetResourceAmount(spectatee, RES_ROCKETS));
+ SetResourceAmount(this, RES_FUEL, GetResourceAmount(spectatee, RES_FUEL));
this.effects = spectatee.effects & EFMASK_CHEAP; // eat performance
- SetResourceAmountExplicit(this, RESOURCE_HEALTH, GetResourceAmount(spectatee, RESOURCE_HEALTH));
+ SetResourceAmount(this, RES_HEALTH, GetResourceAmount(spectatee, RES_HEALTH));
CS(this).impulse = 0;
this.items = spectatee.items;
STAT(LAST_PICKUP, this) = STAT(LAST_PICKUP, spectatee);
}
this.items_added = 0;
- if ((this.items & ITEM_Jetpack.m_itemid) && ((this.items & ITEM_JetpackRegen.m_itemid) || GetResourceAmount(this, RESOURCE_FUEL) >= 0.01))
+ if ((this.items & ITEM_Jetpack.m_itemid) && ((this.items & ITEM_JetpackRegen.m_itemid) || GetResourceAmount(this, RES_FUEL) >= 0.01))
this.items_added |= IT_FUEL;
this.items |= this.items_added;
if (STAT(FROZEN, this) == FROZEN_TEMP_REVIVING)
{
STAT(REVIVE_PROGRESS, this) = bound(0, STAT(REVIVE_PROGRESS, this) + frametime * this.revive_speed, 1);
- SetResourceAmountExplicit(this, RESOURCE_HEALTH, max(1, STAT(REVIVE_PROGRESS, this) * start_health));
+ SetResourceAmount(this, RES_HEALTH, max(1, STAT(REVIVE_PROGRESS, this) * start_health));
this.iceblock.alpha = bound(0.2, 1 - STAT(REVIVE_PROGRESS, this), 1);
if (STAT(REVIVE_PROGRESS, this) >= 1)
else if (STAT(FROZEN, this) == FROZEN_TEMP_DYING)
{
STAT(REVIVE_PROGRESS, this) = bound(0, STAT(REVIVE_PROGRESS, this) - frametime * this.revive_speed, 1);
- SetResourceAmountExplicit(this, RESOURCE_HEALTH, max(0, autocvar_g_nades_ice_health + (start_health-autocvar_g_nades_ice_health) * STAT(REVIVE_PROGRESS, this)));
+ SetResourceAmount(this, RES_HEALTH, max(0, autocvar_g_nades_ice_health + (start_health-autocvar_g_nades_ice_health) * STAT(REVIVE_PROGRESS, this)));
- if (GetResourceAmount(this, RESOURCE_HEALTH) < 1)
+ if (GetResourceAmount(this, RES_HEALTH) < 1)
{
if (this.vehicle)
vehicles_exit(this.vehicle, VHEF_RELEASE);
}
if (this.waypointsprite_attachedforcarrier) {
- vector v = healtharmor_maxdamage(GetResourceAmount(this, RESOURCE_HEALTH), GetResourceAmount(this, RESOURCE_ARMOR), autocvar_g_balance_armor_blockpercent, DEATH_WEAPON.m_id);
- WaypointSprite_UpdateHealth(this.waypointsprite_attachedforcarrier, '1 0 0' * v);
- }
+ float hp = healtharmor_maxdamage(GetResourceAmount(this, RES_HEALTH), GetResourceAmount(this, RES_ARMOR), autocvar_g_balance_armor_blockpercent, DEATH_WEAPON.m_id).x;
+ WaypointSprite_UpdateHealth(this.waypointsprite_attachedforcarrier, hp);
+ }
CSQCMODEL_AUTOUPDATE(this);
}