feat(core): Ensure that all actions are compared to fixed point in time (#1236) (#1458)

i.e. world update start
This commit is contained in:
Viste(Кирилл)
2019-02-14 21:22:17 +03:00
committed by Francesco Borzì
parent 1b7522ff0e
commit 51b8773528
108 changed files with 933 additions and 509 deletions

View File

@@ -9,6 +9,7 @@
#include "SpellScript.h"
#include "GameEventMgr.h"
#include "Group.h"
#include "GameTime.h"
#include "LFGMgr.h"
#include "PassiveAI.h"
#include "CellImpl.h"
@@ -435,7 +436,7 @@ class npc_brewfest_keg_reciver : public CreatureScript
{
if (Aura* aur = player->GetAura(SPELL_RAM_AURA))
{
int32 diff = aur->GetApplyTime() - (time(NULL)-(HOUR*18)+spellCooldown);
int32 diff = aur->GetApplyTime() - (GameTime::GetGameTime()-(HOUR*18)+spellCooldown);
if (diff > 10) // aura applied later
return;
@@ -843,7 +844,7 @@ class npc_dark_iron_attack_generator : public CreatureScript
bool AllowStart()
{
time_t curtime = time(NULL);
time_t curtime = GameTime::GetGameTime();
tm strDate;
ACE_OS::localtime_r(&curtime, &strDate);

View File

@@ -1,6 +1,7 @@
// Scripted by Xinef
#include "ScriptMgr.h"
#include "GameTime.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Spell.h"
@@ -184,7 +185,7 @@ class npc_midsummer_torch_target : public CreatureScript
Position pos;
pos.Relocate(posVec.at(num));
me->m_last_notify_position.Relocate(0.0f, 0.0f, 0.0f);
me->m_last_notify_mstime = World::GetGameTimeMS() + 10000;
me->m_last_notify_mstime = GameTime::GetGameTimeMS() + 10000;
me->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation());
}
@@ -300,7 +301,7 @@ public:
}
// Achievement
if ((time(NULL) - GetApplyTime()) > 60 && target->GetTypeId() == TYPEID_PLAYER)
if ((GameTime::GetGameTime() - GetApplyTime()) > 60 && target->GetTypeId() == TYPEID_PLAYER)
target->ToPlayer()->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 58934, 0, target);
}
}