Changeset 173 for trunk/src/game/Spell.h
- Timestamp:
- 11/19/08 13:43:02 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/Spell.h
r145 r173 397 397 bool IsRangedAttackResetSpell() const { return !m_IsTriggeredSpell && IsRangedSpell() && (m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_AUTOATTACK); } 398 398 399 bool IsDeletable() const { return m_deletable; } 400 void SetDeletable(bool deletable) { m_deletable = deletable; } 399 bool IsDeletable() const { return !m_referencedFromCurrentSpell && !m_executedCurrently; } 400 void SetReferencedFromCurrent(bool yes) { m_referencedFromCurrentSpell = yes; } 401 void SetExecutedCurrently(bool yes) { m_executedCurrently = yes; } 401 402 uint64 GetDelayStart() const { return m_delayStart; } 402 403 void SetDelayStart(uint64 m_time) { m_delayStart = m_time; } … … 450 451 451 452 // These vars are used in both delayed spell system and modified immediate spell system 452 bool m_deletable; // is the spell pending deletion or must be updated till permitted to delete? 453 bool m_referencedFromCurrentSpell; // mark as references to prevent deleted and access by dead pointers 454 bool m_executedCurrently; // mark as executed to prevent deleted and access by dead pointers 453 455 bool m_needSpellLog; // need to send spell log? 454 456 uint8 m_applyMultiplierMask; // by effect: damage multiplier needed? … … 657 659 virtual bool Execute(uint64 e_time, uint32 p_time); 658 660 virtual void Abort(uint64 e_time); 661 virtual bool IsDeletable() const; 659 662 protected: 660 663 Spell* m_Spell;