diff options
author | Subv <s.v.h21@hotmail.com> | 2012-10-15 14:27:56 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-10-15 14:27:56 -0500 |
commit | fe55f735c12ad2a372dac24c636f3362a20d9eff (patch) | |
tree | 4877ca8e5c83bf62ffbe36ae2eaab86d65710a22 | |
parent | e10c4afc353f7d8315a61f7122e42ec94841a070 (diff) |
Scripts/Spells: Updated some more spells to 4.3.4
-rw-r--r-- | sql/updates/world/2012_10_15_01_world_spell_script_names.sql | 2 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_modify.cpp | 2 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 43 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 1 |
4 files changed, 14 insertions, 34 deletions
diff --git a/sql/updates/world/2012_10_15_01_world_spell_script_names.sql b/sql/updates/world/2012_10_15_01_world_spell_script_names.sql new file mode 100644 index 00000000000..c3390573bc2 --- /dev/null +++ b/sql/updates/world/2012_10_15_01_world_spell_script_names.sql @@ -0,0 +1,2 @@ +UPDATE `spell_script_names` SET `spell_id`=755 WHERE `spell_id`=-755; +UPDATE `spell_script_names` SET `spell_id`=1535 WHERE `spell_id`=-1535; diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 932a0cbc634..9f13dd00fb8 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -1047,7 +1047,7 @@ public: target->ModifyMoney(moneyToAdd); } - sLog->outDebug(LOG_FILTER_GENERAL, handler->GetTrinityString(LANG_NEW_MONEY), uint32(targetMoney), nt32(moneyToAdd), uint32(target->GetMoney())); + sLog->outDebug(LOG_FILTER_GENERAL, handler->GetTrinityString(LANG_NEW_MONEY), uint32(targetMoney), int32(moneyToAdd), uint32(target->GetMoney())); return true; } diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index 23f09a88911..8e8d0a89cde 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -31,7 +31,7 @@ enum ShamanSpells { SHAMAN_SPELL_GLYPH_OF_MANA_TIDE = 55441, SHAMAN_SPELL_MANA_TIDE_TOTEM = 39609, - SHAMAN_SPELL_FIRE_NOVA_R1 = 1535, + SHAMAN_SPELL_FLAME_SHOCK = 8050, SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1 = 8349, SHAMAN_SPELL_SATED = 57724, SHAMAN_SPELL_EXHAUSTION = 57723, @@ -53,6 +53,7 @@ enum ShamanSpells }; // 51474 - Astral shift +/// Updated 4.3.4 class spell_sha_astral_shift : public SpellScriptLoader { public: @@ -76,10 +77,10 @@ class spell_sha_astral_shift : public SpellScriptLoader amount = -1; } - void Absorb(AuraEffect* /*aurEff*/, DamageInfo & dmgInfo, uint32 & absorbAmount) + void Absorb(AuraEffect* /*aurEff*/, DamageInfo& dmgInfo, uint32& absorbAmount) { // reduces all damage taken while stun, fear or silence - if (GetTarget()->GetUInt32Value(UNIT_FIELD_FLAGS) & (UNIT_FLAG_FLEEING | UNIT_FLAG_SILENCED) || (GetTarget()->GetUInt32Value(UNIT_FIELD_FLAGS) & (UNIT_FLAG_STUNNED) && GetTarget()->HasAuraWithMechanic(1<<MECHANIC_STUN))) + if (GetTarget()->GetUInt32Value(UNIT_FIELD_FLAGS) & (UNIT_FLAG_FLEEING | UNIT_FLAG_SILENCED) || ((GetTarget()->GetUInt32Value(UNIT_FIELD_FLAGS) & UNIT_FLAG_STUNNED) && GetTarget()->HasAuraWithMechanic(1<<MECHANIC_STUN))) absorbAmount = CalculatePct(dmgInfo.GetDamage(), absorbPct); } @@ -97,6 +98,7 @@ class spell_sha_astral_shift : public SpellScriptLoader }; // 1535 Fire Nova +/// Updated 4.3.4 class spell_sha_fire_nova : public SpellScriptLoader { public: @@ -106,46 +108,21 @@ class spell_sha_fire_nova : public SpellScriptLoader { PrepareSpellScript(spell_sha_fire_nova_SpellScript); - bool Validate(SpellInfo const* spellEntry) - { - if (!sSpellMgr->GetSpellInfo(SHAMAN_SPELL_FIRE_NOVA_R1) || sSpellMgr->GetFirstSpellInChain(SHAMAN_SPELL_FIRE_NOVA_R1) != sSpellMgr->GetFirstSpellInChain(spellEntry->Id)) - return false; - - uint8 rank = sSpellMgr->GetSpellRank(spellEntry->Id); - if (!sSpellMgr->GetSpellWithRank(SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1, rank, true)) - return false; - return true; - } - - SpellCastResult CheckFireTotem() - { - // fire totem - if (!GetCaster()->m_SummonSlot[1]) - { - SetCustomCastResultMessage(SPELL_CUSTOM_ERROR_MUST_HAVE_FIRE_TOTEM); - return SPELL_FAILED_CUSTOM_ERROR; - } - - return SPELL_CAST_OK; - } - void HandleDummy(SpellEffIndex /*effIndex*/) { - if (Unit* caster = GetCaster()) + Unit* caster = GetCaster(); + if (Unit* target = GetHitUnit()) { - uint8 rank = sSpellMgr->GetSpellRank(GetSpellInfo()->Id); - if (uint32 spellId = sSpellMgr->GetSpellWithRank(SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1, rank)) + if (target->HasAura(SHAMAN_SPELL_FLAME_SHOCK)) { - Creature* totem = caster->GetMap()->GetCreature(caster->m_SummonSlot[1]); - if (totem && totem->isTotem()) - caster->CastSpell(totem, spellId, true); + caster->CastSpell(target, SHAMAN_SPELL_FIRE_NOVA_TRIGGERED_R1, true); + target->RemoveAurasDueToSpell(SHAMAN_SPELL_FLAME_SHOCK); } } } void Register() { - OnCheckCast += SpellCheckCastFn(spell_sha_fire_nova_SpellScript::CheckFireTotem); OnEffectHitTarget += SpellEffectFn(spell_sha_fire_nova_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); } }; diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index 6bfa2419fdd..42296154634 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -654,6 +654,7 @@ class spell_warl_bane_of_doom : public SpellScriptLoader }; // 755 Health Funnel +/// Updated 4.3.4 class spell_warl_health_funnel : public SpellScriptLoader { public: |