diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-11-01 16:29:29 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-11-01 16:29:29 +0100 |
commit | 965d29484b0dd399f7aac4ceb4b765dcaac3dbdb (patch) | |
tree | 3b6f104c76ef386821840559a76a2d3ec65f01a6 | |
parent | 570e6baa090793bb5be33a4dbc417fb7b11d0b51 (diff) |
Core/Items: Corrected all spellid checks from item_template to also check -1
Closes #15797
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 37df45acfd7..2f78280a409 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8101,7 +8101,7 @@ void Player::ApplyItemEquipSpell(Item* item, bool apply, bool form_change) _Spell const& spellData = proto->Spells[i]; // no spell - if (!spellData.SpellId) + if (spellData.SpellId <= 0) continue; // wrong triggering type @@ -8229,7 +8229,7 @@ void Player::CastItemCombatSpell(Unit* target, WeaponAttackType attType, uint32 _Spell const& spellData = proto->Spells[i]; // no spell - if (!spellData.SpellId) + if (spellData.SpellId <= 0) continue; // wrong triggering type @@ -8358,7 +8358,7 @@ void Player::CastItemUseSpell(Item* item, SpellCastTargets const& targets, uint8 _Spell const& spellData = proto->Spells[i]; // no spell - if (!spellData.SpellId) + if (spellData.SpellId <= 0) continue; // wrong triggering type @@ -22713,7 +22713,7 @@ void Player::ApplyEquipCooldown(Item* pItem) _Spell const& spellData = pItem->GetTemplate()->Spells[i]; // no spell - if (!spellData.SpellId) + if (spellData.SpellId <= 0) continue; // wrong triggering type (note: ITEM_SPELLTRIGGER_ON_NO_DELAY_USE not have cooldown) diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 283323b65f3..7a9302699b2 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2521,7 +2521,7 @@ void ObjectMgr::LoadItemTemplates() if (!req) for (uint8 j = 0; j < MAX_ITEM_PROTO_SPELLS; ++j) { - if (itemTemplate.Spells[j].SpellId) + if (itemTemplate.Spells[j].SpellId > 0) { req = true; break; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index c026d10241e..76eefa0bb0e 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4253,7 +4253,7 @@ void Spell::TakeCastItem() for (int i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i) { - if (proto->Spells[i].SpellId) + if (proto->Spells[i].SpellId > 0) { // item has limited charges if (proto->Spells[i].SpellCharges) @@ -6044,7 +6044,7 @@ SpellCastResult Spell::CheckItems() for (uint8 e = 0; e < MAX_ITEM_PROTO_SPELLS; ++e) { ItemTemplate const* proto = targetItem->GetTemplate(); - if (proto->Spells[e].SpellId && ( + if (proto->Spells[e].SpellId > 0 && ( proto->Spells[e].SpellTrigger == ITEM_SPELLTRIGGER_ON_USE || proto->Spells[e].SpellTrigger == ITEM_SPELLTRIGGER_ON_NO_DELAY_USE)) { |