diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/AreaTrigger/AreaTrigger.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index eafcd09c2e4..38cdeaa9801 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -464,9 +464,13 @@ void AreaTrigger::HandleUnitEnterExit(std::vector<Unit*> const& newTargetList) for (Unit* unit : enteringUnits) { if (Player* player = unit->ToPlayer()) + { if (player->isDebugAreaTriggers) ChatHandler(player->GetSession()).PSendSysMessage(LANG_DEBUG_AREATRIGGER_ENTERED, GetTemplate()->Id.Id); + player->UpdateQuestObjectiveProgress(QUEST_OBJECTIVE_AREA_TRIGGER_ENTER, GetEntry(), 1); + } + DoActions(unit); _ai->OnUnitEnter(unit); @@ -477,9 +481,13 @@ void AreaTrigger::HandleUnitEnterExit(std::vector<Unit*> const& newTargetList) if (Unit* leavingUnit = ObjectAccessor::GetUnit(*this, exitUnitGuid)) { if (Player* player = leavingUnit->ToPlayer()) + { if (player->isDebugAreaTriggers) ChatHandler(player->GetSession()).PSendSysMessage(LANG_DEBUG_AREATRIGGER_LEFT, GetTemplate()->Id.Id); + player->UpdateQuestObjectiveProgress(QUEST_OBJECTIVE_AREA_TRIGGER_EXIT, GetEntry(), 1); + } + UndoActions(leavingUnit); _ai->OnUnitExit(leavingUnit); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a0d00acce80..3ed8b3ef4a6 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3182,6 +3182,8 @@ void Player::LearnSpell(uint32 spell_id, bool dependent, int32 fromSkill /*= 0*/ LearnSpell(itr2->second, false, fromSkill); } } + else + UpdateQuestObjectiveProgress(QUEST_OBJECTIVE_LEARNSPELL, spell_id, 1); } void Player::RemoveSpell(uint32 spell_id, bool disabled /*= false*/, bool learn_low_rank /*= true*/, bool suppressMessaging /*= false*/) |