Commit Graph

660 Commits

Author SHA1 Message Date
Shauren
7e193e15db Core/Misc: Replace sprintf with safer alternatives (Trinity::StringFormat or snprintf)
(cherry picked from commit 67244a1f70)
2025-08-30 22:55:20 +02:00
Antonio
7de212a640 Core/Misc: Include source object information in ObjectMgr::GetClosestGraveyard() log message (#31194) 2025-08-16 00:11:36 +02:00
Shauren
9ffc85485a Core/Misc: Reduce differences between branches 2025-07-14 22:26:42 +02:00
Shauren
4d0903c61c Core/Misc: Reduce differences between branches 2025-03-14 19:09:15 +01:00
Shauren
114b84d821 Core/Transports: Fixed wrong transport guid generator initialization 2025-02-20 23:42:23 +01:00
Shauren
01132b1757 Core/Misc: Reduce code differences between branches 2025-02-03 18:42:54 +01:00
Nay
8268ab34b7 DB/Schema: Change basehp/mana/armor in creature_classlevelstatus to unsigned mediumint
There's no reason to be cheap...

(cherry picked from commit 4d8b06d0bd)
2025-02-01 20:00:46 +01:00
Shauren
1f6a6d2c5b Core/GameObjects: Added stringid to gameobjects
(cherry picked from commit 845f61e0a9)
2024-10-05 17:52:53 +02:00
Seyden
78fe841adb 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>
(cherry picked from commit 61c51b76c0)
2024-10-05 17:25:07 +02:00
Shauren
1fd797fca4 Core/Misc: Reduce differences between branches
(cherry picked from commit 36a90f7098)
(cherry picked from commit 0056360034)
(cherry picked from commit 869a8644e5)
(cherry picked from commit 94e85c34d3)
(cherry picked from commit f27cc65588)
(cherry picked from commit 42f3f91ad4)
(cherry picked from commit 1180fbf531)
(cherry picked from commit 629694cbad)
(cherry picked from commit 506e7913f8)
(cherry picked from commit e7c7158db0)
(cherry picked from commit a369594d61)
(cherry picked from commit cc5450c4a0)
(cherry picked from commit d3e508254b)
(cherry picked from commit dcd915c9b9)
(cherry picked from commit b95d148dbe)
(cherry picked from commit ac81411db4)
(cherry picked from commit d8ce0c8830)
(cherry picked from commit a2b1cf66ca)
(cherry picked from commit 953f093920)

brc
2024-09-10 17:47:34 +02:00
Shauren
a79b42bf68 Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
(cherry picked from commit 4779fa5048)
2024-03-14 00:14:16 +01:00
Shauren
966936b01a Core/Misc: Fixed thread-unsafe access to list of objects that should be spawned in a cell
Closes #29372

(cherry picked from commit 7b6589c1ec)
2023-10-17 15:57:03 +02:00
Shauren
aaa6e73c8c Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api)
(cherry picked from commit d791afae1d)
2023-08-15 20:10:04 +02:00
Shauren
3144566584 Core/Misc: Include cleanup, 2023 edition
(cherry picked from commit 92ed5e8af1)
2023-08-12 17:56:16 +02:00
Ovahlord
128339730c Core/Creatures: improved error logging messages added in 6f835c233f for creature_template_addon to avoid confusion 2023-01-10 15:46:51 +01:00
Ovahlord
6f835c233f Core/Creatures: Split creature_addon and creature_template_addon's byte columns into seperate ones (#28562)
* Instead of dumping raw byte values into these fields, we now only allow setting values which should be accessible to database devs. The remaining byte values should be handled by core internals and spells (pet talents and shapeshifting for example)
2023-01-09 19:54:56 +01:00
ihm-tswow
048089ef21 Core/Misc: Multithread query cache loading 2022-10-08 21:22:28 +02:00
Shauren
881950c1d5 Core/Spawns: Added startup error for incorrect map assignments in instance_spawn_groups 2022-09-23 19:27:56 +02:00
ihm-tswow
bac3eda135 Core/Misc: Improve missing class health/mana data error message during startup (#28173)
- If the class lacks health/mana data entirely, pClassInfo is null and crashes without reaching the error message if we don't check it first.
2022-08-03 09:24:05 +02:00
Shauren
bc261880d4 Core/Gossip: Fixed gossip menu options not performing their default actions when added by script using db data 2022-04-17 21:32:22 +02:00
Shauren
e4430cd2be Core/Creatures: Refactor ObjectMgr::ChooseCreatureFlags to allow selecting only 1 flag field 2021-10-31 13:31:37 +01:00
offl
a88001938e Core/Creature: Disallow nearly all non-static flags on DB side (#27024)
Closes #25764
2021-10-07 16:06:08 +03:00
Shauren
c3455595fc Core/Misc: Fixed effect index check in ObjectMgr::LoadSpellScripts 2021-08-31 21:59:22 +02:00
Shauren
e50102178b Core/Spells: Spell effect info access refactoring part 3 - removed direct SpellInfo::Effects field access from game 2021-08-31 00:13:44 +02:00
Ovah
a0aa9730e2 Core/Quests: check PreviousQuestID values as well when trying to make quest groups available to players (#26769)
* Core/Quests: check PreviousQuestID values as well when trying to make a quest available to support quest group requirements for another quest group

* checking for previous quests via NextQuestID only works for single followup quests. However, if we want to make multiple quests available after rewarding all quests of an exclusive group we have to consider PreviousQuestID values as well as every single quest of the next quest group has to check the rewarded exclusive group

* only check for previous quests that must be rewarded instead of being active
2021-08-22 09:58:46 +02:00
Ovahlord
edcaac6c95 Core/DBLayer: escape MySQL keywords in page_text, page_text_locale, broadcast_text and broadcast_text_locale select queries
(cherry picked from commit d4f71131f0)

# Conflicts:
#	src/server/game/Globals/ObjectMgr.cpp
2021-05-15 13:37:02 +02:00
Giacomo Pozzoni
a22bc236eb Core/Creature: Add new db field InteractionPauseTimer (#25880)
* Core/Creature: Add new db field InteractionPauseTimer

Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer)

* Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value

* Use the InteractionPauseTimer value throughout the code instead of Creature.MovingStopTimeForPlayer

* Handle InteractionPauseTimer set to 0 as "don't stop at all"

* Implement InteractionPauseTimer in creature_movement_override

creature_movement_override allows NULL values, in which case the values from creature_template_movement will be used for those columns that are NULL, falling back to default C++ values if creature_template_movement has NULL values too (or no rows for the creature)

* Read default InteractionPauseTimer from worldserver.conf

* Rename 2021_99_99_99_world.sql to 2021_01_22_00_world.sql
2021-01-22 19:48:50 +01:00
Sevi
6392d9ac48 Core/Vehicles: add a way to delay the Vehicle despawn Time if its needed.
* New database table `vehicle_template` holds info for despawn delay with option to extend it in the future

(cherry picked from commit c7b10d3c5f)

# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Vehicle/Vehicle.cpp
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Globals/ObjectMgr.h
2021-01-03 22:10:55 +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
cc8287927b [3.3.5] Scripts/Commands: .learn adjustments (PR #25454) 2020-11-18 20:09:34 +01:00
Ovah
4abbeb2a60 Core/Maps: add new FLAG_ALLIANCE_ONLY and FLAG_HORDE_ONLY for instance spawn groups (PR #25656) 2020-11-17 23:41:15 +01:00
Treeston
cd28423a4e [3.3.5] Core/Guilds: Guild cleanup (PR #25422) 2020-09-09 20:38:04 +02:00
Treeston
3fbbe7cfbe Core/Misc: DBC std::array refactors, and |Hachievement unit tests 2020-09-01 00:38:46 +02:00
Treeston
534a2388b7 Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327) 2020-08-28 00:11:16 +02:00
Shauren
57eaab80d9 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway) 2020-07-30 20:38:04 +02:00
Ovah
210f552ac5 Core/World: added startup log outputs for query cache initialization for detailed information.
* the console will now throw a log when the feature is disabled
* additionally the console will now print how long it took to initialize
2020-07-28 21:52:03 +02:00
Giacomo Pozzoni
203573db83 Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23) (#24997)
* Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23)

Original research by @xvwyh.

# Conflicts:
#	src/server/game/DataStores/DBCStores.cpp
#	src/server/game/DataStores/DBCStructure.h
#	src/server/game/DataStores/DBCfmt.h
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Entities/GameObject/GameObjectData.h
#	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
#	src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp

* Add missing sql update

* Fix some build errors

* Remove unused enum values

* Change artkits from 0-4 to 0-3

* Remove unused code

* Code review feedback

* Fix sql

* Remove artkit4 special case handling

* Default initialize artKits

* Code review feedback

* Split sql into structure and data files

Co-authored-by: Warpten <vertozor@gmail.com>
2020-07-14 09:34:03 +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
Carbenium
f7faf20254 Battlefields: Move BF scripts out of game
This commit introduces the usual script interface
for battlefields.
2020-06-24 15:09:57 +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
jackpoz
caae3886d2 Core/Misc: Remove whitespace at the end of lines 2020-04-05 19:11:00 +02:00
Sorikoff
a513922fc1 Core/DB: Add DB error for missing gossip npcflag (#24375)
* Add DB error for missing npcflag

* Improvements

* Update ObjectMgr.cpp

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-04-04 15:27:42 +02:00
ForesterDev
0f506f0dea Core/Locales: Optimize locale loading - move the strings (#24385)
* Core/Locales: Optimize locale loading - move the strings

(cherry picked from commit 5dd686c080)
Signed-off-by: ForesterDev <gmmunchkinbox@gmail.com>

# Conflicts:
#	src/server/game/Globals/ObjectMgr.cpp

* Fix AchievementReward locales build

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-04-04 15:05:00 +02: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
f06ac0fedb Build: Work around internal compiler errors in VS 2019 with dynamic build and PCH 2020-03-06 19:09:29 +01:00
ratkosrb
6176ce92ea Core/Creature: Use proper name for wander distance. (#24133)
* Use proper name for wander distance.

* Rename db field.

* Fix query.

* Remove underscore from chat command.

* Rename the handler too.

* Update chat command description.

* Fix remaining issues.

* Rename 2020_99_99_99_world_335.sql to 2020_02_16_01_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-16 13:36:56 +01:00
Killyana
74a825d046 DB/Logs: Move some logs back to DB errors
Ref 38d3b35561
Ref #22282
2020-02-08 21:28:13 +01:00
Ovah
98d6c501d7 Core/Vehicles: implement vehicle seat addon table to specify seat ori… (#24112)
* Core/Vehicles: implement vehicle seat addon table to specify seat orientation offsets and exit positions in form of offsets or absolute positions
* converted Traveler's Tundra Mammoth to seat addon table data

* first follow batch

* whoopsie

* Core/Vehicles: go from local copies to pointers

* Update and rename 2020_99_99_99_world.sql to 2020_02_08_01_world.sql

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-02-08 20:47:46 +01:00