Core/Spells: Take SummonProperties into account for SPELL_EFFECT_SUMMONs with default SummonTitle
Port From (https://github.com/TrinityCore/TrinityCore/commit/b6ec81fff808388d934f098546c7faad9105c975)
This commit is contained in:
@@ -1704,24 +1704,14 @@ namespace Game.Spells
|
|||||||
// randomize position for multiple summons
|
// randomize position for multiple summons
|
||||||
pos = caster.GetRandomPoint(destTarget, radius);
|
pos = caster.GetRandomPoint(destTarget, radius);
|
||||||
|
|
||||||
summon = caster.SummonCreature(entry, pos, summonType, TimeSpan.FromMilliseconds(duration), 0, m_spellInfo.Id, privateObjectOwner);
|
summon = unitCaster.GetMap().SummonCreature(entry, pos, properties, (uint)duration, unitCaster, m_spellInfo.Id, 0, privateObjectOwner);
|
||||||
if (summon == null)
|
if (summon == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
summon.SetTempSummonType(summonType);
|
||||||
if (properties.Control == SummonCategory.Ally)
|
if (properties.Control == SummonCategory.Ally)
|
||||||
summon.SetOwnerGUID(caster.GetGUID());
|
summon.SetOwnerGUID(caster.GetGUID());
|
||||||
|
|
||||||
uint faction = properties.Faction;
|
|
||||||
if (properties.GetFlags().HasFlag(SummonPropertiesFlags.UseSummonerFaction)) // TODO: Determine priority between faction and flag
|
|
||||||
{
|
|
||||||
WorldObject summoner = summon.GetSummoner();
|
|
||||||
if (summoner != null)
|
|
||||||
faction = summoner.GetFaction();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (faction != 0)
|
|
||||||
summon.SetFaction(faction);
|
|
||||||
|
|
||||||
ExecuteLogEffectSummonObject(effectInfo.Effect, summon);
|
ExecuteLogEffectSummonObject(effectInfo.Effect, summon);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user