[8169] Implement new optional table spell_check and console command .debug spellcheck Author: VladimirMangos

* Table expected to be store data mirror same data in code:
      - explicit spell ids with related expected spell properties like effects, spell family or auras
      - implicit requirements for select some spell sets like spell family masks, icons or visual values
    * For check can be used .debug spellcheck _console_ only command.
    * Main purpose table and related command check code parts for outdated data at client switch.
      It also can be used for check data in patch writing time to be sure code correctness.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-07-16 10:13:12 +08:00
parent 6f25682423
commit e1762e3e6d
7 changed files with 337 additions and 14 deletions
+10 -2
View File
@@ -193,6 +193,14 @@ inline bool IsSpellHaveEffect(SpellEntry const *spellInfo, SpellEffects effect)
return false;
}
inline bool IsSpellHaveAura(SpellEntry const *spellInfo, AuraType aura)
{
for(int i= 0; i < 3; ++i)
if(SpellEffects(spellInfo->EffectApplyAuraName[i])==aura)
return true;
return false;
}
//bool IsNoStackAuraDueToAura(uint32 spellId_1, uint32 effIndex_1, uint32 spellId_2, uint32 effIndex_2);
inline bool IsSealSpell(SpellEntry const *spellInfo)
@@ -256,8 +264,6 @@ bool IsDispelableBySpell(SpellEntry const * dispelSpell, uint32 spellId, bool de
bool IsSingleTargetSpell(SpellEntry const *spellInfo);
bool IsSingleTargetSpells(SpellEntry const *spellInfo1, SpellEntry const *spellInfo2);
bool IsAuraAddedBySpell(uint32 auraType, uint32 spellId);
extern bool IsAreaEffectTarget[TOTAL_SPELL_TARGETS];
inline bool IsAreaOfEffectSpell(SpellEntry const *spellInfo)
@@ -1045,6 +1051,8 @@ class SpellMgr
public:
static SpellMgr& Instance();
void CheckUsedSpells(char const* table);
// Loading data at server startup
void LoadSpellChains();
void LoadSpellRequired();