Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
298d799
Core/AI: Remove code that removed UNIT_DYNFLAG_LOOTABLE from possesse…
jackpoz Aug 13, 2020
e9a1f74
DB/Locale/esES+esMX Texts missing in quests (Part 18)
Aug 14, 2020
afd2146
DB/Locale/esES+esMX Texts missing in quests (Part 19)
Aug 14, 2020
49e40f4
DB/Quest: The Missing Diplomat (Part 16): Make Private Hendel act mor…
offl Aug 14, 2020
9d11c25
DB/Creature: Add CREATURE_FLAG_EXTRA_NO_COMBAT to Toxic Tunnel (Naxxr…
offl Aug 14, 2020
40e4777
DB/Creature: Add script & waypoints to Warden Treelos
Aug 14, 2020
ee6d642
DB/Misc: Add correct teleport positions to one areatrigger and some s…
offl Aug 14, 2020
681c738
Script/Quest: The Light of Dawn (#25243)
Aokromes Aug 15, 2020
4398695
TDB 335.20081 - 2020/08/15
Aug 15, 2020
87211d9
Core/PacketIO: Update SMSG_QUESTGIVER_QUEST_DETAILS (#25232)
Carbenium Aug 15, 2020
34d403e
Core/Spells: Mark constructors of Spell/AuraScript handlers as explic…
Carbenium Aug 15, 2020
6c7837f
Core/Unit: Make HandleEmoteCommand typesafe (#25249)
Carbenium Aug 15, 2020
5e40eb2
Core/ChatCommands: Add support for enum type arguments (PR #25242)
Carbenium Aug 16, 2020
4125a81
Core/Warden: Fix for LUA_STR_CHECK (#25247)
scizzydo Aug 16, 2020
b74dc47
Core/DB: Move every gameobject that uses the spawntimesecs < 0 hack i…
Treeston Aug 16, 2020
86dc589
Scripts/Commands: Use enum type arg for HandleDebugAnimCommand (PR #2…
Carbenium Aug 16, 2020
df29f60
Core/ChatCommands: Honor exact matches during enum arg parsing (PR #2…
Carbenium Aug 16, 2020
ca25e8d
Core/SAI: Spell casts that cannot be executed because the unit is cur…
jackpoz Aug 16, 2020
7edad0d
Core/ChatCommands: Do not parse partial strings for numeric paramters…
Carbenium Aug 16, 2020
5c1fc5e
Core/Pets: Pet management refactoring (#25191)
Shauren Aug 16, 2020
6bd104e
DB/Locale esES+esMX Texts missing in quets (Part 20)
Aug 16, 2020
e8e3626
DB/Creature: Add missing cosmetic channeled spell in Ahn'kahet
offl Aug 16, 2020
aae38be
DB/SAI: Remove SMARTCAST_INTERRUPT_PREVIOUS from nearly all scripts
offl Aug 16, 2020
c5b303e
DB/Areatrigger: Add correct teleport positions from world safe locs t…
offl Aug 16, 2020
68557e9
DB/Gameobject: Remove gameobjects with negative respawn time from dyn…
offl Aug 16, 2020
30a825e
Core/ChatCommands: Add support for std::array-type arguments (#25261)
Carbenium Aug 16, 2020
f9e7dbd
Core/ChatCommands: Move Trinity::ChatCommands::Variant from boost::va…
Treeston Aug 16, 2020
1aeb7a0
How did this even build in VS???? (don't kill me shauren) (f9e7dbd fo…
Treeston Aug 16, 2020
7bceff1
revert 1aeb7a0 and f9e7dbd until I can work around GCC being silly
Treeston Aug 16, 2020
ffc3e35
Core/ChatCommands: Move Trinity::ChatCommands::Variant from boost::va…
Treeston Aug 17, 2020
e084d9e
DB/Areatrigger: Add correct teleport positions from world safe locs t…
offl Aug 17, 2020
a9d493c
DB/Text: Add correct text to Sylvanas (Lament of the Highborne)
illfated Aug 17, 2020
9c5876d
Core/Spells: Fix summoning SUMMON_PET type pets
Shauren Aug 17, 2020
bbcf002
Core/Spells: Fix summoning warlock pets in case that pet has never be…
Shauren Aug 17, 2020
66491db
make compilers happy
Treeston Aug 17, 2020
dfeaa2e
Core/ChatCommands: Add Variant.get<typename> overload (PR #25267)
Carbenium Aug 17, 2020
fa6a8e8
Scripts/Commands: Convert argument parsing of bf commands to new system
Carbenium Aug 17, 2020
9df61fd
Core/ChatCommands: Parse SpellInfo also from enchant, glyph, talent a…
Carbenium Aug 17, 2020
a9a4f05
Core/Pets: Fix loading pet data
Shauren Aug 17, 2020
426513e
Scripts/Commands: Convert argument parsing of ahbot commands (PR #25264)
Carbenium Aug 17, 2020
e18f7aa
Scripts/Commands: Remove .debug asan outofbounds, because having reac…
Treeston Aug 17, 2020
76f309b
Scripts/Commands: Convert argument parsing of most debug commands to …
Carbenium Aug 17, 2020
0b13fc1
Scripts/Commands: Revert e18f7aa, re-add .debug asan outofbounds, mov…
Treeston Aug 17, 2020
5ecbe93
[[maybe_unused]] to make CIs happy, 0b13fc1 follow-up
Treeston Aug 17, 2020
5a5d5b2
DB/Locale/esES+esMX Texts missing in quests (Part 21)
Aug 17, 2020
d751cbe
DB/Locale/esES+esMX quest_greeting_locale
Aug 17, 2020
3ba563a
DB/Areatrigger: Add correct teleport positions from world safe locs t…
offl Aug 17, 2020
4707e05
Scripts/Commands: Convert argument parsing of cheat commands to new s…
Carbenium Aug 18, 2020
7dbbc50
DB/SAI: Remove unnecessary SetActive in DK start zone
Jildor Aug 18, 2020
20ca00e
DB/Quest: Add correct action type to give quest credit for 'Escorting…
offl Aug 18, 2020
c952cb7
Scripts/Commands: Convert argument parsing of deserter commands to ne…
Carbenium Aug 18, 2020
24a4943
DB/Creature: Remove incorrectly added event from Thule Ravenclaw
offl Aug 18, 2020
f04f4e9
Core/Warden: Add .debug warden force, allowing you to force specific …
Treeston Aug 18, 2020
515a34f
Scripts/Commands: Convert argument parsing of honor commands to new s…
Carbenium Aug 18, 2020
01c7663
Core/PacketIO: Update SMSG_QUESTGIVER_OFFER_REWARD (#25251)
Faq Aug 19, 2020
1aadf6c
Scripts/Commands: Convert argument parsing of remaining go command to…
Carbenium Aug 19, 2020
9c9e8c7
Scripts/Commands: Convert argument parsing of gm commands to new syst…
Carbenium Aug 19, 2020
4286e7a
Core/ChatCommands: Check whether a passed numeric enum value is valid…
Carbenium Aug 19, 2020
643b920
Common/Misc: Clean-up a GCC sign comparison warning
Treeston Aug 20, 2020
7bfeb03
Scripts/Commands: Convert argument parsing of event commands to new s…
Carbenium Aug 20, 2020
7c08fc8
Core/Util: Added new utilities
Shauren Aug 20, 2020
84a87d8
Core/Util: Added another template utility - find_type_if
Shauren Aug 20, 2020
75a6a7a
Core/Scripts: Unify RegisterSpellScript and RegisterAuraScript macros…
Shauren Aug 20, 2020
7a5a010
Scripts/Spells: Convert remaining spell_generic scripts to simplified…
Shauren Aug 20, 2020
7d4fbf7
Scripts/Spells: Replace RegisterAuraScript with RegisterSpellScript a…
Shauren Aug 20, 2020
89fd7d4
Core/Misc: Remove NULL
Shauren Aug 20, 2020
e128980
Core/Networking: Initialize MPSCQueueIntrusive dummy node without und…
Shauren Aug 20, 2020
5b4288f
Core/Warden: Some Warden refactors lifted from #25286.
Treeston Aug 20, 2020
a3971ca
Core/Warden: More refactors lifted from #25286.
Treeston Aug 20, 2020
fc32c3f
Core/Warden: Ignore the `length` value in the database for MEM_CHECK …
Treeston Aug 20, 2020
74a0d57
Core/Pets: Fixed automatic resurrecting pets on battleground graveyards
Shauren Aug 20, 2020
a692329
Core/PacketIO: Fixed incorrect displaying quest item rewards as choices
Shauren Aug 20, 2020
8ebcc0b
Tools/VMapExtractor: Clean-up some patches of horrendously creaky cod…
Treeston Aug 20, 2020
8ab9a29
Tools/VMapExtractor: Make Shauren happy, fmt::sprintf -> Trinity::Str…
Treeston Aug 20, 2020
db8bdaa
Core/Gossip: Add new helper method to ScriptedGossip for resolving me…
illunix Aug 20, 2020
0531463
Core/Warden: Add Lua checks to Warden (PR #25286)
Treeston Aug 20, 2020
f4dc3cb
CI/GitHub: Build on GCC (#25288)
jackpoz Aug 21, 2020
d717b9d
Core/Misc: Update worldserver.conf.dist to match actual defaults.
Treeston Aug 21, 2020
41d70a5
Build/GCC: Raise required version to 8.3.0 (#25297)
jackpoz Aug 21, 2020
dddb96d
DB/SAI: Remove SMARTCAST_INTERRUPT_PREVIOUS from more event types
offl Aug 21, 2020
7aadf7c
DB/Reputation: Adjust reputation amount given after killing members o…
offl Aug 21, 2020
ef564c0
DB/Quest: Add support for 'Bodyguard for Hire' & 'Gizelton Caravan'
offl Aug 21, 2020
07acb1d
DB/SAI: Make Bonestripper Buzzard & Vulture move to invoker rather th…
offl Aug 21, 2020
ce2c250
DB/Creature: Gravis Slipknot
offl Aug 21, 2020
6cf11a9
Core/Misc: Reserve master branch trinity_string ids
Shauren Aug 21, 2020
e931bc1
DB/SAI: Remove SMARTCAST_INTERRUPT_PREVIOUS from Invoker Cast, Cross …
offl Aug 22, 2020
d714adb
DB/SAI: Update some scripts using CMC cast flag
offl Aug 22, 2020
522a4cb
Scripts/Commands: Convert argument parsing of most list commands to n…
Carbenium Aug 22, 2020
617a769
Core/ChatCommands: Add std::wstring argument type (#25302)
Carbenium Aug 22, 2020
f17b9b2
Scripts/Commands: Convert argument parsing of message commands to new…
Carbenium Aug 22, 2020
ada0e32
TDB 335.20082 - 2020/08/22
Aug 22, 2020
040fda8
DB/Quest: Convert & update support for Borean Tundra escort quests to…
offl Aug 22, 2020
6611b71
DB/Quest: Convert & update support for 'Ebon Blade Prisoners' to SAI
offl Aug 22, 2020
3262ef4
Scripts/Commands: Fix two unreachable code issues found by PVS-studio…
Carbenium Aug 22, 2020
cefac75
Scripts/Commands: Convert argument parsing of cast commands to new sy…
Carbenium Aug 22, 2020
5bab0e4
Scripts/Commands: Convert argument parsing of some misc commands to n…
Carbenium Aug 22, 2020
03eb088
Core/SAI: Remove completed timed action lists even while evading
jackpoz Aug 22, 2020
2b98a3e
Core/Misc: Remove whitespace
jackpoz Aug 22, 2020
aaa089a
Core/Unit: Fixed race condition when loot recipient is in different m…
robinsch Aug 22, 2020
a41bbd9
Core/Misc: std::string -> std::string_view in a bunch of places, nota…
Treeston Aug 22, 2020
6d29562
DB/Misc: Add new view vw_disables_with_labels that shows labels inste…
jackpoz Aug 23, 2020
91744de
Common/Utilities: Move EnumUtils' implementation struct from Trinity:…
Treeston Aug 23, 2020
7cdc4b4
DB/Misc: Add new view vw_conditions_with_labels that shows labels ins…
jackpoz Aug 23, 2020
1aceb41
Core/Movement: Fix RandomMovementGenerator for swimming creatures
jackpoz Aug 23, 2020
6079bc7
Core/ChatCommands: Do not try to consume integral types if the token …
Carbenium Aug 23, 2020
ec783fc
Core/Warden: Fix warden timeout ticking twice as fast as it should
Shauren Aug 24, 2020
11c4a60
[3.3.5] Core/ChatCommands: C++17 cleanup (if constexpr + std::string_…
Treeston Aug 24, 2020
fd05a35
Revert "[3.3.5] Core/ChatCommands: C++17 cleanup (if constexpr + std:…
Treeston Aug 24, 2020
27b1930
Build: Add Clang version guard to CMake (PR #25324)
Treeston Aug 24, 2020
0116a31
DB/SAI: Remove no longer needed param from Private Hendel's script
offl Aug 24, 2020
64c1e95
DB/Quest: Fix typo in RewardText of quest 'The Remains of Trey Lightf…
offl Aug 24, 2020
8325dfa
DB/Locale/esES+esMX Texts missing in quests (Part 22)
Aug 24, 2020
1bf8b94
DB/Locale/esES+esMX Texts missing in quests (Part 23)
Aug 24, 2020
3f4bcfb
DB/Quest: Update outro event of quest 'Plagued Lands'
offl Aug 24, 2020
cbed103
Core/SAI: Implement SMART_TARGET_ACTION_INVOKER in SMART_EVENT_FRIEND…
jackpoz Aug 25, 2020
f3f68be
DB/Locale/esES+esMX Texts missing in quests (Part 24)
Aug 25, 2020
9c6cd77
DB/Locale/esES+esMX Texts missing in quests (Part 25)
Aug 25, 2020
eeb02ba
DB/Creature: Add formations to Cenarion Hold Infantry
offl Aug 25, 2020
f59d6c1
DB/SAI: Add SMART_TARGET_ACTION_INVOKER to SMART_EVENT_FRIENDLY_HEALT…
offl Aug 25, 2020
7cc0274
Core/Warden: Ensure Warden packets do not exceed 512 bytes. This shou…
Treeston Aug 26, 2020
cd30e0b
Common/Utilities: Centralize string -> T conversion in StringConvert.…
Treeston Aug 26, 2020
3564ad1
cd30e0b follow-up (I could've sworn I pushed that to the PR branch. S…
Treeston Aug 26, 2020
e8b6fe2
DB/Creature: Impove script of Faceless Lurker and add gold
offl Aug 27, 2020
4f4b1aa
DB/Creature: Add gold and mechanic immunities to Converted Hero
offl Aug 27, 2020
28f3924
DB/Locale/esES+esMX Texts missing in quests (Part 26)
Aug 27, 2020
fb227be
DB/Creature: Fix reference with Frostweave Cloth for Faceless Lurker
offl Aug 27, 2020
be73959
Core/PacketIO: Fixed SMSG_QUEST_GIVER_QUEST_DETAILS structure
Shauren Aug 27, 2020
7478c2c
Common/Utilities: Properly read std::from_chars documentation and che…
Treeston Aug 27, 2020
534a238
Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)
Treeston Aug 27, 2020
9d6b538
DB/Creature: Add CREATURE_FLAG_EXTRA_NO_COMBAT to Flame Breath Trigge…
offl Aug 28, 2020
dd3a18b
DB/Misc: Add missing comments to creature_summon_groups
offl Aug 28, 2020
85a1310
DB/Creature: Update scripts for Thistlefur creatures
offl Aug 28, 2020
bf8b349
Script/Azuremyst_isle: Remove useless log
Aokromes Aug 28, 2020
19f69fc
Build: Put tests-common and sfmt under correct folders when WITH_SOUR…
Shauren Aug 28, 2020
822a1a8
Build: Prevent Catch from messing with user cmake preferences
Shauren Aug 28, 2020
5055a1f
DB/Misc: Fix an DB error introduced in 534a2388b7c662c8796aabb1ec8cb4…
Jinnaix Aug 28, 2020
b63f5b0
DB/Spells: Fixed Demonic Pact icd
Keader Aug 28, 2020
5d2780c
Scripts/InstanceScript: Fix an issue where LoadAllGrids would load cr…
kvipka Aug 28, 2020
dc9e0c1
Scripts: Minor loop refactors (#25325)
illunix Aug 28, 2020
f54cec4
Common/Utilities: Make StringTo<bool>'s signature match that of the o…
Treeston Aug 28, 2020
b928955
Core/Misc: Use "proper" type for respawn info map key
Shauren Aug 28, 2020
bf7efe3
Core/PacketIO: Fixed structure of "fake" SMSG_SPELL_GO sent when load…
Shauren Aug 28, 2020
84bcf4d
DB/Quest: Add correct PrevQuestID & NextQuestID to Dungeon Set 2 quests
offl Aug 28, 2020
f8a5783
Build/Tests: Set all our compile flags on tests
Shauren Aug 29, 2020
cfc8f7b
Core/Misc: Fix issues reported by static analysis (#25351)
jackpoz Aug 29, 2020
18e8865
Scripts/Spells: Transfer Nurturing Instinct in spell_druid.cpp (#25307)
HoustonCore Aug 29, 2020
92f9aba
Core/AHBot: Warn about different AHBot behavior when AllowTwoSide.Int…
jackpoz Aug 29, 2020
7e6f17a
Core/Unit: send npcs home after fear runs out (#25347)
Jinnaix Aug 29, 2020
8a48ece
Core/Spell: Fix name clashing between local variables and class membe…
jackpoz Aug 29, 2020
4fcd6dd
Scripts/Spells: Fixed some code style issues
Keader Aug 29, 2020
812c2af
Core/Misc: Update Worldserver.conf for AhBot Pricing -make things mor…
Jinnaix Aug 29, 2020
b1f22b3
DB/Quest: Rework support for 'Blueleaf Tubers' (1221)
offl Aug 29, 2020
2c3d3c3
DB/Locale/esES+esMX achievement_reward_locale
Aug 29, 2020
8ce3635
UnitTests: Cleanup + StringConvert/ChatCommand tests (PR #25353)
Treeston Aug 29, 2020
c1e4cfd
Core/Config: Restore ability to load additional config files for cust…
Shauren Aug 29, 2020
c08180d
Core/AI: SortByDistance will now sort the referenced list instead of …
Ovahlord Aug 29, 2020
2f7d2ef
Core/ChatCommands: C++17 cleanup (again) (PR #25323)
Treeston Aug 30, 2020
944f49d
Scripts/Commands: Fix a crash in .help - closes #25360
Treeston Aug 30, 2020
fdcb1c8
Core/Chat: Correct Hyperlink validation for incomplete achievements.
Treeston Aug 30, 2020
86e6438
UnitTests: Add basic hyperlink unit test
Treeston Aug 30, 2020
277b401
Core/Mysql: support MariaDB 10.5 (#25359)
Winfidonarleyan Aug 30, 2020
1e8cb1e
Core/Chat: Fix achievement and enchant link validation
Shauren Aug 31, 2020
5394b2e
UnitTests: Add a first set of item hyperlink tests
Treeston Aug 31, 2020
16124f0
DB/Quest: Add support for 'We Call Him Steelfeather' & outro events
offl Aug 31, 2020
081f962
DB/Quest: Add support for 'Vent Horizon' (25212)
offl Aug 31, 2020
550be86
DB/Texts: Restore incorrectly removed page text (Venture Co. Documents)
illfated Aug 31, 2020
35774de
DB/Locale/esES+esMX Texts missing in quests (Part 27)
Aug 31, 2020
b2895f3
DB/Locale/esES+esMX Texts missing in quests (Part 28)
Aug 31, 2020
3fbbe7c
Core/Misc: DBC std::array refactors, and |Hachievement unit tests
Treeston Aug 31, 2020
d0b91f6
Core/Misc: More DBC std::array refactors, stricter |Hitem checks, and…
Treeston Sep 1, 2020
470f45d
UnitTests: |Hspell and |Htalent unit testing
Treeston Sep 2, 2020
8d0f522
Core/Totem: Immune to all positive spells. (#25326)
HoustonCore Sep 2, 2020
6e8284a
Core/Player: Fixed incorrect prepared statement parameter types in Pl…
robinsch Sep 2, 2020
eaf8fa7
Core/Misc: Add support for custom link colors. Clean-up hyperlink val…
Treeston Sep 2, 2020
f45aa5c
Common/Util: Trinity::StringTo<double> support (PR #25364)
Treeston Sep 2, 2020
35b3ba9
Scripts/Commands: Convert argument parsing of gameobject commands
Treeston Sep 3, 2020
88d446d
Scripts/Commands: Convert argument parsing of .npc commands
Treeston Sep 3, 2020
2b4800f
DB/SAI: Convert SMART_EVENT_FRIENDLY_HEALTH to SMART_EVENT_FRIENDLY_H…
offl Sep 4, 2020
7d8ce48
DB/Locales: Add missing esES & esMX quest locales (Part 29)
Sep 4, 2020
5bbbea9
DB/Locales: Add missing esES & esMX quest locales (Part 30)
Sep 4, 2020
7a4123d
DB/Locales: Add missing esES & esMX quest locales (Part 31)
Sep 4, 2020
cc6430b
DB/Locales: Add correct esES & esMX locales to achievement 2516
Sep 4, 2020
d66263b
DB/Quest: Add correct action type to give quest credit for 'Protect K…
genion18 Sep 4, 2020
aedb8b8
Scripts/Icecrown Citadel: update Blood Council scripts to new model (…
ForesterDev Sep 4, 2020
a3d0dfd
DB/SAI: Fix SMART_EVENT_FRIENDLY_IS_CC params
offl Sep 4, 2020
71f33d5
Scripts/ICC: update Valithria Dreamwalker scripts to new model (#25390)
ForesterDev Sep 4, 2020
458867a
Scripts/ICC: update Festergut scripts to new model (#25391)
ForesterDev Sep 4, 2020
af78f4f
Scripts/ICC: update Rotface scripts to new model (#25392)
ForesterDev Sep 4, 2020
aac3ae4
Scripts/ICC: update Lady Deathwhisper scripts to new model (#25393)
ForesterDev Sep 4, 2020
0b0d5e9
Scripts/ICC: update Professor Putricide scripts to new model (#25394)
ForesterDev Sep 4, 2020
deec517
Scripts/ICC: update Sindragosa scripts to new model (#25395)
ForesterDev Sep 4, 2020
d04bdd0
Scripts/ICC: update Lich King scripts to new model (#25396)
ForesterDev Sep 4, 2020
b63fa9c
Scripts/Icecrown Citadel: Fix scriptname conflict
Shauren Sep 4, 2020
600a6b5
Scripts/Icecrown Citadel: Finish script registration refactoring - Re…
Shauren Sep 4, 2020
a02d36f
Core/Misc: Allow all kinds of non-map containers in grid searchers
Shauren Sep 4, 2020
a58aeb4
Core/SAI: Reduce the chance of infinite loops/stack overflows (#25398)
jackpoz Sep 4, 2020
ca2159b
Scripts/Obsidian Sanctum: Fix portals not being visible
jackpoz Sep 4, 2020
28921f1
Core/SAI: Do not allow SMART_EVENT_RESET to call SMART_ACTION_CALL_SC…
jackpoz Sep 5, 2020
1e446b0
Core/Players: Directly store PlayerSpell in m_spells, not as pointer
Shauren Sep 5, 2020
cc64762
Core/Arena: Fix Arena.ArenaStartPersonalRating setting not having eff…
jackpoz Sep 5, 2020
ff26027
Core/Unit: Fix units on vehicles not dismounting on death (#25404)
jackpoz Sep 5, 2020
47c7910
Core/Combat: When entering a vehicle, transfer any current threat to …
Treeston Sep 5, 2020
3b1e911
Scripts/Commands: trinity_string updates
Treeston Sep 5, 2020
bcdbdd6
Core/Authserver: Removal of sha_pass_hash, compatibility fields, and …
Treeston Sep 6, 2020
b3694bf
Core/SAI: Fix SMART_EVENT_WAYPOINT_START not being called at every wa…
jackpoz Sep 6, 2020
c935619
Core/Scripts: Remove now-unused WaypointPathStarted hook. WaypointSta…
Treeston Sep 6, 2020
fc3feeb
Scripts/IcecrownCitadel: correct Rimefang's script name
Treeston Sep 6, 2020
8a53e7e
Core/Spells: Implemented PROC_ATTR_CANT_PROC_FROM_ITEM_CAST
Keader Sep 6, 2020
ff5c265
DB/Spells: Fixed Unchained Magic proc from item cast
Keader Sep 6, 2020
5498f3b
Core/PathFinding: Enable pathfinding (MMaps) by default
jackpoz Sep 6, 2020
5810699
DB/Items: corrected proc flag and cooldown for The Black Heart trinket
Ovahlord Sep 6, 2020
c68faf1
Core/Maps: Always update the grid of player summons even if far away …
jackpoz Sep 6, 2020
697fb48
Tests: Use .empty() to test for empty string instead of == ""
Carbenium Sep 6, 2020
ce3272f
Core/Game: Add TC_GAME_API to ItemTemplate, fixes dynamic linking bui…
Treeston Sep 6, 2020
67b112f
Revert "Tests: Use .empty() to test for empty string instead of == """
Treeston Sep 6, 2020
b63d655
[3.3.5] Scripts/Commands: .arena command conversion (PR #25407)
Treeston Sep 6, 2020
68a4085
Core/ChatCommands: Move ostream operator into Variant class so we don…
Carbenium Sep 6, 2020
00dd337
Scripts/Commands: .character command conversion
Treeston Sep 7, 2020
141d3d2
Core/MotionMaster: Do not generate path to MoveLand
Keader Sep 7, 2020
0c7f6ac
Scripts/AreaTrigger: Rename OnlyOnceAreaTriggerScript::_OnTrigger to …
Treeston Sep 7, 2020
9e8915e
remove trailing whitespace
Treeston Sep 7, 2020
dad1876
Core/Movement: Corrected Animation Tier handling (PR #24875)
Faq Sep 8, 2020
3084170
Core/Authserver: Get rid of a leftover declaration after 70d6aebafc
Treeston Sep 8, 2020
4ad3f56
DB: Rename SQL file added in dad187615df603ad8614531a0ec84c1a5e136838
Ovahlord Sep 8, 2020
bb3d3a8
Core/Movement: MoveSplineFlag::animId -> animTier, MoveSpline::GetAni…
Treeston Sep 8, 2020
f8db738
Scripts/Icecrown: Small event of the down Nerub'ar Broodkeep (#25410)
HoustonCore Sep 8, 2020
ca9c746
DB/Misc: Move & update some VoA scripts to SAI, add waypoints (#25419)
HoustonCore Sep 8, 2020
99f9c26
Core/AI: CombatAI refactor (PR #25416)
illunix Sep 8, 2020
fb9698c
DB/Spells: Remove unneeded spelldifficulty_dbc record
offl Sep 9, 2020
aaac8f1
DB/Creature: Add formations to Warden of Time
offl Sep 9, 2020
cf83cd8
DB/Locales: Add missing esES & esMX quest locales (Part 32)
Sep 9, 2020
63dece6
DB/Locales: Add missing esES & esMX quest locales (Part 33)
Sep 9, 2020
fc5a39e
DB/Quest: Fix typo in Reward text of quest 'Dangerous!' (567)
illfated Sep 9, 2020
ec4e7d6
DB/Quest: Disable Craftsman Wilhelm's quests
offl Sep 9, 2020
7e1ff21
DB/Locales: Add some missing deDE quest locales
SneakyV Sep 9, 2020
a0a2da0
DB/Areatrigger: Add correct teleport position to one areatrigger & up…
offl Sep 9, 2020
c0d62fe
Core/Addon: Correct Banned Addon length in SMSG_ADDON_INFO packet (#2…
HelloKitty Sep 9, 2020
aba0704
Build: Fixed finding OpenSSL 1.1.1 installed from .msi packages inste…
Shauren Sep 9, 2020
6b10f0c
DB/Creature: Add missing extra flag to Grauf in heroic mode
offl Sep 9, 2020
4f636b8
Chat/Commands: Eradicate ChatHandler::extractOptFirstArg
Treeston Sep 9, 2020
cd28423
[3.3.5] Core/Guilds: Guild cleanup (PR #25422)
Treeston Sep 9, 2020
6b8f3d0
Core/Misc: Convert leftover DatabaseTransactions-by-reference (pass t…
Treeston Sep 9, 2020
f3b7f9e
Core/Spells: Reserve custom attribute value for master branch
Shauren Sep 9, 2020
062c55f
Scripts/Commands: Convert remaining debug commands (PR #25429)
Carbenium Sep 9, 2020
08064f0
Core/Chat: Fix quest hyperlinks for quest level -1. Closes #25432.
Treeston Sep 10, 2020
0769d77
Scripts/Commands: Convert argument parsing of lfg commands to new sys…
Carbenium Sep 10, 2020
8985fc4
Core/ChatCommands: Drop PlayerIdentifier's cast operators which could…
Carbenium Sep 10, 2020
5189f13
Core/Chat: Permissible quest level for hyperlinks, [-1, 127] -> [-1, …
Treeston Sep 10, 2020
feaaa59
Core/ChatCommands: make ExactSequence more readable
Treeston Sep 10, 2020
65540c2
LFG:support solo mode
qyh214 Sep 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Core/PacketIO: Update SMSG_QUESTGIVER_QUEST_DETAILS (#25232)
* Core/PacketIO: Update SMSG_QUESTGIVER_QUEST_DETAILS

* Core/PacketIO: Name RewardFactionFlags field of QuestInfo struct
  • Loading branch information
Carbenium authored Aug 15, 2020
commit 87211d9f4d352bd677a5e3d3cf8f956a2ac9306d
111 changes: 22 additions & 89 deletions src/server/game/Entities/Creature/GossipDef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "ObjectMgr.h"
#include "Player.h"
#include "QuestDef.h"
#include "QuestPackets.h"
#include "World.h"
#include "WorldSession.h"

Expand Down Expand Up @@ -400,110 +401,42 @@ void PlayerMenu::SendQuestGiverStatus(uint8 questStatus, ObjectGuid npcGUID) con

void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGUID, bool activateAccept) const
{
std::string questTitle = quest->GetTitle();
std::string questDetails = quest->GetDetails();
std::string questObjectives = quest->GetObjectives();
std::string questAreaDescription = quest->GetAreaDescription();
WorldPackets::Quest::QuestGiverQuestDetails packet;

packet.Title = quest->GetTitle();
packet.Details = quest->GetDetails();
packet.Objectives = quest->GetObjectives();

LocaleConstant localeConstant = _session->GetSessionDbLocaleIndex();
if (localeConstant != LOCALE_enUS)
{
if (QuestLocale const* localeData = sObjectMgr->GetQuestLocale(quest->GetQuestId()))
{
ObjectMgr::GetLocaleString(localeData->Title, localeConstant, questTitle);
ObjectMgr::GetLocaleString(localeData->Details, localeConstant, questDetails);
ObjectMgr::GetLocaleString(localeData->Objectives, localeConstant, questObjectives);
ObjectMgr::GetLocaleString(localeData->AreaDescription, localeConstant, questAreaDescription);
ObjectMgr::GetLocaleString(localeData->Title, localeConstant, packet.Title);
ObjectMgr::GetLocaleString(localeData->Details, localeConstant, packet.Details);
ObjectMgr::GetLocaleString(localeData->Objectives, localeConstant, packet.Objectives);
}
}

if (sWorld->getBoolConfig(CONFIG_UI_QUESTLEVELS_IN_DIALOGS))
Quest::AddQuestLevelToTitle(questTitle, quest->GetQuestLevel());

WorldPacket data(SMSG_QUESTGIVER_QUEST_DETAILS, 100); // guess size
data << uint64(npcGUID);
data << uint64(_session->GetPlayer()->GetPlayerSharingQuest());
data << uint32(quest->GetQuestId());
data << questTitle;
data << questDetails;
data << questObjectives;
data << uint8(activateAccept ? 1 : 0); // CGQuestInfo::m_autoLaunched
data << uint32(quest->GetFlags() & (sWorld->getBoolConfig(CONFIG_QUEST_IGNORE_AUTO_ACCEPT) ? ~QUEST_FLAGS_AUTO_ACCEPT : ~0)); // 3.3.3 questFlags
data << uint32(quest->GetSuggestedPlayers());
data << uint8(0); // CGQuestInfo::m_startQuestCheat

if (quest->HasFlag(QUEST_FLAGS_HIDDEN_REWARDS))
{
data << uint32(0); // Rewarded chosen items hidden
data << uint32(0); // Rewarded items hidden
data << uint32(0); // Rewarded money hidden
data << uint32(0); // Rewarded XP hidden
}
else
{
data << uint32(quest->GetRewChoiceItemsCount());
for (uint32 i=0; i < QUEST_REWARD_CHOICES_COUNT; ++i)
{
if (!quest->RewardChoiceItemId[i])
continue;

data << uint32(quest->RewardChoiceItemId[i]);
data << uint32(quest->RewardChoiceItemCount[i]);

if (ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(quest->RewardChoiceItemId[i]))
data << uint32(itemTemplate->DisplayInfoID);
else
data << uint32(0x00);
}

data << uint32(quest->GetRewItemsCount());

for (uint32 i=0; i < QUEST_REWARDS_COUNT; ++i)
{
if (!quest->RewardItemId[i])
continue;

data << uint32(quest->RewardItemId[i]);
data << uint32(quest->RewardItemIdCount[i]);
Quest::AddQuestLevelToTitle(packet.Title, quest->GetQuestLevel());

if (ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(quest->RewardItemId[i]))
data << uint32(itemTemplate->DisplayInfoID);
else
data << uint32(0);
}

data << uint32(quest->GetRewOrReqMoney(_session->GetPlayer()));
data << uint32(quest->GetXPReward(_session->GetPlayer()) * sWorld->getRate(RATE_XP_QUEST));
}
packet.QuestGiverGUID = npcGUID;
packet.InformUnit = _session->GetPlayer()->GetPlayerSharingQuest();
packet.QuestID = quest->GetQuestId();
packet.AutoLaunched = activateAccept;
packet.Flags = quest->GetFlags() & (sWorld->getBoolConfig(CONFIG_QUEST_IGNORE_AUTO_ACCEPT) ? ~QUEST_FLAGS_AUTO_ACCEPT : ~0);
packet.SuggestedGroupNum = quest->GetSuggestedPlayers();

// rewarded honor points. Multiply with 10 to satisfy client
data << uint32(10 * quest->CalculateHonorGain(_session->GetPlayer()->GetQuestLevel(quest)));
data << float(0.0f); // unk, honor multiplier?
data << uint32(quest->GetRewSpell()); // reward spell, this spell will display (icon) (cast if RewSpellCast == 0)
data << int32(quest->GetRewSpellCast()); // cast spell
data << uint32(quest->GetCharTitleId()); // CharTitleId, new 2.4.0, player gets this title (id from CharTitles)
data << uint32(quest->GetBonusTalents()); // bonus talents
data << uint32(quest->GetRewArenaPoints()); // reward arena points
data << uint32(0); // unk
quest->BuildQuestRewards(packet.Rewards, _session->GetPlayer());

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
data << uint32(quest->RewardFactionId[i]);

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
data << int32(quest->RewardFactionValueId[i]);

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
data << int32(quest->RewardFactionValueIdOverride[i]);

data << uint32(QUEST_EMOTE_COUNT);
packet.DescEmotes.reserve(QUEST_EMOTE_COUNT);
for (uint32 i = 0; i < QUEST_EMOTE_COUNT; ++i)
{
data << uint32(quest->DetailsEmote[i]);
data << uint32(quest->DetailsEmoteDelay[i]); // DetailsEmoteDelay (in ms)
}
_session->SendPacket(&data);
packet.DescEmotes.emplace_back(quest->DetailsEmote[i], quest->DetailsEmoteDelay[i]);

_session->SendPacket(packet.Write());

TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUESTGIVER_QUEST_DETAILS NPC=%s, questid=%u", npcGUID.ToString().c_str(), quest->GetQuestId());
TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUEST_GIVER_QUEST_DETAILS NPC=%s, questid=%u", npcGUID.ToString().c_str(), quest->GetQuestId());
}

void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
Expand Down
49 changes: 49 additions & 0 deletions src/server/game/Quests/QuestDef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,55 @@ uint32 Quest::GetXPReward(Player const* player) const
return true;
}

void Quest::BuildQuestRewards(WorldPackets::Quest::QuestRewards& rewards, Player* player) const
{
if (!HasFlag(QUEST_FLAGS_HIDDEN_REWARDS))
{
for (uint32 i = 0; i < QUEST_REWARD_CHOICES_COUNT; ++i)
{
if (!RewardChoiceItemId[i])
continue;

uint32 displayID = 0;
if (ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(RewardChoiceItemId[i]))
displayID = itemTemplate->DisplayInfoID;

rewards.UnfilteredChoiceItems.emplace_back(RewardChoiceItemId[i], RewardChoiceItemCount[i], displayID);
}

for (uint32 i = 0; i < QUEST_REWARDS_COUNT; ++i)
{
if (!RewardItemId[i])
continue;

uint32 displayID = 0;
if (ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(RewardItemId[i]))
displayID = itemTemplate->DisplayInfoID;

rewards.UnfilteredChoiceItems.emplace_back(RewardItemId[i], RewardItemIdCount[i], displayID);
}

rewards.RewardMoney = GetRewOrReqMoney(player);
rewards.RewardXPDifficulty = GetXPReward(player) * sWorld->getRate(RATE_XP_QUEST);
}

rewards.RewardHonor = 10 * CalculateHonorGain(player->GetQuestLevel(this)); // rewarded honor points. Multiply with 10 to satisfy client
rewards.RewardDisplaySpell = GetRewSpell(); // reward spell, this spell will display (icon) (cast if RewSpellCast == 0)
rewards.RewardSpell = GetRewSpellCast();
rewards.RewardTitleId = GetCharTitleId();
rewards.RewardTalents = GetBonusTalents();
rewards.RewardArenaPoints = GetRewArenaPoints();

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
rewards.RewardFactionID[i] = RewardFactionId[i];

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
rewards.RewardFactionValue[i] = RewardFactionValueId[i];

for (uint32 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i)
rewards.RewardFactionValueOverride[i] = RewardFactionValueIdOverride[i];
}

int32 Quest::GetRewOrReqMoney(Player const* player) const
{
// RequiredMoney: the amount is the negative copper sum.
Expand Down
9 changes: 8 additions & 1 deletion src/server/game/Quests/QuestDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@

class Player;

namespace WorldPackets::Quest
{
struct QuestRewards;
}

#define MAX_QUEST_LOG_SIZE 25

#define QUEST_OBJECTIVES_COUNT 4
Expand Down Expand Up @@ -131,7 +136,7 @@ enum QuestFlags
QUEST_FLAGS_RAID = 0x00000040, // Can be completed while in raid
QUEST_FLAGS_TBC = 0x00000080, // Not used currently: Available if TBC expansion enabled only
QUEST_FLAGS_NO_MONEY_FROM_XP = 0x00000100, // Not used currently: Experience is not converted to gold at max level
QUEST_FLAGS_HIDDEN_REWARDS = 0x00000200, // Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUESTGIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
QUEST_FLAGS_HIDDEN_REWARDS = 0x00000200, // Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUEST_GIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
QUEST_FLAGS_TRACKING = 0x00000400, // These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
QUEST_FLAGS_DEPRECATE_REPUTATION = 0x00000800, // Not used currently
QUEST_FLAGS_DAILY = 0x00001000, // Used to know quest is Daily one
Expand Down Expand Up @@ -323,6 +328,8 @@ class TC_GAME_API Quest
void InitializeQueryData();
WorldPacket BuildQueryData(LocaleConstant loc) const;

void BuildQuestRewards(WorldPackets::Quest::QuestRewards& rewards, Player* player) const;

std::vector<uint32> DependentPreviousQuests;
std::vector<uint32> DependentBreadcrumbQuests;
WorldPacket QueryData[TOTAL_LOCALES];
Expand Down
60 changes: 59 additions & 1 deletion src/server/game/Server/Packets/QuestPackets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ WorldPacket const* WorldPackets::Quest::QueryQuestInfoResponse::Write()
_worldPacket << uint32(Info.RequiredPlayerKills);
_worldPacket << uint32(Info.RewardTalents);
_worldPacket << uint32(Info.RewardArenaPoints);
_worldPacket << uint32(0); // review rep show mask
_worldPacket << uint32(Info.RewardFactionFlags);

if ((Info.Flags & QUEST_FLAGS_HIDDEN_REWARDS) != 0)
{
Expand Down Expand Up @@ -126,3 +126,61 @@ WorldPacket const* WorldPackets::Quest::QueryQuestInfoResponse::Write()

return &_worldPacket;
}

WorldPacket const* WorldPackets::Quest::QuestGiverQuestDetails::Write()
{
_worldPacket << QuestGiverGUID;
_worldPacket << InformUnit;
_worldPacket << uint32(QuestID);
_worldPacket << Title;
_worldPacket << Details;
_worldPacket << Objectives;
_worldPacket << uint8(AutoLaunched);
_worldPacket << uint32(Flags);
_worldPacket << uint32(SuggestedGroupNum);
_worldPacket << uint8(StartCheat);

_worldPacket << uint32(Rewards.UnfilteredChoiceItems.size());
for (WorldPackets::Quest::QuestChoiceItem const& item : Rewards.UnfilteredChoiceItems)
{
_worldPacket << uint32(item.ItemID);
_worldPacket << uint32(item.Quantity);
_worldPacket << uint32(item.DisplayID);
}

_worldPacket << uint32(Rewards.RewardItems.size());
for (WorldPackets::Quest::QuestChoiceItem const& item : Rewards.RewardItems)
{
_worldPacket << uint32(item.ItemID);
_worldPacket << uint32(item.Quantity);
_worldPacket << uint32(item.DisplayID);
}

_worldPacket << uint32(Rewards.RewardMoney);
_worldPacket << uint32(Rewards.RewardXPDifficulty);
_worldPacket << uint32(Rewards.RewardHonor);
_worldPacket << float(Rewards.RewardKillHonor);
_worldPacket << uint32(Rewards.RewardDisplaySpell);
_worldPacket << int32(Rewards.RewardSpell);
_worldPacket << uint32(Rewards.RewardTitleId);
_worldPacket << uint32(Rewards.RewardTalents);
_worldPacket << uint32(Rewards.RewardArenaPoints);
_worldPacket << uint32(Rewards.RewardFactionFlags);

for (uint32 factionId : Rewards.RewardFactionID)
_worldPacket << uint32(factionId);

for (uint32 value : Rewards.RewardFactionValue)
_worldPacket << int32(value);

for (uint32 valueOverride : Rewards.RewardFactionValueOverride)
_worldPacket << int32(valueOverride);

for (QuestDescEmote const& emote : DescEmotes)
{
_worldPacket << uint32(emote.Type);
_worldPacket << uint32(emote.Delay);
}

return &_worldPacket;
}
58 changes: 58 additions & 0 deletions src/server/game/Server/Packets/QuestPackets.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#ifndef QuestPackets_h__
#define QuestPackets_h__

#include "ObjectGuid.h"
#include "Packet.h"
#include "QuestDef.h"

Expand Down Expand Up @@ -69,6 +70,7 @@ namespace WorldPackets
uint32 RequiredPlayerKills = 0;
uint32 RewardTalents = 0;
int32 RewardArenaPoints = 0;
uint32 RewardFactionFlags = 0;

uint32 RewardItems[QUEST_REWARDS_COUNT] = { };
uint32 RewardAmount[QUEST_REWARDS_COUNT] = { };
Expand Down Expand Up @@ -108,6 +110,62 @@ namespace WorldPackets

QuestInfo Info;
};

struct QuestChoiceItem
{
QuestChoiceItem(uint32 itemID, uint32 quantity, uint32 displayID) : ItemID(itemID), Quantity(quantity),
DisplayID(displayID) { }
uint32 ItemID = 0;
uint32 Quantity = 0;
uint32 DisplayID = 0;
};

struct QuestRewards
{
std::vector<QuestChoiceItem> UnfilteredChoiceItems;
std::vector<QuestChoiceItem> RewardItems;
uint32 RewardMoney = 0;
uint32 RewardXPDifficulty = 0;
uint32 RewardHonor = 0;
float RewardKillHonor = 0.f;
uint32 RewardDisplaySpell = 0;
int32 RewardSpell = 0;
uint32 RewardTitleId = 0;
uint32 RewardTalents = 0;
uint32 RewardArenaPoints = 0;
uint32 RewardFactionFlags = 0;
std::array<uint32, QUEST_REPUTATIONS_COUNT> RewardFactionID = { };
std::array<int32, QUEST_REPUTATIONS_COUNT> RewardFactionValue = { };
std::array<int32, QUEST_REPUTATIONS_COUNT> RewardFactionValueOverride = { };
};

struct QuestDescEmote
{
QuestDescEmote(int32 type, uint32 delay) : Type(type), Delay(delay) { }
uint32 Type;
uint32 Delay;
};

class QuestGiverQuestDetails final : public ServerPacket
{
public:
QuestGiverQuestDetails() : ServerPacket(SMSG_QUEST_GIVER_QUEST_DETAILS, 1000) { }

WorldPacket const* Write() override;

ObjectGuid QuestGiverGUID;
ObjectGuid InformUnit;
uint32 QuestID = 0;
std::string Title;
std::string Details;
std::string Objectives;
bool AutoLaunched = false;
uint32 Flags = 0;
uint32 SuggestedGroupNum = 0;
bool StartCheat = false;
QuestRewards Rewards;
std::vector<QuestDescEmote> DescEmotes;
};
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/server/game/Server/Protocol/Opcodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ void OpcodeTable::Initialize()
/*0x185*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_LIST, STATUS_NEVER);
/*0x186*/ DEFINE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestgiverQueryQuestOpcode);
/*0x187*/ DEFINE_HANDLER(CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestgiverQuestAutoLaunch );
/*0x188*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER);
/*0x188*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_GIVER_QUEST_DETAILS, STATUS_NEVER);
/*0x189*/ DEFINE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestgiverAcceptQuestOpcode);
/*0x18A*/ DEFINE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestgiverCompleteQuest );
/*0x18B*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER);
Expand Down
2 changes: 1 addition & 1 deletion src/server/game/Server/Protocol/Opcodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ enum Opcodes : uint16
SMSG_QUESTGIVER_QUEST_LIST = 0x185,
CMSG_QUESTGIVER_QUERY_QUEST = 0x186,
CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0x187,
SMSG_QUESTGIVER_QUEST_DETAILS = 0x188,
SMSG_QUEST_GIVER_QUEST_DETAILS = 0x188,
CMSG_QUESTGIVER_ACCEPT_QUEST = 0x189,
CMSG_QUESTGIVER_COMPLETE_QUEST = 0x18A,
SMSG_QUESTGIVER_REQUEST_ITEMS = 0x18B,
Expand Down