diff options
| author | megamage <none@none> | 2008-12-24 21:08:43 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2008-12-24 21:08:43 -0600 |
| commit | 65dbb2fa3874a882a1e1a9c595043abd4eadc11a (patch) | |
| tree | 1c38bd05ec1bf7ce7d18220cdef0f845ca1b5a5c /src/game/SpellMgr.cpp | |
| parent | 808d79eb297c37a51f4c396152348e422c06d44f (diff) | |
| parent | f481c04eac5514c5446a04c982b4318dda62b2c6 (diff) | |
Merge.
--HG--
branch : trunk
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; |
