diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 67db3e923..8bde99016 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1163,7 +1163,7 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask) { if (effectMask & (1 << effectNumber)) { - HandleEffects(unit, NULL, NULL, effectNumber, m_damageMultipliers[effectNumber]); + HandleEffects(unit, NULL, NULL, SpellEffectIndex(effectNumber), m_damageMultipliers[effectNumber]); if ( m_applyMultiplierMask & (1 << effectNumber) ) { // Get multiplier @@ -1194,7 +1194,7 @@ void Spell::DoAllEffectOnTarget(GOTargetInfo *target) for(int effectNumber = 0; effectNumber < MAX_EFFECT_INDEX; ++effectNumber) if (effectMask & (1 << effectNumber)) - HandleEffects(NULL, NULL, go, effectNumber); + HandleEffects(NULL, NULL, go, SpellEffectIndex(effectNumber)); // cast at creature (or GO) quest objectives update at successful cast finished (+channel finished) // ignore autorepeat/melee casts for speed (not exist quest for spells (hm... ) @@ -1213,7 +1213,7 @@ void Spell::DoAllEffectOnTarget(ItemTargetInfo *target) for(int effectNumber = 0; effectNumber < MAX_EFFECT_INDEX; ++effectNumber) if (effectMask & (1 << effectNumber)) - HandleEffects(NULL, target->item, NULL, effectNumber); + HandleEffects(NULL, target->item, NULL, SpellEffectIndex(effectNumber)); } bool Spell::IsAliveUnitPresentInTargetList() @@ -2820,7 +2820,7 @@ void Spell::_handle_immediate_phase() // apply Send Event effect to ground in case empty target lists if( m_spellInfo->Effect[j] == SPELL_EFFECT_SEND_EVENT && !HaveTargetsForEffect(j) ) { - HandleEffects(NULL, NULL, NULL, j); + HandleEffects(NULL, NULL, NULL, SpellEffectIndex(j)); continue; } @@ -2853,7 +2853,7 @@ void Spell::_handle_immediate_phase() { // persistent area auras target only the ground if(m_spellInfo->Effect[j] == SPELL_EFFECT_PERSISTENT_AREA_AURA) - HandleEffects(NULL, NULL, NULL, j); + HandleEffects(NULL, NULL, NULL, SpellEffectIndex(j)); } } @@ -3895,7 +3895,7 @@ void Spell::HandleThreatSpells(uint32 spellId) DEBUG_LOG("Spell %u, rank %u, added an additional %i threat", spellId, sSpellMgr.GetSpellRank(spellId), threat); } -void Spell::HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTarget,uint32 i, float DamageMultiplier) +void Spell::HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTarget,SpellEffectIndex i, float DamageMultiplier) { unitTarget = pUnitTarget; itemTarget = pItemTarget; diff --git a/src/game/Spell.h b/src/game/Spell.h index 6785e7dd0..eabb581c3 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -216,120 +216,115 @@ class Spell friend void Unit::SetCurrentCastedSpell( Spell * pSpell ); public: - void EffectNULL(uint32 ); - void EffectUnused(uint32 ); - void EffectDistract(uint32 i); - void EffectPull(uint32 i); - void EffectSchoolDMG(uint32 i); - void EffectEnvironmentalDMG(uint32 i); - void EffectInstaKill(uint32 i); - void EffectDummy(uint32 i); - void EffectTeleportUnits(uint32 i); - void EffectApplyAura(uint32 i); - void EffectSendEvent(uint32 i); - void EffectPowerBurn(uint32 i); - void EffectPowerDrain(uint32 i); - void EffectHeal(uint32 i); - void EffectHealthLeech(uint32 i); - void EffectQuestComplete(uint32 i); - void EffectCreateItem(uint32 i); - void EffectCreateItem2(uint32 i); - void EffectCreateRandomItem(uint32 i); - void EffectPersistentAA(uint32 i); - void EffectEnergize(uint32 i); - void EffectOpenLock(uint32 i); - void EffectSummonChangeItem(uint32 i); - void EffectProficiency(uint32 i); - void EffectApplyAreaAura(uint32 i); - void EffectSummonType(uint32 i); - void EffectSummon(uint32 i); - void EffectLearnSpell(uint32 i); - void EffectDispel(uint32 i); - void EffectDualWield(uint32 i); - void EffectPickPocket(uint32 i); - void EffectAddFarsight(uint32 i); - void EffectSummonWild(uint32 i, uint32 forceFaction = 0); - void EffectSummonGuardian(uint32 i, uint32 forceFaction = 0); - void EffectHealMechanical(uint32 i); - void EffectJump(uint32 i); - void EffectTeleUnitsFaceCaster(uint32 i); - void EffectLearnSkill(uint32 i); - void EffectAddHonor(uint32 i); - void EffectTradeSkill(uint32 i); - void EffectEnchantItemPerm(uint32 i); - void EffectEnchantItemTmp(uint32 i); - void EffectTameCreature(uint32 i); - void EffectSummonPet(uint32 i); - void EffectLearnPetSpell(uint32 i); - void EffectWeaponDmg(uint32 i); - void EffectForceCast(uint32 i); - void EffectTriggerSpell(uint32 i); - void EffectTriggerMissileSpell(uint32 i); - void EffectThreat(uint32 i); - void EffectHealMaxHealth(uint32 i); - void EffectInterruptCast(uint32 i); - void EffectSummonObjectWild(uint32 i); - void EffectScriptEffect(uint32 i); - void EffectSanctuary(uint32 i); - void EffectAddComboPoints(uint32 i); - void EffectDuel(uint32 i); - void EffectStuck(uint32 i); - void EffectSummonPlayer(uint32 i); - void EffectActivateObject(uint32 i); - void EffectApplyGlyph(uint32 i); - void EffectSummonTotem(uint32 i, uint8 slot = 0); - void EffectEnchantHeldItem(uint32 i); - void EffectSummonObject(uint32 i); - void EffectResurrect(uint32 i); - void EffectParry(uint32 i); - void EffectBlock(uint32 i); - void EffectLeapForward(uint32 i); - void EffectLeapBack(uint32 i); - void EffectTransmitted(uint32 i); - void EffectDisEnchant(uint32 i); - void EffectInebriate(uint32 i); - void EffectFeedPet(uint32 i); - void EffectDismissPet(uint32 i); - void EffectReputation(uint32 i); - void EffectSelfResurrect(uint32 i); - void EffectSkinning(uint32 i); - void EffectCharge(uint32 i); - void EffectCharge2(uint32 i); - void EffectProspecting(uint32 i); - void EffectMilling(uint32 i); - void EffectRenamePet(uint32 i); - void EffectSendTaxi(uint32 i); - void EffectSummonCritter(uint32 i, uint32 forceFaction = 0); - void EffectKnockBack(uint32 i); - void EffectPlayerPull(uint32 i); - void EffectDispelMechanic(uint32 i); - void EffectSummonDeadPet(uint32 i); - void EffectSummonAllTotems(uint32 i); - void EffectDestroyAllTotems(uint32 i); - void EffectDurabilityDamage(uint32 i); - void EffectSkill(uint32 i); - void EffectTaunt(uint32 i); - void EffectDurabilityDamagePCT(uint32 i); - void EffectModifyThreatPercent(uint32 i); - void EffectResurrectNew(uint32 i); - void EffectAddExtraAttacks(uint32 i); - void EffectSpiritHeal(uint32 i); - void EffectSkinPlayerCorpse(uint32 i); - void EffectStealBeneficialBuff(uint32 i); - void EffectUnlearnSpecialization(uint32 i); - void EffectHealPct(uint32 i); - void EffectEnergisePct(uint32 i); - void EffectTriggerSpellWithValue(uint32 i); - void EffectTriggerRitualOfSummoning(uint32 i); - void EffectKillCreditPersonal(uint32 i); - void EffectKillCredit(uint32 i); - void EffectQuestFail(uint32 i); - void EffectActivateRune(uint32 i); - void EffectTitanGrip(uint32 i); - void EffectEnchantItemPrismatic(uint32 i); - void EffectPlayMusic(uint32 i); - void EffectSpecCount(uint32 i); - void EffectActivateSpec(uint32 i); + void EffectNULL(SpellEffectIndex eff_idx); + void EffectUnused(SpellEffectIndex eff_idx); + void EffectDistract(SpellEffectIndex eff_idx); + void EffectPull(SpellEffectIndex eff_idx); + void EffectSchoolDMG(SpellEffectIndex eff_idx); + void EffectEnvironmentalDMG(SpellEffectIndex eff_idx); + void EffectInstaKill(SpellEffectIndex eff_idx); + void EffectDummy(SpellEffectIndex eff_idx); + void EffectTeleportUnits(SpellEffectIndex eff_idx); + void EffectApplyAura(SpellEffectIndex eff_idx); + void EffectSendEvent(SpellEffectIndex eff_idx); + void EffectPowerBurn(SpellEffectIndex eff_idx); + void EffectPowerDrain(SpellEffectIndex eff_idx); + void EffectHeal(SpellEffectIndex eff_idx); + void EffectHealthLeech(SpellEffectIndex eff_idx); + void EffectQuestComplete(SpellEffectIndex eff_idx); + void EffectCreateItem(SpellEffectIndex eff_idx); + void EffectCreateItem2(SpellEffectIndex eff_idx); + void EffectCreateRandomItem(SpellEffectIndex eff_idx); + void EffectPersistentAA(SpellEffectIndex eff_idx); + void EffectEnergize(SpellEffectIndex eff_idx); + void EffectOpenLock(SpellEffectIndex eff_idx); + void EffectSummonChangeItem(SpellEffectIndex eff_idx); + void EffectProficiency(SpellEffectIndex eff_idx); + void EffectApplyAreaAura(SpellEffectIndex eff_idx); + void EffectSummonType(SpellEffectIndex eff_idx); + void EffectLearnSpell(SpellEffectIndex eff_idx); + void EffectDispel(SpellEffectIndex eff_idx); + void EffectDualWield(SpellEffectIndex eff_idx); + void EffectPickPocket(SpellEffectIndex eff_idx); + void EffectAddFarsight(SpellEffectIndex eff_idx); + void EffectHealMechanical(SpellEffectIndex eff_idx); + void EffectJump(SpellEffectIndex eff_idx); + void EffectTeleUnitsFaceCaster(SpellEffectIndex eff_idx); + void EffectLearnSkill(SpellEffectIndex eff_idx); + void EffectAddHonor(SpellEffectIndex eff_idx); + void EffectTradeSkill(SpellEffectIndex eff_idx); + void EffectEnchantItemPerm(SpellEffectIndex eff_idx); + void EffectEnchantItemTmp(SpellEffectIndex eff_idx); + void EffectTameCreature(SpellEffectIndex eff_idx); + void EffectSummonPet(SpellEffectIndex eff_idx); + void EffectLearnPetSpell(SpellEffectIndex eff_idx); + void EffectWeaponDmg(SpellEffectIndex eff_idx); + void EffectForceCast(SpellEffectIndex eff_idx); + void EffectTriggerSpell(SpellEffectIndex eff_idx); + void EffectTriggerMissileSpell(SpellEffectIndex eff_idx); + void EffectThreat(SpellEffectIndex eff_idx); + void EffectHealMaxHealth(SpellEffectIndex eff_idx); + void EffectInterruptCast(SpellEffectIndex eff_idx); + void EffectSummonObjectWild(SpellEffectIndex eff_idx); + void EffectScriptEffect(SpellEffectIndex eff_idx); + void EffectSanctuary(SpellEffectIndex eff_idx); + void EffectAddComboPoints(SpellEffectIndex eff_idx); + void EffectDuel(SpellEffectIndex eff_idx); + void EffectStuck(SpellEffectIndex eff_idx); + void EffectSummonPlayer(SpellEffectIndex eff_idx); + void EffectActivateObject(SpellEffectIndex eff_idx); + void EffectApplyGlyph(SpellEffectIndex eff_idx); + void EffectEnchantHeldItem(SpellEffectIndex eff_idx); + void EffectSummonObject(SpellEffectIndex eff_idx); + void EffectResurrect(SpellEffectIndex eff_idx); + void EffectParry(SpellEffectIndex eff_idx); + void EffectBlock(SpellEffectIndex eff_idx); + void EffectLeapForward(SpellEffectIndex eff_idx); + void EffectLeapBack(SpellEffectIndex eff_idx); + void EffectTransmitted(SpellEffectIndex eff_idx); + void EffectDisEnchant(SpellEffectIndex eff_idx); + void EffectInebriate(SpellEffectIndex eff_idx); + void EffectFeedPet(SpellEffectIndex eff_idx); + void EffectDismissPet(SpellEffectIndex eff_idx); + void EffectReputation(SpellEffectIndex eff_idx); + void EffectSelfResurrect(SpellEffectIndex eff_idx); + void EffectSkinning(SpellEffectIndex eff_idx); + void EffectCharge(SpellEffectIndex eff_idx); + void EffectCharge2(SpellEffectIndex eff_idx); + void EffectProspecting(SpellEffectIndex eff_idx); + void EffectMilling(SpellEffectIndex eff_idx); + void EffectRenamePet(SpellEffectIndex eff_idx); + void EffectSendTaxi(SpellEffectIndex eff_idx); + void EffectKnockBack(SpellEffectIndex eff_idx); + void EffectPlayerPull(SpellEffectIndex eff_idx); + void EffectDispelMechanic(SpellEffectIndex eff_idx); + void EffectSummonDeadPet(SpellEffectIndex eff_idx); + void EffectSummonAllTotems(SpellEffectIndex eff_idx); + void EffectDestroyAllTotems(SpellEffectIndex eff_idx); + void EffectDurabilityDamage(SpellEffectIndex eff_idx); + void EffectSkill(SpellEffectIndex eff_idx); + void EffectTaunt(SpellEffectIndex eff_idx); + void EffectDurabilityDamagePCT(SpellEffectIndex eff_idx); + void EffectModifyThreatPercent(SpellEffectIndex eff_idx); + void EffectResurrectNew(SpellEffectIndex eff_idx); + void EffectAddExtraAttacks(SpellEffectIndex eff_idx); + void EffectSpiritHeal(SpellEffectIndex eff_idx); + void EffectSkinPlayerCorpse(SpellEffectIndex eff_idx); + void EffectStealBeneficialBuff(SpellEffectIndex eff_idx); + void EffectUnlearnSpecialization(SpellEffectIndex eff_idx); + void EffectHealPct(SpellEffectIndex eff_idx); + void EffectEnergisePct(SpellEffectIndex eff_idx); + void EffectTriggerSpellWithValue(SpellEffectIndex eff_idx); + void EffectTriggerRitualOfSummoning(SpellEffectIndex eff_idx); + void EffectKillCreditPersonal(SpellEffectIndex eff_idx); + void EffectKillCredit(SpellEffectIndex eff_idx); + void EffectQuestFail(SpellEffectIndex eff_idx); + void EffectActivateRune(SpellEffectIndex eff_idx); + void EffectTitanGrip(SpellEffectIndex eff_idx); + void EffectEnchantItemPrismatic(SpellEffectIndex eff_idx); + void EffectPlayMusic(SpellEffectIndex eff_idx); + void EffectSpecCount(SpellEffectIndex eff_idx); + void EffectActivateSpec(SpellEffectIndex eff_idx); Spell( Unit* Caster, SpellEntry const *info, bool triggered, uint64 originalCasterGUID = 0, Spell** triggeringContainer = NULL ); ~Spell(); @@ -368,7 +363,13 @@ class Spell uint32 getState() const { return m_spellState; } void setState(uint32 state) { m_spellState = state; } - void DoCreateItem(uint32 i, uint32 itemtype); + void DoCreateItem(SpellEffectIndex eff_idx, uint32 itemtype); + void DoSummon(SpellEffectIndex eff_idx); + void DoSummonWild(SpellEffectIndex eff_idx, uint32 forceFaction = 0); + void DoSummonGuardian(SpellEffectIndex eff_idx, uint32 forceFaction = 0); + void DoSummonTotem(SpellEffectIndex eff_idx, uint8 slot = 0); + void DoSummonCritter(SpellEffectIndex eff_idx, uint32 forceFaction = 0); + void WriteSpellGoTargets( WorldPacket * data ); void WriteAmmoToPacket( WorldPacket * data ); @@ -398,7 +399,7 @@ class Spell void SendResurrectRequest(Player* target); void SendPlaySpellVisual(uint32 SpellID); - void HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTarget,uint32 i, float DamageMultiplier = 1.0); + void HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTarget,SpellEffectIndex i, float DamageMultiplier = 1.0); void HandleThreatSpells(uint32 spellId); //void HandleAddAura(Unit* Target); @@ -769,7 +770,7 @@ namespace MaNGOS #endif } -typedef void(Spell::*pEffect)(uint32 i); +typedef void(Spell::*pEffect)(SpellEffectIndex eff_idx); class SpellEvent : public BasicEvent { diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 46313cdd2..9e2192b94 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -222,17 +222,17 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectActivateSpec, //162 SPELL_EFFECT_TALENT_SPEC_SELECT activate primary/secondary spec }; -void Spell::EffectNULL(uint32 /*i*/) +void Spell::EffectNULL(SpellEffectIndex /*eff_idx*/) { sLog.outDebug("WORLD: Spell Effect DUMMY"); } -void Spell::EffectUnused(uint32 /*i*/) +void Spell::EffectUnused(SpellEffectIndex /*eff_idx*/) { // NOT USED BY ANY SPELL OR USELESS OR IMPLEMENTED IN DIFFERENT WAY IN MANGOS } -void Spell::EffectResurrectNew(uint32 i) +void Spell::EffectResurrectNew(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->isAlive()) return; @@ -249,12 +249,12 @@ void Spell::EffectResurrectNew(uint32 i) return; uint32 health = damage; - uint32 mana = m_spellInfo->EffectMiscValue[i]; + uint32 mana = m_spellInfo->EffectMiscValue[eff_idx]; pTarget->setResurrectRequestData(m_caster->GetGUID(), m_caster->GetMapId(), m_caster->GetPositionX(), m_caster->GetPositionY(), m_caster->GetPositionZ(), health, mana); SendResurrectRequest(pTarget); } -void Spell::EffectInstaKill(uint32 /*i*/) +void Spell::EffectInstaKill(SpellEffectIndex /*eff_idx*/) { if( !unitTarget || !unitTarget->isAlive() ) return; @@ -285,7 +285,7 @@ void Spell::EffectInstaKill(uint32 /*i*/) m_caster->DealDamage(unitTarget, unitTarget->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } -void Spell::EffectEnvironmentalDMG(uint32 i) +void Spell::EffectEnvironmentalDMG(SpellEffectIndex eff_idx) { uint32 absorb = 0; uint32 resist = 0; @@ -293,7 +293,7 @@ void Spell::EffectEnvironmentalDMG(uint32 i) // Note: this hack with damage replace required until GO casting not implemented // environment damage spells already have around enemies targeting but this not help in case not existed GO casting support // currently each enemy selected explicitly and self cast damage, we prevent apply self casted spell bonuses/etc - damage = m_spellInfo->CalculateSimpleValue(i); + damage = m_spellInfo->CalculateSimpleValue(eff_idx); m_caster->CalcAbsorbResist(m_caster, GetSpellSchoolMask(m_spellInfo), SPELL_DIRECT_DAMAGE, damage, &absorb, &resist); @@ -302,7 +302,7 @@ void Spell::EffectEnvironmentalDMG(uint32 i) ((Player*)m_caster)->EnvironmentalDamage(DAMAGE_FIRE, damage); } -void Spell::EffectSchoolDMG(uint32 effect_idx) +void Spell::EffectSchoolDMG(SpellEffectIndex effect_idx) { if( unitTarget && unitTarget->isAlive()) { @@ -741,7 +741,7 @@ void Spell::EffectSchoolDMG(uint32 effect_idx) } } -void Spell::EffectDummy(uint32 i) +void Spell::EffectDummy(SpellEffectIndex eff_idx) { if (!unitTarget && !gameObjTarget && !itemTarget) return; @@ -1133,7 +1133,7 @@ void Spell::EffectDummy(uint32 i) return; } - DoCreateItem(i, newitemid); + DoCreateItem(eff_idx, newitemid); return; } // Demon Broiled Surprise @@ -1272,7 +1272,7 @@ void Spell::EffectDummy(uint32 i) } case 52308: // Take Sputum Sample { - switch(i) + switch(eff_idx) { case EFFECT_INDEX_0: { @@ -1476,7 +1476,7 @@ void Spell::EffectDummy(uint32 i) if (Aura *aura = m_caster->GetDummyAura(58367)) rage_modified += aura->GetModifier()->m_amount*10; - int32 basePoints0 = damage+int32(rage_modified * m_spellInfo->DmgMultiplier[i] + + int32 basePoints0 = damage+int32(rage_modified * m_spellInfo->DmgMultiplier[eff_idx] + m_caster->GetTotalAttackPowerValue(BASE_ATTACK)*0.2f); m_caster->CastCustomSpell(unitTarget, 20647, &basePoints0, NULL, NULL, true, 0); @@ -1807,7 +1807,7 @@ void Spell::EffectDummy(uint32 i) if (!pet || !unitTarget) return; - pet->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(i), true); + pet->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true); return; } } @@ -1849,7 +1849,7 @@ void Spell::EffectDummy(uint32 i) if (!unitTarget) return; - uint32 spell_id = m_currentBasePoints[i]+1; + uint32 spell_id = m_currentBasePoints[eff_idx]+1; SpellEntry const* spell_proto = sSpellStore.LookupEntry(spell_id); if (!spell_proto) return; @@ -2084,7 +2084,7 @@ void Spell::EffectDummy(uint32 i) } // pet auras - if (PetAura const* petSpell = sSpellMgr.GetPetAura(m_spellInfo->Id, i)) + if (PetAura const* petSpell = sSpellMgr.GetPetAura(m_spellInfo->Id, eff_idx)) { m_caster->AddPetAura(petSpell); return; @@ -2093,16 +2093,16 @@ void Spell::EffectDummy(uint32 i) // Script based implementation. Must be used only for not good for implementation in core spell effects // So called only for not proccessed cases if (gameObjTarget) - Script->EffectDummyGameObj(m_caster, m_spellInfo->Id, i, gameObjTarget); + Script->EffectDummyGameObj(m_caster, m_spellInfo->Id, eff_idx, gameObjTarget); else if (unitTarget && unitTarget->GetTypeId()==TYPEID_UNIT) - Script->EffectDummyCreature(m_caster, m_spellInfo->Id, i, (Creature*)unitTarget); + Script->EffectDummyCreature(m_caster, m_spellInfo->Id, eff_idx, (Creature*)unitTarget); else if (itemTarget) - Script->EffectDummyItem(m_caster, m_spellInfo->Id, i, itemTarget); + Script->EffectDummyItem(m_caster, m_spellInfo->Id, eff_idx, itemTarget); } -void Spell::EffectTriggerSpellWithValue(uint32 i) +void Spell::EffectTriggerSpellWithValue(SpellEffectIndex eff_idx) { - uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[i]; + uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[eff_idx]; // normal case SpellEntry const *spellInfo = sSpellStore.LookupEntry( triggered_spell_id ); @@ -2117,9 +2117,9 @@ void Spell::EffectTriggerSpellWithValue(uint32 i) m_caster->CastCustomSpell(unitTarget,triggered_spell_id,&bp,&bp,&bp,true,NULL,NULL,m_originalCasterGUID); } -void Spell::EffectTriggerRitualOfSummoning(uint32 i) +void Spell::EffectTriggerRitualOfSummoning(SpellEffectIndex eff_idx) { - uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[i]; + uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[eff_idx]; SpellEntry const *spellInfo = sSpellStore.LookupEntry( triggered_spell_id ); if(!spellInfo) @@ -2133,12 +2133,12 @@ void Spell::EffectTriggerRitualOfSummoning(uint32 i) m_caster->CastSpell(unitTarget,spellInfo,false); } -void Spell::EffectForceCast(uint32 i) +void Spell::EffectForceCast(SpellEffectIndex eff_idx) { if( !unitTarget ) return; - uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[i]; + uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[eff_idx]; // normal case SpellEntry const *spellInfo = sSpellStore.LookupEntry( triggered_spell_id ); @@ -2152,7 +2152,7 @@ void Spell::EffectForceCast(uint32 i) unitTarget->CastSpell(unitTarget, spellInfo, true, NULL, NULL, m_originalCasterGUID); } -void Spell::EffectTriggerSpell(uint32 effIndex) +void Spell::EffectTriggerSpell(SpellEffectIndex effIndex) { // only unit case known if (!unitTarget) @@ -2322,7 +2322,7 @@ void Spell::EffectTriggerSpell(uint32 effIndex) caster->CastSpell(unitTarget,spellInfo,true,NULL,NULL,m_originalCasterGUID); } -void Spell::EffectTriggerMissileSpell(uint32 effect_idx) +void Spell::EffectTriggerMissileSpell(SpellEffectIndex effect_idx) { uint32 triggered_spell_id = m_spellInfo->EffectTriggerSpell[effect_idx]; @@ -2342,7 +2342,7 @@ void Spell::EffectTriggerMissileSpell(uint32 effect_idx) m_caster->CastSpell(m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, spellInfo, true, m_CastItem, 0, m_originalCasterGUID); } -void Spell::EffectJump(uint32 i) +void Spell::EffectJump(SpellEffectIndex eff_idx) { if(m_caster->isInFlight()) return; @@ -2355,7 +2355,7 @@ void Spell::EffectJump(uint32 i) y = m_targets.m_destY; z = m_targets.m_destZ; - if(m_spellInfo->EffectImplicitTargetA[i] == TARGET_BEHIND_VICTIM) + if(m_spellInfo->EffectImplicitTargetA[eff_idx] == TARGET_BEHIND_VICTIM) { // explicit cast data from client or server-side cast // some spell at client send caster @@ -2391,12 +2391,12 @@ void Spell::EffectJump(uint32 i) m_caster->NearTeleportTo(x, y, z, o, true); } -void Spell::EffectTeleportUnits(uint32 i) +void Spell::EffectTeleportUnits(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->isInFlight()) return; - switch (m_spellInfo->EffectImplicitTargetB[i]) + switch (m_spellInfo->EffectImplicitTargetB[eff_idx]) { case TARGET_INNKEEPER_COORDINATES: { @@ -2449,7 +2449,7 @@ void Spell::EffectTeleportUnits(uint32 i) // If not exist data for dest location - return if(!(m_targets.m_targetMask & TARGET_FLAG_DEST_LOCATION)) { - sLog.outError( "Spell::EffectTeleportUnits - unknown EffectImplicitTargetB[%u] = %u for spell ID %u", i, m_spellInfo->EffectImplicitTargetB[i], m_spellInfo->Id ); + sLog.outError( "Spell::EffectTeleportUnits - unknown EffectImplicitTargetB[%u] = %u for spell ID %u", eff_idx, m_spellInfo->EffectImplicitTargetB[eff_idx], m_spellInfo->Id ); return; } // Init dest coordinates @@ -2560,7 +2560,7 @@ void Spell::EffectTeleportUnits(uint32 i) } } -void Spell::EffectApplyAura(uint32 i) +void Spell::EffectApplyAura(SpellEffectIndex eff_idx) { if(!unitTarget) return; @@ -2574,9 +2574,9 @@ void Spell::EffectApplyAura(uint32 i) if(!caster) return; - sLog.outDebug("Spell: Aura is: %u", m_spellInfo->EffectApplyAuraName[i]); + sLog.outDebug("Spell: Aura is: %u", m_spellInfo->EffectApplyAuraName[eff_idx]); - Aura* Aur = CreateAura(m_spellInfo, i, &m_currentBasePoints[i], unitTarget, caster, m_CastItem); + Aura* Aur = CreateAura(m_spellInfo, eff_idx, &m_currentBasePoints[eff_idx], unitTarget, caster, m_CastItem); // Now Reduce spell duration using data received at spell hit int32 duration = Aur->GetAuraMaxDuration(); @@ -2600,25 +2600,25 @@ void Spell::EffectApplyAura(uint32 i) unitTarget->AddAura(Aur); } -void Spell::EffectUnlearnSpecialization( uint32 i ) +void Spell::EffectUnlearnSpecialization(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; Player *_player = (Player*)unitTarget; - uint32 spellToUnlearn = m_spellInfo->EffectTriggerSpell[i]; + uint32 spellToUnlearn = m_spellInfo->EffectTriggerSpell[eff_idx]; _player->removeSpell(spellToUnlearn); sLog.outDebug( "Spell: Player %u has unlearned spell %u from NpcGUID: %u", _player->GetGUIDLow(), spellToUnlearn, m_caster->GetGUIDLow() ); } -void Spell::EffectPowerDrain(uint32 i) +void Spell::EffectPowerDrain(SpellEffectIndex eff_idx) { - if(m_spellInfo->EffectMiscValue[i] < 0 || m_spellInfo->EffectMiscValue[i] >= MAX_POWERS) + if(m_spellInfo->EffectMiscValue[eff_idx] < 0 || m_spellInfo->EffectMiscValue[eff_idx] >= MAX_POWERS) return; - Powers drain_power = Powers(m_spellInfo->EffectMiscValue[i]); + Powers drain_power = Powers(m_spellInfo->EffectMiscValue[eff_idx]); if(!unitTarget) return; @@ -2650,7 +2650,7 @@ void Spell::EffectPowerDrain(uint32 i) // Don`t restore from self drain if(drain_power == POWER_MANA && m_caster != unitTarget) { - float manaMultiplier = m_spellInfo->EffectMultipleValue[i]; + float manaMultiplier = m_spellInfo->EffectMultipleValue[eff_idx]; if(manaMultiplier==0) manaMultiplier = 1; @@ -2663,21 +2663,21 @@ void Spell::EffectPowerDrain(uint32 i) } } -void Spell::EffectSendEvent(uint32 EffectIndex) +void Spell::EffectSendEvent(SpellEffectIndex effectIndex) { /* we do not handle a flag dropping or clicking on flag in battleground by sendevent system */ - sLog.outDebug("Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->EffectMiscValue[EffectIndex], m_spellInfo->Id); - m_caster->GetMap()->ScriptsStart(sEventScripts, m_spellInfo->EffectMiscValue[EffectIndex], m_caster, focusObject); + sLog.outDebug("Spell ScriptStart %u for spellid %u in EffectSendEvent ", m_spellInfo->EffectMiscValue[effectIndex], m_spellInfo->Id); + m_caster->GetMap()->ScriptsStart(sEventScripts, m_spellInfo->EffectMiscValue[effectIndex], m_caster, focusObject); } -void Spell::EffectPowerBurn(uint32 i) +void Spell::EffectPowerBurn(SpellEffectIndex eff_idx) { - if (m_spellInfo->EffectMiscValue[i] < 0 || m_spellInfo->EffectMiscValue[i] >= MAX_POWERS) + if (m_spellInfo->EffectMiscValue[eff_idx] < 0 || m_spellInfo->EffectMiscValue[eff_idx] >= MAX_POWERS) return; - Powers powertype = Powers(m_spellInfo->EffectMiscValue[i]); + Powers powertype = Powers(m_spellInfo->EffectMiscValue[eff_idx]); if (!unitTarget) return; @@ -2707,7 +2707,7 @@ void Spell::EffectPowerBurn(uint32 i) int32 new_damage = (curPower < power) ? curPower : power; unitTarget->ModifyPower(powertype, -new_damage); - float multiplier = m_spellInfo->EffectMultipleValue[i]; + float multiplier = m_spellInfo->EffectMultipleValue[eff_idx]; if (Player *modOwner = m_caster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_MULTIPLE_VALUE, multiplier); @@ -2716,7 +2716,7 @@ void Spell::EffectPowerBurn(uint32 i) m_damage += new_damage; } -void Spell::EffectHeal( uint32 /*i*/ ) +void Spell::EffectHeal(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->isAlive() && damage >= 0) { @@ -2798,7 +2798,7 @@ void Spell::EffectHeal( uint32 /*i*/ ) } } -void Spell::EffectHealPct( uint32 /*i*/ ) +void Spell::EffectHealPct(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->isAlive() && damage >= 0) { @@ -2816,7 +2816,7 @@ void Spell::EffectHealPct( uint32 /*i*/ ) } } -void Spell::EffectHealMechanical( uint32 /*i*/ ) +void Spell::EffectHealMechanical(SpellEffectIndex /*eff_idx*/) { // Mechanic creature type should be correctly checked by targetCreatureType field if (unitTarget && unitTarget->isAlive() && damage >= 0) @@ -2831,7 +2831,7 @@ void Spell::EffectHealMechanical( uint32 /*i*/ ) } } -void Spell::EffectHealthLeech(uint32 i) +void Spell::EffectHealthLeech(SpellEffectIndex eff_idx) { if (!unitTarget) return; @@ -2848,7 +2848,7 @@ void Spell::EffectHealthLeech(uint32 i) if ((int32)curHealth < damage) damage = curHealth; - float multiplier = m_spellInfo->EffectMultipleValue[i]; + float multiplier = m_spellInfo->EffectMultipleValue[eff_idx]; if (Player *modOwner = m_caster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_MULTIPLE_VALUE, multiplier); @@ -2861,7 +2861,7 @@ void Spell::EffectHealthLeech(uint32 i) } } -void Spell::DoCreateItem(uint32 i, uint32 itemtype) +void Spell::DoCreateItem(SpellEffectIndex eff_idx, uint32 itemtype) { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -2901,8 +2901,8 @@ void Spell::DoCreateItem(uint32 i, uint32 itemtype) // TODO: maybe all this can be replaced by using correct calculated `damage` value if(pProto->Class != ITEM_CLASS_CONSUMABLE || m_spellInfo->SpellFamilyName != SPELLFAMILY_MAGE) { - int32 basePoints = m_currentBasePoints[i]; - int32 randomPoints = m_spellInfo->EffectDieSides[i]; + int32 basePoints = m_currentBasePoints[eff_idx]; + int32 randomPoints = m_spellInfo->EffectDieSides[eff_idx]; if (randomPoints) num_to_add = basePoints + irand(1, randomPoints); else @@ -2912,8 +2912,8 @@ void Spell::DoCreateItem(uint32 i, uint32 itemtype) num_to_add = 1; else if(player->getLevel() >= m_spellInfo->spellLevel) { - int32 basePoints = m_currentBasePoints[i]; - float pointPerLevel = m_spellInfo->EffectRealPointsPerLevel[i]; + int32 basePoints = m_currentBasePoints[eff_idx]; + float pointPerLevel = m_spellInfo->EffectRealPointsPerLevel[eff_idx]; num_to_add = basePoints + 1 + uint32((player->getLevel() - m_spellInfo->spellLevel)*pointPerLevel); } else @@ -2991,20 +2991,20 @@ void Spell::DoCreateItem(uint32 i, uint32 itemtype) } } -void Spell::EffectCreateItem(uint32 i) +void Spell::EffectCreateItem(SpellEffectIndex eff_idx) { - DoCreateItem(i,m_spellInfo->EffectItemType[i]); + DoCreateItem(eff_idx,m_spellInfo->EffectItemType[eff_idx]); } -void Spell::EffectCreateItem2(uint32 i) +void Spell::EffectCreateItem2(SpellEffectIndex eff_idx) { if (m_caster->GetTypeId()!=TYPEID_PLAYER) return; Player* player = (Player*)m_caster; - uint32 item_id = m_spellInfo->EffectItemType[i]; + uint32 item_id = m_spellInfo->EffectItemType[eff_idx]; - DoCreateItem(i, item_id); + DoCreateItem(eff_idx, item_id); // special case: fake item replaced by generate using spell_loot_template if (IsLootCraftingSpell(m_spellInfo)) @@ -3021,7 +3021,7 @@ void Spell::EffectCreateItem2(uint32 i) } } -void Spell::EffectCreateRandomItem(uint32 /*eff_idx*/) +void Spell::EffectCreateRandomItem(SpellEffectIndex /*eff_idx*/) { if (m_caster->GetTypeId()!=TYPEID_PLAYER) return; @@ -3031,16 +3031,16 @@ void Spell::EffectCreateRandomItem(uint32 /*eff_idx*/) player->AutoStoreLoot(m_spellInfo->Id, LootTemplates_Spell); } -void Spell::EffectPersistentAA(uint32 i) +void Spell::EffectPersistentAA(SpellEffectIndex eff_idx) { - float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); + float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); if (Player* modOwner = m_caster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RADIUS, radius); int32 duration = GetSpellDuration(m_spellInfo); DynamicObject* dynObj = new DynamicObject; - if (!dynObj->Create(m_caster->GetMap()->GenerateLocalLowGuid(HIGHGUID_DYNAMICOBJECT), m_caster, m_spellInfo->Id, i, m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, duration, radius)) + if (!dynObj->Create(m_caster->GetMap()->GenerateLocalLowGuid(HIGHGUID_DYNAMICOBJECT), m_caster, m_spellInfo->Id, eff_idx, m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, duration, radius)) { delete dynObj; return; @@ -3052,17 +3052,17 @@ void Spell::EffectPersistentAA(uint32 i) m_caster->GetMap()->Add(dynObj); } -void Spell::EffectEnergize(uint32 i) +void Spell::EffectEnergize(SpellEffectIndex eff_idx) { if(!unitTarget) return; if(!unitTarget->isAlive()) return; - if(m_spellInfo->EffectMiscValue[i] < 0 || m_spellInfo->EffectMiscValue[i] >= MAX_POWERS) + if(m_spellInfo->EffectMiscValue[eff_idx] < 0 || m_spellInfo->EffectMiscValue[eff_idx] >= MAX_POWERS) return; - Powers power = Powers(m_spellInfo->EffectMiscValue[i]); + Powers power = Powers(m_spellInfo->EffectMiscValue[eff_idx]); // Some level depends spells int level_multiplier = 0; @@ -3144,17 +3144,17 @@ void Spell::EffectEnergize(uint32 i) } } -void Spell::EffectEnergisePct(uint32 i) +void Spell::EffectEnergisePct(SpellEffectIndex eff_idx) { if (!unitTarget) return; if (!unitTarget->isAlive()) return; - if (m_spellInfo->EffectMiscValue[i] < 0 || m_spellInfo->EffectMiscValue[i] >= MAX_POWERS) + if (m_spellInfo->EffectMiscValue[eff_idx] < 0 || m_spellInfo->EffectMiscValue[eff_idx] >= MAX_POWERS) return; - Powers power = Powers(m_spellInfo->EffectMiscValue[i]); + Powers power = Powers(m_spellInfo->EffectMiscValue[eff_idx]); uint32 maxPower = unitTarget->GetMaxPower(power); if (maxPower == 0) @@ -3196,7 +3196,7 @@ void Spell::SendLoot(uint64 guid, LootType loottype) ((Player*)m_caster)->SendLoot(guid, loottype); } -void Spell::EffectOpenLock(uint32 effIndex) +void Spell::EffectOpenLock(SpellEffectIndex eff_idx) { if (!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER) { @@ -3256,7 +3256,7 @@ void Spell::EffectOpenLock(uint32 effIndex) int32 reqSkillValue = 0; int32 skillValue; - SpellCastResult res = CanOpenLock(effIndex, lockId, skillId, reqSkillValue, skillValue); + SpellCastResult res = CanOpenLock(eff_idx, lockId, skillId, reqSkillValue, skillValue); if (res != SPELL_CAST_OK) { SendCastResult(res); @@ -3287,7 +3287,7 @@ void Spell::EffectOpenLock(uint32 effIndex) } } -void Spell::EffectSummonChangeItem(uint32 i) +void Spell::EffectSummonChangeItem(SpellEffectIndex eff_idx) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -3302,7 +3302,7 @@ void Spell::EffectSummonChangeItem(uint32 i) if (m_CastItem->GetOwnerGUID()!=player->GetGUID()) return; - uint32 newitemid = m_spellInfo->EffectItemType[i]; + uint32 newitemid = m_spellInfo->EffectItemType[eff_idx]; if (!newitemid) return; @@ -3384,7 +3384,7 @@ void Spell::EffectSummonChangeItem(uint32 i) delete pNewItem; } -void Spell::EffectProficiency(uint32 /*i*/) +void Spell::EffectProficiency(SpellEffectIndex /*eff_idx*/) { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -3403,20 +3403,20 @@ void Spell::EffectProficiency(uint32 /*i*/) } } -void Spell::EffectApplyAreaAura(uint32 i) +void Spell::EffectApplyAreaAura(SpellEffectIndex eff_idx) { if (!unitTarget) return; if (!unitTarget->isAlive()) return; - AreaAura* Aur = new AreaAura(m_spellInfo, i, &m_currentBasePoints[i], unitTarget, m_caster, m_CastItem); + AreaAura* Aur = new AreaAura(m_spellInfo, eff_idx, &m_currentBasePoints[eff_idx], unitTarget, m_caster, m_CastItem); unitTarget->AddAura(Aur); } -void Spell::EffectSummonType(uint32 i) +void Spell::EffectSummonType(SpellEffectIndex eff_idx) { - uint32 prop_id = m_spellInfo->EffectMiscValueB[i]; + uint32 prop_id = m_spellInfo->EffectMiscValueB[eff_idx]; SummonPropertiesEntry const *summon_prop = sSummonPropertiesStore.LookupEntry(prop_id); if(!summon_prop) { @@ -3438,9 +3438,9 @@ void Spell::EffectSummonType(uint32 i) //SUMMON_TYPE_TOTEM = 121: 23035, battlestands //SUMMON_TYPE_TOTEM2 = 647: 52893, Anti-Magic Zone (npc used) if(prop_id == 121 || prop_id == 647) - EffectSummonTotem(i); + DoSummonTotem(eff_idx); else - EffectSummonWild(i, summon_prop->FactionId); + DoSummonWild(eff_idx, summon_prop->FactionId); break; } case SUMMON_PROP_TYPE_SUMMON: @@ -3451,23 +3451,23 @@ void Spell::EffectSummonType(uint32 i) { // JC golems - 32804, etc -- fits much better totem AI if(m_spellInfo->SpellIconID == 2056) - EffectSummonTotem(i); + DoSummonTotem(eff_idx); if(prop_id == 832) // scrapbot - EffectSummonWild(i, summon_prop->FactionId); + DoSummonWild(eff_idx, summon_prop->FactionId); else - EffectSummonGuardian(i, summon_prop->FactionId); + DoSummonGuardian(eff_idx, summon_prop->FactionId); break; } case SUMMON_PROP_TYPE_TOTEM: - EffectSummonTotem(i, summon_prop->Slot); + DoSummonTotem(eff_idx, summon_prop->Slot); break; case SUMMON_PROP_TYPE_CRITTER: - EffectSummonCritter(i, summon_prop->FactionId); + DoSummonCritter(eff_idx, summon_prop->FactionId); break; case SUMMON_PROP_TYPE_PHASING: case SUMMON_PROP_TYPE_LIGHTWELL: case SUMMON_PROP_TYPE_REPAIR_BOT: - EffectSummonWild(i, summon_prop->FactionId); + DoSummonWild(eff_idx, summon_prop->FactionId); break; case SUMMON_PROP_TYPE_SIEGE_VEH: case SUMMON_PROP_TYPE_DRAKE_VEH: @@ -3486,16 +3486,16 @@ void Spell::EffectSummonType(uint32 i) //1562 - force of nature - sid 33831 //1161 - feral spirit - sid 51533 if(prop_id == 1562) // 3 uncontrolable instead of one controllable :/ - EffectSummonGuardian(i, summon_prop->FactionId); + DoSummonGuardian(eff_idx, summon_prop->FactionId); else - EffectSummon(i); + DoSummon(eff_idx); break; } case SUMMON_PROP_GROUP_CONTROLLABLE: { // no type here // maybe wrong - but thats the handler currently used for those - EffectSummonGuardian(i, summon_prop->FactionId); + DoSummonGuardian(eff_idx, summon_prop->FactionId); break; } case SUMMON_PROP_GROUP_VEHICLE: @@ -3510,14 +3510,14 @@ void Spell::EffectSummonType(uint32 i) } } -void Spell::EffectSummon(uint32 i) +void Spell::DoSummon(SpellEffectIndex eff_idx) { if (m_caster->GetPetGUID()) return; if (!unitTarget) return; - uint32 pet_entry = m_spellInfo->EffectMiscValue[i]; + uint32 pet_entry = m_spellInfo->EffectMiscValue[eff_idx]; if (!pet_entry) return; uint32 level = m_caster->getLevel(); @@ -3549,9 +3549,9 @@ void Spell::EffectSummon(uint32 i) Map *map = m_caster->GetMap(); uint32 pet_number = sObjectMgr.GeneratePetNumber(); if (!spawnCreature->Create(map->GenerateLocalLowGuid(HIGHGUID_PET), map, m_caster->GetPhaseMask(), - m_spellInfo->EffectMiscValue[i], pet_number)) + m_spellInfo->EffectMiscValue[eff_idx], pet_number)) { - sLog.outErrorDb("Spell::EffectSummon: no such creature entry %u",m_spellInfo->EffectMiscValue[i]); + sLog.outErrorDb("Spell::EffectSummon: no such creature entry %u",m_spellInfo->EffectMiscValue[eff_idx]); delete spawnCreature; return; } @@ -3622,7 +3622,7 @@ void Spell::EffectSummon(uint32 i) } } -void Spell::EffectLearnSpell(uint32 i) +void Spell::EffectLearnSpell(SpellEffectIndex eff_idx) { if (!unitTarget) return; @@ -3630,20 +3630,20 @@ void Spell::EffectLearnSpell(uint32 i) if (unitTarget->GetTypeId() != TYPEID_PLAYER) { if (m_caster->GetTypeId() == TYPEID_PLAYER) - EffectLearnPetSpell(i); + EffectLearnPetSpell(eff_idx); return; } Player *player = (Player*)unitTarget; - uint32 spellToLearn = ((m_spellInfo->Id==SPELL_ID_GENERIC_LEARN) || (m_spellInfo->Id==SPELL_ID_GENERIC_LEARN_PET)) ? damage : m_spellInfo->EffectTriggerSpell[i]; + uint32 spellToLearn = ((m_spellInfo->Id==SPELL_ID_GENERIC_LEARN) || (m_spellInfo->Id==SPELL_ID_GENERIC_LEARN_PET)) ? damage : m_spellInfo->EffectTriggerSpell[eff_idx]; player->learnSpell(spellToLearn,false); sLog.outDebug( "Spell: Player %u has learned spell %u from NpcGUID=%u", player->GetGUIDLow(), spellToLearn, m_caster->GetGUIDLow() ); } -void Spell::EffectDispel(uint32 i) +void Spell::EffectDispel(SpellEffectIndex eff_idx) { if (!unitTarget) return; @@ -3652,7 +3652,7 @@ void Spell::EffectDispel(uint32 i) std::vector dispel_list; // Create dispel mask by dispel type - uint32 dispel_type = m_spellInfo->EffectMiscValue[i]; + uint32 dispel_type = m_spellInfo->EffectMiscValue[eff_idx]; uint32 dispelMask = GetDispellMask( DispelType(dispel_type) ); Unit::AuraMap const& auras = unitTarget->GetAuras(); for(Unit::AuraMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr) @@ -3758,19 +3758,19 @@ void Spell::EffectDispel(uint32 i) } } -void Spell::EffectDualWield(uint32 /*i*/) +void Spell::EffectDualWield(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER) ((Player*)unitTarget)->SetCanDualWield(true); } -void Spell::EffectPull(uint32 /*i*/) +void Spell::EffectPull(SpellEffectIndex /*eff_idx*/) { // TODO: create a proper pull towards distract spell center for distract sLog.outDebug("WORLD: Spell Effect DUMMY"); } -void Spell::EffectDistract(uint32 /*i*/) +void Spell::EffectDistract(SpellEffectIndex /*eff_idx*/) { // Check for possible target if (!unitTarget || unitTarget->isInCombat()) @@ -3799,7 +3799,7 @@ void Spell::EffectDistract(uint32 /*i*/) } } -void Spell::EffectPickPocket(uint32 /*i*/) +void Spell::EffectPickPocket(SpellEffectIndex /*eff_idx*/) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -3829,7 +3829,7 @@ void Spell::EffectPickPocket(uint32 /*i*/) } } -void Spell::EffectAddFarsight(uint32 i) +void Spell::EffectAddFarsight(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -3838,7 +3838,7 @@ void Spell::EffectAddFarsight(uint32 i) DynamicObject* dynObj = new DynamicObject; // set radius to 0: spell not expected to work as persistent aura - if(!dynObj->Create(m_caster->GetMap()->GenerateLocalLowGuid(HIGHGUID_DYNAMICOBJECT), m_caster, m_spellInfo->Id, i, m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, duration, 0)) + if(!dynObj->Create(m_caster->GetMap()->GenerateLocalLowGuid(HIGHGUID_DYNAMICOBJECT), m_caster, m_spellInfo->Id, eff_idx, m_targets.m_destX, m_targets.m_destY, m_targets.m_destZ, duration, 0)) { delete dynObj; return; @@ -3850,9 +3850,9 @@ void Spell::EffectAddFarsight(uint32 i) ((Player*)m_caster)->SetFarSightGUID(dynObj->GetGUID()); } -void Spell::EffectSummonWild(uint32 i, uint32 forceFaction) +void Spell::DoSummonWild(SpellEffectIndex eff_idx, uint32 forceFaction) { - uint32 creature_entry = m_spellInfo->EffectMiscValue[i]; + uint32 creature_entry = m_spellInfo->EffectMiscValue[eff_idx]; if (!creature_entry) return; @@ -3875,7 +3875,7 @@ void Spell::EffectSummonWild(uint32 i, uint32 forceFaction) float center_y = m_targets.m_destY; float center_z = m_targets.m_destZ; - float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); + float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); int32 duration = GetSpellDuration(m_spellInfo); TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_OR_DEAD_DESPAWN; @@ -3913,9 +3913,9 @@ void Spell::EffectSummonWild(uint32 i, uint32 forceFaction) } } -void Spell::EffectSummonGuardian(uint32 i, uint32 forceFaction) +void Spell::DoSummonGuardian(SpellEffectIndex eff_idx, uint32 forceFaction) { - uint32 pet_entry = m_spellInfo->EffectMiscValue[i]; + uint32 pet_entry = m_spellInfo->EffectMiscValue[eff_idx]; if (!pet_entry) return; @@ -3941,7 +3941,7 @@ void Spell::EffectSummonGuardian(uint32 i, uint32 forceFaction) float center_y = m_targets.m_destY; float center_z = m_targets.m_destZ; - float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); + float radius = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); int32 duration = GetSpellDuration(m_spellInfo); if(Player* modOwner = m_caster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration); @@ -3955,9 +3955,9 @@ void Spell::EffectSummonGuardian(uint32 i, uint32 forceFaction) Map *map = m_caster->GetMap(); uint32 pet_number = sObjectMgr.GeneratePetNumber(); if (!spawnCreature->Create(map->GenerateLocalLowGuid(HIGHGUID_PET), map,m_caster->GetPhaseMask(), - m_spellInfo->EffectMiscValue[i], pet_number)) + m_spellInfo->EffectMiscValue[eff_idx], pet_number)) { - sLog.outError("no such creature entry %u", m_spellInfo->EffectMiscValue[i]); + sLog.outError("no such creature entry %u", m_spellInfo->EffectMiscValue[eff_idx]); delete spawnCreature; return; } @@ -4015,7 +4015,7 @@ void Spell::EffectSummonGuardian(uint32 i, uint32 forceFaction) } } -void Spell::EffectTeleUnitsFaceCaster(uint32 i) +void Spell::EffectTeleUnitsFaceCaster(SpellEffectIndex eff_idx) { if (!unitTarget) return; @@ -4023,7 +4023,7 @@ void Spell::EffectTeleUnitsFaceCaster(uint32 i) if (unitTarget->isInFlight()) return; - float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); + float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); float fx, fy, fz; m_caster->GetClosePoint(fx, fy, fz, unitTarget->GetObjectSize(), dis); @@ -4031,7 +4031,7 @@ void Spell::EffectTeleUnitsFaceCaster(uint32 i) unitTarget->NearTeleportTo(fx, fy, fz, -m_caster->GetOrientation(), unitTarget==m_caster); } -void Spell::EffectLearnSkill(uint32 i) +void Spell::EffectLearnSkill(SpellEffectIndex eff_idx) { if (unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -4039,12 +4039,12 @@ void Spell::EffectLearnSkill(uint32 i) if (damage < 0) return; - uint32 skillid = m_spellInfo->EffectMiscValue[i]; + uint32 skillid = m_spellInfo->EffectMiscValue[eff_idx]; uint16 skillval = ((Player*)unitTarget)->GetPureSkillValue(skillid); ((Player*)unitTarget)->SetSkill(skillid, skillval ? skillval : 1, damage * 75); } -void Spell::EffectAddHonor(uint32 /*i*/) +void Spell::EffectAddHonor(SpellEffectIndex /*eff_idx*/) { if (unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -4072,7 +4072,7 @@ void Spell::EffectAddHonor(uint32 /*i*/) } } -void Spell::EffectTradeSkill(uint32 /*i*/) +void Spell::EffectTradeSkill(SpellEffectIndex /*eff_idx*/) { if (unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -4081,7 +4081,7 @@ void Spell::EffectTradeSkill(uint32 /*i*/) // ((Player*)unitTarget)->SetSkill(skillid,skillval?skillval:1,skillmax+75); } -void Spell::EffectEnchantItemPerm(uint32 effect_idx) +void Spell::EffectEnchantItemPerm(SpellEffectIndex eff_idx) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -4093,7 +4093,7 @@ void Spell::EffectEnchantItemPerm(uint32 effect_idx) // not grow at item use at item case p_caster->UpdateCraftSkill(m_spellInfo->Id); - uint32 enchant_id = m_spellInfo->EffectMiscValue[effect_idx]; + uint32 enchant_id = m_spellInfo->EffectMiscValue[eff_idx]; if (!enchant_id) return; @@ -4127,7 +4127,7 @@ void Spell::EffectEnchantItemPerm(uint32 effect_idx) p_caster->GetSession()->SendUpdateTrade(); } -void Spell::EffectEnchantItemPrismatic(uint32 effect_idx) +void Spell::EffectEnchantItemPrismatic(SpellEffectIndex eff_idx) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -4136,7 +4136,7 @@ void Spell::EffectEnchantItemPrismatic(uint32 effect_idx) Player* p_caster = (Player*)m_caster; - uint32 enchant_id = m_spellInfo->EffectMiscValue[effect_idx]; + uint32 enchant_id = m_spellInfo->EffectMiscValue[eff_idx]; if (!enchant_id) return; @@ -4189,7 +4189,7 @@ void Spell::EffectEnchantItemPrismatic(uint32 effect_idx) p_caster->GetSession()->SendUpdateTrade(); } -void Spell::EffectEnchantItemTmp(uint32 i) +void Spell::EffectEnchantItemTmp(SpellEffectIndex eff_idx) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -4250,18 +4250,18 @@ void Spell::EffectEnchantItemTmp(uint32 i) if (!itemTarget) return; - uint32 enchant_id = m_spellInfo->EffectMiscValue[i]; + uint32 enchant_id = m_spellInfo->EffectMiscValue[eff_idx]; if (!enchant_id) { - sLog.outError("Spell %u Effect %u (SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY) have 0 as enchanting id",m_spellInfo->Id,i); + sLog.outError("Spell %u Effect %u (SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY) have 0 as enchanting id",m_spellInfo->Id,eff_idx); return; } SpellItemEnchantmentEntry const *pEnchant = sSpellItemEnchantmentStore.LookupEntry(enchant_id); if(!pEnchant) { - sLog.outError("Spell %u Effect %u (SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY) have not existed enchanting id %u ",m_spellInfo->Id,i,enchant_id); + sLog.outError("Spell %u Effect %u (SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY) have not existed enchanting id %u ",m_spellInfo->Id,eff_idx,enchant_id); return; } @@ -4320,7 +4320,7 @@ void Spell::EffectEnchantItemTmp(uint32 i) p_caster->GetSession()->SendUpdateTrade(); } -void Spell::EffectTameCreature(uint32 /*i*/) +void Spell::EffectTameCreature(SpellEffectIndex /*eff_idx*/) { // Caster must be player, checked in Spell::CheckCast // Spell can be triggered, we need to check original caster prior to caster @@ -4357,9 +4357,9 @@ void Spell::EffectTameCreature(uint32 /*i*/) plr->PetSpellInitialize(); } -void Spell::EffectSummonPet(uint32 i) +void Spell::EffectSummonPet(SpellEffectIndex eff_idx) { - uint32 petentry = m_spellInfo->EffectMiscValue[i]; + uint32 petentry = m_spellInfo->EffectMiscValue[eff_idx]; Pet *OldSummon = m_caster->GetPet(); @@ -4540,7 +4540,7 @@ void Spell::EffectSummonPet(uint32 i) } } -void Spell::EffectLearnPetSpell(uint32 i) +void Spell::EffectLearnPetSpell(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -4553,7 +4553,7 @@ void Spell::EffectLearnPetSpell(uint32 i) if(!pet->isAlive()) return; - SpellEntry const *learn_spellproto = sSpellStore.LookupEntry(m_spellInfo->EffectTriggerSpell[i]); + SpellEntry const *learn_spellproto = sSpellStore.LookupEntry(m_spellInfo->EffectTriggerSpell[eff_idx]); if(!learn_spellproto) return; @@ -4563,7 +4563,7 @@ void Spell::EffectLearnPetSpell(uint32 i) _player->PetSpellInitialize(); } -void Spell::EffectTaunt(uint32 /*i*/) +void Spell::EffectTaunt(SpellEffectIndex /*eff_idx*/) { if (!unitTarget) return; @@ -4584,7 +4584,7 @@ void Spell::EffectTaunt(uint32 /*i*/) unitTarget->getThreatManager().addThreat(m_caster,unitTarget->getThreatManager().getCurrentVictim()->getThreat()); } -void Spell::EffectWeaponDmg(uint32 i) +void Spell::EffectWeaponDmg(SpellEffectIndex eff_idx) { if(!unitTarget) return; @@ -4602,7 +4602,7 @@ void Spell::EffectWeaponDmg(uint32 i) case SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL: case SPELL_EFFECT_NORMALIZED_WEAPON_DMG: case SPELL_EFFECT_WEAPON_PERCENT_DAMAGE: - if (j < int(i)) // we must calculate only at last weapon effect + if (j < int(eff_idx)) // we must calculate only at last weapon effect return; break; } @@ -4882,7 +4882,7 @@ void Spell::EffectWeaponDmg(uint32 i) } } -void Spell::EffectThreat(uint32 /*i*/) +void Spell::EffectThreat(SpellEffectIndex /*eff_idx*/) { if(!unitTarget || !unitTarget->isAlive() || !m_caster->isAlive()) return; @@ -4893,7 +4893,7 @@ void Spell::EffectThreat(uint32 /*i*/) unitTarget->AddThreat(m_caster, float(damage), false, GetSpellSchoolMask(m_spellInfo), m_spellInfo); } -void Spell::EffectHealMaxHealth(uint32 /*i*/) +void Spell::EffectHealMaxHealth(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -4905,7 +4905,7 @@ void Spell::EffectHealMaxHealth(uint32 /*i*/) m_healing += heal; } -void Spell::EffectInterruptCast(uint32 /*i*/) +void Spell::EffectInterruptCast(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -4929,9 +4929,9 @@ void Spell::EffectInterruptCast(uint32 /*i*/) } } -void Spell::EffectSummonObjectWild(uint32 i) +void Spell::EffectSummonObjectWild(SpellEffectIndex eff_idx) { - uint32 gameobject_id = m_spellInfo->EffectMiscValue[i]; + uint32 gameobject_id = m_spellInfo->EffectMiscValue[eff_idx]; GameObject* pGameObj = new GameObject; @@ -5000,7 +5000,7 @@ void Spell::EffectSummonObjectWild(uint32 i) pGameObj->SummonLinkedTrapIfAny(); } -void Spell::EffectScriptEffect(uint32 effIndex) +void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) { // TODO: we must implement hunter pet summon at login there (spell 6962) @@ -5159,7 +5159,7 @@ void Spell::EffectScriptEffect(uint32 effIndex) item = 23586; break; // Aerie Peak Pale Ale } if (item) - DoCreateItem(effIndex,item); + DoCreateItem(eff_idx,item); break; } // Improved Sprint @@ -5287,12 +5287,12 @@ void Spell::EffectScriptEffect(uint32 effIndex) case 55693: // Remove Collapsing Cave Aura if(!unitTarget) return; - unitTarget->RemoveAurasDueToSpell(m_spellInfo->CalculateSimpleValue(effIndex)); + unitTarget->RemoveAurasDueToSpell(m_spellInfo->CalculateSimpleValue(eff_idx)); break; case 58418: // Portal to Orgrimmar case 58420: // Portal to Stormwind { - if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER || effIndex!=0) + if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER || eff_idx != EFFECT_INDEX_0) return; uint32 spellID = m_spellInfo->CalculateSimpleValue(EFFECT_INDEX_0); @@ -5422,7 +5422,7 @@ void Spell::EffectScriptEffect(uint32 effIndex) default: return; } - DoCreateItem( effIndex, itemtype ); + DoCreateItem( eff_idx, itemtype ); return; } // Demonic Empowerment @@ -5745,7 +5745,7 @@ void Spell::EffectScriptEffect(uint32 effIndex) m_caster->GetMap()->ScriptsStart(sSpellScripts, m_spellInfo->Id, m_caster, unitTarget); } -void Spell::EffectSanctuary(uint32 /*i*/) +void Spell::EffectSanctuary(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -5760,7 +5760,7 @@ void Spell::EffectSanctuary(uint32 /*i*/) } } -void Spell::EffectAddComboPoints(uint32 /*i*/) +void Spell::EffectAddComboPoints(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -5774,7 +5774,7 @@ void Spell::EffectAddComboPoints(uint32 /*i*/) ((Player*)m_caster)->AddComboPoints(unitTarget, damage); } -void Spell::EffectDuel(uint32 i) +void Spell::EffectDuel(SpellEffectIndex eff_idx) { if(!m_caster || !unitTarget || m_caster->GetTypeId() != TYPEID_PLAYER || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -5812,7 +5812,7 @@ void Spell::EffectDuel(uint32 i) //CREATE DUEL FLAG OBJECT GameObject* pGameObj = new GameObject; - uint32 gameobject_id = m_spellInfo->EffectMiscValue[i]; + uint32 gameobject_id = m_spellInfo->EffectMiscValue[eff_idx]; Map *map = m_caster->GetMap(); if(!pGameObj->Create(sObjectMgr.GenerateLowGuid(HIGHGUID_GAMEOBJECT), gameobject_id, @@ -5862,7 +5862,7 @@ void Spell::EffectDuel(uint32 i) target->SetUInt64Value(PLAYER_DUEL_ARBITER, pGameObj->GetGUID()); } -void Spell::EffectStuck(uint32 /*i*/) +void Spell::EffectStuck(SpellEffectIndex /*eff_idx*/) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -5889,7 +5889,7 @@ void Spell::EffectStuck(uint32 /*i*/) spell.SendSpellCooldown(); } -void Spell::EffectSummonPlayer(uint32 /*i*/) +void Spell::EffectSummonPlayer(SpellEffectIndex /*eff_idx*/) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -5917,19 +5917,19 @@ static ScriptInfo generateActivateCommand() return si; } -void Spell::EffectActivateObject(uint32 effect_idx) +void Spell::EffectActivateObject(SpellEffectIndex eff_idx) { if(!gameObjTarget) return; static ScriptInfo activateCommand = generateActivateCommand(); - int32 delay_secs = m_spellInfo->CalculateSimpleValue(effect_idx); + int32 delay_secs = m_spellInfo->CalculateSimpleValue(eff_idx); gameObjTarget->GetMap()->ScriptCommandStart(activateCommand, delay_secs, m_caster, gameObjTarget); } -void Spell::EffectApplyGlyph(uint32 i) +void Spell::EffectApplyGlyph(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -5937,7 +5937,7 @@ void Spell::EffectApplyGlyph(uint32 i) Player *player = (Player*)m_caster; // apply new one - if(uint32 glyph = m_spellInfo->EffectMiscValue[i]) + if(uint32 glyph = m_spellInfo->EffectMiscValue[eff_idx]) { if(GlyphPropertiesEntry const *gp = sGlyphPropertiesStore.LookupEntry(glyph)) { @@ -5959,7 +5959,7 @@ void Spell::EffectApplyGlyph(uint32 i) } } -void Spell::EffectSummonTotem(uint32 i, uint8 slot) +void Spell::DoSummonTotem(SpellEffectIndex eff_idx, uint8 slot) { slot = slot ? (slot - 1): 255; @@ -5981,7 +5981,7 @@ void Spell::EffectSummonTotem(uint32 i, uint8 slot) Totem* pTotem = new Totem; if(!pTotem->Create(sObjectMgr.GenerateLowGuid(HIGHGUID_UNIT), m_caster->GetMap(), m_caster->GetPhaseMask(), - m_spellInfo->EffectMiscValue[i], team )) + m_spellInfo->EffectMiscValue[eff_idx], team )) { delete pTotem; return; @@ -6039,7 +6039,7 @@ void Spell::EffectSummonTotem(uint32 i, uint8 slot) } } -void Spell::EffectEnchantHeldItem(uint32 i) +void Spell::EffectEnchantHeldItem(SpellEffectIndex eff_idx) { // this is only item spell effect applied to main-hand weapon of target player (players in area) if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) @@ -6055,12 +6055,12 @@ void Spell::EffectEnchantHeldItem(uint32 i) if(!item ->IsEquipped()) return; - if (m_spellInfo->EffectMiscValue[i]) + if (m_spellInfo->EffectMiscValue[eff_idx]) { - uint32 enchant_id = m_spellInfo->EffectMiscValue[i]; + uint32 enchant_id = m_spellInfo->EffectMiscValue[eff_idx]; int32 duration = GetSpellDuration(m_spellInfo); //Try duration index first .. if(!duration) - duration = m_currentBasePoints[i]+1; //Base points after .. + duration = m_currentBasePoints[eff_idx]+1; //Base points after .. if(!duration) duration = 10; //10 seconds for enchants which don't have listed duration @@ -6081,7 +6081,7 @@ void Spell::EffectEnchantHeldItem(uint32 i) } } -void Spell::EffectDisEnchant(uint32 /*i*/) +void Spell::EffectDisEnchant(SpellEffectIndex /*eff_idx*/) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6097,7 +6097,7 @@ void Spell::EffectDisEnchant(uint32 /*i*/) // item will be removed at disenchanting end } -void Spell::EffectInebriate(uint32 /*i*/) +void Spell::EffectInebriate(SpellEffectIndex /*eff_idx*/) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -6112,7 +6112,7 @@ void Spell::EffectInebriate(uint32 /*i*/) player->SetDrunkValue(currentDrunk, m_CastItem ? m_CastItem->GetEntry() : 0); } -void Spell::EffectFeedPet(uint32 i) +void Spell::EffectFeedPet(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6138,10 +6138,10 @@ void Spell::EffectFeedPet(uint32 i) _player->DestroyItemCount(foodItem,count,true); // TODO: fix crash when a spell has two effects, both pointed at the same item target - m_caster->CastCustomSpell(pet, m_spellInfo->EffectTriggerSpell[i], &benefit, NULL, NULL, true); + m_caster->CastCustomSpell(pet, m_spellInfo->EffectTriggerSpell[eff_idx], &benefit, NULL, NULL, true); } -void Spell::EffectDismissPet(uint32 /*i*/) +void Spell::EffectDismissPet(SpellEffectIndex /*eff_idx*/) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6155,12 +6155,12 @@ void Spell::EffectDismissPet(uint32 /*i*/) ((Player*)m_caster)->RemovePet(pet, PET_SAVE_NOT_IN_SLOT); } -void Spell::EffectSummonObject(uint32 i) +void Spell::EffectSummonObject(SpellEffectIndex eff_idx) { - uint32 go_id = m_spellInfo->EffectMiscValue[i]; + uint32 go_id = m_spellInfo->EffectMiscValue[eff_idx]; uint8 slot = 0; - switch(m_spellInfo->Effect[i]) + switch(m_spellInfo->Effect[eff_idx]) { case SPELL_EFFECT_SUMMON_OBJECT_SLOT1: slot = 0; break; case SPELL_EFFECT_SUMMON_OBJECT_SLOT2: slot = 1; break; @@ -6211,7 +6211,7 @@ void Spell::EffectSummonObject(uint32 i) pGameObj->SummonLinkedTrapIfAny(); } -void Spell::EffectResurrect(uint32 /*effIndex*/) +void Spell::EffectResurrect(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -6257,7 +6257,7 @@ void Spell::EffectResurrect(uint32 /*effIndex*/) SendResurrectRequest(pTarget); } -void Spell::EffectAddExtraAttacks(uint32 /*i*/) +void Spell::EffectAddExtraAttacks(SpellEffectIndex /*eff_idx*/) { if(!unitTarget || !unitTarget->isAlive()) return; @@ -6268,26 +6268,26 @@ void Spell::EffectAddExtraAttacks(uint32 /*i*/) unitTarget->m_extraAttacks = damage; } -void Spell::EffectParry(uint32 /*i*/) +void Spell::EffectParry(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER) ((Player*)unitTarget)->SetCanParry(true); } -void Spell::EffectBlock(uint32 /*i*/) +void Spell::EffectBlock(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER) ((Player*)unitTarget)->SetCanBlock(true); } -void Spell::EffectLeapForward(uint32 i) +void Spell::EffectLeapForward(SpellEffectIndex eff_idx) { if(unitTarget->isInFlight()) return; if( m_spellInfo->rangeIndex == 1) //self range { - float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); + float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); // before caster float fx, fy, fz; @@ -6308,24 +6308,24 @@ void Spell::EffectLeapForward(uint32 i) } } -void Spell::EffectLeapBack(uint32 i) +void Spell::EffectLeapBack(SpellEffectIndex eff_idx) { if(unitTarget->isInFlight()) return; - m_caster->KnockBackFrom(unitTarget,float(m_spellInfo->EffectMiscValue[i])/10,float(damage)/10); + m_caster->KnockBackFrom(unitTarget,float(m_spellInfo->EffectMiscValue[eff_idx])/10,float(damage)/10); } -void Spell::EffectReputation(uint32 i) +void Spell::EffectReputation(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; Player *_player = (Player*)unitTarget; - int32 rep_change = m_currentBasePoints[i]+1; // field store reputation change -1 + int32 rep_change = m_currentBasePoints[eff_idx]+1; // field store reputation change -1 - uint32 faction_id = m_spellInfo->EffectMiscValue[i]; + uint32 faction_id = m_spellInfo->EffectMiscValue[eff_idx]; FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id); @@ -6335,18 +6335,18 @@ void Spell::EffectReputation(uint32 i) _player->GetReputationMgr().ModifyReputation(factionEntry, rep_change); } -void Spell::EffectQuestComplete(uint32 i) +void Spell::EffectQuestComplete(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; Player *_player = (Player*)m_caster; - uint32 quest_id = m_spellInfo->EffectMiscValue[i]; + uint32 quest_id = m_spellInfo->EffectMiscValue[eff_idx]; _player->AreaExploredOrEventHappens(quest_id); } -void Spell::EffectSelfResurrect(uint32 i) +void Spell::EffectSelfResurrect(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->isAlive()) return; @@ -6362,7 +6362,7 @@ void Spell::EffectSelfResurrect(uint32 i) if(damage < 0) { health = uint32(-damage); - mana = m_spellInfo->EffectMiscValue[i]; + mana = m_spellInfo->EffectMiscValue[eff_idx]; } // percent case else @@ -6383,7 +6383,7 @@ void Spell::EffectSelfResurrect(uint32 i) plr->SpawnCorpseBones(); } -void Spell::EffectSkinning(uint32 /*i*/) +void Spell::EffectSkinning(SpellEffectIndex /*eff_idx*/) { if(unitTarget->GetTypeId() != TYPEID_UNIT ) return; @@ -6406,7 +6406,7 @@ void Spell::EffectSkinning(uint32 /*i*/) ((Player*)m_caster)->UpdateGatherSkill(skill, skillValue, reqValue, creature->isElite() ? 2 : 1 ); } -void Spell::EffectCharge(uint32 /*i*/) +void Spell::EffectCharge(SpellEffectIndex /*eff_idx*/) { if (!unitTarget) return; @@ -6427,7 +6427,7 @@ void Spell::EffectCharge(uint32 /*i*/) m_caster->Attack(unitTarget, true); } -void Spell::EffectCharge2(uint32 /*i*/) +void Spell::EffectCharge2(SpellEffectIndex /*eff_idx*/) { float x, y, z; if (m_targets.m_targetMask & TARGET_FLAG_DEST_LOCATION) @@ -6452,13 +6452,13 @@ void Spell::EffectCharge2(uint32 /*i*/) m_caster->Attack(unitTarget, true); } -void Spell::EffectSummonCritter(uint32 i, uint32 forceFaction) +void Spell::DoSummonCritter(SpellEffectIndex eff_idx, uint32 forceFaction) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; Player* player = (Player*)m_caster; - uint32 pet_entry = m_spellInfo->EffectMiscValue[i]; + uint32 pet_entry = m_spellInfo->EffectMiscValue[eff_idx]; if(!pet_entry) return; @@ -6535,23 +6535,23 @@ void Spell::EffectSummonCritter(uint32 i, uint32 forceFaction) map->Add((Creature*)critter); } -void Spell::EffectKnockBack(uint32 i) +void Spell::EffectKnockBack(SpellEffectIndex eff_idx) { if(!unitTarget) return; - unitTarget->KnockBackFrom(m_caster,float(m_spellInfo->EffectMiscValue[i])/10,float(damage)/10); + unitTarget->KnockBackFrom(m_caster,float(m_spellInfo->EffectMiscValue[eff_idx])/10,float(damage)/10); } -void Spell::EffectSendTaxi(uint32 i) +void Spell::EffectSendTaxi(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - ((Player*)unitTarget)->ActivateTaxiPathTo(m_spellInfo->EffectMiscValue[i],m_spellInfo->Id); + ((Player*)unitTarget)->ActivateTaxiPathTo(m_spellInfo->EffectMiscValue[eff_idx],m_spellInfo->Id); } -void Spell::EffectPlayerPull(uint32 i) +void Spell::EffectPlayerPull(SpellEffectIndex eff_idx) { if(!unitTarget) return; @@ -6560,15 +6560,15 @@ void Spell::EffectPlayerPull(uint32 i) if (damage && dist > damage) dist = float(damage); - unitTarget->KnockBackFrom(m_caster,-dist,float(m_spellInfo->EffectMiscValue[i])/10); + unitTarget->KnockBackFrom(m_caster,-dist,float(m_spellInfo->EffectMiscValue[eff_idx])/10); } -void Spell::EffectDispelMechanic(uint32 i) +void Spell::EffectDispelMechanic(SpellEffectIndex eff_idx) { if(!unitTarget) return; - uint32 mechanic = m_spellInfo->EffectMiscValue[i]; + uint32 mechanic = m_spellInfo->EffectMiscValue[eff_idx]; Unit::AuraMap& Auras = unitTarget->GetAuras(); for(Unit::AuraMap::iterator iter = Auras.begin(), next; iter != Auras.end(); iter = next) @@ -6588,7 +6588,7 @@ void Spell::EffectDispelMechanic(uint32 i) return; } -void Spell::EffectSummonDeadPet(uint32 /*i*/) +void Spell::EffectSummonDeadPet(SpellEffectIndex /*eff_idx*/) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6612,13 +6612,13 @@ void Spell::EffectSummonDeadPet(uint32 /*i*/) pet->SavePetToDB(PET_SAVE_AS_CURRENT); } -void Spell::EffectSummonAllTotems(uint32 i) +void Spell::EffectSummonAllTotems(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; - int32 start_button = ACTION_BUTTON_SHAMAN_TOTEMS_BAR + m_spellInfo->EffectMiscValue[i]; - int32 amount_buttons = m_spellInfo->EffectMiscValueB[i]; + int32 start_button = ACTION_BUTTON_SHAMAN_TOTEMS_BAR + m_spellInfo->EffectMiscValue[eff_idx]; + int32 amount_buttons = m_spellInfo->EffectMiscValueB[eff_idx]; for(int32 slot = 0; slot < amount_buttons; ++slot) if (ActionButton const* actionButton = ((Player*)m_caster)->GetActionButton(start_button+slot)) @@ -6627,7 +6627,7 @@ void Spell::EffectSummonAllTotems(uint32 i) m_caster->CastSpell(unitTarget,spell_id,true); } -void Spell::EffectDestroyAllTotems(uint32 /*i*/) +void Spell::EffectDestroyAllTotems(SpellEffectIndex /*eff_idx*/) { int32 mana = 0; for(int slot = 0; slot < MAX_TOTEM; ++slot) @@ -6653,12 +6653,12 @@ void Spell::EffectDestroyAllTotems(uint32 /*i*/) m_caster->CastCustomSpell(m_caster, 39104, &mana, NULL, NULL, true); } -void Spell::EffectDurabilityDamage(uint32 i) +void Spell::EffectDurabilityDamage(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - int32 slot = m_spellInfo->EffectMiscValue[i]; + int32 slot = m_spellInfo->EffectMiscValue[eff_idx]; // FIXME: some spells effects have value -1/-2 // Possibly its mean -1 all player equipped items and -2 all items @@ -6676,12 +6676,12 @@ void Spell::EffectDurabilityDamage(uint32 i) ((Player*)unitTarget)->DurabilityPointsLoss(item, damage); } -void Spell::EffectDurabilityDamagePCT(uint32 i) +void Spell::EffectDurabilityDamagePCT(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - int32 slot = m_spellInfo->EffectMiscValue[i]; + int32 slot = m_spellInfo->EffectMiscValue[eff_idx]; // FIXME: some spells effects have value -1/-2 // Possibly its mean -1 all player equipped items and -2 all items @@ -6702,7 +6702,7 @@ void Spell::EffectDurabilityDamagePCT(uint32 i) ((Player*)unitTarget)->DurabilityLoss(item, double(damage)/100.0f); } -void Spell::EffectModifyThreatPercent(uint32 /*effIndex*/) +void Spell::EffectModifyThreatPercent(SpellEffectIndex /*eff_idx*/) { if(!unitTarget) return; @@ -6710,9 +6710,9 @@ void Spell::EffectModifyThreatPercent(uint32 /*effIndex*/) unitTarget->getThreatManager().modifyThreatPercent(m_caster, damage); } -void Spell::EffectTransmitted(uint32 effIndex) +void Spell::EffectTransmitted(SpellEffectIndex eff_idx) { - uint32 name_id = m_spellInfo->EffectMiscValue[effIndex]; + uint32 name_id = m_spellInfo->EffectMiscValue[eff_idx]; GameObjectInfo const* goinfo = ObjectMgr::GetGameObjectInfo(name_id); @@ -6731,9 +6731,9 @@ void Spell::EffectTransmitted(uint32 effIndex) fz = m_targets.m_destZ; } //FIXME: this can be better check for most objects but still hack - else if(m_spellInfo->EffectRadiusIndex[effIndex] && m_spellInfo->speed==0) + else if(m_spellInfo->EffectRadiusIndex[eff_idx] && m_spellInfo->speed==0) { - float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[effIndex])); + float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[eff_idx])); m_caster->GetClosePoint(fx, fy, fz, DEFAULT_WORLD_OBJECT_SIZE, dis); } else @@ -6828,7 +6828,7 @@ void Spell::EffectTransmitted(uint32 effIndex) pGameObj->SummonLinkedTrapIfAny(); } -void Spell::EffectProspecting(uint32 /*i*/) +void Spell::EffectProspecting(SpellEffectIndex /*eff_idx*/) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6850,7 +6850,7 @@ void Spell::EffectProspecting(uint32 /*i*/) ((Player*)m_caster)->SendLoot(itemTarget->GetGUID(), LOOT_PROSPECTING); } -void Spell::EffectMilling(uint32 /*i*/) +void Spell::EffectMilling(SpellEffectIndex /*eff_idx*/) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -6872,12 +6872,12 @@ void Spell::EffectMilling(uint32 /*i*/) ((Player*)m_caster)->SendLoot(itemTarget->GetGUID(), LOOT_MILLING); } -void Spell::EffectSkill(uint32 /*i*/) +void Spell::EffectSkill(SpellEffectIndex /*eff_idx*/) { sLog.outDebug("WORLD: SkillEFFECT"); } -void Spell::EffectSpiritHeal(uint32 /*i*/) +void Spell::EffectSpiritHeal(SpellEffectIndex /*eff_idx*/) { // TODO player can't see the heal-animation - he should respawn some ticks later if (!unitTarget || unitTarget->isAlive()) @@ -6894,7 +6894,7 @@ void Spell::EffectSpiritHeal(uint32 /*i*/) } // remove insignia spell effect -void Spell::EffectSkinPlayerCorpse(uint32 /*i*/) +void Spell::EffectSkinPlayerCorpse(SpellEffectIndex /*eff_idx*/) { sLog.outDebug("Effect: SkinPlayerCorpse"); if ( (m_caster->GetTypeId() != TYPEID_PLAYER) || (unitTarget->GetTypeId() != TYPEID_PLAYER) || (unitTarget->isAlive()) ) @@ -6903,7 +6903,7 @@ void Spell::EffectSkinPlayerCorpse(uint32 /*i*/) ((Player*)unitTarget)->RemovedInsignia( (Player*)m_caster ); } -void Spell::EffectStealBeneficialBuff(uint32 i) +void Spell::EffectStealBeneficialBuff(SpellEffectIndex eff_idx) { sLog.outDebug("Effect: StealBeneficialBuff"); @@ -6912,7 +6912,7 @@ void Spell::EffectStealBeneficialBuff(uint32 i) std::vector steal_list; // Create dispel mask by dispel type - uint32 dispelMask = GetDispellMask( DispelType(m_spellInfo->EffectMiscValue[i]) ); + uint32 dispelMask = GetDispellMask( DispelType(m_spellInfo->EffectMiscValue[eff_idx]) ); Unit::AuraMap const& auras = unitTarget->GetAuras(); for(Unit::AuraMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr) { @@ -6973,31 +6973,31 @@ void Spell::EffectStealBeneficialBuff(uint32 i) } } -void Spell::EffectKillCreditPersonal(uint32 i) +void Spell::EffectKillCreditPersonal(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - ((Player*)unitTarget)->KilledMonsterCredit(m_spellInfo->EffectMiscValue[i], 0); + ((Player*)unitTarget)->KilledMonsterCredit(m_spellInfo->EffectMiscValue[eff_idx], 0); } -void Spell::EffectKillCredit(uint32 i) +void Spell::EffectKillCredit(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - ((Player*)unitTarget)->RewardPlayerAndGroupAtEvent(m_spellInfo->EffectMiscValue[i], unitTarget); + ((Player*)unitTarget)->RewardPlayerAndGroupAtEvent(m_spellInfo->EffectMiscValue[eff_idx], unitTarget); } -void Spell::EffectQuestFail(uint32 i) +void Spell::EffectQuestFail(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - ((Player*)unitTarget)->FailQuest(m_spellInfo->EffectMiscValue[i]); + ((Player*)unitTarget)->FailQuest(m_spellInfo->EffectMiscValue[eff_idx]); } -void Spell::EffectActivateRune(uint32 eff_idx) +void Spell::EffectActivateRune(SpellEffectIndex eff_idx) { if(m_caster->GetTypeId() != TYPEID_PLAYER) return; @@ -7016,13 +7016,13 @@ void Spell::EffectActivateRune(uint32 eff_idx) } } -void Spell::EffectTitanGrip(uint32 /*eff_idx*/) +void Spell::EffectTitanGrip(SpellEffectIndex /*eff_idx*/) { if (unitTarget && unitTarget->GetTypeId() == TYPEID_PLAYER) ((Player*)unitTarget)->SetCanTitanGrip(true); } -void Spell::EffectRenamePet(uint32 /*eff_idx*/) +void Spell::EffectRenamePet(SpellEffectIndex /*eff_idx*/) { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || !((Creature*)unitTarget)->isPet() || ((Pet*)unitTarget)->getPetType() != HUNTER_PET) @@ -7031,12 +7031,12 @@ void Spell::EffectRenamePet(uint32 /*eff_idx*/) unitTarget->RemoveByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED); } -void Spell::EffectPlayMusic(uint32 i) +void Spell::EffectPlayMusic(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; - uint32 soundid = m_spellInfo->EffectMiscValue[i]; + uint32 soundid = m_spellInfo->EffectMiscValue[eff_idx]; if (!sSoundEntriesStore.LookupEntry(soundid)) { @@ -7049,7 +7049,7 @@ void Spell::EffectPlayMusic(uint32 i) ((Player*)unitTarget)->GetSession()->SendPacket(&data); } -void Spell::EffectSpecCount(uint32 /*eff_idx*/) +void Spell::EffectSpecCount(SpellEffectIndex /*eff_idx*/) { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; @@ -7057,7 +7057,7 @@ void Spell::EffectSpecCount(uint32 /*eff_idx*/) ((Player*)unitTarget)->UpdateSpecCount(damage); } -void Spell::EffectActivateSpec(uint32 /*eff_idx*/) +void Spell::EffectActivateSpec(SpellEffectIndex /*eff_idx*/) { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) return; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index ec88ac11d..5da7d23cb 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9408" + #define REVISION_NR "9409" #endif // __REVISION_NR_H__