[Commands] Cleanup #nukebuffs Command. (#1795)

* [Commands] Cleanup #nukebuffs Command.
- Cleanup messages and logic.
- #nukebuffs now allows you to nuke all, beneficial, or detrimental buffs, also added a help menu.
- Add BuffFadeBeneficial().
- Cleanup logic in some buff fade methods.
- Fix several spots where we were using CalcBonuses() when it was unnecessary, i.e when you fade no buffs you do not need to recalculate bonuses.

* Update spells.cpp
This commit is contained in:
Kinglykrab
2021-11-21 15:20:16 -05:00
committed by GitHub
parent 39c27c987d
commit d29993fafa
4 changed files with 220 additions and 124 deletions
+4 -3
View File
@@ -361,8 +361,9 @@ public:
virtual void DoBuffTic(const Buffs_Struct &buff, int slot, Mob* caster = nullptr);
void BuffFadeBySpellID(uint16 spell_id);
void BuffFadeBySpellIDAndCaster(uint16 spell_id, uint16 caster_id);
void BuffFadeByEffect(int effect_id, int skipslot = -1);
void BuffFadeByEffect(int effect_id, int slot_to_skip = -1);
void BuffFadeAll();
void BuffFadeBeneficial();
void BuffFadeNonPersistDeath();
void BuffFadeDetrimental();
void BuffFadeBySlot(int slot, bool iRecalcBonuses = true);
@@ -393,7 +394,7 @@ public:
void DoGravityEffect();
void DamageShield(Mob* other, bool spell_ds = false);
int32 RuneAbsorb(int32 damage, uint16 type);
bool FindBuff(uint16 spellid);
bool FindBuff(uint16 spell_id);
uint16 FindBuffBySlot(int slot);
uint32 BuffCount();
bool FindType(uint16 type, bool bOffensive = false, uint16 threshold = 100);
@@ -421,7 +422,7 @@ public:
inline float GetTargetRingZ() const { return m_TargetRing.z; }
inline bool HasEndurUpkeep() const { return endur_upkeep; }
inline void SetEndurUpkeep(bool val) { endur_upkeep = val; }
bool HasBuffWithSpellGroup(int spellgroup);
bool HasBuffWithSpellGroup(int spell_group);
//Basic Stats/Inventory
virtual void SetLevel(uint8 in_level, bool command = false) { level = in_level; }