aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
AgeCommit message (Collapse)Author
2025-07-30Core/Quests: Fixed QuestScript::OnQuestStatusChange incorrectly triggering ↵Shauren
with QUEST_STATUS_INCOMPLETE when removing items from quest objectives on rewarding quest Closes #31181
2025-07-11Core/Groups: Use iterators instead of raw LinkedListElement to interact with ↵Shauren
group members
2025-07-05Core/Gossip: Track started interaction types and reset only questgiver on ↵Shauren
quest accept Closes #31120
2025-06-28Core/Gossip: Send correct response depending on how the interaction was ↵Meji
started (#31046)
2025-06-28Core/SpawnTracking: Allow linking a spawn to more than one quest objective ↵Meji
(#30995)
2025-06-22Core/Players: PlayerChoice improvementsShauren
* Add missing choice properties to database (InfiniteRange, ShowChoicesAsList) * Allow limiiting the number of responses sent at the same time * Fixed duration sent in SMSG_DISPLAY_PLAYER_CHOICE * Remove dynamically generated response identifiers from database * Remove auto rewarding choice responses * Change response scripts to be bound to scriptname
2025-06-21Core/Gossip: Use std::variant to store InteractionDataShauren
2025-05-22Core/PacketIO: Migration to PacketUtilities bit/string operations part 3Shauren
2025-01-04Core/Misc: Implemented spawn tracking (#30247)Meji
2024-12-29Core/Gossip: Fix interaction with gossip launched by accepting quest (#30419)Meji
2024-09-14Core/PacketIO: Fix SMSG_UI_MAP_QUEST_LINES_RESPONSE struct (TWW) (#30219)Meji
2024-08-30Core/PacketIO: Implemented UIMap questlines (#30030)Meji
2024-08-16Core: Updated to 11.0.2Shauren
2024-04-08Core/Quests: Update phaseshift when taking or abandoning quests (#29901)Meji
2024-03-28Core/Battlegrounds: Move to scripts (#29799)Jeremy
* Introduce new BattlegroundScript class for map/bg specific scripts * Remove all sub, zone specific, battleground classes except Arena * Move all bg zone scripts to new BattlegroundScripts class in script folder * Remove ZoneScript from Battleground class * Remove some unused hooks from Battleground
2024-03-21Core: Updated to 10.2.6.53840Shauren
2024-03-03Core/Creatures: Implemented serverside checks for ↵Shauren
UNIT_FLAG2_INTERACT_WHILE_HOSTILE and UNIT_FLAG3_ALLOW_INTERACTION_WHILE_IN_COMBAT * Also stop sending npc flags for hostile creatures
2024-03-03Core/Quests: Merged UpdateNearbyCreatureNpcFlags, ↵Shauren
UpdateVisibleGameobjectsOrSpellClicks and SendQuestGiverStatusMultiple on quest actions * Fixes quest markers above NPC heads not disappearing when player stops seeing questgiver npc flag
2024-02-24Core/Creatures: Implemented UNIT_NPC_FLAG_GOSSIP as viewer dependent and ↵ModoX
update npcflags on quest changes (#29646)
2024-01-08Core/Creatures: Added possibility to automatically despawn personal summons ↵ModoX
on quest remove (#29114)
2023-09-25Core/Achievements: Fixed achievement criteria StartEvent and FailEventShauren
* Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements) * Implemented most StartEvent and FailEvent types * Fixed saving criteria removed by RemoveCriteriaProgress
2023-08-24Core/Quest: Allow quests flagged as QUEST_FLAGS_AUTO_COMPLETE to be valid in ↵Aqua Deus
CMSG_QUESTGIVER_REQUEST_REWARD (#29244) Co-authored-by: Ovahlord <dreadkiller@gmx.de>
2023-06-17Core/Items: Item bonus generation improvementsShauren
* Pass ItemContext to item creation wherever possible * Support scaling item levels with m+ keystone levels (not used currently) * Fixed item link validation when client sends it as default uninitialized bonus list with context only * Support scaling items depending on current active season (seasons not implemented) * Implemented content tuning redirection
2023-06-11Core/Quests: New FlagsEx implementationsShauren
* QUEST_FLAGS_EX_REWARDS_IGNORE_CAPS * QUEST_FLAGS_EX_NO_CREDIT_FOR_PROXY * QUEST_FLAGS_EX_RECAST_ACCEPT_SPELL_ON_LOGIN * QUEST_FLAGS_EX_REMOVE_ON_PERIODIC_RESET * QUEST_FLAGS_EX_NO_ABANDON_ONCE_BEGUN
2023-06-10Core/Quests: Quest flag fixupsShauren
* Update flag names * Implemented QUEST_FLAGS_COMPLETION_NO_DEATH and QUEST_FLAGS_FAIL_ON_LOGOUT * Started using QUEST_FLAGS_COMPLETION_EVENT and QUEST_FLAGS_COMPLETION_AREA_TRIGGER instead of a custom SpeclalFlag * Renamed Quest::IsAutoComplete to Quest::IsTurnIn to better describe what it means (a quest that can be turned in without accepting it to quest log) * Implemented QUEST_FLAGS_UPDATE_PHASESHIFT and removed forced phaseshift updates on every quest status change * Implemented QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT - reopens gossip menu with questgiver
2023-04-05Core/Creature: Added possibility to give creatures multiple gossip menu ids ↵ModoX
and control them via conditions (#28159)
2023-03-12Core/Creatures: Allow overriding default gossip menu idShauren
2023-01-28Core/Quests: Dont immediately update object visibility at PhaseShift and ↵Seyden
wait for the AI Hooks to be called in Player::RewardQuest (#28516)
2023-01-28Core: Updated to 10.0.5Shauren
2023-01-08Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard ↵Shauren
compatible api)
2022-07-09Core/Battlegrounds: Fixed AV turnins being counted when opening quest ↵Shauren
completion UI instead after completing the quest
2022-03-14Core/QuestHandler: Fix potential crash caused by QUEST_FLAGS_PARTY_ACCEPT ↵HelloKitty
with conditions (#26880) (cherry picked from commit 5a60082e5d3a5290f142168c3142c54b000cb2b0)
2022-03-11Core/Misc: Clear unused undef leftover in a refactor (#26616)Kelno
Previously this function was using a macro that was #undef at the end of the function. Since then it uses a lambda function and the undef is not needed anymore. (cherry picked from commit 17ed3fd1dcfcb859869fcbbeb643fa59793d1687)
2022-03-06Core/Creature: Add new db field InteractionPauseTimer (#25880)Giacomo Pozzoni
* Core/Creature: Add new db field InteractionPauseTimer Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer) * Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value * Use the InteractionPauseTimer value throughout the code instead of Creature.MovingStopTimeForPlayer * Handle InteractionPauseTimer set to 0 as "don't stop at all" * Implement InteractionPauseTimer in creature_movement_override creature_movement_override allows NULL values, in which case the values from creature_template_movement will be used for those columns that are NULL, falling back to default C++ values if creature_template_movement has NULL values too (or no rows for the creature) * Read default InteractionPauseTimer from worldserver.conf * Rename 2021_99_99_99_world.sql to 2021_01_22_00_world.sql (cherry picked from commit a22bc236ebc038c723774e5b38cd93e814ccc43d)
2022-02-27Core/Quest: Fix wrong feedback sent to the quest sharing sender with ↵Giacomo Pozzoni
auto-accept quests. (PR #25477) Closes #25474. Co-authored-by: Treeston <treeston.mmoc@gmail.com> (cherry picked from commit e2d643f5518d256e17851243896985b2773db281)
2022-02-27Scripts/ChatCommands: Constrain how char const* may be used as a command ↵Treeston
handler parameter. It may now only be used in the legacy configuration, as the only argument. (cherry picked from commit 9fda67d016798260dcab4b2110c00ab85e1fff2f)
2022-02-26Core/Quests: Fixes response selection to use correct referenced identifier ↵ModoX
(#27808)
2022-02-05Add "On" to some gossip methods in AI (#25415)Maks Szokalski
* Add "On" to some methods * Update npc_innkeeper.cpp * Update zone_borean_tundra.cpp (cherry picked from commit 41188eb535e445b73909659980257da2939e4be4)
2022-01-13Core/Quests: Set quest slot earlier when abandoning a quest (#27584)ModoX
* fixes quest objective conditions still being true when quest is abandoned
2022-01-01Core/Logs: Log full guid instead of just low guid, part 2Giacomo Pozzoni
(cherry picked from commit 3def52c1c459f566ab2b2d8cf017c70df4d7cf22)
2021-12-31Core/Logs: Log full guid instead of just low guidGiacomo Pozzoni
(cherry picked from commit 468ecb7252ea4eabd37e11b9ddbbb96ffd26bd7e)
2021-12-18Core/Pooling: Quest pooling rewrite: (PR#23627)Treeston
- Split quest pooling from PoolMgr (into QuestPoolMgr) - Proper saving/restoring on server restart - No more hacking into sObjectMgr to insert/remove available quests (cherry picked from commit a5e73e41c0e813e674bb0a644e0052052435494e)
2021-12-13Core/Quest: do not send SMSG_QUESTGIVER_OFFER_REWARD right after ↵Wyrserth
SMSG_QUESTGIVER_QUEST_FAILED. Allows the gossip window to close after the client receives a quest failed error (for example: not enough inventory space to store the reward). (cherry picked from commit c8289ada7f7d31a5e608c932db71ee6ec7fce0e6)
2021-11-02Core/PacketIO: Updated SMSG_QUEST_PUSH_RESPONSE to 9.1.5Shauren
2021-09-08Core/Achievements: Update CriteriaType enum (#26856)Meji
2021-06-01Core/Criteria: Add all values of CriteriaStartEventShauren
2021-05-16Core/Scripts: Remove deprecated overload of QuestReward without LootItemType ↵Shauren
argument
2021-05-09Core/Quests: Drop unneeded QuestSpecialFlagsShauren
2021-04-27Core/AI: Kick Gossip functions upstairs, from UnitAI to CreatureAI - they ↵Treeston
only make sense for Creatures anyway. Also change a very ugly hack in GetDialogStatus. Ew. (cherry picked from commit eacfa9d89afcfad0cbd0715c8a84890c3ccd1c74)
2021-02-26Scripts/Quests: Implemented new quest scripting hook, ↵Shauren
OnQuestAcknowledgeAutoAccept, used when player closes quest frame after viewing details of autoaccept quests