Commit Graph

1878 Commits

Author SHA1 Message Date
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
ZhengPeiRu21 882359297d Merge branch 'azerothcore:master' into Playerbot 2022-05-23 09:04:16 -06:00
UltraNix b638d44693 fix(Core/Units): Clear any movement on charm. (#11826)
Fixes #10343
2022-05-23 06:04:27 -03:00
Maelthyr dfc6adb081 refactor(Core/Combat): DeleteThreatLists() become ClearAllThreat() (#11824)
refactor(Chore/Combat): DeleteThreatLists() become ClearAllThreat()
2022-05-23 05:51:52 -03:00
UltraNix 55720eedd3 fix(Scripts/Spells): Sweeping Strikes - improvements. (#11666)
* fix(Scripts/Spells): Sweeping Strikes - improvements.

Fixes #11594

* Buildfix.
2022-05-23 05:49:56 -03:00
UltraNix bcfaf2daad fix(Scripts/Spells): Replenishment should proc off from Vampiric Touc… (#11772)
* fix(Scripts/Spells): Replenishment should proc off from Vampiric Touch even if target died from Mind Blast.

Fixes #8502

* Update.
2022-05-23 05:45:01 -03:00
UltraNix 914ea4f9c3 fix(Core/Items): Properly transfer enchantment durations from old to … (#11828)
fix(Core/Items): Properly transfer enchantment durations from old to newly created/summoned items.

Fixes #11687
2022-05-23 04:27:53 -03:00
UltraNix 99f1cd84e2 fix(Core/Spells): Improvements to Far Sight spell: (#11683)
* fix(Core/Spells): Improvements to Far Sight spell:

Far Sight should not interrupt while casting another spell.
Corrected setting Far Sight object as an active object.
Fixed grid activation range for active dynamic objects.
When Far Sight is over, the camera be reset to player.
Enable swapping camera between Far Sight and Sentry Totem.
Fixes #6368

* Update.

* Update.
2022-05-23 04:26:51 -03:00
UltraNix 0c209dae75 fix(Core): Crashfix. (#11821) 2022-05-23 04:25:55 -03:00
ZhengPeiRu21 0d42597ba3 Merge branch 'azerothcore:master' into Playerbot 2022-05-22 12:08:05 -06:00
Kitzunu 90fccacad5 feat(Core/Movement): Allow waypoints to use 0 as valid facing value (#11681)
* feat(Core/Movement): Allow waypoints to use 0 as valid facing value

* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/4747515872775553de35cc3267e1ccd5e0076ca4)

Co-Authored-By: Ovah <18347559+Ovahlord@users.noreply.github.com>

* Update SmartScriptMgr.h

* a

* Update SmartAI.cpp

* Update SmartAI.cpp

* Update SmartAI.cpp

* typo

* Update SmartAI.cpp

* Update SmartAI.cpp

* Compile fix

* compile #2

* Update WaypointMgr.h

* Update SmartScriptMgr.h

* compile fix again

Co-authored-by: Ovah <18347559+Ovahlord@users.noreply.github.com>
Co-authored-by: MDIC <joshua.lee.betts@gmail.com>
2022-05-21 23:42:41 +02:00
ZhengPeiRu21 34b332b51b Merge branch 'azerothcore:master' into Playerbot 2022-05-19 12:55:28 -06:00
Maelthyr c5368816fa Core/Combat: rename getThreatMgr() to GetThreatMgr() (#11758) 2022-05-18 05:36:57 -03:00
UltraNix 8c058791ed fix(Core/Spells): Windfury, Flametongue, Healing Stream, Cleansing … (#11761)
...and Mana Tide totems should be affected by shaman T1 3p bonus.
2022-05-18 05:08:57 -03:00
Charlton Lau 3c9b56438e fix(Core/Spell): Enslaved Demon does not auto-attack/auto-cast (#11677) 2022-05-18 04:59:39 -03:00
UltraNix 6a8180e3fd fix(Core/Spells): The Earthshatterer 8/9 set bonus should be removed … (#11757)
…along with Lightning Shield removal.
2022-05-18 04:50:52 -03:00
ZhengPeiRu21 cc94955bb2 Merge branch 'azerothcore:master' into Playerbot 2022-05-17 11:00:13 -06:00
Maelthyr 5ede1177c5 refactor(Core/Combat): implement compatiblity layer for ResetAllThreat() (#11778)
* implement ResetAllThreat()

* .
2022-05-17 12:01:25 -03:00
UltraNix 82ae30d4ed fix(Core/Spells): Priest with Spirit of Redemption should be immediat… (#11771)
fix(Core/Spells): Priest with Spirit of Redemption should be immediately killed when fall into abyss.

Fixes #3777
2022-05-17 10:01:11 -03:00
UltraNix 4675f21867 fix(Core): Crashfix. (#11741) 2022-05-17 06:37:48 +02:00
郑佩茹 9a6c789f1a Add missing override annotation to GetPlayerbotsDBRevision 2022-05-16 13:16:03 -06:00
ZhengPeiRu21 26595bd2d9 Merge branch 'azerothcore:master' into Playerbot 2022-05-16 13:11:42 -06:00
UltraNix 7d3809330b fix(DB/Quest): Fixed quest "Krolmir, Hammer of Storms". (#11742)
Fixes #11728
2022-05-16 12:07:55 -03:00
acidmanifesto e60b953a7a add (core): Additional Helper (#11731)
Anticheat Helper for knock back
2022-05-13 13:16:36 -04:00
acidmanifesto 11f151a962 fix (core): Prevent Forced UpdateObjectVisibility Before in World (#11730)
fix (Core): Prevent Forced UpdateObjectVisibility Before in World

TC Cherry Pick: https://github.com/TrinityCore/TrinityCore/commit/38dc5667ba13d5c1d094330b0f57ba0ee9b2dde5

Co-Authored-By: Shauren <shauren.trinity@gmail.com>
Co-Authored-By: Jurgis <326232+chemicstry@users.noreply.github.com>

Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: Jurgis <326232+chemicstry@users.noreply.github.com>
2022-05-13 13:02:43 -04:00
ZhengPeiRu21 6b57ea8223 Merge branch 'azerothcore:master' into Playerbot 2022-05-12 09:41:56 -06:00
天鹿 0c0a2eac3b fix (core): Build Fix (#11723)
* Update Spell.cpp
2022-05-12 10:43:07 -04:00
Skjalf b658ba582e feat(Core/Map): Allow disabling the blizzlike PvP line of sight checks (#11692) 2022-05-11 13:06:56 -03:00
UltraNix 930db5d2ae fix(Core/Spells): Everlasting Affliction should be considered as shad… (#11678)
…ow spell.
2022-05-11 03:26:19 -03:00
UltraNix 0d4adf5a3e fix(Core/Spells): Blink. (#11663)
* fix(Core/Spells): Blink.

Fixes #6427
Fixes #7571

* Update.
2022-05-10 22:37:53 +02:00
Kitzunu 763a521da8 fix(Core/PacketIO): Stop WorldSession packet processing loop immediat… (#11680)
* fix(Core/PacketIO): Stop WorldSession packet processing loop immediately when AntiDOS kicks/bans the player

* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/0d0cb23a634a37e2d679a5b8ec2e078d20def66a)

Co-Authored-By: Shauren <shauren.trinity@gmail.com>

* Update WorldSession.cpp

* Update src/server/game/Server/WorldSession.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-05-10 17:17:07 +02:00
UltraNix 27fe28083c fix(Core/Spells): Fixed rank 6 of Flametongue Weapon. (#11689)
Fixes #8351
2022-05-10 17:02:45 +02:00
ZhengPeiRu21 0053ac67d9 Merge branch 'azerothcore:master' into Playerbot 2022-05-10 08:46:47 -06:00
天鹿 32b7531295 fix(Scripts/Spells) charge Auto attack (#11693)
* Update MotionMaster.h

* Update MotionMaster.cpp

* Update SpellEffects.cpp

* Update MotionMaster.cpp

* Update MotionMaster.h

* Update MotionMaster.cpp

* Update MotionMaster.h

* Update SpellEffects.cpp

* Update Spell.cpp

* Update Spell.cpp

* Update SpellEffects.cpp
2022-05-10 08:21:43 +02:00
IntelligentQuantum a31a30566e feat(Tools/Mapextractor): Implemented liquid object detection (#11402)
* .

* .

* .

* .

* .

* .

* .

* Delete Utils.cpp
2022-05-08 23:38:22 +02:00
UltraNix 933bf7b633 refactor(Core/Movement): Rewritten fleeing movement generator. Source: TrinityCore. (#11586)
* fix(Core/Movement: Rewritten fleeing movement generator.

Fixes #5980
Fixes #9314

* Update.
2022-05-08 23:35:40 +02:00
avarishd 4ce3515c60 fix(Core/Spells): Allow spells with SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET attribute to go through deterrence. (#11644)
* Update settings.json

* Revert "Update settings.json"

This reverts commit 1f6724477db4cff361c800b858d3bc1a6d11d6bb.

* detter
2022-05-08 23:19:39 +02:00
Kitzunu 969cb68c35 fix(Core/Auras): INVISIBILITY_UNK10 also applies the flag PLAYER_FIELD_BYTE… (#11588)
* ore/Auras: INVISIBILITY_UNK10 also applies the flag PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW

* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/230f40f359c80b102f344ed55adc12f246a97051)

Co-Authored-By: Meji <2695278+meji46@users.noreply.github.com>

* Update Object.h

* Update Object.h

Co-authored-by: Meji <2695278+meji46@users.noreply.github.com>
2022-05-08 23:10:10 +02:00
Kitzunu 33f6486180 fix(Core/ItemHandler): fix selling items over gold limit (#11673)
* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/d0b8fb87f29c6fe5a100c4f1f85cad2b349d9619)

Co-Authored-By: okfok <44704482+okfok@users.noreply.github.com>

Co-authored-by: okfok <44704482+okfok@users.noreply.github.com>
2022-05-08 10:42:35 +02:00
Kitzunu ca0de49df2 fix(Core/Spells): Paladin's Judgements can be applied on different targets at the same time (#11672)
* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/4bff22385195428425251ff351d9207fafbde85b)

Co-Authored-By: Gildor <521036+Jildor@users.noreply.github.com>

Co-authored-by: Gildor <521036+Jildor@users.noreply.github.com>
2022-05-08 10:42:10 +02:00
UltraNix 56982f9eba fix(DB/Quest): Krolmir, Hammer of Storms. (#11661)
* fix(DB/Quest): Krolmir, Hammer of Storms.

Fixes #11637

* Buildfix.

* Update src/server/game/Spells/SpellInfoCorrections.cpp

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

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-05-08 10:19:26 +02:00
UltraNix aeb260c3cc fix(Core/Guardian): Crashfix. (#11659) 2022-05-07 10:35:19 +02:00
ZhengPeiRu21 c2efd301b5 Merge branch 'azerothcore:master' into Playerbot 2022-05-06 16:13:01 -06:00
Kitzunu 2e13ad75e2 refactor(Core/Spells): make DoCast functions use SpellCastResult (#11546)
* refactor(Core/Spells): make DoCast use SpellCastResult

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update UnitAI.cpp

* Update UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.cpp

* Update src/server/game/AI/CoreAI/UnitAI.h
2022-05-06 00:43:27 -03:00
Tralenor 6cf82e3bd6 feat(Core/DB): Add Hooks On creature/game object save to db (#11246)
* implement OnCreatureSaveToDB and OnGameObjectSaveToDB Hooks

* fix Whitespaces in ScriptMgr.h

Co-authored-by: Timothée Moos <t1997.m@gmx.net>
2022-05-06 00:42:49 -03:00
ZhengPeiRu21 c6df5eae3a Merge branch 'azerothcore:master' into Playerbot 2022-05-04 10:47:16 -06:00
UltraNix 3c1e76e55d fix(Core/Duel): Player during duel countdown is not a valid attack target. (#11509) 2022-05-03 02:36:03 -03:00
郑佩茹 0326d8576d Merge branch 'master' into Playerbot
# Conflicts:
#	src/server/game/World/IWorld.h
#	src/server/game/World/World.cpp
#	src/server/game/World/World.h
#	src/server/scripts/Commands/cs_server.cpp
2022-05-02 16:39:21 -06:00
acidmanifesto cc6528ad7b Fix (core) water level and ground level correction (#11552)
We do not need to excessively have ground level be -2 below the player when underwater. ground level is ground level. no need for a lower adjustment. Most likely left over from from when the shallow water calculations was wrong entirely that lead to false hits with water walking detection due to core side calculations.
2022-05-01 08:44:03 -04:00
UltraNix 8900cab657 fix(Core/Minions): Crashfix. (#11592) 2022-05-01 10:28:20 +02:00