aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2017-07-29 18:01:12 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-07-29 18:01:12 +0200
commit7e4f6078512cd42f606b513f0a2597cc5f06dcc0 (patch)
treef7ba4182e886291fc970101824cf8c19a07a3669 /src/server/game/Spells/SpellEffects.cpp
parent19dcae0dd4346304d509ac866305b737a8683048 (diff)
Core/Spells: Renamed SPELL_EFFECT_CREATE_MANA_GEM to SPELL_EFFECT_RECHARGE_ITEM
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index be716fb61ef..3b1297d36c4 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -139,7 +139,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectThreat, // 63 SPELL_EFFECT_THREAT
&Spell::EffectTriggerSpell, // 64 SPELL_EFFECT_TRIGGER_SPELL
&Spell::EffectApplyAreaAura, // 65 SPELL_EFFECT_APPLY_AREA_AURA_RAID
- &Spell::EffectRechargeManaGem, // 66 SPELL_EFFECT_CREATE_MANA_GEM (possibly recharge it, misc - is item ID)
+ &Spell::EffectRechargeItem, // 66 SPELL_EFFECT_RECHARGE_ITEM
&Spell::EffectHealMaxHealth, // 67 SPELL_EFFECT_HEAL_MAX_HEALTH
&Spell::EffectInterruptCast, // 68 SPELL_EFFECT_INTERRUPT_CAST
&Spell::EffectDistract, // 69 SPELL_EFFECT_DISTRACT
@@ -5481,35 +5481,24 @@ void Spell::EffectCastButtons(SpellEffIndex /*effIndex*/)
}
}
-void Spell::EffectRechargeManaGem(SpellEffIndex /*effIndex*/)
+void Spell::EffectRechargeItem(SpellEffIndex /*effIndex*/)
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+ if (!unitTarget)
return;
- Player* player = m_caster->ToPlayer();
-
+ Player* player = unitTarget->ToPlayer();
if (!player)
return;
- if (SpellEffectInfo const* effect = GetEffect(EFFECT_0))
- {
- uint32 item_id = effect->ItemType;
-
- ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(item_id);
- if (!pProto)
- {
- player->SendEquipError(EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL);
- return;
- }
- if (Item* pItem = player->GetItemByEntry(item_id))
- {
- for (size_t x = 0; x < pProto->Effects.size() && x < 5; ++x)
- pItem->SetSpellCharges(x, pProto->Effects[x]->Charges);
- pItem->SetState(ITEM_CHANGED, player);
- }
+ if (Item* item = player->GetItemByEntry(effectInfo->ItemType))
+ {
+ ItemTemplate const* proto = item->GetTemplate();
+ for (size_t x = 0; x < proto->Effects.size() && x < 5; ++x)
+ item->SetSpellCharges(x, proto->Effects[x]->Charges);
+ item->SetState(ITEM_CHANGED, player);
}
}