Fix SPELL_AURA_CLONE_CASTER on summoned creatures, it will now properly clone the appearance of the caster.
(Mirror Image is currently a hacked exception and was already working) Still need to correctly implement cloning of weapons, though. --HG-- branch : trunk
This commit is contained in:
@@ -3706,7 +3706,7 @@ void Spell::EffectSummonType(uint32 i)
|
|||||||
|
|
||||||
TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN;
|
TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN;
|
||||||
|
|
||||||
TempSummon * summon = m_originalCaster->SummonCreature(entry, pos, summonType, duration);
|
summon = m_originalCaster->SummonCreature(entry, pos, summonType, duration);
|
||||||
if (!summon)
|
if (!summon)
|
||||||
continue;
|
continue;
|
||||||
if (properties->Category == SUMMON_CATEGORY_ALLY)
|
if (properties->Category == SUMMON_CATEGORY_ALLY)
|
||||||
@@ -3747,7 +3747,10 @@ void Spell::EffectSummonType(uint32 i)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (summon)
|
if (summon)
|
||||||
|
{
|
||||||
summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id);
|
summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id);
|
||||||
|
summon->SetCreatorGUID(m_originalCaster->GetGUID());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Spell::EffectLearnSpell(uint32 i)
|
void Spell::EffectLearnSpell(uint32 i)
|
||||||
|
|||||||
@@ -125,9 +125,6 @@ struct boss_volazjAI : public ScriptedAI
|
|||||||
// Summon clone
|
// Summon clone
|
||||||
if (Unit *summon = me->SummonCreature(MOB_TWISTED_VISAGE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(),TEMPSUMMON_CORPSE_DESPAWN,0))
|
if (Unit *summon = me->SummonCreature(MOB_TWISTED_VISAGE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(),TEMPSUMMON_CORPSE_DESPAWN,0))
|
||||||
{
|
{
|
||||||
// required for correct visual
|
|
||||||
// Fixme: allow mirror image query to send other guid to get rid of minion status
|
|
||||||
summon->SetUInt64Value(UNIT_FIELD_CREATEDBY, plr->GetGUID());
|
|
||||||
// clone
|
// clone
|
||||||
plr->CastSpell(summon, SPELL_CLONE_PLAYER, true);
|
plr->CastSpell(summon, SPELL_CLONE_PLAYER, true);
|
||||||
// set phase
|
// set phase
|
||||||
|
|||||||
Reference in New Issue
Block a user