Core/Objects: Use player as summoner for personal clones (#27716)

* This allows clones to properly inherit phases
This commit is contained in:
Seyden
2022-02-08 00:03:02 +01:00
committed by GitHub
parent 42428a0898
commit 79c6054369
5 changed files with 36 additions and 23 deletions
@@ -2531,12 +2531,11 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
{
WorldObject* baseObject = GetBaseObject();
auto doCreatePersonalClone = [&](Position const& position, Unit* owner)
auto doCreatePersonalClone = [&](Position const& position, Player* privateObjectOwner)
{
ObjectGuid privateObjectOwner = owner->GetGUID();
if (Creature* summon = GetBaseObject()->SummonPersonalClone(position, TempSummonType(e.action.becomePersonalClone.type), Milliseconds(e.action.becomePersonalClone.duration), 0, 0, privateObjectOwner))
if (IsSmart(summon))
ENSURE_AI(SmartAI, summon->AI())->SetTimedActionList(e, e.entryOrGuid, owner, e.event_id + 1);
ENSURE_AI(SmartAI, summon->AI())->SetTimedActionList(e, e.entryOrGuid, privateObjectOwner, e.event_id + 1);
};