Commit Graph

74 Commits

Author SHA1 Message Date
Takenbacon cd87350a17 fix(Core/Grids): Fix corpse loading after a server restart (#22594) 2025-07-30 22:49:09 -03:00
Takenbacon a77bd19104 feat(Core/Maps): Remove worldobject container switch functionality (#22586) 2025-07-29 09:18:07 -03:00
Takenbacon 1c3cbd3d9e feat(Core/Maps): Improve map object updater (#22392) 2025-07-11 16:00:16 +02:00
Takenbacon ee69a569c4 fix(Core/Grids): Grid improvements (#20955) 2025-02-14 22:11:27 +01:00
Andrew 062f9c4341 fix(Core/Map): Dynamic respawns: preserve original respawn timer and skip rares (#21440) 2025-02-14 11:30:59 +01:00
Andrew 16fa25b7a9 feat(Core/Maps): Implement dynamic respawn rates (#21417)
Co-authored-by: r00ty-tc <r00ty-tc@users.noreply.github.com>
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
Co-authored-by Treeston

This is a partial cherry-pick of: https://github.com/TrinityCore/TrinityCore/pull/19056/commits/59db2eeea0a35028779fd76372ae06cc98c8086f
2025-02-12 15:06:42 -03:00
Andrew 7e29e023e8 fix(Core/Creature): Allow temp summons to respawn when despawning on … (#21363) 2025-02-10 08:46:31 +01:00
Francesco Borzì cb7e28df05 refactor(src/server/game/*): remove unused imports (big part 1) (#20310) 2024-10-27 10:25:40 +01:00
Francesco Borzì 02a05fbd4c refactor(src/common): remove unused imports (#19506)
* refactor(src/common): remove unused imports

* fix: build

* chore: fix build

* chore: size_t -> std::size_t

* chore: fix fuckup from previous commit

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build with std::size_t

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build

* chore: fix build
2024-07-30 20:06:46 -03:00
Walter Pagani 715b290cb7 feat(Map): Add open world LOS settings (#18816)
* chore. Add open world LOS settings

* Name change and conditional deny

* modify information in worldserver.conf.dist

* Remove pvp from variables and constants
2024-05-04 12:10:24 -03:00
Winfidonarleyan eb1ecc38a5 feat(Core/Scripting): move all script objects to separated files (#17860)
* feat(Core/Scripts): move all script objects to separated files

* Apply 5bfeabde81

* try gcc build

* again
2023-12-02 21:13:20 +01:00
Andrew e3a7613f56 fix(Core/Creature): Move DespawnOnEvade() respawn handling to map level (#17806) 2023-11-20 12:18:48 -03:00
Kitzunu bbadc32bea Revert Visibility Notifier changes (#17682)
* Revert "fix(Core/Grid): Implement missing GridUnload setting (#17569)"

This reverts commit 79b39f9655.

* Revert "fix(Core/Grid): Address bugs and performance issues introduced by visibility notifier implementation (#17480)"

This reverts commit 60e27511c5.

* Revert "fix(Core): GridCleanUpDelay Log (#17436)"

This reverts commit 90b16ca065.

* Revert "feat(Core/Grids): Implement visibility notifier (#15919)"

This reverts commit 2779833768.
2023-11-12 00:48:49 +01:00
AG 79b39f9655 fix(Core/Grid): Implement missing GridUnload setting (#17569)
* Implement GridUnload setting

* Minor fixes

- Use GetOption instead of deprecated GetBoolDefault.
- Added a missing check for instances in LoadMap
- Replaced some numbers with global defines

* Possible crashfix + minor improvements

- Initialized initialOrientation which I had forgotten (likely cause of crash)
- Readded a previous check in UpdateSplineMovement
- Made i_objectsToRemove and i_worldObjects tos sets as they were previously, instead of unordered_set.

* Update worldserver.conf.dist

* Fix high CPU usage with preload grid enabled.

This should be it.
2023-10-26 19:32:15 -03:00
AG 60e27511c5 fix(Core/Grid): Address bugs and performance issues introduced by visibility notifier implementation (#17480)
* Bug fixes

- Corrected std::chrono from seconds to milliseconds
- Got rid of leftover code that caused objects to not show up on time

* Removed logic to set gameobject as active

- More alignement with TC.
- Reduces CPU usage drastically

* Revert back to using time_t instead of std chrono

* Invoke SetNoCreate() method to reduce CPU usage drastically

* Remove setActive from static and motion transports

* Fix performance issues

* Added SetFarVisible to WG and some dungeon scripts

- Also removed setActive(true) from creatures in Wintergrasp. As for gameobjects they are set to active upon being damaged/destroyed and removed from active on rebuild (reset)

* Removed comments related to VISIBILITY_COMPENSATION

* Fix log

* Deleted unused files + corrected a check

* Added missing header

* Removed unused parameter

* Removed another unsued parameter

* Changed vector to set for i_visibleNow

- Changed vector to set for i_visibleNow in VisibleNotifer
- Adjusted HaveAtClient to accept Object*
- Adjusted SendUpdateToPlayer to send createobject packet only if not known to client
2023-10-23 05:37:11 -03:00
AG 2779833768 feat(Core/Grids): Implement visibility notifier (#15919)
* Cherry-picked from TrinityCore (unable to find author)
2023-09-28 22:28:28 +02:00
UltraNix 14f3b444ae fix(Core/Creatures): Implemented `SUMMON_PROP_FLAG_ONLY_VISIBLE_TO_SU… (#14054)
* fix(Core/Creatures): Implemented `SUMMON_PROP_FLAG_ONLY_VISIBLE_TO_SUMMONER` summon flag.

Fixes #6674

* Update.
2023-01-06 00:52:05 +01:00
Skjalf ca9c19ffd4 feat(Core/GameObject): Add an overload to SummonGameObject() to accep… (#12821)
feat(Core/GameObject): Add an overload to SummonGameObject() to accept positions
2022-08-21 19:48:34 -03:00
Maelthyr d0d1671745 feat(Core/Debug): GetDebugInfo implementation (#12705)
Cherry-pick: https://github.com/TrinityCore/TrinityCore/commit/9a924fb9d557434c5a2e4020c80db6e6bfe466ad

Co-authored-by: jackpoz <giacomopoz@gmail.com>

Co-authored-by: jackpoz <giacomopoz@gmail.com>
2022-08-15 09:43:41 -03:00
IntelligentQuantum a31a30566e feat(Tools/Mapextractor): Implemented liquid object detection (#11402)
* .

* .

* .

* .

* .

* .

* .

* Delete Utils.cpp
2022-05-08 23:38:22 +02:00
UltraNix 47790c9714 fix(Core/Vmaps): Stop M2s from occluding for spellcast LoS. Original autho… (#11341)
* Core/Vmaps: Stop M2s from occluding for spellcast LoS. Original authors: @Shauren & @HelloKitty

Fixes #11293

* buildfix.

Co-Authored-By: HelloKitty <5829095+HelloKitty@users.noreply.github.com>
2022-04-10 09:24:35 -03:00
IntelligentQuantum 6e2e73d6ae feat(Scripts/Commands): debug objectcount 2022-04-01 06:57:26 -03:00
Kitzunu 455899dc75 fix(Core/Misc): Change const to be after type name (#10591) 2022-02-14 16:05:45 -03:00
IntelligentQuantum 93520f6466 feat(Core/Position): own file (#10505) 2022-02-08 05:12:42 -03:00
Nefertumm aa6ecec2ab feat(Core/Map): add DoForAllPlayers method (#10371) 2022-02-04 18:54:29 +01:00
Francesco Borzì 9dc88def35 refactor(Core): apply clang-tidy modernize-* (#9975)
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-01-17 14:35:07 +01:00
Kitzunu d1cc65b1c7 refactor(Core/Misc): isEmpty to IsEmpty (#10011) 2022-01-13 21:43:15 -05:00
Cláudio Costa 5d45c52c3e fix(Core/Creature): Fire Elemental Invasion changes (#9372)
* fix(DB): Blazing elemental invasion event

- Fixed Elemental Invader's SmartAI;
- Re-arranged Elemental Rifts SmartAI for controlled spawning of
  Invaders.

* SmartAI: SetCounter to be able to subtract

* Target unit or summoner changed for worldobjects

* extra checks and last sql file

* Codestyle

* codestyle

* adding Baron to elemental invasions

* changed owner or summoner target (SmartAI)

* codestyle
2022-01-06 19:30:23 +01:00
IntelligentQuantum fb249836e9 Core\Packet\Misc: Weather (#9648) 2022-01-04 13:52:13 -05:00
Kargatum f62664c987 refactor(Core/Misc): headers cleanup (#9259) 2021-11-22 17:24:39 +07:00
Kitzunu 9fbdffee47 refactor(Core/Map): Use std::chrono for SetZoneOverrideLight (#6489)
* cherry-pick https://github.com/TrinityCore/TrinityCore/commit/e33c4b8f7f18c89fec3d95531fdccad526c12c10

Co-Authored-By: HelloKitty <5829095+HelloKitty@users.noreply.github.com>
2021-10-03 22:07:26 -03:00
Kargatum 52aa0e9966 feat(License): add new headers information about license (#7941)
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
2021-09-30 13:40:52 +07:00
Kitzunu 2f449326e0 refactor(Core): Rename ...Manager to ...Mgr (#6910)
* Rename MapManager.h to MapMgr.h

* Rename BanManager.h to BanMgr.h

* Rename MapManager.cpp to MapMgr.cpp

* Rename BanManager.cpp to BanMgr.cpp

* Rename MapRefManager.h to MapRefMgr.h

* Rename ThreatManager.h to ThreatMgr.h

* Rename GridRefManager.h to GridRefMgr.h

* Rename ThreatManager.cpp to ThreatMgr.cpp

* Rename GroupRefManager.h to GroupRefMgr.h

* Rename HostileRefManager.h to HostileRefMgr.h

* Rename HostileRefManager.cpp to HostileRefMgr.cpp

* Rename MMapManager.h to MMapMgr.h

* Rename FollowerRefManager.h to FollowerRefMgr.h

* Rename VMapManager2.h to VMapMgr2.h

* Rename IVMapManager.h to IVMapMgr.h

* Rename MMapManager.cpp to MMapMgr.cpp

* Rename VMapManager2.cpp to VMapMgr2.cpp

* Rename RefManager.h to RefMgr.h

* Rename WaypointManager.h to WaypointMgr.h

* Rename WaypointManager.cpp to WaypointMgr.cpp

* Rename MPQManager.h to MPQMgr.h

* Rename MPQManager.cpp to MPQMgr.cpp

* Rename IMMAPManager.h to IMMAPMgr.h

* fix build

* Update Main.cpp

* chore(Core/Misc): Remove toxic language

* Revert "chore(Core/Misc): Remove toxic language"

* fix build

* build
2021-09-15 17:50:28 +02:00
UltraNix a8c0a2cc89 fix(Core/Movement): (#7008)
- Get zone/area IDs from vmap data in the liquid update
- Add new method Map::getFullVMapDataForPosition to get area info and liquid info in a single vmap lookup
- Adjust GetZoneId/GetAreaId on WorldObject to always return these cached fields.
- Clean up liquid state handling on Unit and Player
- Implemented getting area id from gameobject spawns.
- Removed old core related to getting movement flags dependent on environment.
- Movement flags are now processed more precisely and dynamically.

Original source: TrinityCore.

- Closes #5086
- Updates #2208.
2021-08-25 12:41:20 +02:00
UltraNix 5b057798e7 fix(Core/Maps): Enabled dead players to be resurrected at the dungeon entrance if cannot enter it due to some reasons (#7236)
- Closes #6790
2021-08-07 16:10:07 +02:00
Kitzunu b84f9b8a4b refactor(Collision): update some methods to UpperCamelCase (#6486) 2021-06-27 16:37:22 +02:00
Kitzunu 7152ddc82c refactor(Core/Grids): Ported cmangos/mangos-wotlk@ea99457 (#6113)
* refactor(Core/Grids): Ported cmangos/mangos-wotlk@ea99457

(cherry picked from commit https://github.com/TrinityCore/TrinityCore/commit/d6201e5dbb7fa7ca8b47ffa6c0d30fa38dceada5)
Co-Authored-By: Shauren <shauren.trinity@gmail.com>
Co-Authored-By: SilverIce <slifeleaf@gmail.com>

* Update CellImpl.h

* w

* more more brackets

* ew

* fix build
2021-06-03 05:27:51 +02:00
Kitzunu 897a02bb75 refactor(Core/Misc): acore to Acore (#6043) 2021-05-31 14:21:54 +02:00
UltraNix f4c226423d feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885) 2021-04-25 22:18:03 +02:00
Kargatum b2861be1cd feat(Core/Threading): replace ace threading (#4821) 2021-04-16 19:45:29 +02:00
Kitzunu f9d708b450 feat(Core/Instance): Add instance validation for creature scripts (#4596) 2021-04-05 15:34:26 +02:00
UltraNix 00f7a6bbde fix(Core/Maps): Include collision height in underwater status calculations. (#4855) 2021-03-21 15:19:07 +01:00
Francesco Borzì f6a17164be fix(Core/License): issue with old files license (#4762) 2021-03-17 09:46:01 -06:00
Kitzunu dbc0ff6554 refactor(Core): sort #includes alphabetically (#4579) 2021-02-24 22:34:42 +01:00
Footman 522eb9a7e4 fix(Core/Pathfinding): Creatures regen health, spells LOD (#4509) 2021-02-10 00:37:05 +01:00
Yehonal c8f43d8584 feat(Core/Movement): Improved pathfinding, collisions and movements (#4220)
Npc positioning
Implemented slope check to avoid unwanted climbing for some kind of movements (backwards, repositioning etc.)
Implemented backwards movement
Re-implemented circle repositioning algorithm (smartest than retail, but with the same feeling)
Fixed random position of summoned minions
Improved pet following movement. Also, they attack NPC from behind now. Thanks to @Footman

Swimming creatures
Fixed max_z coordinate for swimming creatures. Now only part of their body is allowed to be out of the water level
Fixed pathfinder for swimming creatures creating shortcuts for specific segments, now they swim underwater to reach the seashore instead of flying above the water level.
Creatures with water InhabitType but no swimming flag now, when not in combat, will walk on water depth instead of swimming. Thanks @jackpoz for the original code
UNIT_FLAG_SWIMMING in UpdateEnvironmentIfNeeded to show the swimming animation correctly when underwater
Implemented HasEnoughWater check to avoid swimming creatures to go where the water level is too low but also to properly enable swimming animation only when a creature has enough water to swim.

Walking creatures
Extended the DetourNavMeshQuery adding area cost based on walkability (slope angle + source height) to find better paths at runtime instead of completely remove them from mmaps
improve Z height in certain conditions (see #4205, #4203, #4247 )

Flying creatures
Rewriting of the hover system
Removed hacks and improved the UpdateEnvironmentIfNeeded. Now creatures can properly switch from flying to walk etc.
Spells
LOS on spell effect must be calculated on CollisionHeight and HitSpherePoint instead of position coords.
Improved position for object/creature spawned via spells
Improved checks for Fleeing movements (fear spells)

Other improvements
Implemented method to calculate the CollisionWidth from dbc (used by repositioning algorithm etc.)
Improved raycast and collision checks

Co-authored-by: Footman <p.alexej@freenet.de>
Co-authored-by: Helias <stefanoborzi32@gmail.com>
Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2021-02-01 01:34:27 +01:00
Silker 0a8a7ef149 fix(Core): Activate creatures and objects during opening cinematics (#4045)
Co-authored-by: Si1ker <55638679+Sombranator@users.noreply.github.com>
Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
2021-01-22 01:03:30 +01:00
Stefano Borzì df600f9946 fix(Core/CreatureAI): revert NPC repositioning and path system (temporarily) (#4274) 2021-01-14 19:17:34 +01:00
Kitzunu da4edd547d chore(core): remove malformed whitespaces (#4244)
* from https://www.codefactor.io/repository/github/azerothcore/azerothcore-wotlk/issues?category=Style&groupId=838&lang=5&page=75
2021-01-10 14:27:55 +01:00
Kargatum ea93a5c1a1 feat(CI/Codestyle): added codestyle check (#3668) 2021-01-09 11:59:50 +01:00