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

@@ -21,6 +21,7 @@
#include "SpellAuras.h"
#include "SpellAuraEffects.h"
#include "Group.h"
#include "GameTime.h"
#include "UpdateData.h"
#include "MapManager.h"
#include "ObjectAccessor.h"
@@ -702,7 +703,7 @@ void Spell::EffectDummy(SpellEffIndex effIndex)
case 17731:
case 69294:
{
if( !gameObjTarget || gameObjTarget->GetRespawnTime() > time(NULL) )
if( !gameObjTarget || gameObjTarget->GetRespawnTime() > GameTime::GetGameTime() )
return;
gameObjTarget->SetRespawnTime(10);
@@ -4210,7 +4211,7 @@ void Spell::EffectSanctuary(SpellEffIndex /*effIndex*/)
}
// Xinef: Set last sanctuary time
unitTarget->m_lastSanctuaryTime = World::GetGameTimeMS();
unitTarget->m_lastSanctuaryTime = GameTime::GetGameTimeMS();
// Vanish allows to remove all threat and cast regular stealth so other spells can be used
if (m_caster->GetTypeId() == TYPEID_PLAYER
@@ -4942,7 +4943,7 @@ void Spell::EffectCharge(SpellEffIndex /*effIndex*/)
// charge changes fall time
if( m_caster->GetTypeId() == TYPEID_PLAYER )
m_caster->ToPlayer()->SetFallInformation(time(NULL), m_caster->GetPositionZ());
m_caster->ToPlayer()->SetFallInformation(GameTime::GetGameTime(), m_caster->GetPositionZ());
if (m_pathFinder)
{
@@ -5063,7 +5064,7 @@ void Spell::EffectLeapBack(SpellEffIndex effIndex)
// xinef: changes fall time
if (m_caster->GetTypeId() == TYPEID_PLAYER)
m_caster->ToPlayer()->SetFallInformation(time(NULL), m_caster->GetPositionZ());
m_caster->ToPlayer()->SetFallInformation(GameTime::GetGameTime(), m_caster->GetPositionZ());
}
void Spell::EffectQuestClear(SpellEffIndex effIndex)