diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Conditions/DisableMgr.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Commands/cs_quest.cpp | 9 | 
3 files changed, 7 insertions, 9 deletions
| diff --git a/src/server/game/Conditions/DisableMgr.cpp b/src/server/game/Conditions/DisableMgr.cpp index ef46cb9837a..0a8f05bd70a 100644 --- a/src/server/game/Conditions/DisableMgr.cpp +++ b/src/server/game/Conditions/DisableMgr.cpp @@ -376,11 +376,6 @@ bool IsDisabledFor(DisableType type, uint32 entry, WorldObject const* ref, uint8              }              return false;          case DISABLE_TYPE_QUEST: -            if (!ref) -                return true; -            if (Player const* player = ref->ToPlayer()) -                if (player->IsGameMaster()) -                    return false;              return true;          case DISABLE_TYPE_BATTLEGROUND:          case DISABLE_TYPE_OUTDOORPVP: diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d1cb8c28e05..c8702e15b85 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15144,7 +15144,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,      // cast spells after mark quest complete (some spells have quest completed state requirements in spell_area data)      if (quest->GetRewSpellCast() > 0)      { -        SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(quest->GetRewSpellCast()); +        SpellInfo const* spellInfo = ASSERT_NOTNULL(sSpellMgr->GetSpellInfo(quest->GetRewSpellCast()));          if (questGiver->isType(TYPEMASK_UNIT) && !spellInfo->HasEffect(SPELL_EFFECT_LEARN_SPELL) && !spellInfo->HasEffect(SPELL_EFFECT_CREATE_ITEM) && !spellInfo->IsSelfCast())          {              if (Creature* creature = GetMap()->GetCreature(questGiver->GetGUID())) diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index a97cfb19827..6d333866606 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -26,6 +26,7 @@ EndScriptData */  #include "Chat.h"  #include "DatabaseEnv.h"  #include "DBCStores.h" +#include "DisableMgr.h"  #include "ObjectMgr.h"  #include "Player.h"  #include "RBAC.h" @@ -73,7 +74,7 @@ public:          Quest const* quest = sObjectMgr->GetQuestTemplate(entry); -        if (!quest) +        if (!quest || DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, entry, nullptr))          {              handler->PSendSysMessage(LANG_COMMAND_QUEST_NOTFOUND, entry);              handler->SetSentErrorMessage(true); @@ -185,7 +186,8 @@ public:          Quest const* quest = sObjectMgr->GetQuestTemplate(entry);          // If player doesn't have the quest -        if (!quest || player->GetQuestStatus(entry) == QUEST_STATUS_NONE) +        if (!quest || player->GetQuestStatus(entry) == QUEST_STATUS_NONE +            || DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, entry, nullptr))          {              handler->PSendSysMessage(LANG_COMMAND_QUEST_NOTFOUND, entry);              handler->SetSentErrorMessage(true); @@ -289,7 +291,8 @@ public:          Quest const* quest = sObjectMgr->GetQuestTemplate(entry);          // If player doesn't have the quest -        if (!quest || player->GetQuestStatus(entry) != QUEST_STATUS_COMPLETE) +        if (!quest || player->GetQuestStatus(entry) != QUEST_STATUS_COMPLETE +            || DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, entry, nullptr))          {              handler->PSendSysMessage(LANG_COMMAND_QUEST_NOTFOUND, entry);              handler->SetSentErrorMessage(true); | 
