From: Mario Date: Sun, 17 Jun 2018 08:07:45 +0000 (+1000) Subject: To match resource limit behaviour, set the 'unlimited' limit to -1 in event_heal... X-Git-Tag: xonotic-v0.8.5~2022^2~5 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a0cdd27fecafe7bbc51491440d63a647af0c562c;p=xonotic%2Fxonotic-data.pk3dir.git To match resource limit behaviour, set the 'unlimited' limit to -1 in event_heal calls too --- diff --git a/qcsrc/common/gamemodes/gamemode/assault/assault.qc b/qcsrc/common/gamemodes/gamemode/assault/assault.qc index 8fb63a9ad..b9b5c361c 100644 --- a/qcsrc/common/gamemodes/gamemode/assault/assault.qc +++ b/qcsrc/common/gamemodes/gamemode/assault/assault.qc @@ -333,7 +333,7 @@ spawnfunc(target_objective_decrease) // destructible walls that can be used to trigger target_objective_decrease bool destructible_heal(entity targ, entity inflictor, float amount, float limit) { - float true_limit = ((limit) ? limit : targ.max_health); + float true_limit = ((limit >= 0) ? limit : targ.max_health); if(GetResourceAmount(targ, RESOURCE_HEALTH) <= 0 || GetResourceAmount(targ, RESOURCE_HEALTH) >= true_limit) return false; diff --git a/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc b/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc index 12475bb73..90ab77234 100644 --- a/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc +++ b/qcsrc/common/gamemodes/gamemode/onslaught/sv_onslaught.qc @@ -449,7 +449,7 @@ void ons_ControlPoint_Icon_Damage(entity this, entity inflictor, entity attacker bool ons_ControlPoint_Icon_Heal(entity targ, entity inflictor, float amount, float limit) { - float true_limit = ((limit) ? limit : targ.max_health); + float true_limit = ((limit >= 0) ? limit : targ.max_health); if(GetResourceAmount(targ, RESOURCE_HEALTH) <= 0 || GetResourceAmount(targ, RESOURCE_HEALTH) >= true_limit) return false; @@ -963,7 +963,7 @@ void ons_GeneratorDamage(entity this, entity inflictor, entity attacker, float d bool ons_GeneratorHeal(entity targ, entity inflictor, float amount, float limit) { - float true_limit = ((limit) ? limit : targ.max_health); + float true_limit = ((limit >= 0) ? limit : targ.max_health); if(GetResourceAmount(targ, RESOURCE_HEALTH) <= 0 || GetResourceAmount(targ, RESOURCE_HEALTH) >= true_limit) return false; diff --git a/qcsrc/common/monsters/sv_monsters.qc b/qcsrc/common/monsters/sv_monsters.qc index c208e779a..810732b10 100644 --- a/qcsrc/common/monsters/sv_monsters.qc +++ b/qcsrc/common/monsters/sv_monsters.qc @@ -1061,7 +1061,7 @@ void Monster_Damage(entity this, entity inflictor, entity attacker, float damage bool Monster_Heal(entity targ, entity inflictor, float amount, float limit) { - float true_limit = ((limit) ? limit : targ.max_health); + float true_limit = ((limit >= 0) ? limit : targ.max_health); if(GetResourceAmount(targ, RESOURCE_HEALTH) <= 0 || GetResourceAmount(targ, RESOURCE_HEALTH) >= true_limit) return false; diff --git a/qcsrc/common/vehicles/sv_vehicles.qc b/qcsrc/common/vehicles/sv_vehicles.qc index b0fef4c3f..5284664e9 100644 --- a/qcsrc/common/vehicles/sv_vehicles.qc +++ b/qcsrc/common/vehicles/sv_vehicles.qc @@ -729,7 +729,7 @@ void vehicles_damage(entity this, entity inflictor, entity attacker, float damag bool vehicles_heal(entity targ, entity inflictor, float amount, float limit) { - float true_limit = ((limit) ? limit : targ.max_health); + float true_limit = ((limit >= 0) ? limit : targ.max_health); //if(GetResourceAmount(targ, RESOURCE_HEALTH) <= 0 || GetResourceAmount(targ, RESOURCE_HEALTH) >= true_limit) if(targ.vehicle_health <= 0 || targ.vehicle_health >= true_limit) return false; diff --git a/qcsrc/common/weapons/weapon/arc.qc b/qcsrc/common/weapons/weapon/arc.qc index 5233917b6..fc4b92a55 100644 --- a/qcsrc/common/weapons/weapon/arc.qc +++ b/qcsrc/common/weapons/weapon/arc.qc @@ -424,7 +424,7 @@ void W_Arc_Beam_Think(entity this) { float roothealth = ((burst) ? WEP_CVAR(arc, burst_healing_hps) : WEP_CVAR(arc, beam_healing_hps)); float rootarmor = ((burst) ? WEP_CVAR(arc, burst_healing_aps) : WEP_CVAR(arc, beam_healing_aps)); - float hplimit = ((IS_PLAYER(trace_ent)) ? WEP_CVAR(arc, beam_healing_hmax) : 0); + float hplimit = ((IS_PLAYER(trace_ent)) ? WEP_CVAR(arc, beam_healing_hmax) : -1); Heal(trace_ent, own, (roothealth * coefficient), hplimit); if(IS_PLAYER(trace_ent) && rootarmor) {