mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[8369] Some step back in triggered effect caster selection.
This must fix some broken after [8360] spells.
This commit is contained in:
parent
6e8aca42f9
commit
8d30f01a73
3 changed files with 25 additions and 7 deletions
|
|
@ -1961,7 +1961,7 @@ void Spell::EffectForceCast(uint32 i)
|
|||
unitTarget->CastSpell(unitTarget, spellInfo, true, NULL, NULL, m_originalCasterGUID);
|
||||
}
|
||||
|
||||
void Spell::EffectTriggerSpell(uint32 i)
|
||||
void Spell::EffectTriggerSpell(uint32 effIndex)
|
||||
{
|
||||
// only unit case known
|
||||
if (!unitTarget)
|
||||
|
|
@ -1971,7 +1971,7 @@ void Spell::EffectTriggerSpell(uint32 i)
|
|||
return;
|
||||
}
|
||||
|
||||
uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[i];
|
||||
uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[effIndex];
|
||||
|
||||
// special cases
|
||||
switch(triggered_spell_id)
|
||||
|
|
@ -2087,6 +2087,9 @@ void Spell::EffectTriggerSpell(uint32 i)
|
|||
return;
|
||||
}
|
||||
|
||||
// select formal caster for triggered spell
|
||||
Unit* caster = m_caster;
|
||||
|
||||
// some triggered spells require specific equipment
|
||||
if (spellInfo->EquippedItemClass >=0 && m_caster->GetTypeId()==TYPEID_PLAYER)
|
||||
{
|
||||
|
|
@ -2118,8 +2121,14 @@ void Spell::EffectTriggerSpell(uint32 i)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Note: not exist spells with weapon req. and IsSpellHaveCasterSourceTargets == true
|
||||
// so this just for speedup places in else
|
||||
caster = IsSpellWithCasterSourceTargetsOnly(spellInfo) ? unitTarget : m_caster;
|
||||
}
|
||||
|
||||
unitTarget->CastSpell(unitTarget,spellInfo,true,NULL,NULL,m_originalCasterGUID);
|
||||
caster->CastSpell(unitTarget,spellInfo,true,NULL,NULL,m_originalCasterGUID);
|
||||
}
|
||||
|
||||
void Spell::EffectTriggerMissileSpell(uint32 effect_idx)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue