diff options
| author | Shauren <shauren.trinity@gmail.com> | 2012-11-24 08:25:45 -0800 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2012-11-24 08:25:45 -0800 |
| commit | c7fd67bdfd528ed465766785d90fa28bf89ea1af (patch) | |
| tree | 549ff9957fea1b5c5838905b80856ab8c60c12d8 /src/server/scripts/Commands | |
| parent | e29be154329c4a972d6a4728ac6028e0c8a4d4cd (diff) | |
| parent | e83c5d1a0f830b18bf0fdbace21c6c55cbf6b3a7 (diff) | |
Merge pull request #8423 from joschiwald/conditions
Core/Conditions: use proper SpellCastResult instead of Notification when CONDITION_SOURCE_TYPE_SPELL fails
Diffstat (limited to 'src/server/scripts/Commands')
| -rw-r--r-- | src/server/scripts/Commands/cs_misc.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 5e54778b14a..c701c4f350c 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -937,16 +937,9 @@ public: //No args required for players if (handler->GetSession() && AccountMgr::IsPlayerAccount(handler->GetSession()->GetSecurity())) { - Player* player = handler->GetSession()->GetPlayer(); - if (player->isInFlight() || player->isInCombat()) - { - handler->SendSysMessage(LANG_CANT_DO_NOW); - handler->SetSentErrorMessage(true); - return false; - } - - //7355: "Stuck" - player->CastSpell(player, 7355, false); + // 7355: "Stuck" + if (Player* player = handler->GetSession()->GetPlayer()) + player->CastSpell(player, 7355, false); return true; } @@ -967,8 +960,13 @@ public: if (player->isInFlight() || player->isInCombat()) { - handler->SendSysMessage(LANG_CANT_DO_NOW); - handler->SetSentErrorMessage(true); + SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(7355); + if (!spellInfo) + return false; + + if (Player* caster = handler->GetSession()->GetPlayer()) + Spell::SendCastResult(caster, spellInfo, 0, SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW); + return false; } |
