aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-03-11 00:07:57 +0100
committerShauren <shauren.trinity@gmail.com>2023-03-11 00:07:57 +0100
commit7ea438ebdca93874776e02e9985db1da0a53f2fb (patch)
tree3e0ad4df0b1f6f3be54bcf88514889f1bf836557 /src/server/game/Entities/Unit
parent379b1ec6ae83229ed2c5b82480d73d509c47be33 (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.cpp4
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();