aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r--src/game/SpellMgr.cpp23
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;