diff options
| author | megamage <none@none> | 2009-05-31 20:45:34 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-05-31 20:45:34 -0500 |
| commit | 5034078d49f9a29d9a7e7d891b12d1706ddab44a (patch) | |
| tree | 16071e20ca696933fda363f90bfbe51dc1692d27 /src/game/SpellEffects.cpp | |
| parent | 65e270ef7b5f99d82dbe0d8d4eaf34a7cdff5198 (diff) | |
*Lay on hands should have heal amount = caster's max health.
*Let goober call zonescript when an event happens.
*Thanks Elron for the last rev (flight bug)
--HG--
branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
| -rw-r--r-- | src/game/SpellEffects.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index b99a6169161..a302bc60ec0 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2967,6 +2967,8 @@ void Spell::SendLoot(uint64 guid, LootType loottype) { sLog.outDebug("Goober ScriptStart id %u for GO %u", gameObjTarget->GetGOInfo()->goober.eventId,gameObjTarget->GetDBTableGUIDLow()); sWorld.ScriptsStart(sEventScripts, gameObjTarget->GetGOInfo()->goober.eventId, player, gameObjTarget); + if(gameObjTarget->GetZoneScript()) + gameObjTarget->GetZoneScript()->ProcessEvent(gameObjTarget, gameObjTarget->GetGOInfo()->goober.eventId); } // cast goober spell @@ -4395,7 +4397,11 @@ void Spell::EffectHealMaxHealth(uint32 /*i*/) if(!unitTarget->isAlive()) return; - int32 addhealth = unitTarget->GetMaxHealth() - unitTarget->GetHealth(); + int32 addhealth; + if(m_spellInfo->SpellFamilyName == SPELLFAMILY_PALADIN) // Lay on Hands + addhealth = m_caster->GetMaxHealth(); + else + addhealth = unitTarget->GetMaxHealth() - unitTarget->GetHealth(); if(m_originalCaster) m_originalCaster->DealHeal(unitTarget, addhealth, m_spellInfo); } |
