mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Areatriggers: Fixed all areatrigger scripts triggering both on enter and exit instead of only on enter
This commit is contained in:
@@ -1723,7 +1723,7 @@ bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger, b
|
||||
ASSERT(trigger);
|
||||
|
||||
GET_SCRIPT_RET(AreaTriggerScript, sObjectMgr->GetAreaTriggerScriptId(trigger->ID), tmpscript, false);
|
||||
return tmpscript->OnTrigger(player, trigger, entered);
|
||||
return entered ? tmpscript->OnTrigger(player, trigger) : tmpscript->OnExit(player, trigger);
|
||||
}
|
||||
|
||||
Battleground* ScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/)
|
||||
@@ -2428,7 +2428,7 @@ AreaTriggerScript::AreaTriggerScript(char const* name)
|
||||
ScriptRegistry<AreaTriggerScript>::Instance()->AddScript(this);
|
||||
}
|
||||
|
||||
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger, bool entered)
|
||||
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger)
|
||||
{
|
||||
uint32 const triggerId = trigger->ID;
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
@@ -2438,7 +2438,7 @@ bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const
|
||||
else
|
||||
instance->MarkAreaTriggerDone(triggerId);
|
||||
}
|
||||
return _OnTrigger(player, trigger, entered);
|
||||
return _OnTrigger(player, trigger);
|
||||
}
|
||||
void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(InstanceScript* script, uint32 triggerId) { script->ResetAreaTriggerDone(triggerId); }
|
||||
void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(Player const* player, AreaTriggerEntry const* trigger) { if (InstanceScript* instance = player->GetInstanceScript()) ResetAreaTriggerDone(instance, trigger->ID); }
|
||||
|
||||
Reference in New Issue
Block a user