diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-03-11 00:07:57 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-03-11 00:07:57 +0100 |
| commit | 7ea438ebdca93874776e02e9985db1da0a53f2fb (patch) | |
| tree | 3e0ad4df0b1f6f3be54bcf88514889f1bf836557 /src/server/game/Entities/Unit | |
| parent | 379b1ec6ae83229ed2c5b82480d73d509c47be33 (diff) | |
Core/Creatures: Implemented unkillable flag (prevent health from going below 1)
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 329ff633801..e1ad6366c98 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -857,6 +857,10 @@ bool Unit::HasBreakableByDamageCrowdControlAura(Unit* excludeCasterChannel) cons duel_hasEnded = true; } + else if (victim->IsCreature() && damageTaken >= health && victim->ToCreature()->HasFlag(CREATURE_STATIC_FLAG_UNKILLABLE)) + { + damageTaken = health - 1; + } else if (victim->IsVehicle() && damageTaken >= (health-1) && victim->GetCharmer() && victim->GetCharmer()->GetTypeId() == TYPEID_PLAYER) { Player* victimRider = victim->GetCharmer()->ToPlayer(); |
