Commit Graph

63 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
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
UltraNix
12d41d1314 Big update. 2022-03-12 22:28:00 +01: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
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
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
Kitzunu
2ff4e85578 fix(DB/broadcast_text): align some column names (#10090) 2022-01-13 15:20:20 +01: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
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
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
Skjalf
731d256420 refactor(Core/Cache): move the GlobalPlayerCache to its own class (#9166) 2021-11-18 16:53:36 +01:00
IntelligentQuantum
d5509ceb37 refactor(Scripts/Commands): Convert cs_go to new system (#8874) 2021-11-04 12:41:59 -03:00
acidmanifesto
bcd1a701ac fix(Core): ScriptName not readable in creature and gameobject table fix (#8715) 2021-10-25 14:25:13 +02:00
Kargatum
bc9473482e feat(Core/Chat): new argument parsing and unify chat hyperlink parsing (#6243) 2021-10-23 10:15:42 +02:00
UltraNix
1fb6830b15 feat(Core/Quests): Implemented quest_money_rewards (for quest with Qu… (#8610)
Fixes #8440
2021-10-20 05:45:56 -03:00
Kitzunu
bc82f36f1f refactor(Core/Unit): clean MonsterText methods (#6957) 2021-10-15 10:25:29 +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
Kitzunu
1be561e03b fix(Core/Player): Use SkillLineAbility.dbc to determine player initia… (#6015)
* fix(Core/Player): Use SkillLineAbility.dbc to determine player initial spells - skill assignment done in a new table `playercreateinfo_skills`

* Cherry-pick 2a3546ca36

* Cherry-Pick d28b66bca8

* Cherry-Pick 193408f335

- Closes https://github.com/azerothcore/azerothcore-wotlk/issues/1659
- Closes https://github.com/azerothcore/azerothcore-wotlk/issues/6036
- Closes https://github.com/chromiecraft/chromiecraft/issues/693

Co-Authored-By: Shauren shauren.trinity@gmail.com
Co-Authored-By: Rothend 67004168+Rothend@users.noreply.github.com
Co-Authored-By: claudiodfc claudio.daniel.f.c@gmail.com
2021-06-21 21:23:18 +02:00
Kargatum
5787d00d54 chore(Core/Logging): replace most server loggers (#5726)
* chore(Core/Logging): replace most server loggers

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2021-06-21 03:07:12 +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
Kargatum
3f875674d5 chore(Core/MIsc): added few helpers for chat commands (#6175) 2021-06-04 00:17:18 +02:00
Kargatum
78e1719c80 feat(Core/Misc): includes cleanup (#5953) 2021-05-26 19:00:08 +07:00
UltraNix
8dd58ebb5b fix(Core): Memleaks fixes - Part II. (#5760) 2021-05-14 10:15:45 +02:00
UltraNix
f4c226423d feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885) 2021-04-25 22:18:03 +02:00
Kargatum
4af4cbd3d9 feat(Core/Logging): rework logging (#4692)
* feat(Core/Logging): rework logging

* correct level for sql.sql

* del unused config options

* Correct build

* correct after merge

* whitespace

20:29:37 1. 'Player.cpp'. Replace (1)
20:29:37 2. 'ObjectMgr.cpp'. Replace (3)

* 1

* correct logging

* correct affter merge

* 1

* 2

* LOG_LEVEL_WARN

* #include "AppenderDB.h"

* 3

* 4

* 5

* 1. 'WorldSocket.cpp'. Replace (1)

* 6

* 1
2021-04-17 11:20:07 +02:00
Kargatum
b2861be1cd feat(Core/Threading): replace ace threading (#4821) 2021-04-16 19:45:29 +02:00
Kitzunu
f9d708b450 feat(Core/Instance): Add instance validation for creature scripts (#4596) 2021-04-05 15:34:26 +02:00
Kargatum
c053e111d3 fix(Scripts/Commands): correct reloading creature_template table (#5020) 2021-03-30 09:55:05 +07:00
Petric
f11d3a5402 feat(CORE/Instance): access_requirement db refactor and improved output (#3696) 2021-03-29 10:24:52 -06:00
Kitzunu
9f354db7be feat(Core/Creature): Implement c_t_r & c_t_s (#4359) 2021-03-21 15:15:59 +01:00
Francesco Borzì
f6a17164be fix(Core/License): issue with old files license (#4762) 2021-03-17 09:46:01 -06:00
Kitzunu
dbc0ff6554 refactor(Core): sort #includes alphabetically (#4579) 2021-02-24 22:34:42 +01:00
Kargatum
ea93a5c1a1 feat(CI/Codestyle): added codestyle check (#3668) 2021-01-09 11:59:50 +01:00
Francesco Borzì
c5a35efd7b refactor(Core): apply clang-tidy modernize-use-default-member-init (#3827) 2020-12-07 13:34:06 -06:00
Francesco Borzì
0b8ec1f6ee refactor(Core): apply clang-tidy modernize-loop-convert (#3822) 2020-12-07 19:04:19 +01:00
Francesco Borzì
cba126fa84 refactor(Core): apply clang-tidy modernize-use-nullptr (#3819) 2020-12-06 20:55:11 +01:00
Francesco Borzì
161302252e refactor(Core): apply clang-tidy modernize-use-nodiscard (#3835) 2020-12-06 19:39:48 +01:00
Kargatum
a2b26272d2 refactor(Core/Game): restyle game lib with astyle (#3466) 2020-10-12 10:08:15 +02:00
Kitzunu
1f89282b22 refactor(Core): NULL -> nullptr (#3275)
* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

* NULL to nullptr

Co-authored-by: Francesco Borzì <borzifrancesco@gmail.com>
Co-authored-by: Stefano Borzì <stefanoborzi32@gmail.com>
2020-08-31 11:55:09 +02:00
Kitzunu
8a1eab2c23 fix(Core/Creature): Use proper name for wander distance (#2858)
* Change from spawndist to wander_distance

Co-Authored-By: ratkosrb <ratkosrb@users.noreply.github.com>

* fix sql error

Co-Authored-By: ratkosrb <ratkosrb@users.noreply.github.com>

* Let's see if this fixes eluna :)

* Revert "Let's see if this fixes eluna :)"

This reverts commit be675bf83fc6a02f3347ea76408152d623d374bf.

* fix indent

* Revert "fix indent"

This reverts commit f4cb3d2d9fa908445d342b6f2e6dda9d52fd4665.

* Revert "Revert "fix indent""

This reverts commit 48527cfd2f9031f95bdf6e0d7b90111a3c0dc0f2.

Co-authored-by: ratkosrb <ratkosrb@users.noreply.github.com>
2020-04-11 11:20:02 +02:00
Kargatum
4a8f1de538 feat(Core/Misc): remove and replace ACE_Singleton (#2418) 2019-12-21 00:29:29 +07:00
Viste
e22d78ecd6 refactor(Core): rename namespaces and macros to acore (#2454) 2019-12-01 13:13:31 +01:00
Stefano Borzì
9dd623e061 feat(DB/points_of_interest): Improved points_of_interest table, close #1193 (#2348) 2019-10-23 07:48:46 +02:00
Francesco Borzì
0b88e24808 refactor(ItemTemplate): add missing enums + other minor improvements (#2236) 2019-08-26 20:43:53 +02:00
Barbz
ac8b20922b feat(Core): GUID recycler (#1820)
Automatically recycle GUIDs, thus avoiding crashes when reaching the
limit of data type "int" in MySQL.
2019-07-08 11:27:52 +02:00
Stoabrogga
5cf01e02f6 fix(Core): implement "SCRIPT_COMMAND_MOVEMENT" (35) to fix Defias Thug waypoint errors (#1721)
* fix(DB): fix Defias Thug waypoint errors

* implement SCRIPT_COMMAND_MOVEMENT (35); remove SQL script
2019-04-21 16:56:32 +02:00
Kargatum
824a80005c Refactor(Core/Misc): Remove remaining COMPILER_HAS_CPP11_SUPPORT related macros (#1627)
* Delete macros UNORDERED_MAP
* Delete macros UNORDERED_SET
2019-03-26 00:01:56 +07:00