Commit Graph

149 Commits

Author SHA1 Message Date
ZhengPeiRu21
3ab6d3cb37 Merge branch 'azerothcore:master' into Playerbot 2022-06-16 10:04:30 -06:00
Nefertumm
396fd35ed5 fix(Core/Spells): Implement SPELL_EFFECT_ACTIVATE_OBJECT (#11648)
Co-authored-by: jackpoz <giacomopoz@gmail.com>
2022-06-13 21:10:31 -03:00
郑佩茹
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
ZhengPeiRu21
84b794ab38 Merge branch 'azerothcore:master' into Playerbot 2022-04-25 08:58:13 -06: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
ZhengPeiRu21
8b0ef0b5a0 Merge branch 'azerothcore:master' into Playerbot 2022-04-22 09:13:49 -06:00
Kitzunu
1501445b0a chore(Core/Misc): nullptr cleanup (#11467) 2022-04-21 19:17:20 +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
ZhengPeiRu21
7d7e66cbe4 Merge branch 'azerothcore:master' into Playerbot 2022-03-25 10:48:58 -06:00
UltraNix
f0eb6d36a3 fix(Core/Handlers): Faction Change service properly reset and give ne… (#9729)
Fixes #7981
Fixes #8732
2022-03-25 11:45:07 +01: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
UltraNix
12d41d1314 Big update. 2022-03-12 22:28:00 +01:00
Bogir[rus]
75439773d0 fix and bringing to a unified style warnings of server loading logs to be more visible at server startup (#10970) 2022-03-12 04:57:26 -03:00
Bogir[rus]
e05cfe5737 fix (Console): count of Broadcast Text Locales shown by logger on server start (#10942) 2022-03-09 08:11:08 -05:00
Kitzunu
d927ce6fac feat(Core/Creature): Implement quest_greetings table (#10526)
* cherry-pick commit (6dda09818d)

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
UltraNix
73957b95f6 fix(Core/Mail): do not show expired mails in packets (#10560)
Fixed #5920
2022-03-01 13:57:37 +01:00
acidmanifesto
69e2f2e3aa fix/feat: (Core/PacketIO): updated sound and creature addon (#10813)
* fix\feat: (Core/PacketIO): updated sound and creature addon

updated SMSG_PLAY_SOUND, SMSG_PLAY_MUSIC and SMSG_PLAY_OBJECT_SOUND via tc cherry pick
https://github.com/TrinityCore/TrinityCore/pull/2363 and 0f1f7ef401 by @joschiwald  and @ForesterDev
This so far a attempt to align atleast with sound with tc, and correct a potentional issue of hearing creature sounds that is not in visible range. I notice PlaySound was being defined in some weird dependency as it isnt with tc so I renamed it to Playsound. Notice a isLarge still being used in the creature addon when it was depreciated, so i removed that a that seem to of interfered with visibilitydistanceType.

Co-Authored-By: joschiwald <736792+joschiwald@users.noreply.github.com>
Co-Authored-By: ForesterDev <11771800+ForesterDev@users.noreply.github.com>
2022-02-26 10:05:58 -05:00
Kitzunu
455899dc75 fix(Core/Misc): Change const to be after type name (#10591) 2022-02-14 16:05:45 -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
Bogir[rus]
0b4d483783 feat(Core/Conf): handle custom creatures IDs and exclude them from checks (#10367) 2022-02-04 17:52:23 +01: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
Nefertumm
75951926e6 feat(Core/Logs): Improve logs for linked_respawn (#10202) 2022-01-27 08:35:44 -03:00
Bogir[rus]
1f93f0c9d6 fix(Core/Logs): fixed wrong decription of error during server startup
The Logger was pointing to the wrong table. Text is missing not in broadcast_text_locale, but in broadcast_text.
2022-01-24 12:55:33 -03:00
Kargatum
8b7df23f06 feat(Core/Time): Implement saparated manager for game time (#8630) 2022-01-24 17:55:00 +07:00
Francesco Borzì
abc56842c4 refactor(Core): remove unused imports (#10296) 2022-01-22 11:21:35 +01:00
Kargatum
6d7f58e6ed feat(Core/Common): delete old Tokenizer (#10121) 2022-01-21 14:59:05 +07:00
Kitzunu
dd15fa706d feat(Core/DB/Creature): Throw error if npcflag and gossip_menu_id is not c… (#9665)
* feat(DB/Creature): Throw error if npcflag and gossip_menu_id is not combined

*cherry-pick commit (a513922fc1)

* test

* Update ObjectMgr.cpp

* codestyle

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

Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>

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

Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
2022-01-20 06:50:18 -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
Kitzunu
2ff4e85578 fix(DB/broadcast_text): align some column names (#10090) 2022-01-13 15:20:20 +01: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
acidmanifesto
3cbe23865f fix (Core/Creature): Random Gender on respawn if Gender exsist for Entry (#10108)
* Fix (Core\Creature): Random Gender on respawn if Gender exsrespawn

If creature has genders it will consider gender changing on respawn.
GetCreatureModelInfo to const

* Update Creature.cpp
2022-01-10 10:22:04 -05: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
Kitzunu
ac99eb48e1 refactor(Core/Misc): abs() to std::abs() (#9789) 2021-12-31 19:29:39 -03:00
Kitzunu
8f707fbf34 fix(Core/Load): Comment continue (#9836) 2021-12-21 19:22:06 -03:00
acidmanifesto
800c28b8c2 fix(Core/Creature): Remove empty spell ids from CreatureAddon.auras vector (#9783) 2021-12-19 14:12:08 -03:00
Kitzunu
8e1e305e8d feat(Core/Creature): Log temporary auras on creatures (#9670)
* cherry-pick commit (54f9456764)

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2021-12-17 18:07:18 +01:00
UltraNix
0f83d52f43 fix(Core/Trainers): add new column ReqSpell to npc_trainer table (#9490)
Prevent learning gnomish and goblin engineering recipes at same time.
Fixes #5390

Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
2021-12-16 11:18:21 +01:00
IntelligentQuantum
3591f69662 refactor(Core/Packet): Guild (#9411)
* Core/Packet: Guild

* Winfi
2021-12-11 10:00:06 +01:00
acidmanifesto
1b5c4d82db fix(Core\Logging): Capitalization 2021-12-06 19:39:04 -03:00
acidmanifesto
1500453f59 feat(Core\Player): Added createplayerinfo_cast_spell support cast spell for some class spells (#9448) 2021-12-03 18:33:21 -03:00
Kargatum
51adbffae4 feat(Core/Modules): add separated lib for modules (#9281) 2021-12-02 20:28:58 +07:00
Kargatum
f62664c987 refactor(Core/Misc): headers cleanup (#9259) 2021-11-22 17:24:39 +07:00
Skjalf
731d256420 refactor(Core/Cache): move the GlobalPlayerCache to its own class (#9166) 2021-11-18 16:53:36 +01:00
acidmanifesto
de6af87bd3 fix(Core/Objects): increase sight range of objects & correct general defau… (#9180) 2021-11-17 16:00:01 -03:00
IntelligentQuantum
d5509ceb37 refactor(Scripts/Commands): Convert cs_go to new system (#8874) 2021-11-04 12:41:59 -03:00