Giacomo Pozzoni
42877e75e2
Core/Maps: Change .map file version from FourCC to uint32 ( #26326 )
2021-04-04 21:49:50 +02:00
Giacomo Pozzoni
f96aab2186
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)
2021-02-21 17:29:09 +01:00
Kargatum
a32b6b8ac4
Core: whitespace cleanup, reduce double blank line to single ( #25795 )
...
* Core/Misc: fix double empty line
* worldserver.conf
2021-01-03 11:47:07 +01:00
Treeston
94c03b2107
Core/Maps: Move some more Map internals to actually be... internals.
2021-01-01 04:03:52 +01:00
Treeston
803dc789e4
Core/Maps: All RespawnInfo* handed to outside code are now RespawnInfo const*, to signify that outside code has zero business changing these.
2020-12-31 18:57:18 +01:00
Treeston
f8afcec9f3
Core/Maps: move pooling hand-off outside of Map::CheckRespawn (PR#25785)
...
fixes #25777
2020-12-30 21:08:22 +01:00
Giacomo Pozzoni
aabd2b49e2
Core/Maps: Attempt to fix picking the wrong min height ( #25771 )
...
Close #25652
2020-12-28 12:36:52 +01:00
jackpoz
1e3d85e283
Core/Maps: Partially revert 0c69316714
...
The development will continue in a PR
2020-12-27 19:33:52 +01:00
jackpoz
0c69316714
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
2020-12-27 18:24:53 +01:00
Gildor
8217519ea2
Core/Visibility: Split BG/Arena visibility settings ( #25690 )
2020-12-26 23:30:16 +01:00
Shauren
868c82aa6c
Dep/Boost: Support for boost 1.74 - heap
...
Closes #25470
2020-09-27 21:24:38 +02:00
Giacomo Pozzoni
9f0b5526f0
Core/Maps: Fixed map min height calculation ( #25449 )
...
(cherry picked from commit f31d907112 )
# Conflicts:
# src/server/game/Maps/Map.h
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2020-09-11 23:01:24 +02:00
Giacomo Pozzoni
c68faf108e
Core/Maps: Always update the grid of player summons even if far away ( #25406 )
...
* Core/Maps: Always update the grid of player summons even if far away
* Code cleanup
* Use a vector instead of unordered_set
2020-09-06 21:38:12 +02:00
Giacomo Pozzoni
cfc8f7b442
Core/Misc: Fix issues reported by static analysis ( #25351 )
...
* Core/Misc: Fix issues reported by static analysis
* Core/Vmaps: Code cleanup after e777161888
2020-08-29 13:02:42 +02:00
kvipka
5d2780c43c
Scripts/InstanceScript: Fix an issue where LoadAllGrids would load creatures before TeamInInstance was properly set (PR #25340 )
2020-08-28 19:48:41 +02:00
Giacomo Pozzoni
7cf122fc2a
Core/Misc: Fix static analysis issues ( #25178 )
2020-07-31 22:53:13 +02:00
Peter Keresztes Schmidt
e6e5775be8
Build: Enable -Wimplicit-fallthrough on clang ( #25056 )
...
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs
Related: #25006
* Misc: Add some missing breaks (no-ops) to satisfy clang
Related: #25006
Closes #25055
* Build: Enable -Wimplicit-fallthrough on clang
Closes #25006
2020-07-18 20:43:16 +02:00
Peter Keresztes Schmidt
202fd41389
Core/Misc: Replace boost::optional with std::optional ( #25047 )
...
C++17 is already mandatory, so it's a safe thing to do
2020-07-15 10:22:29 +02:00
Peter Keresztes Schmidt
c92950b3e1
Core/DataStores: Update DBC field names to generated ones ( #24999 )
2020-07-12 15:36:55 +02:00
Shauren
0468c70dfe
Core/Maps: Implemented getting area id from gameobject spawns
...
Yes, you can now spawn LK platform anywhere and it will treat you as inside Icecrown Citadel
(cherry picked from commit 42f9deb21e )
2020-06-27 20:23:30 +02:00
jackpoz
54c701cf0d
Core/Common: Replace ASSERT(false, "...") with ABORT_MSG("...")
2020-06-26 23:37:52 +02:00
Peter Keresztes Schmidt
b210bb3713
Core/Misc: Replace Trinity::make_unique with std ( #24869 )
...
(cherry picked from commit bab5fd87a3 )
2020-06-23 18:03:16 +02:00
Giacomo Pozzoni
4e1dbd1cf8
Log number of Creatures and GameObject per map ( #24809 )
...
* Shared/Metric: Allow to specify tags in metrics
* Core/Metric: Log number of Creatures and GameObject per map
* Apply feedback
* Codestyle changes
* Codestyle changes
* Remove whitespace
* Update Grafana dashboards to v7.0.3
* Fix missing filter on realm
* Include Creatures and Gameobjects in Maps dashboard
* Show instances with a different color
2020-06-20 00:04:01 +02:00
NoName
5bbab32793
Core/Maps: fix respawn times for manual respawns ( #24571 )
...
by joshwhedon
2020-05-05 21:09:50 +02:00
Giacomo Pozzoni
4f33fd3932
Core/Pooling: Remove respawn times from the database when despawning a pool ( #24422 )
...
* Core/Pooling: Remove respawn times from the database when despawning a pool
Remove respawn times from the database when despawning a pool. This is needed when a Game Event ends but there are still some respawn times saved in the database.
* Remove respawn time of active pool objects even if they are not spawned
2020-04-11 14:07:57 +02:00
Giacomo Pozzoni
3def52c1c4
Core/Logs: Log full guid instead of just low guid, part 2
2020-04-05 19:10:58 +02:00
Giacomo Pozzoni
468ecb7252
Core/Logs: Log full guid instead of just low guid
2020-04-05 19:10:57 +02:00
Shauren
635b8d52d5
Core/DBLayer: Prevent committing transactions started on a different database
...
(cherry picked from commit f6e2b8cdc1 )
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/database/Database/DatabaseWorkerPool.cpp
# src/server/database/Database/DatabaseWorkerPool.h
# src/server/database/Database/Implementation/HotfixDatabase.h
# src/server/database/Database/MySQLConnection.h
# src/server/database/Database/Transaction.cpp
# src/server/database/Database/Transaction.h
# src/server/game/Achievements/AchievementMgr.cpp
# src/server/game/Achievements/AchievementMgr.h
# src/server/game/AuctionHouse/AuctionHouseMgr.cpp
# src/server/game/AuctionHouse/AuctionHouseMgr.h
# src/server/game/BattlePets/BattlePetMgr.cpp
# src/server/game/BattlePets/BattlePetMgr.h
# src/server/game/BlackMarket/BlackMarketMgr.cpp
# src/server/game/BlackMarket/BlackMarketMgr.h
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Item/Item.h
# src/server/game/Entities/Player/CollectionMgr.cpp
# src/server/game/Entities/Player/CollectionMgr.h
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Entities/Player/Player.h
# src/server/game/Garrison/Garrison.cpp
# src/server/game/Garrison/Garrison.h
# src/server/game/Groups/Group.cpp
# src/server/game/Guilds/Guild.cpp
# src/server/game/Guilds/Guild.h
# src/server/game/Guilds/GuildFinderMgr.cpp
# src/server/game/Handlers/BlackMarketHandler.cpp
# src/server/game/Handlers/CalendarHandler.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/MailHandler.cpp
# src/server/game/Handlers/PetHandler.cpp
# src/server/game/Handlers/PetitionsHandler.cpp
# src/server/game/Mails/Mail.cpp
# src/server/game/Pools/PoolMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.h
# src/server/game/Scenarios/InstanceScenario.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
# src/server/game/Spells/SpellHistory.cpp
# src/server/game/Support/SupportMgr.cpp
# src/server/game/Tools/PlayerDump.cpp
# src/server/scripts/Commands/cs_misc.cpp
2020-03-31 13:42:01 +00:00
Shauren
fe1003bdbd
Core/DBLayer: Prevent using prepared statements on wrong database
...
(cherry picked from commit e8e89f58fb )
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/bnetserver/Server/Session.cpp
# src/server/database/Database/DatabaseWorkerPool.cpp
# src/server/database/Database/Implementation/HotfixDatabase.h
# src/server/database/Database/MySQLConnection.cpp
# src/server/database/Database/MySQLConnection.h
# src/server/database/Database/PreparedStatement.cpp
# src/server/database/Database/PreparedStatement.h
# src/server/database/Database/QueryHolder.cpp
# src/server/database/Database/SQLOperation.h
# src/server/database/Database/Transaction.h
# src/server/game/Accounts/BattlenetAccountMgr.cpp
# src/server/game/Achievements/AchievementMgr.cpp
# src/server/game/AuctionHouse/AuctionHouseMgr.cpp
# src/server/game/AuctionHouseBot/AuctionHouseBot.cpp
# src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
# src/server/game/BattlePets/BattlePetMgr.cpp
# src/server/game/Battlegrounds/ArenaTeam.cpp
# src/server/game/BlackMarket/BlackMarketMgr.cpp
# src/server/game/Chat/Channels/Channel.cpp
# src/server/game/Entities/Corpse/Corpse.cpp
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/GameObject/GameObject.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Pet/Pet.cpp
# src/server/game/Entities/Player/CollectionMgr.cpp
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Garrison/Garrison.cpp
# src/server/game/Globals/ObjectMgr.cpp
# src/server/game/Groups/Group.cpp
# src/server/game/Guilds/Guild.cpp
# src/server/game/Guilds/GuildFinderMgr.cpp
# src/server/game/Guilds/GuildMgr.cpp
# src/server/game/Handlers/AuctionHouseHandler.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/ItemHandler.cpp
# src/server/game/Handlers/MailHandler.cpp
# src/server/game/Handlers/MiscHandler.cpp
# src/server/game/Handlers/PetitionsHandler.cpp
# src/server/game/Handlers/SpellHandler.cpp
# src/server/game/Handlers/TicketHandler.cpp
# src/server/game/Loot/Loot.cpp
# src/server/game/Mails/Mail.cpp
# src/server/game/Maps/Map.cpp
# src/server/game/Movement/Waypoints/WaypointManager.cpp
# src/server/game/OutdoorPvP/OutdoorPvP.cpp
# src/server/game/Pools/PoolMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
# src/server/game/Reputation/ReputationMgr.cpp
# src/server/game/Scenarios/InstanceScenario.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSocket.cpp
# src/server/game/Spells/SpellHistory.cpp
# src/server/game/Support/SupportMgr.cpp
# src/server/game/Tools/PlayerDump.cpp
# src/server/game/World/World.cpp
# src/server/scripts/Commands/cs_account.cpp
# src/server/scripts/Commands/cs_ban.cpp
# src/server/scripts/Commands/cs_battlenet_account.cpp
# src/server/scripts/Commands/cs_group.cpp
# src/server/scripts/Commands/cs_lfg.cpp
# src/server/scripts/Commands/cs_list.cpp
# src/server/scripts/Commands/cs_message.cpp
# src/server/scripts/Commands/cs_misc.cpp
# src/server/scripts/Commands/cs_npc.cpp
# src/server/scripts/Commands/cs_tele.cpp
# src/server/scripts/Commands/cs_wp.cpp
# src/server/shared/DataStores/DB2DatabaseLoader.cpp
# src/server/shared/Realm/RealmList.cpp
2020-03-31 13:42:01 +00:00
Shauren
e10313b380
Core/Maps: Citizens of Dalaran! Raise your eyes to the skies and observe! Any non-map-default light can now be overriden!
...
Closes #24250
2020-03-06 17:44:10 +01:00
ForesterDev
5cfce94619
Core/DynamicInfo: rename some parameters according packet definitions ( #24192 )
2020-02-28 19:23:20 +01:00
Treeston
9304e496cb
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 >
2020-02-08 20:22:37 +01:00
xvwyh
d4ba47a76e
Core/DynamicObjects: Restore the ability of DynamicObjects to be world objects which was accidentally removed in f0f4a620fb breaking Far Sight ( #24046 )
...
Fixes #17081
2020-01-14 19:42:30 +01:00
Aokromes
ed93932537
New year
...
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
jackpoz
afbc478919
Core/Map: Load the grid of TempSummons owned by Players
...
Ensure to load the grid of TempSummons owned by Players when the relocate to another cell
2019-12-21 16:27:46 +01:00
jackpoz
42ab6010f8
Core/Map: Move a log from ERROR to WARN
...
Move "Could not load MMAP" log from ERROR to WARN as 99% of times is a false positive
2019-09-21 18:05:19 +02:00
ForesterDev
07e2264964
Core/PacketIO: updated SMSG_PLAY_SOUND, SMSG_PLAY_MUSIC and SMSG_PLAY_OBJECT_SOUND ( #23636 )
...
* Core/PacketIO: SMSG_PLAY_SOUND
(cherry picked from commit 82a33c7fa8 )
# Conflicts:
# src/server/game/Battlefield/Battlefield.cpp
# src/server/game/Battlegrounds/Battleground.cpp
# src/server/game/Battlegrounds/BattlegroundMgr.cpp
# src/server/game/Battlegrounds/BattlegroundMgr.h
# src/server/game/Entities/Object/Object.cpp
# src/server/game/Server/Packets/MiscPackets.cpp
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Texts/CreatureTextMgr.cpp
# src/server/game/Texts/CreatureTextMgr.h
# src/server/scripts/Commands/cs_misc.cpp
* Update for 3.3.5
* Core/PacketIO: updated and enabled SMSG_PLAY_MUSIC
(cherry picked from commit c6718dc120 )
# Conflicts:
# src/server/game/Maps/Map.cpp
# src/server/game/Server/Packets/MiscPackets.cpp
# src/server/game/Server/Protocol/Opcodes.cpp
# src/server/game/Server/Protocol/Opcodes.h
# src/server/game/Spells/SpellEffects.cpp
* Core/Packets: added SMSG_PLAY_OBJECT_SOUND packet class
(cherry picked from commit 1272e9eea6 )
# Conflicts:
# src/server/game/Server/Packets/MiscPackets.cpp
# src/server/game/Server/Packets/MiscPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
* fic build
* change variable names
* fix build error field will be initialized after
2019-08-23 19:28:21 +02:00
Shauren
7ee0891b0f
Warning fix
2019-08-17 22:40:50 +02:00
Shauren
3a4216fd97
Core/Map: Kill zoneId from RespawnInfo, all it did was significantly slow down startup to make one gm command faster
2019-08-17 22:30:27 +02:00
Treeston
3d4bebd8d9
Scripts/FollowerAI: Some cleanup:
...
- FollowerAI properly resumes follow after evading.
- Removed duplicated getters from CreatureAI (IsEscorted vs IsEscortNPC), they were used to do the same thing
- FollowerAI properly assists in combat.
- FollowerAI properly despawns if quest is abandoned.
- FollowerAI now supports dynamic respawning for escort NPCs.
2019-08-01 18:32:26 +02:00
ForesterDev
b9756de7e5
Core/PacketIO: Updated SMSG_OVERRIDE_LIGHT ( #23635 )
...
* Core/PacketIO: Updated SMSG_OVERRIDE_LIGHT
(cherry picked from commit 4c94108ba9 )
# Conflicts:
# src/server/game/Maps/Map.cpp
# src/server/game/Server/Packets/MiscPackets.cpp
# src/server/game/Server/Packets/MiscPackets.h
# src/server/game/Server/Protocol/Opcodes.cpp
2019-07-25 11:08:31 +02:00
Treeston
d60082ae86
Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
...
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean
- Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private
- Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does
- Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed
- Map::AddRespawnInfo now takes const reference, and returns success as a boolean
- Map::AddRespawnInfo no longer offers an unused "replace" parameter
- Map::DeleteRespawnInfo no longer offers a variety of unused private overloads
- Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does.
- Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ.
- Map::GetWorldObjectBySpawnId sanitized
- Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime
2019-07-15 17:14:58 +02:00
Treeston
26440857c1
Core/Spawns: Exterminate CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY with extreme prejudice. (It didn't work anyway.)
2019-07-15 15:57:04 +02:00
Treeston
374597c8e9
Core/DB: Unify creature_respawn and gameobject_respawn into a single respawn table
2019-07-14 18:49:38 +02:00
ccrs
965ec9a571
Core/Weather: 6eecb68 followup
...
missing IntervalTimer::Update call
2019-07-10 23:16:58 +02:00
Shauren
6eecb685ce
Core/Weather: Fixed weather updates to be thread safe
...
(cherry picked from commit 6eb9973947 )
2019-07-09 21:17:59 +02:00
Nayd
9a9af3cc5f
Core/Packets: Update and enable SMSG_WEATHER
...
(cherry picked from commit 6f7d048765 )
2019-07-09 21:17:59 +02:00
Treeston
84b7b2e08e
Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
...
- .npc respawn no longer causes stupid things to happen (Fixes #23014 )
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
2019-07-08 11:56:41 +02:00
Treeston
ded18a2690
Entities/Creature: Some asserts are now LOG_ERRORs that block spawning. Fix a group spawning bug exposed by the CoS merge. Improve some command output.
2019-07-07 19:18:32 +02:00
ccrs
953b05459a
Core/Instance: add new hook & method
2019-06-29 19:24:05 +02:00