mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[8478] Removed dependency on getMSTime() for last mana use.
Signed-off-by: ApoC <apoc@nymfe.net>
This commit is contained in:
parent
dffa5d43bd
commit
71e736abc6
5 changed files with 17 additions and 15 deletions
|
|
@ -1201,7 +1201,7 @@ void Player::Update( uint32 p_time )
|
|||
}
|
||||
}
|
||||
|
||||
if(m_regenTimer > 0)
|
||||
if (m_regenTimer)
|
||||
{
|
||||
if(p_time >= m_regenTimer)
|
||||
m_regenTimer = 0;
|
||||
|
|
|
|||
|
|
@ -3518,7 +3518,7 @@ void Spell::TakePower()
|
|||
|
||||
// Set the five second timer
|
||||
if (powerType == POWER_MANA && m_powerCost > 0)
|
||||
m_caster->SetLastManaUse(getMSTime());
|
||||
m_caster->SetLastManaUse();
|
||||
}
|
||||
|
||||
SpellCastResult Spell::CheckRuneCost(uint32 runeCostID)
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ Unit::Unit()
|
|||
m_baseSpellCritChance = 5;
|
||||
|
||||
m_CombatTimer = 0;
|
||||
m_lastManaUse = 0;
|
||||
m_lastManaUseTimer = 0;
|
||||
|
||||
//m_victimThreat = 0.0f;
|
||||
for (int i = 0; i < MAX_SPELL_SCHOOL; ++i)
|
||||
|
|
@ -192,6 +192,14 @@ void Unit::Update( uint32 p_time )
|
|||
m_Events.Update( p_time );
|
||||
_UpdateSpells( p_time );
|
||||
|
||||
if (m_lastManaUseTimer)
|
||||
{
|
||||
if (p_time >= m_lastManaUseTimer)
|
||||
m_lastManaUseTimer = 0;
|
||||
else
|
||||
m_lastManaUseTimer -= p_time;
|
||||
}
|
||||
|
||||
// really delete auras "deleted" while processing its ApplyModify code
|
||||
for(AuraList::const_iterator itr = m_deletedAuras.begin(); itr != m_deletedAuras.begin(); ++itr)
|
||||
delete *itr;
|
||||
|
|
@ -11803,11 +11811,6 @@ Aura* Unit::GetDummyAura( uint32 spell_id ) const
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool Unit::IsUnderLastManaUseEffect() const
|
||||
{
|
||||
return getMSTimeDiff(m_lastManaUse,getMSTime()) < 5000;
|
||||
}
|
||||
|
||||
void Unit::SetContestedPvP(Player *attackedPlayer)
|
||||
{
|
||||
Player* player = GetCharmerOrOwnerPlayerOrPlayerItself();
|
||||
|
|
|
|||
|
|
@ -1427,15 +1427,14 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
|
|||
uint32 SpellCriticalDamageBonus(SpellEntry const *spellProto, uint32 damage, Unit *pVictim);
|
||||
uint32 SpellCriticalHealingBonus(SpellEntry const *spellProto, uint32 damage, Unit *pVictim);
|
||||
|
||||
void SetLastManaUse(uint32 spellCastTime)
|
||||
void SetLastManaUse()
|
||||
{
|
||||
if (GetTypeId() == TYPEID_PLAYER && !IsUnderLastManaUseEffect())
|
||||
{
|
||||
RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_REGENERATE_POWER);
|
||||
|
||||
m_lastManaUseTimer = 5000;
|
||||
}
|
||||
m_lastManaUse = spellCastTime;
|
||||
}
|
||||
bool IsUnderLastManaUseEffect() const;
|
||||
bool IsUnderLastManaUseEffect() const { return m_lastManaUseTimer; }
|
||||
|
||||
uint32 GetRegenTimer() const { return m_regenTimer; }
|
||||
|
||||
|
|
@ -1559,6 +1558,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
|
|||
|
||||
uint32 m_reactiveTimer[MAX_REACTIVE];
|
||||
uint32 m_regenTimer;
|
||||
uint32 m_lastManaUseTimer;
|
||||
|
||||
private:
|
||||
bool IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura* aura, SpellEntry const* procSpell, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, bool isVictim, bool active, SpellProcEventEntry const*& spellProcEvent );
|
||||
|
|
@ -1571,7 +1571,6 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
|
|||
|
||||
uint32 m_state; // Even derived shouldn't modify
|
||||
uint32 m_CombatTimer;
|
||||
uint32 m_lastManaUse; // msecs
|
||||
|
||||
Spell* m_currentSpells[CURRENT_MAX_SPELL];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "8477"
|
||||
#define REVISION_NR "8478"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue