Commit Graph

27 Commits

Author SHA1 Message Date
Andrew
a11434b24f refactor(Core/GameObject): Move the GameObject state save handling to… (#18080)
* refactor(Core/GameObject): Move the GameObject state save handling to instance level

* Update GameObject.h

* remove leftover

* small improvements
2024-01-01 01:51:33 -03:00
Winfidonarleyan
eb1ecc38a5 feat(Core/Scripting): move all script objects to separated files (#17860)
* feat(Core/Scripts): move all script objects to separated files

* Apply 5bfeabde81

* try gcc build

* again
2023-12-02 21:13:20 +01:00
Johaine
ea3e6e8f3b fix(Scripts/Deadmines): Fix Factory Door in Deadmines being closable (#15201)
* fix(DB/SAI): Open Factory Door correctly (irreversibly)

Activate the Factory Door after the boss' death to open it instead of changing gameobject state only which can be reversed by another activation.

* fix(Script/Instance): Prevent Door being closed again after Server Restart

* Drop database name from update SQL

Other people might not use the standard database names

Co-authored-by: Gultask <100873791+Gultask@users.noreply.github.com>

---------

Co-authored-by: Gultask <100873791+Gultask@users.noreply.github.com>
2023-05-13 14:52:44 -03:00
Kitzunu
bd6034e1a9 refactor(Core/AI): Some more refactoring prep for Comat Threat system… (#15026)
Co-authored-by: Treeston <14020072+Treeston@users.noreply.github.com>
2023-02-13 21:39:40 +01:00
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
Maelthyr
afb071bb04 refactor(Scripts): Update vanilla scripts to std::chrono (#14876)
Co-authored-by: Maelthyrr <AmanThul-Project@proton.me>
Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
2023-02-05 12:35:48 -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
Kitzunu
856aed6fc6 feat(Core/Unit): New helpers for UnitFlag and UnitFlag2 (#11227) 2022-03-30 07:59:42 -03:00
Kargatum
f62664c987 refactor(Core/Misc): headers cleanup (#9259) 2021-11-22 17:24:39 +07: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
Emir
0b87bb0ddf fix(Script/Instance) [Deadmines] Smite Slam (#5373) 2021-04-29 20:59:09 -04:00
UltraNix
f4c226423d feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885) 2021-04-25 22:18:03 +02:00
Kitzunu
f9d708b450 feat(Core/Instance): Add instance validation for creature scripts (#4596) 2021-04-05 15:34:26 +02: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ì
d4a58700d4 refactor(Core): apply clang-tidy modernize-use-override (#3817) 2020-12-06 18:04:55 +01:00
Kargatum
5e20b46812 refactor(Core/Scripts): restyle scripts lib with astyle (#3467) 2020-10-11 10:35:34 +02:00
Stoabrogga
7a9f09341f chore(PCH): remove "ScriptPCH.h" from cpp scripts (#1423)
remove "ScriptPCH.h" from cpp scripts as it is intended to be used as precompiled header for the build process only
2019-02-10 14:50:44 +01:00
Lee
662a49bfd8 [Core / Script] Mr Smite Event Update (#1340)
Fixed an issue where Mr Smite would do his stomp event more than once.
2019-01-22 08:12:46 +00:00
talamortis
d7e4799728 removed unused code - fix Travis 2018-03-31 19:46:28 +01:00
talamortis
a6e10f2ab2 Instace to return the guid of the gameobject 2018-03-31 18:45:46 +01:00
talamortis
68c0d298ce After killing Rhahk in deadmines the door will now open correctly. 2018-03-31 18:05:44 +01:00
Nefertumm
dd300003e2 Update license links (#783) 2018-03-12 10:54:57 +01:00
Yehonal
17332304fd Using TC structure allowing easier patches importing 2017-12-21 00:20:29 +01:00
Yehonal
0f85ce1c54 Big re-organization of repository [W.I.P] 2016-08-11 20:25:27 +02:00
Yehonal
f6eefedcd5 converted all tabs to 4 spaces 2016-06-26 19:23:57 +02:00
Yehonal
e8e94a0a66 First Commit
For Azeroth!
2016-06-26 10:39:44 +02:00