Commit Graph

345 Commits

Author SHA1 Message Date
Shauren
7b6589c1ec Core/Misc: Fixed thread-unsafe access to list of objects that should be spawned in a cell
Closes #29372
2023-10-17 15:48:02 +02:00
Jeremy
52102a6395 Core/Objects: Added GameObject type parameter to FindGameObjectOptions (#29356) 2023-10-08 19:59:21 +02:00
Traesh
0bf5cf33c7 Core/AreaTriggers: Added SpawnDifficulties for spawned areatriggers (#29284) 2023-09-07 00:13:47 +02:00
Shauren
f0a862e71b Core/Misc: Modernize comparison operators 2023-08-24 00:51:26 +02:00
Shauren
845f61e0a9 Core/GameObjects: Added stringid to gameobjects 2023-07-30 13:55:34 +02:00
Shauren
526b16fea4 Core/Objects: Unify GameObjectSearcher, UnitSearcher, CreatureSearcher and PlayerSearcher classes into one common implementation 2023-05-28 16:54:23 +02:00
Shauren
261eb201bf Core/Objects: Unify WorldObjectSearcher classes into one common implementation 2023-05-28 16:07:34 +02:00
Badgersson
ab77b1d992 Core/Player: Vertical "Say" distance (#28544)
* Core/Player: chat messages use 3d distance Fix #26593

* Core/Player: chat messages use 3d distance
new arg in SendMessageToSetInRange
Fix #26593

(cherry picked from commit 297541e9c9)
2023-01-12 22:55:18 +01:00
Odyssey
795edfaf98 Core/Creatures: Fix logic when searching for nearby creatures by StringId (#28669) 2023-01-09 10:27:41 +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
a53e4a5756 Core/Misc: Replace enable_if overload selection with if constexpr 2023-01-07 22:38:21 +01:00
Shauren
9a96d32350 Core/Objects: Replace IsWithinDistInMap with IsWithinDist in grid searchers to avoid duplicate phase check (its also checked in Searcher classes) 2022-12-30 21:50:16 +01:00
Seyden
61c51b76c0 Core/Creatures: Implement StringId for Creatures, a custom identifier to make finding specific creatures in script easier (#28500)
Allows targeting specific spawns without hardcoding guids or find a bunch of different creatures with a single search

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-12-27 16:39:05 +01:00
Seyden
9ab0679781 Core/Objects: Implement FindNearestCreatureWithOptions helper function (#28488)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-12-26 20:13:13 +01:00
Shauren
c3f385c48f Core/Phasing: Reduce differences between branches in GridNotifiers 2022-12-25 00:44:12 +01:00
Teleqraph
9a3e29d416 Core/Object: Implement FindNearestCreatureWithAura (#28410)
* Game/Object: Implement NearestCreatureEntryWithLiveStateAndAuraInObjectRangeCheck class and FindNearestCreatureWithAura method

* moved arguments
2022-10-30 22:29:03 +01: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
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
acda6f9dcf Core/Spells: Implemented SPELL_ATTR5_NOT_ON_PLAYER and SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC 2022-05-02 18:21:01 +02:00
Shauren
88d7b58a3d Core/Spells: Rename SpellAttr3 to use official attribute names
* Implemented SPELL_ATTR3_NO_AVOIDANCE
* Implemented SPELL_ATTR3_ONLY_PROC_OUTDOORS
* Implemented SPELL_ATTR3_ONLY_PROC_ON_CASTER
* Implemented SPELL_ATTR3_PVP_ENABLING
* Implemented SPELL_ATTR3_SUPPRESS_CASTER_PROCS
* Implemented SPELL_ATTR3_SUPPRESS_TARGET_PROCS
2022-04-30 16:57:32 +02:00
Shauren
5558769405 Core/Battlegrounds: Replaced overriding m_team with more fine grained approach 2022-04-16 12:15:37 +02:00
offl
c4906ce60b Core/Misc: Rename UNIT_FLAG_NOT_SELECTABLE to UNIT_FLAG_UNINTERACTIBLE (#26913)
(cherry picked from commit c4741a131a)
2022-03-15 23:03:26 +01:00
jackpoz
90a05037cf Core/Maps: Partially revert 0c69316714
Revert define to constexpr as this also broke some calculations

(cherry picked from commit ed1c0b6ec9)
2022-03-05 17:03:02 +01:00
jackpoz
26962127a5 COre/Misc: Remove whitespace
(cherry picked from commit 01b1f20d3e)
2022-03-05 17:02:30 +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
jackpoz
df94ce0f68 Core/Creature: Ignore combat reach when looking for assisting creatures
Fixes #25487

(cherry picked from commit 24018b7a74)
2022-02-27 23:26:54 +01:00
Shauren
ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
jackpoz
d561a69122 Scripts/Obsidian Sanctum: Fix portals not being visible
Change NearestGameObjectEntryInObjectRangeCheck to allow returning GameObject not spawned.
Fixes other occurrences where a similar issue exists.

(cherry picked from commit ca2159bf40)
2022-02-05 12:04:35 +01:00
Shauren
1a86bab4d8 Core/Misc: Allow all kinds of non-map containers in grid searchers
(cherry picked from commit a02d36f18c)
2022-02-05 11:51:10 +01:00
Giacomo Pozzoni
902ed74c2a Core/SAI: Implement SMART_TARGET_ACTION_INVOKER in SMART_EVENT_FRIENDLY_HEALTH_PCT (#25318)
* Core/SAI: Implement SMART_TARGET_ACTION_INVOKER in SMART_EVENT_FRIENDLY_HEALTH_PCT

* Require radius (5th parameter) to be set

(cherry picked from commit cbed1039c4)
2022-02-04 00:27:13 +01:00
Shauren
7044204130 Core/Objects: Cleanup SmoothPhasing code - move to separate files and better integrate it with visibility system 2022-01-29 20:35:25 +01:00
Shauren
5a82a0381d Core/Objects: Properly choose between "Destroyed" or "OutOfRange" during visibility update 2022-01-29 16:01:57 +01:00
Shauren
596bf2b772 Core/Misc: Replace boost::optional with std::optional part 2 2022-01-23 20:31:52 +01:00
Shauren
3a67e37681 Core/Time: Remove artificially high minimal update intervals 2022-01-03 11:26:23 +01:00
Rushor
db825c3221 Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT (#24494)
* Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT which allows to search for closest unspawned gameobjects

* updates: https://github.com/TrinityCore/TrinityCore/issues/24067

* Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT which allows to search for closest unspawned gameobjects

(cherry picked from commit 2d948d3366)
2022-01-01 21:33:34 +01:00
Gildor
60e66621da Core/Gameobjects: Improve stealth detection (#24417)
* Core/Gameobjects: Improve stealth detection

* fix warning: private field 'i_funit' is not used

* Code cleanup

* add comment

Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit 862097a633)
2022-01-01 15:05:01 +01:00
Matan Shukry
8fabe5a3aa Core/Phasing: Implemented db spawns in personal phases (#26345)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2021-12-28 13:24:10 +01:00
Killyana
2de20560fe Core/GameObject: Fix wrong calculation of the spellfous distance
Closes #24177

(cherry picked from commit 828987a46a)
2021-12-21 23:57:19 +01:00
Sorikoff
1e93210999 [WIP] Core/AI: Pets musn't attack civilian NPC in aggressive mode (#24121)
* Core/AI: Pets musn't attack civilian NPC in aggressive mode

* Move decision to ignore civilians to PetAI, keeping the check in GridNotifiers

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 5f20715e2f)
2021-12-21 23:06:20 +01:00
Treeston
94a79bac7a Core/Misc: Some refactoring, #23603 prep: (#23676)
- Split SpawnMetadata off from SpawnData
- No longer allocate Creature/Gameobject objects in ObjectGridLoader just to check their typeid and delete them afterwards

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 9304e496cb)
2021-12-21 15:16:26 +01:00
Treeston
3269c42789 Core/AI: No longer do strange things when told to enter evade mode while there's no need to do so, typically by terrible legacy code.
(cherry picked from commit 163f44c1b0)
2021-12-17 21:50:47 +01:00
Treeston
d5e58cef69 Core/Spawns: Exterminate CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY with extreme prejudice. (It didn't work anyway.)
(cherry picked from commit 26440857c1)
2021-12-16 01:18:15 +01:00
Treeston
6de4c3cd72 Entities/GO: FindNearestGameObject no longer incorrectly returns despawned gameobjects. Closes #23262.
(cherry picked from commit 4423ca99e7)
2021-12-15 22:40:39 +01:00
Treeston
fdb43e41a8 Scripts/Outland: Rewrite the Watch Commander Leonus event so it no longer starts exponentially more often if the grid remains loaded for over an hour. Closes #23348.
(cherry picked from commit a3c3526269)
2021-12-15 00:17:32 +01:00
Aokromes
3ad5bc1e15 Core/Misc: More coding standards (#23519)
* Core/Misc: More coding standards

* revert part

* "void  " or more to "void "

* fix? reject

* remove more double whitespaces

* remove more double whitespaces

* more standards

* more coding standards

* More standards

* more coding

* more coding standards

* more coding standards

* And more standards

(cherry picked from commit 574a7c8d3d)
2021-12-14 23:04:29 +01:00
Aokromes
30cec73c61 Coding standards (#23514)
* Coding standards

* revert part

(cherry picked from commit fe744977c9)
2021-12-13 00:42:17 +01:00
Treeston
38d7c1530a Combat/Threat: Split ThreatManager::NotifyDisengaged off from ThreatManager::ClearAllThreat. NotifyDisengaged signifies intent to clear the engagement flag, and should only be called from AI. Fixes #23490.
(cherry picked from commit 1158f267df)
2021-12-12 02:09:15 +01:00
Wyrserth
2bcfc6680c Core/Misc: don't allow FindNearestCreature() and FindNearestGameObject() searches to return the entity that called them. (#23437)
Closes #23334.

(cherry picked from commit 015870bfe1)
2021-12-11 15:14:43 +01:00