Commit Graph

387 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
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 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
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
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
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
Kitzunu 1501445b0a chore(Core/Misc): nullptr cleanup (#11467) 2022-04-21 19:17:20 +02: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 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
Bogir[rus] d723352207 fix(Core/Player): corrected HasUnitFlag usage (#11321) 2022-04-11 06:11:37 -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 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
Kitzunu 535c7451a2 feat(Core/Unit): New helpers for DynamicFlags (#11230)
* feat(Core/Unit): New helpers for DynamicFlags

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

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
UltraNix 14edda6c90 fix(Core/Players): Fixed setting player's zone id to unknown value. (#10996)
* fix(Core/Players): Fixed setting player's zone id to unknown value.

Fixed #10945

* Update.

* Update.
2022-04-01 06:59:12 -03:00
Kitzunu 856aed6fc6 feat(Core/Unit): New helpers for UnitFlag and UnitFlag2 (#11227) 2022-03-30 07:59:42 -03:00
Skjalf fed66a3429 chore(Core/Player): clarify a gossip error about invalid OptionType (#11173) 2022-03-28 19:10:22 -03:00
UltraNix 9c0c925433 fix(Core/Combat): Improved extra attacks handling. Author: @trickerer (#11169)
Fixes #9423
Fixes #11138
2022-03-27 11:08:18 -04:00
IntelligentQuantum a5cb274222 Core/Packet: MIRROR_TIMER (#10885) 2022-03-27 01:19:26 -03:00
ZhengPeiRu21 44b7a0666c feat(Scripting/Hooks): implement OnQuestComputeXP() hook (#10934) 2022-03-24 10:27:15 +01:00
IntelligentQuantum 6a6d0e5907 feat(Core/Packet): SMSG_DURABILITY_DAMAGE_DEATH (#10894) 2022-03-23 13:35:30 +01:00
IntelligentQuantum 86e438a1e7 Core/Packet: SMSG_LEVELUP_INFO (#10884) 2022-03-21 04:43:45 +07:00
UltraNix e5f9c8c0af fix(Core/Mails): Do not load expired mails from database. (#10917) 2022-03-18 18:13:17 -03:00
UltraNix 76b72b3631 feat(Core/Chat): Fixed feature to prevent horde and alliance players to chat with each other via custom emotes. (#11000)
Fixes #10600
2022-03-17 20:11:08 +07:00
Kargatum 78bdc89881 feat(Core/Battleground): rework bg queue system (#10817) 2022-03-15 14:36:49 -03:00
IntelligentQuantum 7ad65752fa feat(Core/Maps): Improvements to Cinematic function (#10765) 2022-03-11 08:21:54 +01:00
IntelligentQuantum 8eeb6ef1b7 feat(Core/Packet): SMSG_CROSSED_INEBRIATION_THRESHOLD (#10893) 2022-03-06 15:49:55 -05:00
IntelligentQuantum 029b79ecce feat(Core/Players): do not update position data on character creation 2022-03-06 15:45:49 -05:00
UltraNix 617d85a498 fix(Core/Movement): Send proper movement animation visuals. (#10843)
Fixed #10812
Fixed #10814
2022-03-06 12:31:41 -05:00
Kitzunu d927ce6fac feat(Core/Creature): Implement quest_greetings table (#10526)
* cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/6dda09818d32fc715549cda3e8bd6fa806425b27)

Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
Co-Authored-By: Giacomo Pozzoni <giacomopoz@gmail.com>
2022-03-06 18:19:08 +01:00
Kargatum acd3ed8759 fix(Core/Player): fix pet not appearing after dismount for warlock (#10899) 2022-03-05 04:54:54 -03:00
UltraNix 73957b95f6 fix(Core/Mail): do not show expired mails in packets (#10560)
Fixed #5920
2022-03-01 13:57:37 +01:00
UltraNix 1366838a05 fix(DB/Creatures): Nat Pagle should display vendor icon if player completed Nat's Measuring Tap quest. (#10657)
Moved c++ script to DB. Original author: @offl
Fixes #10559
2022-02-17 01:13:39 +01:00
Kitzunu 3501ceb710 refactor(Core/DB/playercreateinfo_spell_custom): Load empty (#10595) 2022-02-14 20:21:56 +01:00
Kitzunu 455899dc75 fix(Core/Misc): Change const to be after type name (#10591) 2022-02-14 16:05:45 -03:00
UltraNix 89deb60d43 fix(Core/Spells): Flasks should not be overridden by elixirs. (#10301)
* fix(Core/Spells): Flasks should not be overridden by elixirs.
2022-02-12 15:51:27 +01:00
Kitzunu ead906c58f refactor(Core/Packets): Rewrite MSG_RANDOM_ROLL to new packet class (#10590)
* refactor(Core/Packets): Rewrite MSG_RANDOM_ROLL

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

Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
Co-Authored-By: DJScias <439655+DJScias@users.noreply.github.com>

* handle crash check in DoRandomRoll()

* Update MiscPackets.h

* Update Player.h

Co-authored-by: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
Co-authored-by: DJScias <439655+DJScias@users.noreply.github.com>
2022-02-11 10:30:49 +01:00
Kitzunu 210029095a fix(Core/GameObjects): Do not allow players to interact with gobs that use "Point" icon (#9800)
- cherry-pick commit (https://github.com/TrinityCore/TrinityCore/commit/c52c0f0b7dbab9ff5f97426f1f742cb7cbe0732b)

- This was confirmed in sniffs, see TrinityCore/TrinityCore@c52c0f0#commitcomment-34342342

Co-Authored-By: Wyrserth <43747507+Wyrserth@users.noreply.github.com>
2022-02-10 14:50:33 +01:00
acidmanifesto c50f7feda0 feat (core): Add Teleport Helpers (#10611)
* feat (core): Add Teleport Helpers

* Lower case the things
2022-02-09 20:54:46 -05:00
Skjalf fb890b3310 feat(Core/Player): Implement option to convert excess honor points int… (#10565) 2022-02-09 18:04:56 -03:00
Kargatum 11006041ac fix(Core/Build): macOS build (part 1) (#10549) 2022-02-08 11:21:17 +01:00
UltraNix 0b02ba87fc fix(Core/Reputations): Faction rep gained by killing mobs is now prop… (#9737)
* fix(Core/Reputations): Faction rep gained by killing mobs is now properly rounded up.

Do not increase reputation rank if exceeds max rank cap.
Fixes #8718
2022-02-05 07:37:00 -03:00
Kargatum de13bf426e feat(Core/DBLayer): replace char const* to std::string_view (#10211)
* feat(Core/DBLayer): replace `char const*` to `std::string_view`

* CString

* 1

* chore(Core/Misc): code cleanup

* cl

* db fix

* fmt style sql

* to fmt

* py

* del old

* 1

* 2

* 3

* 1

* 1
2022-02-05 00:37:11 +01:00
Skjalf c45c23ffe7 fix(Core/Player): Align SaveSeasonQuestStatus() with TrinityCore (#10503) 2022-02-02 21:14:02 -03:00
Kargatum 5969df4e30 refactor(Core/Logging): switch to fmt style for LOG_ (#10366)
* feat(Core/Common): add support fmt style for ASSERT and ABORT

* correct CheckCompactArrayMaskOverflow

* 1

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

* rework logging

* add fmt replace logs

* logging

* FMT_LOG_

* settings

* fix startup

* 1

* 2

* 3

* 4

* 5

* fmt::print

* to fmt
2022-01-27 16:44:41 +01:00
Kargatum 8b7df23f06 feat(Core/Time): Implement saparated manager for game time (#8630) 2022-01-24 17:55:00 +07:00
IntelligentQuantum 75fc2d1b2d fix(Scripts/Commands): quest complate kill reward (#9926) 2022-01-24 09:22:40 +01:00