mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 02:25:38 +01:00
Merge pull request #4685 from Subv/fix1
Core/SAI: Crashfix and some more fixes
This commit is contained in:
2
sql/updates/world/2012_01_06_12_world_sai.sql
Normal file
2
sql/updates/world/2012_01_06_12_world_sai.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
UPDATE smart_scripts SET action_param2 = action_param3 WHERE action_type = 80;
|
||||
UPDATE smart_scripts SET action_param3 = 0 WHERE action_type = 80;
|
||||
@@ -51,7 +51,6 @@ SmartScript::SmartScript()
|
||||
mTemplate = SMARTAI_TEMPLATE_BASIC;
|
||||
meOrigGUID = 0;
|
||||
goOrigGUID = 0;
|
||||
mResumeActionList = true;
|
||||
mLastInvoker = 0;
|
||||
}
|
||||
|
||||
@@ -78,22 +77,6 @@ void SmartScript::OnReset()
|
||||
|
||||
void SmartScript::ProcessEventsFor(SMART_EVENT e, Unit* unit, uint32 var0, uint32 var1, bool bvar, const SpellInfo* spell, GameObject* gob)
|
||||
{
|
||||
if (e == SMART_EVENT_AGGRO)
|
||||
{
|
||||
if (!mResumeActionList)
|
||||
mTimedActionList.clear();//clear action list if it is not resumable
|
||||
else
|
||||
{
|
||||
for (SmartAIEventList::iterator itr = mTimedActionList.begin(); itr != mTimedActionList.end(); ++itr)
|
||||
{
|
||||
if (itr->enableTimed)
|
||||
{
|
||||
InitTimer((*itr));//re-init the currently enabled timer, so it restarts the timer when resumed
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (SmartAIEventList::iterator i = mEvents.begin(); i != mEvents.end(); ++i)
|
||||
{
|
||||
SMART_EVENT eventType = SMART_EVENT((*i).GetEventType());
|
||||
@@ -3017,7 +3000,6 @@ void SmartScript::SetScript9(SmartScriptHolder& e, uint32 entry)
|
||||
i->event.type = SMART_EVENT_UPDATE_IC;
|
||||
else if (e.action.timedActionList.timerType > 1)
|
||||
i->event.type = SMART_EVENT_UPDATE;
|
||||
mResumeActionList = e.action.timedActionList.dontResume ? false : true;
|
||||
InitTimer((*i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,7 +228,6 @@ class SmartScript
|
||||
SmartAIEventList mEvents;
|
||||
SmartAIEventList mInstallEvents;
|
||||
SmartAIEventList mTimedActionList;
|
||||
bool mResumeActionList;
|
||||
Creature* me;
|
||||
uint64 meOrigGUID;
|
||||
GameObject* go;
|
||||
|
||||
@@ -824,7 +824,6 @@ struct SmartAction
|
||||
struct
|
||||
{
|
||||
uint32 id;
|
||||
uint32 dontResume;
|
||||
uint32 timerType;
|
||||
} timedActionList;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user