rendered paste bodyIndex: game/SpellHandler.cpp
===================================================================
--- game/SpellHandler.cpp (revision 82)
+++ game/SpellHandler.cpp (working copy)
@@ -64,24 +64,7 @@
return;
}
- if (pUser->isInCombat())
- {
- uint8 consumable = proto->Class == ITEM_CLASS_CONSUMABLE &&
- proto->SubClass != ITEM_SUBCLASS_POTION &&
- proto->SubClass != ITEM_SUBCLASS_SCROLL &&
- proto->SubClass != ITEM_SUBCLASS_BANDAGE &&
- proto->SubClass != ITEM_SUBCLASS_ITEM_ENHANCEMENT &&
- proto->SubClass != ITEM_SUBCLASS_COMBAT_EFFECT;
- uint8 trade_goods = proto->Class == ITEM_CLASS_TRADE_GOODS && proto->SubClass != ITEM_SUBCLASS_EXPLOSIVES;
- if (consumable || trade_goods ||
- proto->Class == ITEM_CLASS_KEY || proto->Class == ITEM_CLASS_JUNK)
- {
- pUser->SendEquipError(EQUIP_ERR_NOT_IN_COMBAT,pItem,NULL);
- return;
- }
- }
-
// check also BIND_WHEN_PICKED_UP for .additem or .additemset case by GM (not binded at adding to inventory)
if( pItem->GetProto()->Bonding == BIND_WHEN_USE || pItem->GetProto()->Bonding == BIND_WHEN_PICKED_UP)
{
@@ -123,6 +106,12 @@
continue;
}
+ if(pUser->isInCombat() && IsNonCombatSpell(spellInfo->Id))
+ {
+ pUser->SendEquipError(EQUIP_ERR_NOT_IN_COMBAT,pItem,NULL);
+ return;
+ }
+
Spell *spell = new Spell(pUser, spellInfo, (count > 0) , 0);
spell->m_CastItem = pItem;
spell->prepare(&targets);