mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Scripts/AreaTrigger: Rename OnlyOnceAreaTriggerScript::_OnTrigger to TryHandleOnce, and make its return value useful.
This commit is contained in:
@@ -2228,14 +2228,14 @@ AreaTriggerScript::AreaTriggerScript(char const* name)
|
||||
bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger)
|
||||
{
|
||||
uint32 const triggerId = trigger->ID;
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
{
|
||||
if (instance->IsAreaTriggerDone(triggerId))
|
||||
return true;
|
||||
else
|
||||
instance->MarkAreaTriggerDone(triggerId);
|
||||
}
|
||||
return _OnTrigger(player, trigger);
|
||||
InstanceScript* instance = player->GetInstanceScript();
|
||||
if (instance && instance->IsAreaTriggerDone(triggerId))
|
||||
return true;
|
||||
|
||||
if (TryHandleOnce(player, trigger) && instance)
|
||||
instance->MarkAreaTriggerDone(triggerId);
|
||||
|
||||
return true;
|
||||
}
|
||||
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); }
|
||||
|
||||
@@ -462,7 +462,8 @@ class TC_GAME_API OnlyOnceAreaTriggerScript : public AreaTriggerScript
|
||||
bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) final override;
|
||||
|
||||
protected:
|
||||
virtual bool _OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) = 0;
|
||||
// returns true if the trigger was successfully handled, false if we should try again next time
|
||||
virtual bool TryHandleOnce(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) = 0;
|
||||
void ResetAreaTriggerDone(InstanceScript* /*instance*/, uint32 /*triggerId*/);
|
||||
void ResetAreaTriggerDone(Player const* /*player*/, AreaTriggerEntry const* /*trigger*/);
|
||||
};
|
||||
|
||||
@@ -188,7 +188,7 @@ class at_zulgurub_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_zulgurub_entrance() : OnlyOnceAreaTriggerScript("at_zulgurub_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* areaTrigger) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* areaTrigger) override
|
||||
{
|
||||
InstanceScript* instance = player->GetInstanceScript();
|
||||
if (!instance || instance->GetBossState(DATA_HAKKAR) == DONE)
|
||||
|
||||
@@ -159,7 +159,7 @@ class at_baltharus_plateau : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_baltharus_plateau() : OnlyOnceAreaTriggerScript("at_baltharus_plateau") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
// Only trigger once
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
|
||||
@@ -1007,7 +1007,7 @@ class at_lady_deathwhisper_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_lady_deathwhisper_entrance() : OnlyOnceAreaTriggerScript("at_lady_deathwhisper_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
if (instance->GetBossState(DATA_LADY_DEATHWHISPER) != DONE)
|
||||
|
||||
@@ -773,7 +773,7 @@ class at_lord_marrowgar_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_lord_marrowgar_entrance() : OnlyOnceAreaTriggerScript("at_lord_marrowgar_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
if (Creature* lordMarrowgar = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_LORD_MARROWGAR)))
|
||||
|
||||
@@ -245,7 +245,7 @@ class at_anubrekhan_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_anubrekhan_entrance() : OnlyOnceAreaTriggerScript("at_anubrekhan_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
InstanceScript* instance = player->GetInstanceScript();
|
||||
if (!instance || instance->GetBossState(BOSS_ANUBREKHAN) != NOT_STARTED)
|
||||
|
||||
@@ -269,7 +269,7 @@ class at_faerlina_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_faerlina_entrance() : OnlyOnceAreaTriggerScript("at_faerlina_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
InstanceScript* instance = player->GetInstanceScript();
|
||||
if (!instance || instance->GetBossState(BOSS_FAERLINA) != NOT_STARTED)
|
||||
|
||||
@@ -1219,7 +1219,7 @@ class at_thaddius_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_thaddius_entrance() : OnlyOnceAreaTriggerScript("at_thaddius_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
InstanceScript* instance = player->GetInstanceScript();
|
||||
if (!instance || instance->GetBossState(BOSS_THADDIUS) == DONE)
|
||||
|
||||
@@ -431,7 +431,7 @@ class at_teron_gorefiend_entrance : public OnlyOnceAreaTriggerScript
|
||||
public:
|
||||
at_teron_gorefiend_entrance() : OnlyOnceAreaTriggerScript("at_teron_gorefiend_entrance") { }
|
||||
|
||||
bool _OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
bool TryHandleOnce(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
|
||||
{
|
||||
if (InstanceScript* instance = player->GetInstanceScript())
|
||||
if (Creature* teron = instance->GetCreature(DATA_TERON_GOREFIEND))
|
||||
|
||||
Reference in New Issue
Block a user