mirror of
https://github.com/mangosfour/server.git
synced 2025-12-18 01:37:01 +00:00
[8301] Restore work 1122 broken after switch.
Also small cleanup in summon code: move statue summon cal from EffectSummonGuardian to common summon type selector code.
This commit is contained in:
parent
f05ac51b8a
commit
19ccf59cd4
4 changed files with 37 additions and 15 deletions
|
|
@ -1679,12 +1679,19 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,UnitList& TagUnitMap)
|
|||
case TARGET_ALL_ENEMY_IN_AREA_INSTANT:
|
||||
{
|
||||
// targets the ground, not the units in the area
|
||||
if (m_spellInfo->Effect[i]!=SPELL_EFFECT_PERSISTENT_AREA_AURA)
|
||||
switch(m_spellInfo->Effect[i])
|
||||
{
|
||||
FillAreaTargets(TagUnitMap,m_targets.m_destX, m_targets.m_destY,radius,PUSH_DEST_CENTER,SPELL_TARGETS_AOE_DAMAGE);
|
||||
case SPELL_EFFECT_PERSISTENT_AREA_AURA:
|
||||
break;
|
||||
case SPELL_EFFECT_SUMMON:
|
||||
TagUnitMap.push_back(m_caster);
|
||||
break;
|
||||
default:
|
||||
FillAreaTargets(TagUnitMap,m_targets.m_destX, m_targets.m_destY,radius,PUSH_DEST_CENTER,SPELL_TARGETS_AOE_DAMAGE);
|
||||
|
||||
// exclude caster (this can be important if this not original caster)
|
||||
TagUnitMap.remove(m_caster);
|
||||
// exclude caster (this can be important if this not original caster)
|
||||
TagUnitMap.remove(m_caster);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -4324,6 +4331,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
|||
case SUMMON_TYPE_DEMON:
|
||||
case SUMMON_TYPE_SUMMON:
|
||||
case SUMMON_TYPE_ELEMENTAL:
|
||||
case SUMMON_TYPE_INFERNO:
|
||||
{
|
||||
if(m_caster->GetPetGUID())
|
||||
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue