Allow SD3 scripted dummy and script spelleffects upon players
This commit is contained in:
parent
78c5faed9d
commit
89a3ec852e
@ -2420,16 +2420,17 @@ bool ScriptMgr::OnProcessEvent(uint32 eventId, Object* pSource, Object* pTarget,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget, ObjectGuid originalCasterGuid)
|
bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Unit* pTarget, ObjectGuid originalCasterGuid)
|
||||||
{
|
{
|
||||||
// Used by Eluna
|
// Used by Eluna
|
||||||
#ifdef ENABLE_ELUNA
|
#ifdef ENABLE_ELUNA
|
||||||
if (sEluna->OnDummyEffect(pCaster, spellId, effIndex, pTarget))
|
if (pTarget->ToCreature())
|
||||||
return true;
|
if (sEluna->OnDummyEffect(pCaster, spellId, effIndex, pTarget->ToCreature()))
|
||||||
|
return true;
|
||||||
#endif /* ENABLE_ELUNA */
|
#endif /* ENABLE_ELUNA */
|
||||||
|
|
||||||
#ifdef ENABLE_SD3
|
#ifdef ENABLE_SD3
|
||||||
return SD3::EffectDummyCreature(pCaster, spellId, effIndex, pTarget, originalCasterGuid);
|
return SD3::EffectDummyUnit(pCaster, spellId, effIndex, pTarget, originalCasterGuid);
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@ -2465,10 +2466,10 @@ bool ScriptMgr::OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex ef
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ScriptMgr::OnEffectScriptEffect(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget, ObjectGuid originalCasterGuid)
|
bool ScriptMgr::OnEffectScriptEffect(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Unit* pTarget, ObjectGuid originalCasterGuid)
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_SD3
|
#ifdef ENABLE_SD3
|
||||||
return SD3::EffectScriptEffectCreature(pCaster, spellId, effIndex, pTarget, originalCasterGuid);
|
return SD3::EffectScriptEffectUnit(pCaster, spellId, effIndex, pTarget, originalCasterGuid);
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@ -2553,7 +2554,7 @@ void ScriptMgr::CollectPossibleEventIds(std::set<uint32>& eventIds)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#if defined(TBC)
|
#if defined(TBC) || defined (WOTLK)
|
||||||
// Load all possible event entries from taxi path nodes
|
// Load all possible event entries from taxi path nodes
|
||||||
for (size_t path_idx = 0; path_idx < sTaxiPathNodesByPath.size(); ++path_idx)
|
for (size_t path_idx = 0; path_idx < sTaxiPathNodesByPath.size(); ++path_idx)
|
||||||
{
|
{
|
||||||
|
@ -635,10 +635,10 @@ class ScriptMgr
|
|||||||
bool OnItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets);
|
bool OnItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets);
|
||||||
bool OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry);
|
bool OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry);
|
||||||
bool OnProcessEvent(uint32 eventId, Object* pSource, Object* pTarget, bool isStart);
|
bool OnProcessEvent(uint32 eventId, Object* pSource, Object* pTarget, bool isStart);
|
||||||
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget, ObjectGuid originalCasterGuid);
|
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Unit* pTarget, ObjectGuid originalCasterGuid);
|
||||||
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, GameObject* pTarget, ObjectGuid originalCasterGuid);
|
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, GameObject* pTarget, ObjectGuid originalCasterGuid);
|
||||||
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Item* pTarget, ObjectGuid originalCasterGuid);
|
bool OnEffectDummy(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Item* pTarget, ObjectGuid originalCasterGuid);
|
||||||
bool OnEffectScriptEffect(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Creature* pTarget, ObjectGuid originalCasterGuid);
|
bool OnEffectScriptEffect(Unit* pCaster, uint32 spellId, SpellEffectIndex effIndex, Unit* pTarget, ObjectGuid originalCasterGuid);
|
||||||
bool OnAuraDummy(Aura const* pAura, bool apply);
|
bool OnAuraDummy(Aura const* pAura, bool apply);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1318,8 +1318,8 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
|
|||||||
bool libraryResult = false;
|
bool libraryResult = false;
|
||||||
if (gameObjTarget)
|
if (gameObjTarget)
|
||||||
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, gameObjTarget, m_originalCasterGUID); }
|
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, gameObjTarget, m_originalCasterGUID); }
|
||||||
else if (unitTarget && unitTarget->GetTypeId() == TYPEID_UNIT)
|
else if (unitTarget && (unitTarget->GetTypeId() == TYPEID_UNIT || unitTarget->GetTypeId() == TYPEID_PLAYER))
|
||||||
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, (Creature*)unitTarget, m_originalCasterGUID); }
|
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, unitTarget, m_originalCasterGUID); }
|
||||||
else if (itemTarget)
|
else if (itemTarget)
|
||||||
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, itemTarget, m_originalCasterGUID); }
|
{ libraryResult = sScriptMgr.OnEffectDummy(m_caster, m_spellInfo->Id, eff_idx, itemTarget, m_originalCasterGUID); }
|
||||||
|
|
||||||
@ -3811,9 +3811,9 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
|
|||||||
|
|
||||||
// Script based implementation. Must be used only for not good for implementation in core spell effects
|
// Script based implementation. Must be used only for not good for implementation in core spell effects
|
||||||
// So called only for not processed cases
|
// So called only for not processed cases
|
||||||
if (unitTarget->GetTypeId() == TYPEID_UNIT)
|
if (unitTarget->GetTypeId() == TYPEID_UNIT || unitTarget->GetTypeId() == TYPEID_PLAYER)
|
||||||
{
|
{
|
||||||
if (sScriptMgr.OnEffectScriptEffect(m_caster, m_spellInfo->Id, eff_idx, (Creature*)unitTarget, m_originalCasterGUID))
|
if (sScriptMgr.OnEffectScriptEffect(m_caster, m_spellInfo->Id, eff_idx, unitTarget, m_originalCasterGUID))
|
||||||
{ return; }
|
{ return; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user