Commit graph

64 commits

Author SHA1 Message Date
Skjalf
0dbb8c814c
refactor(Core/InstanceScript): refactored load and save methods (#14977)
Co-authored-by: joschiwald <736792+joschiwald@users.noreply.github.com>
2023-02-12 15:53:48 -03:00
55Honey
a1fb48391b
feat(Core/Scripting): Implement OnBeforeSetBossState (#14891) 2023-02-07 13:15:17 -03:00
Angelo Venturini
0ed7813e84
refactor(Core/Instance): make SetBossState void (#13412) 2023-02-05 00:05:20 +01:00
UltraNix
b1bc1c24e4
feat(Core/Scripting): Added new hook: OnInstanceIdRemoved. (#14670)
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
Co-authored-by: 55Honey <71938210+55Honey@users.noreply.github.com>
2023-02-04 19:56:20 -03:00
M'Dic
967f8ce6d6
update (core): Startup console capitalizations (#13195) 2022-10-01 13:09:34 -04:00
M'Dic
5dd22f822d
fix (core): Cast sub-expression to wider-type (#12430)
sub-expression may overflow before being added to a wider type.
Possible fix for a segmentation fault being reported in the chat.
2022-08-13 15:05:23 -04:00
天鹿
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
IntelligentQuantum
ab4ee71762
feat(Core/Maps): AreaBoundary (#10525)
* cherry-picked commit (2da458c56d)
2022-04-15 14:10:41 +02:00
Skjalf
7377c96cc8
fix(Scripts/BlackwingLair): Razorgore improvements (#10971)
- Rewrite reset events
- Use proper healing spell on phase transition
- Now uses abilities during phase 1
- Phase transition scripted - mobs now run away
2022-03-23 15:42:34 -03:00
UltraNix
3c9e8d4eb1
fix(Core): Crash related to reset instances (#11003) 2022-03-18 19:32:28 -03: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
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
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
d1cc65b1c7
refactor(Core/Misc): isEmpty to IsEmpty (#10011) 2022-01-13 21:43:15 -05:00
Skjalf
b4a14214ca
fix(Core/Instances): always put boss minions in combat with zone (#9649) 2021-12-13 18:26:38 +01:00
Skjalf
849839c688
chore(Core/Instances): Move the objectdata loading log from error to debug level (#9382) 2021-11-27 07:56:10 -03:00
acidmanifesto
29f49108a5
chore(Core): Remove unnecessary slang Cosmetic (#9325)
* Remove unnecessary slang

Removes ZOMG! that is used in the src in logging and notes. Completely Unnecessary. Contributes to nothing useful. Inflates source. Not needed at all in any shape or form. Not Developer Lingo either.

* Further Clean Up

Removed Profanity

* sensible grammar correction

* More ZOMG! removal
2021-11-25 04:31:54 -03:00
Kargatum
f62664c987
refactor(Core/Misc): headers cleanup (#9259) 2021-11-22 17:24:39 +07:00
Skjalf
b2ce49135e
feat(Core/Scripting): implement OnlyOnceAreaTrigger & Zul'Gurub's in… (#8850)
Co-authored-by: Treeston <treeston.mmoc@gmail.com>
2021-11-03 23:43:03 +01:00
Skjalf
d35c6b6022
feat(Core/Scripts): implemented a guid map in InstanceScript, this wa… (#8781)
Co-authored-by: joschiwald <joschiwald.trinity@gmail.com>
2021-11-02 19:55:50 +01:00
acidmanifesto
0df821cbb0
chore(Core): Code Reduction dealing with Logging, (Cosmetic only). (#8686) 2021-10-24 22:33:16 -03: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
2f449326e0
refactor(Core): Rename ...Manager to ...Mgr (#6910)
* Rename MapManager.h to MapMgr.h

* Rename BanManager.h to BanMgr.h

* Rename MapManager.cpp to MapMgr.cpp

* Rename BanManager.cpp to BanMgr.cpp

* Rename MapRefManager.h to MapRefMgr.h

* Rename ThreatManager.h to ThreatMgr.h

* Rename GridRefManager.h to GridRefMgr.h

* Rename ThreatManager.cpp to ThreatMgr.cpp

* Rename GroupRefManager.h to GroupRefMgr.h

* Rename HostileRefManager.h to HostileRefMgr.h

* Rename HostileRefManager.cpp to HostileRefMgr.cpp

* Rename MMapManager.h to MMapMgr.h

* Rename FollowerRefManager.h to FollowerRefMgr.h

* Rename VMapManager2.h to VMapMgr2.h

* Rename IVMapManager.h to IVMapMgr.h

* Rename MMapManager.cpp to MMapMgr.cpp

* Rename VMapManager2.cpp to VMapMgr2.cpp

* Rename RefManager.h to RefMgr.h

* Rename WaypointManager.h to WaypointMgr.h

* Rename WaypointManager.cpp to WaypointMgr.cpp

* Rename MPQManager.h to MPQMgr.h

* Rename MPQManager.cpp to MPQMgr.cpp

* Rename IMMAPManager.h to IMMAPMgr.h

* fix build

* Update Main.cpp

* chore(Core/Misc): Remove toxic language

* Revert "chore(Core/Misc): Remove toxic language"

* fix build

* build
2021-09-15 17:50:28 +02:00
Kargatum
9ac6fddcae
feat(Core/Database): port TrinityCore database API (#5611) 2021-06-22 06:21:07 +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
Francesco Borzì
466cdb68d6
refactor(Core): code cleanup (part 2) (#6374) 2021-06-16 20:40:42 +02:00
Yehonal
baf437bb98
feat(Core): improved some hooks (#6302) 2021-06-13 10:23:24 +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
Kargatum
2b3d46bd4f
feat(Core/Hooks): added collection of hooks to extends AC (#3047)
This collection of hooks comes from the Maelstrom project. It allows to release modules such as :
- 3v3-soloqueue
- 1v1 arena
- pvestats

and many others
2021-04-13 13:26:39 +02:00
Kitzunu
f9d708b450
feat(Core/Instance): Add instance validation for creature scripts (#4596) 2021-04-05 15:34:26 +02:00
Francesco Borzì
f6a17164be
fix(Core/License): issue with old files license (#4762) 2021-03-17 09:46:01 -06:00
Kitzunu
28f1dc5c0c
refactor(Core): replace NULL with nullptr (#4593) 2021-03-02 01:34:20 +01:00
Kitzunu
dbc0ff6554
refactor(Core): sort #includes alphabetically (#4579) 2021-02-24 22:34:42 +01:00
Kitzunu
da4edd547d
chore(core): remove malformed whitespaces (#4244)
* from https://www.codefactor.io/repository/github/azerothcore/azerothcore-wotlk/issues?category=Style&groupId=838&lang=5&page=75
2021-01-10 14:27:55 +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ì
161302252e
refactor(Core): apply clang-tidy modernize-use-nodiscard (#3835) 2020-12-06 19:39:48 +01:00
Francesco Borzì
d4a58700d4
refactor(Core): apply clang-tidy modernize-use-override (#3817) 2020-12-06 18:04:55 +01:00
Kargatum
a2b26272d2
refactor(Core/Game): restyle game lib with astyle (#3466) 2020-10-12 10:08:15 +02:00
Andrius Peleckas
a445cca4bc
feat(InstanceScripts): new scriptable function DoAction() (#3445)
This will work in a similar way as CreatureAI based DoAction function. This will allow avoiding SetData or ProcessEvent usage where basic input is needed
2020-09-19 23:27:47 +02:00
Stefano Borzì
51330f54d8
refactor(Core/Misc): remove the ternary operator when used improperly (#3327) 2020-09-10 12:29:23 +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
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
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
Nefertumm
c15206fc15
Revert "feat(core): Ensure that all actions are compared to fixed point in time (#1236) (#1458)" (#1471)
This reverts commit 51b8773528.
2019-02-15 15:14:49 -03:00