Commit Graph

259 Commits

Author SHA1 Message Date
Shauren
41a20b1e40 Core/Achievements: Fixed achievement criteria StartEvent and FailEvent
* 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-09-25 00:53:56 +02:00
Shauren
0b1281e73f Core/Misc: Updated more enums for 10.1.5 2023-07-21 00:11:43 +02:00
Shauren
0cea730fa2 Core: Update to 10.1.5 2023-07-12 16:29:00 +02:00
Ovahlord
ff9a23afab Core/Quests: allow QUEST_SPECIAL_FLAGS_AUTO_PUSH_TO_PARTY to be set in quest_template_addon 2023-07-11 18:54:05 +02:00
Shauren
0cb8965de2 Core/Quests: New FlagsEx implementations
* 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-11 19:29:42 +02:00
Shauren
4d4c7e6893 Core/Quests: Quest flag fixups
* 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-06-10 20:31:33 +02:00
Shauren
a2be8d2028 Core/Quests: Implemented new db table quest_objectives_completion_effect
* Turn off automatic phase updates on quest objective completion
* Allow more convenient conversation and spell casts on quest objective completion
2023-06-02 00:50:30 +02:00
Shauren
e540d74610 Core/PacketIO: Fixed quest query packet structure 2023-05-05 14:34:27 +02:00
Shauren
16bc74667e Core: Update to 10.1 2023-05-04 17:00:52 +02:00
Shauren
8f7a1d3c2c Core/Misc: Delay creating std::string objects for locale data after size validation 2023-04-30 14:04:28 +02:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
ade34a7f48 Core/Spells: Implemented SPELL_EFFECT_GIVE_EXPERIENCE and SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS 2022-12-29 16:57:35 +01:00
Shauren
e98e1283ea Core: Updated to 10.0.2 2022-12-04 15:13:20 +01:00
Shauren
1011cb73c9 Core/GameObjects: Implemented gathering nodes (gameobject type 50) 2022-10-22 02:07:59 +02:00
ModoX
27931b45c6 Core/Quest: Corrected type of emote field in QuestOfferReward to be signed 2022-07-19 06:27:02 +02:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Peter Keresztes Schmidt
26f3c25dae Scripts/Commands: Convert remaining debug commands (PR #25429)
(cherry picked from commit 062c55f1ab)
2022-02-05 20:50:33 +01:00
Treeston
54fc62db52 Core/Misc: Convert leftover DatabaseTransactions-by-reference (pass them by value!)
(cherry picked from commit 6b8f3d0f94)
2022-02-05 19:56:31 +01:00
Shauren
b87f56d070 Core/Quests: Sync comments/log with 3.3.5 2022-01-26 20:46:42 +01:00
Peter Keresztes Schmidt
1e1679a1f7 Core/DataStores: Port refactors from Update DBC field names to generated ones (#24999)
(cherry picked from commit c92950b3e1)
2022-01-23 00:06:16 +01:00
funjoker
4c5f57d712 Core/Quests: Remove RewardMoney from quest_template as it is not a static value and depends on receiving player (#27590) 2022-01-18 21:22:41 +01:00
Treeston
51fbda4223 Core/Pooling: Quest pooling rewrite: (PR#23627)
- 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 a5e73e41c0)
2021-12-18 15:28:45 +01:00
Aokromes
3ad5bc1e15 Core/Misc: More coding standards (#23519)
* Core/Misc: More coding standards

* revert part

* "void  " or more to "void "

* fix? reject

* remove more double whitespaces

* remove more double whitespaces

* more standards

* more coding standards

* More standards

* more coding

* more coding standards

* more coding standards

* And more standards

(cherry picked from commit 574a7c8d3d)
2021-12-14 23:04:29 +01:00
ccrs
4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7)
2021-12-13 00:42:20 +01:00
PolarCookie
0bde06c402 Core support for breadcrumb quests (#23157)
* Breadcrumb quests support in core

* To Winterspring! & Starfall

* translating ZenoX92's list, part 1

* Carendin Summons is Blood Elf only

* Breadcrumb to an exclusive group

* translating ZenoX92's list, part 2

* class quests

* breadcrumb trails

* better prevquest check

* less harsh error warnings

* minor optimization

* Rename 9999_99_99_99_world.sql to 2019_04_10_00_world.sql

(cherry picked from commit 5ed77113b6)
2021-11-27 00:21:08 +01:00
Shauren
c6a9727841 Core/Quests: Corrected wrong quest startup errors 2021-11-11 14:46:34 +01:00
Shauren
122fe7549d Core/PacketIO: Updated SMSG_QUEST_PUSH_RESPONSE to 9.1.5 2021-11-02 22:51:05 +01:00
jackpoz
b6f28a7ebc Core/Packets: Reduce memory footprint of cached queries (#22297)
Ensure only the minimum required memory is used by caching query packets by calling shrink_to_fit()

(cherry picked from commit deabd4ab45)
2021-10-22 23:15:27 +02:00
Shauren
5274f7af17 Core/PacketIO: Added missing move assignment operator to ByteBuffer
(cherry picked from commit fcb1e3e642)
2021-09-26 01:27:59 +02:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Shauren
cd5357dc18 Core/PacketIO: 9.1.0 opcodes and packet structures 2021-08-08 00:18:05 +02:00
Shauren
4b6ddfbbcc Core/Criteria: Add all values of CriteriaFailEvent 2021-06-01 21:04:22 +02:00
Shauren
b9d63c2009 Core/Scripts: Remove deprecated overload of QuestReward without LootItemType argument 2021-05-16 21:56:06 +02:00
Shauren
3ad389efee Core/Quests: Un-deprecate QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT 2021-05-11 00:38:08 +02:00
Shauren
2d7411c9fa Core/Quests: Fix loading quest_template.AreaDescription 2021-05-11 00:37:42 +02:00
Shauren
6352a84bf7 Core/Quests: Unify quest objective updating into one function and replace iterating entire quest log to find objective with direct {type, id} lookup 2021-05-10 22:45:54 +02:00
Shauren
91b91b502f Core/Quests: Quest improvements
* Add quest log slot argument to functions dealing with objective progress
* Implemented QUEST_OBJECTIVE_FLAG_SEQUENCED (prevent progressing hidden objectives)
2021-05-09 20:21:32 +02:00
Shauren
dd8aed421a Core/Quests: Drop unneeded QuestSpecialFlags 2021-05-09 16:01:34 +02:00
Treeston
0aed5a35ef 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 eacfa9d89a)
2021-04-27 23:49:36 +02:00
jackpoz
e17e4e6f07 Core/Misc: Replace time(NULL) with GameTime::GetGameTime()
(cherry picked from commit 12701cb0c6)

 Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/AuctionHouse/AuctionHouseMgr.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
	src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
	src/server/game/Battlefield/Battlefield.cpp
	src/server/game/Battlefield/Zones/BattlefieldWG.cpp
	src/server/game/Battlegrounds/BattlegroundMgr.cpp
	src/server/game/Calendar/CalendarMgr.h
	src/server/game/DungeonFinding/LFGQueue.cpp
	src/server/game/Entities/Corpse/Corpse.cpp
	src/server/game/Entities/Creature/Creature.cpp
	src/server/game/Entities/Item/Item.cpp
	src/server/game/Entities/Pet/Pet.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Globals/ObjectMgr.cpp
	src/server/game/Grids/ObjectGridLoader.cpp
	src/server/game/Guilds/Guild.cpp
	src/server/game/Handlers/AuctionHouseHandler.cpp
	src/server/game/Handlers/BattlefieldHandler.cpp
	src/server/game/Handlers/CalendarHandler.cpp
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/ChatHandler.cpp
	src/server/game/Handlers/LFGHandler.cpp
	src/server/game/Handlers/MailHandler.cpp
	src/server/game/Handlers/MiscHandler.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Handlers/PetHandler.cpp
	src/server/game/Handlers/QueryHandler.cpp
	src/server/game/Handlers/TicketHandler.cpp
	src/server/game/Instances/InstanceSaveMgr.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuras.cpp
	src/server/game/Tickets/TicketMgr.cpp
	src/server/game/Tickets/TicketMgr.h
	src/server/game/World/World.cpp
	src/server/scripts/Commands/cs_gobject.cpp
	src/server/scripts/Commands/cs_instance.cpp
	src/server/scripts/Commands/cs_list.cpp
	src/server/scripts/Northrend/zone_wintergrasp.cpp
	src/server/scripts/Spells/spell_item.cpp
2021-04-15 05:53:27 +02:00
Shauren
f759809d9d Core/PacketIO: Use new time utilities in packets instead of plain time_t/uint32 2021-04-06 19:10:28 +02:00
Shauren
33bce9e28b Core/Criteria: Use std::chrono type for CriteriaHandler::SendCriteriaUpdate 2021-04-06 00:12:01 +02:00
Shauren
d29dd1eeb5 Core/Misc: Change all unix time columns in character database to bigint (signed) 2021-04-05 23:47:05 +02:00
Shauren
5a7560e57c Fix nopch build & warning 2021-02-06 21:57:04 +01:00
Shauren
b37163b5e2 Core/Quests: Correct criteria tree quest objective update conditions
* Apply same raid group restriction as normal objectives
* Check that player is on quest before updating criteria
* Remove non-GM requirement
2021-02-06 20:03:37 +01:00
Nathan Handley
502f77fe8c Core/Misc: Add functionality to allow low level quests/kills/discoveries to grant experience
(cherry picked from commit 6612ec47f4)
2021-01-29 19:23:53 +01:00
Matan Shukry
db6eb69465 Core/Quests: Automatically add quests with AUTO_PUSH flag to player (#25938)
* Removed check for world quests on criteria tree reset
* Quests are currently filtered by their tag to only allow untagged or tag == 0 quests (other types are unsupported)
2021-01-29 10:50:02 +01:00
Shauren
bff8f2ff4e Core/Players: Introduce configurable allied race starting level and fix default level selection for pandaren death knights 2020-12-23 00:04:43 +01:00
funjoker
51ebc07944 Core/Quest: Change RewardFactionCapIn type to signed int32 2020-12-16 20:46:07 +01:00
Shauren
5f3a2d2abf Core/Quests: Fixed questgiver icons
Closes #25702
2020-12-11 22:19:19 +01:00