diff options
Diffstat (limited to 'src/game/SpellMgr.cpp')
| -rw-r--r-- | src/game/SpellMgr.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 52006dfb3cc..89cc4105bc6 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -61,11 +61,18 @@ SpellMgr::SpellMgr() case SPELL_EFFECT_PARRY: // 0 case SPELL_EFFECT_BLOCK: // 0 case SPELL_EFFECT_SKILL: // always with dummy 3 as A - case SPELL_EFFECT_LEARN_SPELL: // 0 + //case SPELL_EFFECT_LEARN_SPELL: // 0 may be 5 pet case SPELL_EFFECT_TRADE_SKILL: // 0 or 1 case SPELL_EFFECT_PROFICIENCY: // 0 EffectTargetType[i] = SPELL_REQUIRE_NONE; break; + case SPELL_EFFECT_ENCHANT_ITEM: + case SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY: + case SPELL_EFFECT_DISENCHANT: + case SPELL_EFFECT_FEED_PET: + case SPELL_EFFECT_PROSPECTING: + EffectTargetType[i] = SPELL_REQUIRE_ITEM; + break; default: EffectTargetType[i] = SPELL_REQUIRE_UNIT; break; @@ -1331,14 +1338,14 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2, bool // return true; //use data of highest rank spell(needed for spells which ranks have different effects) - SpellEntry const *spellInfo1=sSpellStore.LookupEntry(GetLastSpellInChain(spellId_1)); - SpellEntry const *spellInfo2=sSpellStore.LookupEntry(GetLastSpellInChain(spellId_2)); + spellInfo_1=sSpellStore.LookupEntry(GetLastSpellInChain(spellId_1)); + spellInfo_2=sSpellStore.LookupEntry(GetLastSpellInChain(spellId_2)); //if spells have exactly the same effect they cannot stack for(uint32 i = 0; i < 3; ++i) - if(spellInfo1->Effect[i] != spellInfo2->Effect[i] - || spellInfo1->EffectApplyAuraName[i] != spellInfo2->EffectApplyAuraName[i] - || spellInfo1->EffectMiscValue[i] != spellInfo2->EffectMiscValue[i]) // paladin resist aura + if(spellInfo_1->Effect[i] != spellInfo_2->Effect[i] + || spellInfo_1->EffectApplyAuraName[i] != spellInfo_2->EffectApplyAuraName[i] + || spellInfo_1->EffectMiscValue[i] != spellInfo_2->EffectMiscValue[i]) // paladin resist aura return false; // need itemtype check? need an example to add that check return true; @@ -1430,8 +1437,8 @@ void SpellMgr::LoadSpellRequired() bar.step(); sLog.outString(); - sLog.outString( ">> Loaded 0 spell chain records" ); - sLog.outErrorDb("`spell_chains` table is empty!"); + sLog.outString( ">> Loaded 0 spell required records" ); + sLog.outErrorDb("`spell_required` table is empty!"); return; } uint32 rows = 0; |
