Commit Graph

587 Commits

Author SHA1 Message Date
DeadMouse
deac3476b0 Core/Misc Fixed build with boost 1.74 (#28679) 2023-01-09 10:27:16 +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
92ed5e8af1 Core/Misc: Include cleanup, 2023 edition 2023-01-07 22:38:21 +01:00
Shauren
e8e330addd Core/Misc: Remove boost::heap::fibonacci_heap from header files 2023-01-06 16:54:16 +01:00
Shauren
d8a4668c77 Core/Misc: Add missing Containers.h include where neccessary 2023-01-06 16:44:11 +01:00
Shauren
704142f15a Core/Maps: Fixed retrieving terrain info when on child maps 2022-12-31 18:22:40 +01:00
Shauren
c3f385c48f Core/Phasing: Reduce differences between branches in GridNotifiers 2022-12-25 00:44:12 +01:00
Shauren
c3e1ff90a5 Core/Maps: Changed functions checking if map can be entered to use TransferAbortReason directly instead of intermediate Map::EnterState enum 2022-10-08 19:11:34 +02:00
Shauren
8c3c07cdf4 Core/Maps: Ensure one of InstanceScript::Create or InstanceScript::Load is called on map creation 2022-10-06 18:34:42 +02:00
Shauren
4667db37f3 Core/Maps: Implemented MapFlags2::IgnoreInstanceFarmLimit 2022-10-04 00:19:38 +02:00
Shauren
20357af88e Core/Instances: Add instance reset events at lock expiration 2022-10-04 00:19:38 +02:00
Shauren
ab12e77cf7 Core/Commands: Restore instance management commands 2022-10-04 00:19:38 +02:00
Shauren
4cbaaa3435 Core/Instances: Save instance entrance based on completed encounters 2022-10-04 00:19:38 +02:00
Shauren
ddd0c7b152 Core/Instances: Reimplement resetting instances from UI 2022-10-04 00:19:38 +02:00
Shauren
76be303351 Core/Scripts: Save instance data in JSON format 2022-10-04 00:19:38 +02:00
Shauren
9b924522d0 Core/Instances: Delete InstanceSaveMgr and replace most of its uses with new InstanceLockMgr 2022-10-04 00:19:38 +02:00
Shauren
a131542855 Core/Maps: Check group that owns instance (first group to enter a given instance id owns it) 2022-10-04 00:19:38 +02:00
Shauren
17665c929c Core/Instances: Instance lock rewrite (WIP) 2022-10-04 00:19:38 +02:00
Shauren
769591c99e Core/Spawns: Exclude spawn groups with MANUAL_SPAWN flag from automatic spawning/despawning with conditions 2022-10-02 18:51:37 +02:00
Shauren
c1eb91c1c1 Core/WorldStates: Add generic worldstates for team in instance 2022-07-24 20:11:24 +02:00
Shauren
fbe0b8efeb Core/Maps: Removed MapInstanced - no longer neccessary for grid data reference counting (moved to TerrainInfo) 2022-07-24 18:56:40 +02:00
Shauren
16a06346ae Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-07-23 19:13:33 +02:00
Shauren
073a036d84 Core/Battlefields: Refactor Battlefield creation to be linked to host map creation instead of having globally accessible objects 2022-07-19 23:18:19 +02:00
Shauren
775be0682a Core/OutdoorPvP: Refactor OutdoorPvP creation to be linked to host map creation instead of having globally accessible objects 2022-07-18 22:45:03 +02:00
Shauren
c42e52f171 Core/OutdoorPvP: Move Halaa spawns to db using worldstate conditions 2022-07-18 20:21:58 +02:00
Shauren
db79e29121 Core/WorldStates: Skip sending SMSG_UPDATE_WORLD_STATE when value does not change 2022-07-09 00:50:29 +02:00
Shauren
de26cafbbe Core/WorldStates: Allow setting "hidden" field of SMSG_UPDATE_WORLD_STATE 2022-07-07 23:07:20 +02:00
Shauren
70eacebad5 Core/WorldStates: Add area requirements to world states 2022-06-26 21:27:17 +02:00
Shauren
737d94d7ef Core/World: implement database support for default map and realm wide world states
Co-Authored-By: Shauren <shauren.trinity@gmail.com>
2022-06-25 22:48:27 +02:00
Shauren
5d27939667 Core/Conditions: Implemented conditions for spawn groups 2022-06-24 22:20:34 +02:00
Shauren
cace414497 Core/Transports: Localized transport objects within each map
Transports no longer move between maps, each map gets a separate copy of the transport object and players are moved between them when transferring to another map
This means they can no longer be globally looked up in HashMapHolder
2022-06-13 20:06:26 +02:00
Shauren
94d829c84f Core/Pools: Implemented pooling for instances 2022-06-11 14:04:56 +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
3031fbb63b Core/Objects: Remove restriction on what object types can be set as active 2022-05-25 22:07:47 +02:00
Shauren
5e90f188f8 Core/Corpses: Fixed crash in corpse creation 2022-04-24 14:31:55 +02:00
Shauren
22edf79c70 Core/Achievements: Implemented GameEvent related criteria types 73 and 93 2022-04-24 13:59:51 +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
Shauren
4eba978670 Core/Misc: Rename SetXXXFlags updatefield functions to ReplaceAllXXXFlags 2022-03-26 18:59:44 +01:00
Ovah
21177487ea Core/Spawns: prevent spawn groups from bypassing spawnMask restrictions (#26711)
* spawn groups have been able to spawn for all difficulties even when they should be restricted to a single difficulty only

(cherry picked from commit 48f63eda90)
2022-03-11 19:28:56 +01:00
Giacomo Pozzoni
9c3dc31a37 Core/Pools: Fix pools with 1 member never spawning anything anymore (#26620)
* Core/Pools: Fix pools with 1 member never spawning anything anymore

Attempts to fix a 6 years old bug and never fixed by the original author.

* Remove respawn times from db once a respawn has been handled

* Allow to specify if Despawn1Object() should save or not the respawn time. We don't need to do that when respawning an object.

* Apply the same fix to GameObjects too

(cherry picked from commit c8ca48823d)
2022-03-11 13:39:15 +01:00
HelloKitty
a67bb1f575 Core/Map: Added Map::SetZoneOverrideLight std::chrono overload (#26486)
* Core/Map: Added Map::SetZoneOverrideLight std::chrono overload

* Scripts: Replace Map::SetZoneOverrideLight usages with new std::chrono overload

* Core/Map: Remove non-chrono Map::SetZoneOverrideLight overload

(cherry picked from commit e33c4b8f7f)
2022-03-09 14:56:04 +01:00
Mikhail Redko
9e6def8ae2 Core/Console: Improve ReadWinConsole logic and cosmetic changes (#26402)
* Core/Console: Improve ReadWinConsole logic and cosmetic changes

* Core/Console: Fixed possible appearance of weird characters in the console when printing the output of child processes

* Fix codestyle

* Removed auto

* Core/Misc: Explicit casting Difficulty values to uint8 before outputting to console

* Core/Misc: Cast Difficulty to uint32 for output to console

Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit 6c12f45f3b)
2022-03-09 14:55:18 +01:00
Giacomo Pozzoni
9bcff210f9 Core/Maps: Use a fixed offset instead of full collision height when retrieving floor Z (#26092)
Use a fixed offset 0.5f instead of full collision height when retrieving floor Z as a full collision height ended up on the floor above a few times. It makes more sense to cast the ray just a bit higher up than using a full collision height (which by default is 2.0f)

(cherry picked from commit f96aab2186)
2022-03-06 22:24:01 +01:00
Kargatum
373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Treeston
5b9fec5f0b Core/Maps: Move some more Map internals to actually be... internals.
(cherry picked from commit 94c03b2107)
2022-03-05 17:12:51 +01:00
Treeston
b5f3a6fd80 Core/Maps: All RespawnInfo* handed to outside code are now RespawnInfo const*, to signify that outside code has zero business changing these.
(cherry picked from commit 803dc789e4)
2022-03-05 17:12:23 +01:00
Treeston
a8d00ddd69 Core/Maps: move pooling hand-off outside of Map::CheckRespawn (PR#25785)
fixes #25777

(cherry picked from commit f8afcec9f3)
2022-03-05 17:07:46 +01:00
Giacomo Pozzoni
30ebecc0de Core/Maps: Attempt to fix picking the wrong min height (#25771)
Close #25652

(cherry picked from commit aabd2b49e2)
2022-03-05 17:03:14 +01:00
jackpoz
bea8894bce Core/Maps: Partially revert 0c69316714
The development will continue in a PR

(cherry picked from commit 1e3d85e283)
2022-03-05 17:02:38 +01:00
jackpoz
c14f4dc835 Core/Maps: Use the same logic to calculate grid coords to avoid mismatches
Use the same logic of (CENTER_GRID_ID - x / SIZE_OF_GRIDS) in GridMap::getMinHeight() as Map::GetGrid() to avoid coord grid mismatches caused by floating point precision, i.e. getting the wrong grid.
Replace defines with constexpr in grids to make debugging easier.

Closes #25652

(cherry picked from commit 0c69316714)
2022-03-05 17:02:19 +01:00