Commit Graph

57 Commits

Author SHA1 Message Date
郑佩茹
650e71728a Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/Entities/Unit/Unit.cpp
2022-05-25 08:51:01 -06:00
Hanabi
a6a2ca8ef7 feat(Core/GameObjects): Instance gameobject save data implementation (#11113)
* fix(Core): Save gameobject state on instances

Currently, azerothcore doesn't save gameobject states on instances.
Whenever there's a re-start or crash, the instance's gameobjects and
their states aren't saved, producing un-wanted behaviours and blocking instances at times.

Implemented CRUD for new table `instance_saved_data` that holds the states of gameobjects.

- When worldserver launches and gameobjects are loaded, this will check
  if this object's state exists on the DB and sets the previous state.
- On instance deletion (reset) these states are also removed based on
  the instance ID.
- Whenever a gameobject state changes inside a dungeon or raid, we save
  on the database the set state.

* Select query to synchronous and used FindMap()

* loading gameobject states on create

* reseting instance saved data

* missing reset methods and on create state

* database structure

* Update src/server/game/Entities/GameObject/GameObject.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Entities/GameObject/GameObject.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Entities/GameObject/GameObject.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Entities/GameObject/GameObject.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Entities/Player/PlayerMisc.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Groups/Group.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* codestyle

* table changes

* table style

* codestyle

* table changes for columns

* data sanitization

* todo:

- Finish loading db data into the containers
- Using containers to find data
- How to get data from ObjectMGR inside Gameobject?

* loading on start up and db changes

* Removing unused data structure

* Uninitialised integer

* Whitespace

* clean-up and hooks to save states on memory

* Codestyle MySQL deprecated backticks

* i dont understand codefactor

* build

* Update data/sql/updates/pending_db_world/rev_1643395587559675400.sql

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Globals/ObjectMgr.h

Co-authored-by: Kargatum <dowlandtop@yandex.com>

* review changes

* unecessary removal

* pushback instead of emplace

* wrong database update

* Update ObjectMgr.cpp

* missing check

* removing entry from the PR

* missing removals

* last delete

* build

* aha! Found the culprit for the sudden assert errors

* type safety, save only important gameobjects

* static cast to unsigned short

* Update data/sql/updates/pending_db_characters/rev_1643629468629316100.sql

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* type changes

* queries fix

* fix build

* enabling which gameobjects to save on the database

* deadmines iron clad door

* Adjustment to gameobject onj create state and instances:

- Gnomeregan doors and Grubbis boss state
- Deadmines missing doors
- Stratholme gameobjects state saved

* forgot emi blastfuse change to despawn

* Leaving group logic

* codestyle

* fixing merge issues

* prevent bad behaviour

* brain meltdown

* Update data/sql/updates/pending_db_characters/rev_1643629468629316100.sql

* Update data/sql/updates/pending_db_world/rev_1649359139539727000.sql

Co-authored-by: Claudiodfc <54484196+claudiodfc@users.noreply.github.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Co-authored-by: Kargatum <dowlandtop@yandex.com>
Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
2022-05-24 10:33:45 -03:00
qudzy
44e4cd8cda Add prepared dungeon suggestion statement 2022-05-06 16:55:21 +02:00
ZhengPeiRu21
0efe2a01fe Merge branch 'azerothcore:master' into Playerbot 2022-04-20 09:18:17 -06:00
Kitzunu
7ecd738674 feat(Core/Mail): Server mail (#10628) 2022-04-19 23:43:14 +02:00
郑佩茹
db71f4739c Fix corrupt item cache crashes, bot whispers, trade crashes 2022-03-22 10:51:50 -06:00
郑佩茹
60f11b3671 Merge branch 'master' into Playerbot
# Conflicts:
#	apps/ci/ci-install-modules.sh
#	src/common/Collision/Management/MMapMgr.cpp
#	src/common/Debugging/Errors.h
#	src/server/game/AI/SmartScripts/SmartScript.cpp
#	src/server/game/Battlegrounds/Arena.cpp
#	src/server/game/Battlegrounds/ArenaScore.h
#	src/server/game/Battlegrounds/Battleground.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.cpp
#	src/server/game/Battlegrounds/BattlegroundMgr.h
#	src/server/game/Battlegrounds/BattlegroundQueue.cpp
#	src/server/game/Battlegrounds/BattlegroundQueue.h
#	src/server/game/Battlegrounds/Zones/BattlegroundAB.h
#	src/server/game/Battlegrounds/Zones/BattlegroundEY.h
#	src/server/game/Battlegrounds/Zones/BattlegroundIC.h
#	src/server/game/Conditions/ConditionMgr.cpp
#	src/server/game/DataStores/M2Stores.cpp
#	src/server/game/DungeonFinding/LFGMgr.cpp
#	src/server/game/Entities/Creature/Creature.cpp
#	src/server/game/Entities/Creature/CreatureData.h
#	src/server/game/Entities/GameObject/GameObject.cpp
#	src/server/game/Entities/GameObject/GameObject.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Entities/Player/PlayerStorage.cpp
#	src/server/game/Entities/Unit/Unit.cpp
#	src/server/game/Entities/Unit/Unit.h
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Groups/Group.cpp
#	src/server/game/Groups/Group.h
#	src/server/game/Guilds/Guild.cpp
#	src/server/game/Guilds/Guild.h
#	src/server/game/Handlers/BattleGroundHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Scripting/ScriptDefines/BGScript.cpp
#	src/server/game/Scripting/ScriptDefines/DatabaseScript.cpp
#	src/server/game/Scripting/ScriptDefines/PlayerScript.cpp
#	src/server/game/Scripting/ScriptDefines/ServerScript.cpp
#	src/server/game/Scripting/ScriptMgr.cpp
#	src/server/game/Scripting/ScriptMgrMacros.h
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Spells/SpellEffects.cpp
#	src/server/game/World/IWorld.h
#	src/server/game/World/World.cpp
#	src/server/game/World/World.h
#	src/server/scripts/Commands/cs_npc.cpp
#	src/server/scripts/Commands/cs_server.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
#	src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
#	src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
2022-03-21 13:57:37 -06:00
IntelligentQuantum
b6a07d38c0 feat(Core/Characters): Replace DELETE + INSERT with REPLACE (#10862) 2022-03-15 09:40:55 +01:00
UltraNix
12d41d1314 Big update. 2022-03-12 22:28:00 +01:00
UltraNix
73957b95f6 fix(Core/Mail): do not show expired mails in packets (#10560)
Fixed #5920
2022-03-01 13:57:37 +01:00
Axel Cocat
743c028e31 fix(Core/Database): use char guid if character order is null (#10243)
Co-authored-by: temperrr <temperrr@users.noreply.github.com>
2022-02-27 14:48:18 +01:00
Kitzunu
c63ebde9d7 feat(Guild/Commands): guild rename (#10323)
* feat(Guild/Commands): guild rename

* cherry-pick commit (678cade116#)

* Update cs_guild.cpp
2022-02-03 06:01:16 -03:00
Skjalf
c45c23ffe7 fix(Core/Player): Align SaveSeasonQuestStatus() with TrinityCore (#10503) 2022-02-02 21:14:02 -03: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
Malcrom
dfac47a562 feat(Core/Creature): Allow 3 ids per spawn point. TESTING (#10169)
* feat(Core/Creature): Allow 3 ids per spawn point.

* Move GetRandomId to a function

* Update id to id1

* Fixed some errors crashing core and text

* Set ids to lowercase for GetRandomId function

* Update src/server/database/Database/Implementation/WorldDatabase.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

Co-authored-by: acidmanifesto <joshua.lee.betts@gmail.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-01-14 19:21:50 -04:00
Malcrom
2fd8b00d7b feat(Core/Creature): Dual id Spawning WIP (#10115)
* feat(Core/Creature): Multi id Spawning WIP

* Update Creature.cpp

* Update PR

* Add Sql

* Update rev_1641837958335217980.sql

* Update src/server/game/Globals/ObjectMgr.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update src/server/game/Globals/ObjectMgr.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

* Update rev_1641837958335217980.sql

* Update cs_npc.cpp

* Create changes_1641842959398297300.md

* Fixed issue added with random model PR

* Update GameEventMgr.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-01-10 22:09:14 -04:00
Malcrom
f1d4266efc BREAKING CHANGE:(DB/Creature) Remove modelId field in creature table (#10071)
* fix(DB/Creature) Clear modelId field in creature table

* Change clear column to remove column

* Update src/server/game/Globals/ObjectMgr.cpp

* Update ObjectMgr.cpp

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Co-authored-by: acidmanifesto <joshua.lee.betts@gmail.com>
2022-01-10 16:41:33 -04:00
Kitzunu
dbc35e3495 feat(DB/Creature): Allow to set swim and flight speeds (#10067) 2022-01-09 01:34:39 +01:00
acidmanifesto
2d4e17fd16 refactor(Core/Creature): Remove Inhabit Type (#9272)
This is in reference to issue: https://github.com/azerothcore/azerothcore-wotlk/issues/4361
This is comprised of a cherry pick and partial tc cherry pick:
592516ae69
dbadb6369c
34cfa69efd
12de860b4a
a22bc236eb
2022-01-06 10:33:22 -03:00
Kargatum
e12494d993 feat(Core/Pets): Management refactoring (#9712)
* feat(Core/Pets): rework managment

* 1

* 2

* 3

* 4

* 5

* cs pet

* check before ressurect

* pet DECLINED_NAMES

* display

- https://github.com/azerothcore/azerothcore-wotlk/issues/9297

* ArenaSpectator

* 1
2021-12-30 18:45:13 -03:00
Skjalf
58302e4196 feat(Core/Player): Implement player specific settings (#9483) 2021-12-26 08:39:15 -03:00
Skjalf
ea1ffd6894 feat(Scripts/Commands): Implement item refund command (#9811) 2021-12-20 16:11:45 -03:00
Noxies
5ec50ac119 fix(Core/Commands): Item duplication exploit (#9650) 2021-12-11 13:21:07 -03:00
Noxies
c95c29838b feat(Scripts/Commands): Item restoration command (#9538)
* Implement item restore command & move itemmove to new item cmd

* Implement LANG_COMMAND_DISABLED

* Prevent command usage if no config is set

* WIP: `.item restore list`

* Fix restore list & create base for restore item

* Send item to player via mail

* Put player as last argument

* Use Postmaster & fix restore list

* Show item name in restore list

* Update HandleItemMoveCommand to be using the api

Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>

* Send item instantly if online
2021-12-08 23:57:15 -03:00
UltraNix
2cab3258bb 1st commit 2021-12-06 11:16:04 +01:00
Skjalf
2187470df7 refactor(Scripts/Commands): Update cs_quest to the new model (#9267) 2021-11-24 01:21:16 -03:00
acidmanifesto
93bbff4cca feat(Core/SAI): Wp table add in orientation and delay collumn (#8927)
ADD (Core) Wp table add in orientation and delay collumn
TC Cherry pick of TrinityCore/TrinityCore@4b7d19c
2021-11-06 08:43:45 -03:00
IntelligentQuantum
668a86762b refactor(Scripts/Commands): Convert cs_character to new system (#8768) 2021-10-30 09:04:39 -03:00
Skjalf
9c0894ab4a fix(Core/DB): Unrestrict the amount of mails loaded (#8687)
Partially reverts d5bb6ba1c4
2021-10-24 17:15:11 +02:00
Skjalf
f96b027ffd fix(Core/Mail): load mails on login instead of when requested (#8065) 2021-10-10 17:15:24 +02:00
Skjalf
9330df59da fix(Core/Mails): mails containing items not being returned if they were read and ensure mails sent by GMs are not returned (#8095) 2021-10-04 15:45:33 +02: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
UltraNix
26f1aaa0c8 fix(Core/Players): Properly save resting state to DB. (#8014)
Fixes #7782
2021-09-25 18:16:10 +02:00
UltraNix
7406a01ac3 fix(Core/Spells): several improvements to cooldowns (#7559)
- Reworked spell category cooldowns.
- Implemented category cooldowns for pets.
- Properly shows pet spell cooldowns in player's UI.
- Corrected pet spell cooldowns with infinity duration.
- Do not add/remove infinity spell cooldown on aura apply/remove if casted by item.
- Closes #5263
2021-09-13 20:57:48 +02:00
IntelligentQuantum
e6143a1efd feat(Core/Commands): Gear (#7717) 2021-09-12 12:19:14 +02:00
Shiroe
2f63e81a94 feat(Core/DB): Add Creature ExperienceModifier (#7095) 2021-07-30 07:56:42 +02:00
UltraNix
270f7bf506 fix(Core/Items): items with charges should not remove on item unequip its … (#7064)
- Closes #5716
2021-07-25 03:36:40 +02:00
robinsch
a3e3fd029f fix(Core/Item): prevent possible items dupe (#6943) 2021-07-21 12:05:12 +02:00
Kargatum
8568c4fb33 feat(Core): replace ACE network with Boost.Asio (#6574) 2021-07-16 10:43:56 +02:00
Shiroe
f8c8e98a0a feat(Core): port aggro distance from vMaNGOS (#6214)
Read detection_range values from creature_template
2021-07-08 18:01:27 +02:00
Axel Cocat
c6173e88bd feat: reorder character selection screen (#6555)
* feat: reorder character selection screen
2021-06-30 20:08:06 +02:00
Francesco Borzì
36140d0055 fix(Core/CharacterDatabase): bad query in prepared statement (#6630) 2021-06-29 00:41:21 +02:00
Axel Cocat
f1727b79d2 fix(Core): fix ip bans (#6519) 2021-06-28 18:02:19 +02:00
UltraNix
a9b2ddba7a fix(Core/Mail): cleanup pending auction sale mail (#6022) 2021-06-23 12:46:48 +02:00
Kargatum
9ac6fddcae feat(Core/Database): port TrinityCore database API (#5611) 2021-06-22 06:21:07 +02:00
Axel Cocat
848bb0891b feat(Core): add argument to .character rename to add name to reserved_name (#6163) 2021-06-18 17:09:29 +02:00
UltraNix
289f140ab1 fix(Core/Loot): Fixed loading conditioned item loot. (#6337)
- Fixes #6326
2021-06-18 17:07:24 +02:00
Kargatum
3da83cc0e6 feat(Common/IPLocation): replace ip2nation by ip2location (#5653) 2021-06-17 22:02:08 +02:00
UltraNix
6dacfc0717 fix(Core/Loot): properly save and load from DB loot from items (#6151)
- Closes #5472
- Closes https://github.com/chromiecraft/chromiecraft/issues/456
2021-06-08 19:26:34 +02:00
Francesco Borzì
aab32e5f30 feat(TOTP): use feature toggle via authserver.conf (#5978)
* Revert "Revert "feat(Core/Auth): add AccountInfo helper (#5640)" (#5971)"

This reverts commit fe6db2ff96.

* feat(TOTP): use feature toggle via authserver.conf

* chore(wip): wip

* Update src/server/authserver/authserver.conf.dist

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2021-05-21 09:56:52 +02:00