aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp14
-rw-r--r--src/server/scripts/Spells/spell_item.cpp10
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp20
3 files changed, 17 insertions, 27 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 886384a1c68..db33a9e0332 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -1585,19 +1585,17 @@ class spell_gen_spirit_healer_res : public SpellScriptLoader
bool Load()
{
- return GetOriginalCaster()->GetTypeId() == TYPEID_PLAYER;
+ return GetOriginalCaster() && GetOriginalCaster()->GetTypeId() == TYPEID_PLAYER;
}
void HandleDummy(SpellEffIndex /* effIndex */)
{
- if (Player* originalCaster = GetOriginalCaster()->ToPlayer())
+ Player* originalCaster = GetOriginalCaster()->ToPlayer();
+ if (Unit* target = GetHitUnit())
{
- if (Unit* target = GetHitUnit())
- {
- WorldPacket data(SMSG_SPIRIT_HEALER_CONFIRM, 8);
- data << uint64(target->GetGUID());
- originalCaster->GetSession()->SendPacket(&data);
- }
+ WorldPacket data(SMSG_SPIRIT_HEALER_CONFIRM, 8);
+ data << uint64(target->GetGUID());
+ originalCaster->GetSession()->SendPacket(&data);
}
}
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 388ee8fd3cd..079221a97e8 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -1513,7 +1513,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
enum ImpaleLeviroth
{
NPC_LEVIROTH = 26452,
- SPELL_LEVIROTH_SELF_IMPALE = 49882
+ SPELL_LEVIROTH_SELF_IMPALE = 49882,
};
class spell_item_impale_leviroth : public SpellScriptLoader
@@ -1534,11 +1534,9 @@ class spell_item_impale_leviroth : public SpellScriptLoader
void HandleDummy(SpellEffIndex /* effIndex */)
{
- Unit* target = GetHitCreature();
- if (!target || target->GetEntry() != NPC_LEVIROTH || !target->HealthBelowPct(95))
- return;
-
- target->CastSpell(target, SPELL_LEVIROTH_SELF_IMPALE, true);
+ if (Unit* target = GetHitCreature())
+ if (target->GetEntry() == NPC_LEVIROTH && target->HealthBelowPct(95))
+ target->CastSpell(target, SPELL_LEVIROTH_SELF_IMPALE, true);
}
void Register()
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index 09c34e3499d..278abcc0c0b 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -1025,9 +1025,9 @@ class spell_q14112_14145_chum_the_water: public SpellScriptLoader
// http://old01.wowhead.com/quest=9452 - Red Snapper - Very Tasty!
enum RedSnapperVeryTasty
{
- SPELL_CAST_NET = 29866,
- ITEM_RED_SNAPPER = 23614,
- NPC_ANGRY_MURLOC = 17102,
+ SPELL_CAST_NET = 29866,
+ ITEM_RED_SNAPPER = 23614,
+ SPELL_NEW_SUMMON_TEST = 49214,
};
class spell_q9452_cast_net: public SpellScriptLoader
@@ -1047,16 +1047,10 @@ class spell_q9452_cast_net: public SpellScriptLoader
void HandleDummy(SpellEffIndex /*effIndex*/)
{
Player* caster = GetCaster()->ToPlayer();
- switch (urand(0, 2))
- {
- case 0: case 1:
- caster->AddItem(ITEM_RED_SNAPPER, 1);
- break;
- case 2:
- if (Creature* murloc = caster->SummonCreature(NPC_ANGRY_MURLOC, caster->GetPositionX()+5, caster->GetPositionY(), caster->GetPositionZ(), 0.0f, TEMPSUMMON_MANUAL_DESPAWN, 120000))
- murloc->AI()->AttackStart(caster);
- break;
- }
+ if (roll_chance_i(66))
+ caster->AddItem(ITEM_RED_SNAPPER, 1);
+ else
+ caster->CastSpell(caster, SPELL_NEW_SUMMON_TEST, true);
}
void Register()