mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-16 13:09:50 -04:00
Core/SAI/EAI: Pass struct parameters by reference instead of value, saves unneeded copying
This commit is contained in:
@@ -1025,9 +1025,6 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
}
|
||||
case SMART_ACTION_SUMMON_CREATURE:
|
||||
{
|
||||
WorldObject* obj = GetBaseObject();
|
||||
if (!obj)
|
||||
obj = unit;
|
||||
float x, y, z, o;
|
||||
ObjectList* targets = GetTargets(e, unit);
|
||||
if (targets)
|
||||
@@ -1356,6 +1353,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
ne.minMaxRepeat.repeatMin = e.action.timeEvent.repeatMin;
|
||||
ne.minMaxRepeat.repeatMax = e.action.timeEvent.repeatMax;
|
||||
|
||||
ne.event_flags = 0;
|
||||
if (!ne.minMaxRepeat.repeatMin && !ne.minMaxRepeat.repeatMax)
|
||||
ne.event_flags |= SMART_EVENT_FLAG_NOT_REPEATABLE;
|
||||
|
||||
@@ -1395,9 +1393,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
goOrigGUID = go ? go->GetGUID() : 0;
|
||||
go = NULL;
|
||||
me = (*itr)->ToCreature();
|
||||
|
||||
delete targets;
|
||||
return;
|
||||
break;
|
||||
}
|
||||
else if (IsGameObject(*itr))
|
||||
{
|
||||
@@ -1407,9 +1403,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
goOrigGUID = go ? go->GetGUID() : 0;
|
||||
go = (*itr)->ToGameObject();
|
||||
me = NULL;
|
||||
|
||||
delete targets;
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1532,7 +1526,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
if (e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS)
|
||||
(*itr)->ToUnit()->InterruptNonMeleeSpells(false);
|
||||
|
||||
for (ObjectList::const_iterator it = targets->begin(); it != targets->end(); it++)
|
||||
for (ObjectList::const_iterator it = targets->begin(); it != targets->end(); ++it)
|
||||
if (IsUnit(*it))
|
||||
(*itr)->ToUnit()->CastSpell((*it)->ToUnit(), e.action.cast.spell, (e.action.cast.flags & SMARTCAST_TRIGGERED) ? true : false);
|
||||
}
|
||||
@@ -1708,7 +1702,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
}
|
||||
}
|
||||
|
||||
void SmartScript::InstallTemplate(SmartScriptHolder e)
|
||||
void SmartScript::InstallTemplate(SmartScriptHolder const& e)
|
||||
{
|
||||
if (!GetBaseObject())
|
||||
return;
|
||||
@@ -1814,7 +1808,7 @@ SmartScriptHolder SmartScript::CreateEvent(SMART_EVENT e, uint32 event_flags, ui
|
||||
return script;
|
||||
}
|
||||
|
||||
ObjectList* SmartScript::GetTargets(SmartScriptHolder e, Unit* invoker)
|
||||
ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /*= NULL*/)
|
||||
{
|
||||
Unit* trigger = NULL;
|
||||
if (invoker)
|
||||
|
||||
Reference in New Issue
Block a user