110 Commits

Author SHA1 Message Date
Shauren
0ff5cf4d00 Core/Objects: Create a base class for Object to support creating new client visible object types 2025-12-27 11:43:04 +01:00
Shauren
f901acd66b Core/Entities: Remove Object::m_objectType member and replace it with global array lookup (using m_objectTypeId) 2025-12-07 18:59:24 +01:00
Shauren
a8f01e07d1 Core/Entities: Merge duplicate functions calculating relative positions - remove CalculatePassengerPosition/CalculatePassengerOffset from TransportBase class 2025-10-14 13:11:41 +02:00
Shauren
401502ea3c Core/Grids: Modernize TypeContainer with variadic template 2025-01-05 20:22:34 +01:00
Shauren
68db469ee1 Core/PacketIO: Updated SMSG_UPDATE_OBJECT for 11.0.5 2024-10-30 14:41:27 +01:00
Shauren
ee54ade397 Core/Objects: More minor refactors for SMSG_UPDATE_OBJECT building - move getting and writing field flags to shared function 2024-10-27 19:05:35 +01:00
Shauren
067fa31d15 Core/PacketIO: Move writing data sizes in SMSG_UPDATE_OBJECT to shared functions instead of spreading it in all overrides 2024-10-25 15:36:11 +02:00
Shauren
9402c66e84 Core/Objects: Rename Object::m_isWorldObject and related functions to avoid conflicting with "WorldObject" class name 2024-03-14 11:01:58 +01:00
Ovahlord
b81fa2e8a3 Core/Object: use the final keyword for several (World)Object classes that should not get derived from (#29585) 2024-01-22 08:57:06 +01:00
Shauren
930a08fe03 Core/Spells: SpellAttr8 fixups - use creator instead of owner for SPELL_ATTR8_ONLY_TARGET_IF_SAME_CREATOR and removed cast time requirement for channelled spell predicted healing 2023-10-24 10:38:27 +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
Gosha
c1a9d7a3bc Core/PacketIO: Use ByteBuffer from UpdateData instead of copying to it after (#28347)
(cherry picked from commit 81bf8de989)
2022-10-13 12:37:18 +02:00
Shauren
630b60eb0d Core/GameObjects: Transport (type 11) improvements
* Fully synchronize serverside animation progress with client
* Implemented updating passenger positions on elevators
* Removed visibility hack for elevators that always forced CreateObject packet to be sent to client
2022-05-25 22:14:32 +02:00
Shauren
fddd6cdf3f Core/Objects: Initialize position data and zone/instance script for all worldobject types (except player) 2022-04-23 23:03:22 +02:00
Jan Van Buggenhout
b4f27875f3 Core/Entities: Move GridObject to its own header (#26358)
* GridObject

* Add include to more files

(cherry picked from commit 43dd1b37d6)
2022-03-08 00:14:25 +01:00
Shauren
ee835671b4 Core/Objects: Added helper structures to allow using customized updatefield sending packet functions with Trinity::MessageDistDeliverer 2022-02-26 15:58:23 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren
faf12a8883 Core/Objects: Don't consider SMSG_UPDATE_OBJECT packets that contain only destroyed objects as empty 2022-01-29 20:35:25 +01:00
ariel-
962f6d7988 Core/Spells: rework part 5: GameObject casting
Closes #21330
Closes #18885
Ref #18752

(cherry picked from commit 45c5e1b9d6)
2021-08-28 15:59:11 +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
7f6eef37e6 Core/Spells: Use new spell visual structure instead of just SpellXSpellVisualID 2020-12-08 18:16:46 +01: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
Shauren
1c52d5fff7 Core/Misc: Replace NULL with nullptr 2020-08-14 17:06:03 +02:00
Shauren
c7306439e7 Core/Spells: Implement using different difficulty data from all spell related db2s, not just SpellEffect and SpellPower 2020-06-12 01:29:18 +02:00
Shauren
bbfbb7d4bf Core/PacketIO: Implement building SMSG_UPDATE_OBJECT only for selected fields and use that to fix quest objects not glowing after accepting quests 2020-04-23 20:22:53 +02:00
Aokromes
b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
xinef1
60663d1374 Ensure that all actions are compared to fixed point in time (ie. world update start) (#18910)
- Actions will not be dependent on processing moment
- Increased GameObjects cooldown resolution to milliseconds, fixes arming time of traps to be exactly one second and not something from range (1000, 1999)
- Created GameTime namespace and UpdateTime class and moved there some code out of world

(cherrypicked from 7567cafec8)
2019-08-17 20:04:14 +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
Shauren
0a779bd791 Core/PacketIO: Updated packet structures to 8.0.1 2018-11-05 00:00:34 +01:00
Shauren
e8ffa9d9f2 Core/Spells: Fixed persistent area auras always spawning with no phase
Closes #21747
2018-04-01 00:28:09 +02:00
Shauren
bb718b5578 Core/Entities: Remove phasemask 2018-01-10 22:01:40 +01:00
vincent-michael
7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren
b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren
c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren
b421a5c0cb Core/Game: Include cleanup - remove Map dependency from Object.h 2017-05-15 22:55:16 +02:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
joschiwald
7fbc4374f3 Core/Entities: GameObjectDespawn packet is only sent for GameObjects 2016-11-16 22:46:37 +01:00
Shauren
c5e491b55c Core/Entities: Updated updatefields to 7.1.0.22900 2016-10-25 20:49:03 +02:00
Shauren
a78aa3cf4e Core/PacketIO: Refactored building SMSG_UPDATE_OBJECT to append directly to final buffer and removed UpdateMask class 2016-07-10 00:11:19 +02:00
Shauren
7ed1c47f6b Core/Auras: Implemented SPELL_AURA_OVERRIDE_SPELL_VISUAL 2016-06-29 19:49:23 +02:00
Naios
bf33159a70 Core/Game: Converted the game library to a shared library.
* There is still the possibility to static link against game.
2016-03-24 01:31:51 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
Vincent-Michael
2e586bc520 Core: Header cleanup in game/*/*.cpp 2015-07-25 20:18:42 +02:00
Shauren
dea6c0b122 Core/DataStores: Updated dbc/db2 structures to 6.2.0 2015-07-07 12:13:14 +02:00
Shauren
ca83e14f8b Core/Entities: Reworked guid scopes
* Added ObjectGuid traits to easily access whether guid type can be generated globally (ObjectMgr) or not
* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396eb0b
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
2015-04-28 21:19:46 +02:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
Shauren
15fbb6f46f Core/Entites: Updated GUID format 2014-10-29 21:13:21 +01:00
Shauren
7afab9f783 Core/Entities: Updated HighGuid values 2014-10-27 12:03:35 +01:00
Shauren
209a743bbe Core/Entities: Updated updatefields 2014-10-26 22:06:48 +01:00