Commit Graph

739 Commits

Author SHA1 Message Date
天鹿
40a5eef152 refactor(Core/Instances): Update CHAR_DELETE_INSTANCE_SAVED_DATA (#11866)
* Update InstanceSaveMgr.cpp

* Update Group.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update InstanceSaveMgr.cpp

* Update Group.cpp

* Update PlayerMisc.cpp

* Update InstanceSaveMgr.h

* Update Group.cpp

* Update PlayerMisc.cpp

* Update Group.cpp

* Update Group.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.h

* Update Group.h

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.cpp

* Update InstanceSaveMgr.cpp
2022-05-30 15:27:50 -03:00
UltraNix
a0da7417a0 fix(Core/Units): Clear any movement on charm - vol. 2. (#11897)
* fix(Core/Units): Clear any movement on charm - vol. 2.

Fixes #11880

* Update.
2022-05-30 04:19:53 -03:00
UltraNix
b66586c1d7 fix(Core/Spells): Fixed players being able to mount with all transfor… (#11767)
…m auras.

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-05-25 04:56:35 -03: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
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
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
Maelthyr
c5368816fa Core/Combat: rename getThreatMgr() to GetThreatMgr() (#11758) 2022-05-18 05:36: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
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
acidmanifesto
11f151a962 fix (core): Prevent Forced UpdateObjectVisibility Before in World (#11730)
fix (Core): Prevent Forced UpdateObjectVisibility Before in World

TC Cherry Pick: 38dc5667ba

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
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 (230f40f359)

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
UltraNix
aeb260c3cc fix(Core/Guardian): Crashfix. (#11659) 2022-05-07 10:35:19 +02: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
UltraNix
3c1e76e55d fix(Core/Duel): Player during duel countdown is not a valid attack target. (#11509) 2022-05-03 02:36:03 -03:00
UltraNix
8900cab657 fix(Core/Minions): Crashfix. (#11592) 2022-05-01 10:28:20 +02:00
UltraNix
35596b0b01 fix(Core/Battlegrounds): Remove all DoTs when exiting battleground. (#11517)
Fixes #11332
2022-04-27 15:12:33 +02:00
SilentCLD
ffa2f071bc fix(Core/Wintergrasp): Reimplement Wintergrasp quests and fix vendors (#11533) 2022-04-25 18:20:10 -03:00
UltraNix
898eabe6dd fix(Core): Restored code about shared visions removed in d504a62. (#11493)
Fixes #11368
2022-04-25 09:26:32 -03:00
UltraNix
54ebdfcfc1 fix(Core/Formations): Implemented GROUP_AI_FLAG_RESPAWN_ON_EVADE flag. (#11512)
Fixes #11364
2022-04-25 09:24:46 -03:00
Skjalf
d8d0d5a5e4 feat(Core/Creature): Implement ModifyThreatPercentTemp() function (#11521)
* feat(Core/Creature): Implement ModifyThreatTemporary function

* feat(Core/Creature): Implement ModifyThreatPercentTemp() function

* fix build
2022-04-24 22:48:37 -03:00
UltraNix
a57aecbf8c fix(Scripts/Spells): Improvements to Brood Power: Bronze: (#11499)
Brood Power bronze affects only one target.
Death Talon Wyrmguard gain the Brood Power aura only once per lifetime.
Fixes #11448
2022-04-24 03:25:07 -03:00
UltraNix
34c8f9a020 fix(Core/Spells): Fixed some damage overflows during resilience calculations. (#11497) 2022-04-24 00:39:21 -03:00
Kitzunu
8d3c183345 fix(Core/Player): null crash in RemovePet() (#11464)
* closes https://github.com/azerothcore/azerothcore-wotlk/issues/11331
2022-04-23 11:33:44 -03:00
UltraNix
d6c95b4db8 fix(Core/Pets): Handle health-aurastates on pet loading. (#11491)
Fixes #11481
2022-04-23 11:32:46 -03:00
Kitzunu
c55c4aa015 feat(Core/Creature): CREATURE_FLAG_EXTRA_MODULE (#11445)
* feat(Core/Creature): CREATURE_FLAG_EXTRA_MODULE

* Update CreatureData.h

* Update CreatureData.h

* Update CreatureData.h

* Update enuminfo_CreatureData.cpp

* Update enuminfo_CreatureData.cpp

* Update enuminfo_CreatureData.cpp

Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
2022-04-23 16:22:17 +02:00
acidmanifesto
4ec69ba3ed fix (core): inhabit CanSwim revert (#11475) 2022-04-22 09:34:37 -04:00
acidmanifesto
f2de895921 fix(core): Null check the helpers (#11476)
* fix (core): move helper

* Update Spell.cpp

* Update Unit.cpp
2022-04-22 10:11:06 -03:00
Kitzunu
1501445b0a chore(Core/Misc): nullptr cleanup (#11467) 2022-04-21 19:17:20 +02:00
acidmanifesto
eb91bbfc56 feat (core): another helper implemented (#11469) 2022-04-21 13:15:11 -04:00
acidmanifesto
d38b6ce0db Feat: (core) Additional Helper (#11457)
* Feat: (core) Additional Helper
2022-04-21 06:06:22 -04:00
acidmanifesto
93a8d4fb63 fix (core) Remove not need operator || (#11425)
Since the mysterous why things evade in shallow water root issue was finally determined because of our shallow water calculations was wrong that was corrected by pr https://github.com/azerothcore/azerothcore-wotlk/pull/11419 we can now remove this operator
2022-04-17 13:24:15 -04:00
IntelligentQuantum
659775548f feat(Core/SmartScripts): Add an action_param3 to "summon gob" to control when the object will despawn (#10254)
* cherry-pick commit (TrinityCore/TrinityCore@ca4f1e3)
2022-04-17 03:48:22 +02:00
acidmanifesto
db360f0cfb Fix (Core\DB) Hostil to Hostile spelling fix (#11399)
* Fix (Core) Hostil to Hostile spelling fix

* sql cmd adjustment as well

* AliGnZ

* Further Hostil to Hostile Correction

Per @Si1ker  Research via https://github.com/azerothcore/azerothcore-wotlk/pull/11399#issuecomment-1099506373
2022-04-16 11:00:38 -04:00
UltraNix
5a9bf21cd8 fix(Core/Spells): Implemented spell priorities. (#11278)
* fix(Core/Spells): Implemented spell priorities.

Fixes #11261

* Update.

* Update.

* Update.
2022-04-16 15:28:24 +02:00
UltraNix
13993a0b5b fix(Core/Units): Stop melee attacking victim if being charmed by non-friendly target. (#11353)
Fixes #11316
2022-04-16 14:45:16 +02:00
UltraNix
b7c8c09920 fix(Core/Quests): Fixed displaying correct quest marks for autocomplete/repeatable/daily completed quests. (#11349)
Fixes #11237
2022-04-15 11:47:13 -03:00
IntelligentQuantum
ab4ee71762 feat(Core/Maps): AreaBoundary (#10525)
* cherry-picked commit (2da458c56d)
2022-04-15 14:10:41 +02:00
Bogir[rus]
d723352207 fix(Core/Player): corrected HasUnitFlag usage (#11321) 2022-04-11 06:11:37 -03:00
UltraNix
47790c9714 fix(Core/Vmaps): Stop M2s from occluding for spellcast LoS. Original autho… (#11341)
* Core/Vmaps: Stop M2s from occluding for spellcast LoS. Original authors: @Shauren & @HelloKitty

Fixes #11293

* buildfix.

Co-Authored-By: HelloKitty <5829095+HelloKitty@users.noreply.github.com>
2022-04-10 09:24:35 -03:00
Kitzunu
b709a22ddc feat(Core/Players): PlayerFlag helpers (#11294)
* feat(Core/Players): PlayerFlag helpers

* Update Player.h

* fix build
2022-04-05 18:53:50 +02:00
Kitzunu
b41967a067 feat(Core/GameObject): Gob flag helpers (#11287) 2022-04-05 13:52:58 +02:00
Kitzunu
edb7cac19b feat(Core/Unit): NPCFlags helpers (#11286)
* cherry-pick commit (TrinityCore/TrinityCore@d611925)
Co-Authored-By: Shauren <shauren.trinity@gmail.com>
2022-04-05 13:52:42 +02:00
UltraNix
ff654397e8 fix(Core/Creatures): Properly reset encounter if boss despawns on evade. (#11251)
Fixes #8167
2022-04-02 11:46:27 -03:00
Kitzunu
285504e79d fix(Core/Object): Fix WorldObject::SetZoneScript unsafe cast to InstanceMap (#11226)
* cherry-pick commit (e9992066a5)

Co-Authored-By: HelloKitty <5829095+HelloKitty@users.noreply.github.com>

Co-authored-by: HelloKitty <5829095+HelloKitty@users.noreply.github.com>
2022-04-01 19:37:56 -03:00
Kitzunu
535c7451a2 feat(Core/Unit): New helpers for DynamicFlags (#11230)
* feat(Core/Unit): New helpers for DynamicFlags

* cherry-pick commit (d611925dc7)

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

* oopsie

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-04-01 07:14:29 -03:00