241 Commits

Author SHA1 Message Date
Shauren
8fff15ba7c Core/Items: Implemented new item bonus types: limit category and pvp item level 2025-10-05 15:13:57 +02:00
Shauren
5cf0c6c8bb Core: Updated to 11.2.0 2025-08-13 00:31:39 +02:00
Shauren
c02e311eef Core/Gossip: Track started interaction types and reset only questgiver on quest accept
Closes #31120
2025-07-05 22:34:45 +02:00
Shauren
d938fea455 Core/Items: Updated item gem colors 2025-04-26 12:17:25 +02:00
Shauren
69b647a24c Core/Misc: Reduce code differences between branches 2025-02-02 23:59:23 +01:00
Shauren
5f37b29f41 Core/PacketIO: Updated packet structures to 11.0.5 2024-10-30 14:40:51 +01:00
Shauren
e59eef5432 Core/PacketIO: Updated to 11.0.0 2024-08-02 13:25:41 +02:00
Shauren
6f9e359701 Core/Items: Implemented reagent bag 2024-05-13 00:30:31 +02:00
Bloodtigress
2c286b5fb6 Core/Items: Add enum for hardcoded item ids 2024-05-12 18:19:17 +02:00
Bloodtigress
500301b962 Core/Items: Fix item sell price not scaling with item level (#29972) 2024-05-12 14:31:49 +02:00
Shauren
cc92417844 Core/Items: Implemented packets setting up inventory cleanup parameters 2024-04-29 00:06:02 +02:00
Meji
4913d027bf Core/Conditions: Added CONDITION_SOURCE_TYPE_PLAYER_CONDITION (#29832) 2024-03-27 21:38:08 +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
bde93b25d2 Core/Gossip: Integrate banker guid checks into shared gossip interaction data 2022-12-30 14:08:01 +01:00
ModoX
e275c39586 Core/Items: Dropped deprecated ItemFlag2 ITEM_FLAG2_DONT_IGNORE_BUY_PRICE (#28382) 2022-12-17 17:53:37 +01:00
Shauren
e98e1283ea Core: Updated to 10.0.2 2022-12-04 15:13:20 +01:00
Meji
a1f673d1ca Core/BattlePets: Move BattlePet stuff from SpellMgr to BattlePetMgr (#27986) 2022-06-09 13:58:54 +02:00
Shauren
372c84e998 Core/Items: Implemented item effect trigger type 7 (On Looted) 2022-04-22 20:57:05 +02:00
Shauren
4eba978670 Core/Misc: Rename SetXXXFlags updatefield functions to ReplaceAllXXXFlags 2022-03-26 18:59:44 +01:00
Giacomo Pozzoni
5180abfb19 Core/Creature: Add new db field InteractionPauseTimer (#25880)
* 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 a22bc236eb)
2022-03-06 00:56:46 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
596bf2b772 Core/Misc: Replace boost::optional with std::optional part 2 2022-01-23 20:31:52 +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
Shauren
b1a1e552d2 Core/Quests: Fixed gameobject sparkle state for lootable quest items by moving ItemAddedQuestCheck/ItemRemovedQuestCheck after item is added/removed
This is neccessary so that GameObject::BuildValuesUpdate from BuildValuesUpdateBlockForPlayer picks up correct inventory state and sets GO_DYNFLAG_LO_ACTIVATE

(cherry picked from commit 449bd9058b)
2022-01-06 00:30:02 +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
Shauren
e8b3dda4a0 Core/BattlePets: Wrap battle pet related code in a separate namespace 2021-12-17 14:23:43 +01:00
Wyrserth
8b71e65f20 Core/Achievement: don't increase ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM counters for items bought back from vendors.
(cherry picked from commit a58955d88c)
2021-12-16 21:20:39 +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
Meji
7c15ec00c7 Core/BattlePets: Fixes when adding pets (#27076)
* Add pet when learning it for the first time (summon spell not known).
* Removed code that adds battle pet if its summon spell is known (Learn cageable pet -> Cage pet -> Log out -> Log in -> Pet is added).
* When uncaging check that the species has a summon spell before trying to learn it.
2021-10-17 00:11:48 +02:00
Shauren
6b69338990 Core/Items: Refactored learning spells from items to check for ITEM_SPELLTRIGGER_LEARN_SPELL_ID instead of hardcoded spell ids 2021-10-16 13:22:42 +02:00
Meji
11cc5c0d3b Core/BattlePets: Misc fixes (#27057)
* Rename WorldPackets::BattlePet::BattlePet::CollarID to WorldPackets::BattlePet::BattlePet::DisplayID
* Use the DisplayID field to store the model of the battle pet. If the species has BattlePetSpeciesFlags::RandomDisplay, nothing is stored. Otherwise a random model is chosen from those available
* Stored DisplayID in ITEM_MODIFIER_BATTLE_PET_DISPLAY_ID when caging the battle pet (previously the CreatureID was being stored)
* Modified SendPlaySpellVisual function to allow sending Target and TargetPosition at the same time
* Added SpellVisual when uncaging
2021-10-16 12:15:03 +02:00
Meji
bedc050357 Core/Vendors: Support for vendors with empty inventory list (#26895) 2021-10-03 21:50:21 +02:00
Mikhail Redko
f8dda8a4fc Core/Creatures: implement CREATURE_FLAG_EXTRA_NO_SELL_VENDOR (#21642)
* Add CREATURE_FLAG_EXTRA_NO_SELL_VENDOR and use it for a single no-sell vendor in game (there are more of them in later expansions)

(cherry picked from commit 7c5b69d18b)
2021-09-19 22:54:08 +02:00
Meji
0a83f74876 Core/Achievements: Update CriteriaType enum (#26856) 2021-09-08 22:07:01 +02:00
Shauren
b82a3a557a Core/DataStores: Updated db2 structures to 9.0.2
* Includes support for new character customization
2020-12-08 18:16:47 +01:00
Shauren
f922c6e7a4 Core/PacketIO: Renamed a bunch of opcodes based on more research (only those added after 6.0) 2020-09-19 12:44:42 +02:00
Shauren
b231903932 Core/Misc: Port all the refactors sneaked in master to 3.3.5 include cleanup port 2020-09-04 13:38:24 +02:00
ccrs
0a133e77d6 Core/Movement: 7fff83d675 followup
remove home position set from creature PauseMovement, and use it when necessary
change log level on DelayedDelete

(cherry picked from commit cd4775420a)
2020-08-23 00:48:46 +02:00
ccrs
97585597f0 Core/Movement: waypoint movement (#20121)
Following the work done in #19361 this is the cleanup and improvement of the related logic of waypoint management.

Ref 28050f3 #18020
(taking the good parts and ignoring the incomplete work)

(cherry picked from commit 7fff83d675)
2020-08-23 00:45:46 +02: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
Shauren
63fba47511 Core/Items: Implemented new bonus type (extra ItemEffect) 2020-06-05 00:27:40 +02:00
Shauren
361946419e Core/Items: Fixed learning 2nd and 3rd copies of battle pets from items (not caged pets) 2020-04-08 13:36:59 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren
3ac790287a Core/DataStores: Updated db2 structures to 8.2.5 2019-10-27 00:12:45 +02:00
Shauren
f6e2b8cdc1 Core/DBLayer: Prevent committing transactions started on a different database 2019-07-27 10:52:33 +02:00
Shauren
e8e89f58fb Core/DBLayer: Prevent using prepared statements on wrong database 2019-07-27 01:00:37 +02:00
Shauren
0e4c569770 Core/PacketIO: Updated packet structures to 8.2 2019-07-14 19:20:44 +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