58 Commits

Author SHA1 Message Date
Shauren
cbb532e4be Core/Groups: Use iterators instead of raw LinkedListElement to interact with group members 2025-07-11 17:40:34 +02:00
Shauren
00223f3bee Core/Misc: Add a bunch of examples for 67418a1aee 2025-02-23 12:10:33 +01:00
Shauren
d778d5ec7c Core/Misc: Include cleanup - remove MapUtils.h from Containers.h 2024-12-31 18:12:36 +01:00
Shauren
d913e38cba Core/Loot: Implemented automatic flagging of tracking quests from loot 2024-12-29 01:02:52 +01:00
Shauren
28d3c1bc23 Core/PacketIO: Refactor LootPackets to use new Bits<> writing utilities 2024-12-27 15:55:01 +01:00
Shauren
3238175a62 Core/Items: Implemented ITEM_BONUS_DISENCHANT_LOOT_ID 2024-09-24 14:40:23 +02:00
Shauren
3e28ee080a Core/Loot: Implemented currency loot 2024-08-26 15:02:22 +02:00
Shauren
edb20999a3 Core/Utils: Unwrap non-copyable pointers (unique_ptr) from Trinity::Containers::MapGetValuePtr 2024-08-17 12:40:27 +02:00
Shauren
0b5406dd88 Core/Conditions: Refactor ConditionMgr internals to get rid of separate containers for some condition source types 2024-01-11 20:56:24 +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
16bc74667e Core: Update to 10.1 2023-05-04 17:00:52 +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
2eea58f26e Core/Loot: Added loot slot check to Loot::LootItemInSlot (client sent-value)
Ref #28646
2023-01-02 19:48:54 +01:00
Shauren
010e6f7f49 Core/Loot: Implemented dungeon encounter personal loot
Closes #20066
2022-10-25 00:30:52 +02:00
Shauren
2c79ce6791 Core/Conditions: Add const to condition checking functions 2022-10-24 00:15:43 +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
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
e9d083a2ee Core/Loot: Set loot guid and type in Loot constructor 2022-09-11 18:21:01 +02:00
Shauren
7957e2d380 Core/Loot: Allocate Loot separately from objects 2022-09-01 20:07:58 +02:00
Shauren
605b75f6c0 Core/Loot: Removed old auto looting code for currency token items 2022-08-25 14:45:44 +02:00
Shauren
372c84e998 Core/Items: Implemented item effect trigger type 7 (On Looted) 2022-04-22 20:57:05 +02:00
jackpoz
b420ef8ea9 Core/Misc: Fix static analysis issues
(cherry picked from commit f127f95917)
2022-03-11 19:33:13 +01:00
robinsch
0910bca34c [Exploit/Dupe] Container item (#26689)
* Core/Item: Fixed possible dupe with container items containing non unique non stackable items

* Fixed build

* Update sql script and related base structure

Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit d1e913162e)
2022-03-11 19:03:12 +01:00
Giacomo Pozzoni
9d4c57074f Core/Loot: Allow master looter to see all quest items (#26584)
(cherry picked from commit 8d92f6f2b4)
2022-03-11 01:49:51 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +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
Wyrserth
ef4d4e3d98 Core/Loot: make Loot::AddItem() honor LootItem::AllowedForPlayer() so that items that cannot be looted don't prevent skinning. (#23408)
(cherry picked from commit a1b2aa97fc)
2021-12-11 14:12:53 +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
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
e5a6552abc Core/Items: Fixed generating default bonuses based on context 2020-06-07 12:38: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
Shauren
0a2d9ad2f7 Core/Items: Add ItemContext param to Item::Create function 2019-11-23 00:03:42 +01:00
Shauren
3ac790287a Core/DataStores: Updated db2 structures to 8.2.5 2019-10-27 00:12:45 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
xinef1
89f728cd5b Core/Misc: Fixed player corpse looting, added player corpse loot and some more (#19122)
* Fixed corpse looting in wintergrasp
Added corpse loot for wintergrasp quests and To the Looter Go the Spoils (1166) achievement
Don't generate money for loot if no loot mode is available
Simplified few things

(cherrypicked from 2412886ef6)
2019-07-21 21:06:54 +02:00
xinef1
ad008c43b7 Core/Misc: Fix various crashes, also related to multithreading (#19012)
* When iterating groups we have to either do it not in multithreaded context (map updates) or start with checking maps (they are guaranteed to change in single thread update).
* Properly clear ComboPoint references on player remove
* remove some possible references item may have when it is deleted during save.
* Also clear all hostile references when unit is removed from map.

(cherrypicked from 86da1a19bb)
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
vincent-michael
5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
xinef1
8725eec9c1 Core/Loot: Only allow the roll winner to loot the item he won in case it cannot be added to inventory instantly (full or any other reason) (#19037)
(cherry-picked from ab6ac42bf0)
2018-12-09 14:18:42 +01:00