147 Commits

Author SHA1 Message Date
Shauren
0e61ea0b1a Core/Loot: Add aoe loot target cap same as on official servers (50 corpses) 2025-07-12 00:00:08 +02:00
Shauren
cbb532e4be Core/Groups: Use iterators instead of raw LinkedListElement to interact with group members 2025-07-11 17:40:34 +02:00
Shauren
d778d5ec7c Core/Misc: Include cleanup - remove MapUtils.h from Containers.h 2024-12-31 18:12:36 +01:00
Shauren
3e28ee080a Core/Loot: Implemented currency loot 2024-08-26 15:02:22 +02:00
Ovahlord
ccc083593a Core/Loot: implemented a custom server config setting to enable or disable AE loot (#29602)
This config primarily serves as a means to reduce potential code differences between the master and classic branches as now we no longer have to meddle with code
2024-01-23 00:55:57 +01:00
Shauren
dbe54dc877 nopch fix 2023-12-30 16:45:58 +01:00
Shauren
4dce6ab228 Core/Quests: Implemented QUEST_OBJECTIVE_FLAG_2_QUEST_BOUND_ITEM that makes required items not be stored in inventory 2023-12-30 15:45:37 +01:00
Shauren
a3ef01f87b Core/GameObjects: Only start loot restock timer if loot contents were modified and ignore it for personal loot
Closes #29023
2023-07-03 00:17:17 +02:00
Shauren
0fb8765a66 Core/Items: Item bonus generation improvements
* 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-17 16:29:59 +02:00
Shauren
81cf682cfe Core/Loot: Fixed iterator invalidation crash in WorldSession::HandleLootMoneyOpcode
Closes #28885
2023-03-30 22:47:19 +02:00
Meji
56d0f7a970 Core/GameObjects: Fixed the behavior for GAMEOBJECT_TYPE_FISHINGNODE (#28781) 2023-02-05 15:16:19 +01: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
d8a4668c77 Core/Misc: Add missing Containers.h include where neccessary 2023-01-06 16:44:11 +01:00
Shauren
1011cb73c9 Core/GameObjects: Implemented gathering nodes (gameobject type 50) 2022-10-22 02:07:59 +02:00
Shauren
879c0cccfc Core/GameObjects: Implemented per player gameobject state and visibility for looted non-consumable chests 2022-10-21 22:11:00 +02:00
Shauren
133334a902 Core/Loot: Implemented personal loot and tag sharing for non-boss loot 2022-10-17 23:11:46 +02:00
Shauren
641390dca2 Core/Loot: Initial support for personal loot in gameobjects (non-instanced content) 2022-10-16 15:33:39 +02:00
Shauren
9ce47e6809 Core/Loot: Prevent looting bosses by players that have already completed that encounter 2022-10-06 18:33:44 +02:00
Shauren
5a516fb654 Core/Loot: Send DungeonEncounter id in SMSG_ITEM_PUSH_RESULT 2022-10-04 00:19:38 +02:00
Shauren
cbf2064c62 Core/Loot: Refactored Player::SendLoot to accept Loot object directly 2022-09-18 18:24:57 +02:00
Shauren
8c20f620d7 Core/Loot: Move loot generation out of Player::SendLoot 2022-09-18 16:33:38 +02:00
Shauren
c00e2e4851 Core/Loot: Simplify loot containers
* Unify items and quest_items
* Drop PlayerQuestItems and PlayerNonQuestNonFFAConditionalItems
2022-09-17 20:58:24 +02:00
Shauren
3ef5079fee Core/Loot: Move loot rolls from Group to Loot
* Partial port of cmangos/mangos-wotlk@ffdf9a05d6
2022-09-16 16:58:03 +02:00
Shauren
9700b2a786 Core/Loot: Store method used at loot generation inside Loot object 2022-09-14 22:03:47 +02:00
Shauren
f19f32f2a4 Core/Loot: Store references to Loot objects directly in players loot view map instead of guids of world objects holding that loot 2022-09-14 20:49:38 +02:00
Shauren
30ad7e3337 Core/Loot: Corrected loot release logic on leaving world and swapping bags 2022-09-13 14:10:47 +02:00
Shauren
e9d083a2ee Core/Loot: Set loot guid and type in Loot constructor 2022-09-11 18:21:01 +02:00
Shauren
74dbed1d0e Core/Loot: Updated LootType enum for 9.2.7 2022-09-01 21:31:56 +02:00
Shauren
7957e2d380 Core/Loot: Allocate Loot separately from objects 2022-09-01 20:07:58 +02:00
Shauren
ba251da7c3 Core/Loot: Removed unneccessary field from Loot class and pass it as parameter everywhere 2022-08-25 14:46:34 +02:00
acidmanifesto
29cf2a61af Core/Spells: Interrupt spells and auras before sending loot to client (#27279)
(cherry picked from commit a24ea431dc)
2022-03-22 00:19:47 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
02979daf76 Core/Auras: Proc flag updates
* Rename to official names
* Corrected logic selecting flags for each spell cast - determine them by attributes instead of DmgClass
* Implemented new proc flags (PROC_FLAG_CAST_ENDED, PROC_FLAG_LOOTED)
2022-02-10 21:11:07 +01:00
ForesterDev
9124fd1f1f Core/Items: implement some helper methods for easier readability (#24113)
(cherry picked from commit 573ddf4d22)
2021-12-21 00:46:13 +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
Wyrserth
7b346bcf8d Core/Loot: fix some issues with master loot and don't allow players to see soulbound recipes that they already learned in the loot window. (#23410)
(cherry picked from commit e6ad9b10cf)
2021-12-11 13:06:25 +01:00
Jozef Dúc
a13a765610 Core/Object: Range check vol. 2 (#23226)
* Core/Object: Fix all missing parts for #23062

* Update GameObject.cpp

(cherry picked from commit 78070163dc)
2021-12-03 00:21:19 +01:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Meji
bca465a569 Core/Achievements: Several criteria fixes (#26839) 2021-08-20 09:41:13 +02:00
Shauren
0461826689 Core/Loot: Properly clear tracked looted objects with item loot
Closes #22538
2021-03-28 14:18:34 +02:00
Shauren
9b5a46ca2b Core/Auras: Defined and implemented many new interrupt flags 2021-03-21 12:05:32 +01:00
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
661470c658 Core/PacketIO: Convert all leftover packets to use packet classes 2020-07-02 00:07:38 +02:00
xinef1
090fd8304a Core/Loot: implement Loot Item Storage (#19018)
* Created Item Loot Storage, no more synchronous DB selects
* Fixed buyback case, where stored loot was not removed from db
* Added Primary key, and changed field types to be unsigned for table item_loot_money

(cherry picked from commit 9dc3de10f0)
2020-04-27 12:25:52 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
xinef1
4f65dc5e20 Core/Misc: Various crash fixes (#19059)
* Replaced some FindPlayer calls with GetPlayer
Fixed some more crashes

* Correction

(cherrypicked from 14dfc377b4)
2019-07-21 21:06:54 +02:00
Shauren
82c7b6c568 Core/Items: Drop item random property and suffix - all random stats must be given using bonus lists 2019-06-08 17:09:20 +02:00
Shauren
455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
Shauren
31fda79556 Core/PacketIO: Updated packet structures to 8.1.5 2019-06-08 17:03:15 +02:00
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00