Skip to content

Instantly share code, notes, and snippets.

@e000
Created August 13, 2012 03:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save e000/ef10d4aa65286e5a9f75 to your computer and use it in GitHub Desktop.
Save e000/ef10d4aa65286e5a9f75 to your computer and use it in GitHub Desktop.
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 3655921..c6b1e20 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -204,11 +204,22 @@ class spell_mage_summon_water_elemental : public SpellScriptLoader
else
caster->CastSpell(caster, SPELL_MAGE_SUMMON_WATER_ELEMENTAL_TEMPORARY, true);
}
+
+ SpellCastResult HandleCheckCast() {
+ Unit *caster = GetCaster();
+ if (caster->GetPetGUID())
+ return SPELL_FAILED_ALREADY_HAVE_SUMMON;
+ if (caster->GetCharmGUID())
+ return SPELL_FAILED_ALREADY_HAVE_CHARM;
+
+ return SPELL_CAST_OK;
+ }
void Register()
{
// add dummy effect spell handler to Summon Water Elemental
OnEffectHit += SpellEffectFn(spell_mage_summon_water_elemental_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ OnCheckCast += SpellCheckCastFn(spell_mage_summon_water_elemental_SpellScript::HandleCheckCast);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment