diff options
author | Nay <dnpd.dd@gmail.com> | 2013-07-04 17:12:29 +0100 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2013-07-04 17:12:29 +0100 |
commit | 85db1fc9434e7eca4ee53ca8c645e14c187911cb (patch) | |
tree | 42fe85eb8babc2b042d80aa4fc1f5c0e16be8146 | |
parent | 9c1cca395ba5bb2fd94321aedfddf3c4eaef04af (diff) |
Scripts/Razorfen Kraul: Fix build and a possible crash
-rw-r--r-- | src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp index cdf2aec7e52..23688ae218d 100644 --- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp +++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp @@ -22,6 +22,7 @@ #include "razorfen_kraul.h" #include "Player.h" #include "PetAI.h" +#include "SpellScript.h" enum Willix { @@ -142,8 +143,8 @@ enum SnufflenoseGopher { NPC_SNUFFLENOSE_GOPHER = 4781, GO_BLUELEAF_TUBBER = 20920, - ACTION_FIND_NEW_TUBBER = 0x4B726F66, - POINT_TUBBER = 0x6E615748 + ACTION_FIND_NEW_TUBBER = 0, + POINT_TUBBER = 0 }; struct DistanceOrder : public std::binary_function<GameObject, GameObject, bool> @@ -252,12 +253,16 @@ class spell_snufflenose_command : public SpellScriptLoader { PrepareSpellScript(spell_snufflenose_commandSpellScript); + bool Load() + { + return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER; + } + void HandleAfterCast() { - if (Unit* target = ((Player*)GetCaster())->GetSelectedUnit()) + if (Unit* target = GetCaster()->ToPlayer()->GetSelectedUnit()) if (target->GetEntry() == NPC_SNUFFLENOSE_GOPHER) - if (Creature* ctarget = dynamic_cast<Creature*>(target)) - ctarget->AI()->DoAction(ACTION_FIND_NEW_TUBBER); + target->ToCreature()->AI()->DoAction(ACTION_FIND_NEW_TUBBER); } void Register() |