aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorQAston <none@none>2009-03-10 16:44:03 +0100
committerQAston <none@none>2009-03-10 16:44:03 +0100
commit6fb63d33257b10b88b837e1b6e71baebbd59fc12 (patch)
tree17766d4686c475aef9e83c9e0e9c3200849dc6af /src
parentf71dff82c68a2b2f50a63db471f8bd9a2bc2a966 (diff)
*Make scrolls not stackable.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellMgr.cpp29
-rw-r--r--src/game/SpellMgr.h1
2 files changed, 27 insertions, 3 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 7ea0b7cec26..f14103a761b 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -304,16 +304,39 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
if (spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_SEATED)
{
for(int i = 0; i < 3; i++)
- if( spellInfo->EffectApplyAuraName[i]==SPELL_AURA_MOD_POWER_REGEN)
+ if( spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POWER_REGEN
+ || spellInfo->EffectApplyAuraName[i] == SPELL_AURA_OBS_MOD_ENERGY)
return SPELL_DRINK;
- else if ( spellInfo->EffectApplyAuraName[i]==SPELL_AURA_MOD_REGEN)
+ else if ( spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_REGEN
+ || spellInfo->EffectApplyAuraName[i] == SPELL_AURA_OBS_MOD_HEALTH)
return SPELL_FOOD;
}
// this may be a hack
else if((spellInfo->AttributesEx2 & SPELL_ATTR_EX2_FOOD)
&& !spellInfo->Category)
return SPELL_WELL_FED;
- break;
+ // scrolls effects
+ else
+ {
+ uint32 firstSpell = spellmgr.GetFirstSpellInChain(spellInfo->Id);
+ switch (firstSpell)
+ {
+ // Strength
+ case 8118:
+ // Stamina
+ case 8099:
+ // Spirit
+ case 8112:
+ //Intellect
+ case 8096:
+ // Agility
+ case 8115:
+ // Armor
+ case 8091:
+ return SPELL_SCROLL;
+ }
+ break;
+ }
}
case SPELLFAMILY_MAGE:
{
diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h
index f53d289393e..dd3b223ad77 100644
--- a/src/game/SpellMgr.h
+++ b/src/game/SpellMgr.h
@@ -319,6 +319,7 @@ enum SpellSpecific
SPELL_FOOD = 20,
SPELL_PRESENCE = 21,
SPELL_CHARM = 22,
+ SPELL_SCROLL = 22
};
#define SPELL_LINKED_MAX_SPELLS 200000