mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-06-08 23:13:00 +00:00
fix: poison kill player
Some checks are pending
Sync branches with main / sync (push) Waiting to run
Some checks are pending
Sync branches with main / sync (push) Waiting to run
i fixed before this behaviour but somehow it is broken. now i am clamping if 1 or 2 hp player is left with 1 hp.
This commit is contained in:
parent
ed63aaf8c4
commit
e1383cc6a3
|
|
@ -137,9 +137,13 @@ void MobEffect::applyEffectTick(shared_ptr<LivingEntity> mob, int amplification)
|
|||
}
|
||||
else if (id == poison->id)
|
||||
{
|
||||
if (mob->getHealth() > 1.0f)
|
||||
// poison must never reduce health below 1 hp
|
||||
// if the current health is between 1 and 2 hp the player is left at exactly 1 HP rather than dying.
|
||||
float currentHealth = mob->getHealth();
|
||||
if (currentHealth > 1.0f)
|
||||
{
|
||||
mob->hurt(DamageSource::magic, 1.0f);
|
||||
float poisonDmg = min(1.0f, currentHealth - 1.0f);
|
||||
mob->hurt(DamageSource::magic, poisonDmg);
|
||||
}
|
||||
}
|
||||
else if (id == wither->id)
|
||||
|
|
|
|||
Loading…
Reference in a new issue