aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-01-01 17:07:39 +0100
committerShauren <shauren.trinity@gmail.com>2021-04-27 23:49:36 +0200
commit0aed5a35efd0305c1c3046430a1b348f2049a1c5 (patch)
treebc6695de95bb8d342692f714bffb0367145346f3 /src/server/game/Handlers/QuestHandler.cpp
parentf4ef40d9686135088a76c90a3f9de6a6bc10e8f0 (diff)
Core/AI: Kick Gossip functions upstairs, from UnitAI to CreatureAI - they only make sense for Creatures anyway.
Also change a very ugly hack in GetDialogStatus. Ew. (cherry picked from commit eacfa9d89afcfad0cbd0715c8a84890c3ccd1c74)
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index a02fa586775..52ed231c53f 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -19,6 +19,7 @@
#include "Battleground.h"
#include "Common.h"
#include "Creature.h"
+#include "CreatureAI.h"
#include "DatabaseEnv.h"
#include "DB2Stores.h"
#include "GameObject.h"
@@ -34,7 +35,6 @@
#include "QuestPackets.h"
#include "ReputationMgr.h"
#include "ScriptMgr.h"
-#include "UnitAI.h"
#include "World.h"
void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPackets::Quest::QuestGiverStatusQuery& packet)
@@ -93,7 +93,7 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPackets::Quest::QuestGiverHe
creature->SetHomePosition(creature->GetPosition());
_player->PlayerTalkClass->ClearMenus();
- if (creature->GetAI()->GossipHello(_player))
+ if (creature->AI()->GossipHello(_player))
return;
_player->PrepareGossipMenu(creature, creature->GetCreatureTemplate()->GossipMenuId, true);
@@ -388,7 +388,6 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPackets::Quest::Quest
case TYPEID_PLAYER:
{
//For AutoSubmition was added plr case there as it almost same exclute AI script cases.
- Unit* unitQGiver = object->ToUnit();
// Send next quest
if (Quest const* nextQuest = _player->GetNextQuest(packet.QuestGiverGUID, quest))
{
@@ -403,8 +402,8 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPackets::Quest::Quest
}
_player->PlayerTalkClass->ClearMenus();
- if (UnitAI* qGiverAI = unitQGiver->GetAI())
- qGiverAI->QuestReward(_player, quest, packet.Choice.LootItemType, packet.Choice.Item.ItemID);
+ if (Creature* creatureQGiver = object->ToCreature())
+ creatureQGiver->AI()->QuestReward(_player, quest, packet.Choice.LootItemType, packet.Choice.Item.ItemID);
break;
}
case TYPEID_GAMEOBJECT: