mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 04:37:00 +00:00
[9984] Implement item 43214 work.
* Original version suggested by timmit. * Required DB support for target requirement.
This commit is contained in:
parent
6ce82e4914
commit
86bef7ace5
5 changed files with 27 additions and 17 deletions
|
|
@ -1686,6 +1686,17 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
|
|||
|
||||
return;
|
||||
}
|
||||
case 57908: // Stain Cloth
|
||||
{
|
||||
// nothing do more
|
||||
finish();
|
||||
|
||||
m_caster->CastSpell(m_caster, 57915, false, m_CastItem);
|
||||
|
||||
// cast item deleted
|
||||
ClearCastItem();
|
||||
break;
|
||||
}
|
||||
case 58418: // Portal to Orgrimmar
|
||||
case 58420: // Portal to Stormwind
|
||||
return; // implemented in EffectScript[0]
|
||||
|
|
@ -3719,10 +3730,7 @@ void Spell::EffectSummonChangeItem(SpellEffectIndex eff_idx)
|
|||
player->DestroyItem(m_CastItem->GetBagSlot(), m_CastItem->GetSlot(), true);
|
||||
|
||||
// prevent crash at access and unexpected charges counting with item update queue corrupt
|
||||
if (m_CastItem==m_targets.getItemTarget())
|
||||
m_targets.setItemTarget(NULL);
|
||||
|
||||
m_CastItem = NULL;
|
||||
ClearCastItem();
|
||||
|
||||
player->StoreItem( dest, pNewItem, true);
|
||||
return;
|
||||
|
|
@ -3737,10 +3745,7 @@ void Spell::EffectSummonChangeItem(SpellEffectIndex eff_idx)
|
|||
player->DestroyItem(m_CastItem->GetBagSlot(), m_CastItem->GetSlot(), true);
|
||||
|
||||
// prevent crash at access and unexpected charges counting with item update queue corrupt
|
||||
if (m_CastItem==m_targets.getItemTarget())
|
||||
m_targets.setItemTarget(NULL);
|
||||
|
||||
m_CastItem = NULL;
|
||||
ClearCastItem();
|
||||
|
||||
player->BankItem( dest, pNewItem, true);
|
||||
return;
|
||||
|
|
@ -3755,10 +3760,7 @@ void Spell::EffectSummonChangeItem(SpellEffectIndex eff_idx)
|
|||
player->DestroyItem(m_CastItem->GetBagSlot(), m_CastItem->GetSlot(), true);
|
||||
|
||||
// prevent crash at access and unexpected charges counting with item update queue corrupt
|
||||
if (m_CastItem==m_targets.getItemTarget())
|
||||
m_targets.setItemTarget(NULL);
|
||||
|
||||
m_CastItem = NULL;
|
||||
ClearCastItem();
|
||||
|
||||
player->EquipItem( dest, pNewItem, true);
|
||||
player->AutoUnequipOffhandIfNeed();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue