mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 22:37:02 +00:00
[9507] Implement SPELL_EFFECT_RESTORE_ITEM_CHARGES
Also it application in special case of item 5513 and similar.
This commit is contained in:
parent
d775eea9a4
commit
4c4629e861
11 changed files with 105 additions and 3 deletions
|
|
@ -5614,6 +5614,19 @@ SpellCastResult Spell::CheckItems()
|
|||
{
|
||||
if (!m_IsTriggeredSpell && m_spellInfo->EffectItemType[i])
|
||||
{
|
||||
// Conjure Mana Gem
|
||||
if (i == EFFECT_INDEX_0 && m_spellInfo->Effect[EFFECT_INDEX_1] == SPELL_EFFECT_DUMMY)
|
||||
{
|
||||
if (Item* item = p_caster->GetItemByEntry(m_spellInfo->EffectItemType[i]))
|
||||
{
|
||||
if (item->HasMaxCharges())
|
||||
return SPELL_FAILED_ITEM_AT_MAX_CHARGES;
|
||||
|
||||
// will recharge in next effect
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
ItemPosCountVec dest;
|
||||
uint8 msg = p_caster->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, m_spellInfo->EffectItemType[i], 1 );
|
||||
if (msg != EQUIP_ERR_OK )
|
||||
|
|
@ -5624,6 +5637,14 @@ SpellCastResult Spell::CheckItems()
|
|||
}
|
||||
break;
|
||||
}
|
||||
case SPELL_EFFECT_RESTORE_ITEM_CHARGES:
|
||||
{
|
||||
if (Item* item = p_caster->GetItemByEntry(m_spellInfo->EffectItemType[i]))
|
||||
if (item->HasMaxCharges())
|
||||
return SPELL_FAILED_ITEM_AT_MAX_CHARGES;
|
||||
|
||||
break;
|
||||
}
|
||||
case SPELL_EFFECT_ENCHANT_ITEM:
|
||||
case SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC:
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue