From 310684e4a4557fbf09643d7ad898122d677bd3c5 Mon Sep 17 00:00:00 2001 From: xfurry Date: Wed, 8 Jul 2015 23:08:44 +0100 Subject: [PATCH] [Core] Allow dying creatures to deal damage when casting spells [cz2670] This will fix damage spells casts on creature death --- doc/RequiredPorts.mangosproof | 2 +- src/game/Object/Unit.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/RequiredPorts.mangosproof b/doc/RequiredPorts.mangosproof index b7b69b5b..87d06ae6 100644 --- a/doc/RequiredPorts.mangosproof +++ b/doc/RequiredPorts.mangosproof @@ -1 +1 @@ -rUzt6Qdc4EKKtuvr7m2AqM9iQu/Ewo17ul9iktjbtIC4oSTjYtD9kk4xk+lvxAFg2soaw2cvIWw2aArt5lanaEXCgQbziGFOk+7xyiNL8L5EYI1Z1ktvsKuftuPexVFyu57ZCenLn4Yj8EDgqWTNxog7aJjnMXPYJIbiSNUHTPaAyizVotWbdeYt0B43Rlx3ljeGVdFtIOQ4TCoNdSLKqLp3JExW38l2TOjQGtszO3pvL2lNHawSIkx9o37bE33dJfZbhvnNnc6rjTXi8Lzh5p3964nqb7jH7CKFFKPEkuTbejzXQSshMzUM8oRZKUVWjwawYWYNpuDpZsI1YMh6zaQ+vb8biPcT+kBDHAo5oSAzb2hKsY8KaUj4gZY/u+kljr1C4Bw+jHVSu9bIujzmUPo1Jqn4vfC30R9cIKs+afO1PkkUkpkoh5jWjQ4rOjjQejNr1OEBa6267h9De+q8UUPEjJcY4Clz5dYmDIDsNplTE86SEc8OGqj3QC79yEVfHxQdy0QjuRKyHJ9Bz+4tkQzlPEfTKMhS/E8TBlhRat49dr3pje0s1bw9I7sGoemRQsF+zJ3ufpJZy5TeNBIrFwr0t+D+wNsc5/zZzHHy6GiWNphbAYxzBhQV7GtM0M6R \ No newline at end of file +rUzt6Qdc4EKKtuvr7m2AqM9iQu/Ewo17ul9iktjbtIC4oSTjYtD9kk4xk+lvxAFg2soaw2cvIWw2aArt5lanaEXCgQbziGFOk+7xyiNL8L5EYI1Z1ktvsKuftuPexVFyu57ZCenLn4Yj8EDgqWTNxog7aJjnMXPYJIbiSNUHTPzUqAnC/CE1V9Fv2Ia1pYi8GAeKFK0Bd52m6Jgnm19bFw9SLxM155R09WdvIKEHJnoNcO6KX9PTfPMcEDsoAfRhL8u7JuRR/0m+0HRrJJkhcE/2z2zJYBjpFdOLzmZUlGeaQbdR4KfUVHAgSlpEnheBmsK8++5SDdtFCw2yNx9ABJWkenmTkjBwgfVRg5Y1Jz7CqseWRqTZCr0ddASramE74OCNWNjMdbh/XjR54P455oSIMRgUmKNfscawzLIIOt79+v4m0+M3IMDlkDYQRkruz9AtAhIgczsevRnPUoLDoNVNjrdlz/LD/G0dtkLuQKbeSXVAZYAnLmvSx6ZrVx6ClQCZUNY2UpnNNjXfIGY0VZXpSlsHai2SNN4awVtvL7lYIJF+lDl9jmPBNjDaWYf6Ty00ULbsbeU8ahO44K7QZhTW4TFmc20GKOEh+UfILv4= \ No newline at end of file diff --git a/src/game/Object/Unit.cpp b/src/game/Object/Unit.cpp index 0e0134a9..54388d13 100644 --- a/src/game/Object/Unit.cpp +++ b/src/game/Object/Unit.cpp @@ -1300,7 +1300,9 @@ void Unit::CalculateSpellDamage(SpellNonMeleeDamage* damageInfo, int32 damage, S if (!this || !pVictim) { return; } - if (!this->IsAlive() || !pVictim->IsAlive()) + + // units which are not alive cannot deal damage except for dying creatures + if ((!this->IsAlive() || !pVictim->IsAlive()) && (this->GetTypeId() != TYPEID_UNIT && this->GetDeathState() != DEAD)) { return; } // Check spell crit chance @@ -1309,7 +1311,7 @@ void Unit::CalculateSpellDamage(SpellNonMeleeDamage* damageInfo, int32 damage, S // damage bonus (per damage class) switch (spellInfo->DmgClass) { - // Melee and Ranged Spells + // Melee and Ranged Spells case SPELL_DAMAGE_CLASS_RANGED: case SPELL_DAMAGE_CLASS_MELEE: {