Commit Graph

200 Commits

Author SHA1 Message Date
Nefertumm
9b6da94510 fix(Core/AI): more AI factory checks (#12402)
Co-authored-by: ariel- <ariel-@users.noreply.github.com>
Co-authored-by: Treeston <treeston@users.noreply.github.com>
Co-authored-by: Aokromes <aokromes@users.noreply.github.com>
2022-07-19 14:31:03 -03:00
acidmanifesto
4d888f9431 update (core): Clean Up SendGMText (#12317) 2022-07-10 19:27:56 -04:00
ZhengPeiRu21
a6e8f060a5 feat(Core/Config): Configurable Water Breath Timer (#11945)
* feat(Core/Config): Configurable Water Breath Timer

* Config Formatting

Add missing linebreaks

* Use int instead of float for water breath timer

* Correctly get CONFIG_WATER_BREATH as Int instead of Float value

* Move CONFIG_WATER_BREATH_TIMER to WorldInt configs

* More logical WaterBreath configuration
2022-07-10 14:14:27 -04: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
Skjalf
b658ba582e feat(Core/Map): Allow disabling the blizzlike PvP line of sight checks (#11692) 2022-05-11 13:06:56 -03:00
Kitzunu
026941c39e refactor(DB): Handle SQL files in a new way (#11494)
* refactor(DB): Handle SQL files in a new way

* remove proof that it works files

* Update rev_1650721405699287200.sql

* Update rev_1650721339143444200.sql

* Update rev_1650721386624384400.sql

* fix build

* fix
2022-04-28 14:37:37 -03:00
Revision
a1707b2d14 feat(Core/Player): Allow stay in group when logged out (#10887)
* Config option

* Extra check

* Fixes

Updated some comments
Removed the config option from the first if since it's not necessary (afaik)

* REVERT

Reverting the if to what I had it at originally until I can get some input on it...

* Updated if

Got some input and this is working as intended

* Update World.cpp

* Update src/server/worldserver/worldserver.conf.dist

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>

Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-04-25 09:29:44 -03:00
Kitzunu
7ecd738674 feat(Core/Mail): Server mail (#10628) 2022-04-19 23:43:14 +02:00
Nefertumm
0ef2781ede feat(Config): Max gold on change faction (#11147)
* feat(Config): Max gold on change faction

* build
2022-04-02 11:46:57 -03:00
Kargatum
78bdc89881 feat(Core/Battleground): rework bg queue system (#10817) 2022-03-15 14:36:49 -03:00
IntelligentQuantum
b6a07d38c0 feat(Core/Characters): Replace DELETE + INSERT with REPLACE (#10862) 2022-03-15 09:40:55 +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
IntelligentQuantum
7ad65752fa feat(Core/Maps): Improvements to Cinematic function (#10765) 2022-03-11 08:21:54 +01:00
Nefertumm
0e35b681fb feat(Core/Conf): Miss Chance Multiplier (#10873) 2022-03-08 21:44:22 +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
Nefertumm
680e60c68b BREAKING CHANGE(Core/Config): Individual XP rate per bg (#10793) 2022-03-04 12:36:16 +07:00
Kitzunu
3501ceb710 refactor(Core/DB/playercreateinfo_spell_custom): Load empty (#10595) 2022-02-14 20:21:56 +01:00
Francesco Borzì
6aa727c455 feat(Core/Conf): Rate.MissChanceMultiplier (#10639) 2022-02-13 11:12:08 +01:00
Skjalf
fb890b3310 feat(Core/Player): Implement option to convert excess honor points int… (#10565) 2022-02-09 18:04:56 -03:00
Kitzunu
13643c969c refactor(Core/Spell): Use ApplySpellFix with SpellInfo (#9938) 2022-02-08 14:09:15 +01: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
IntelligentQuantum
a1c415b226 feat(Core/Player): allow to queue both RDF & BGs together (#10102) 2022-01-25 10:21:01 +01:00
acidmanifesto
b4b7a00b94 fix (core/pdump): Fix Pdump write and load thru TC Cherry picks (#10349)
* fix (core/pdump): Fix Pdump write and load thru TC Cherry picks

TC Cherry picks were over 30. I am not listing it all but i am listing authors of said relations that this pr is based on.

Co-Authored-By: Brian <runningnak3d@gmail.com>
Co-Authored-By: joschiwald <736792+joschiwald@users.noreply.github.com>
Co-Authored-By: Shauren <shauren.trinity@gmail.com>
Co-Authored-By: SnapperRy <19622383+SnapperRy@users.noreply.github.com>
Co-Authored-By: Ariel Silva <ariel-@users.noreply.github.com>
Co-Authored-By: Nick <31777+paradox@users.noreply.github.com>
Co-Authored-By: r00ty-tc <r00ty-tc@users.noreply.github.com>
Co-Authored-By: Jorge García <259712+xurxogr@users.noreply.github.com>
Co-Authored-By: Kaelima <kaelima@live.se>
Co-Authored-By: Shocker <43253032+shockerqt@users.noreply.github.com>
Co-Authored-By: Giacomo Pozzoni <giacomopoz@gmail.com>

* fix whitespace

formatting look like it had a stroke.

* Updated in script notes

Updated in script notes to reflect it was a note from tc that was refactored in

* Acore::StringTo

* acore::stringto

Co-authored-by: Brian <runningnak3d@gmail.com>
Co-authored-by: joschiwald <736792+joschiwald@users.noreply.github.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Co-authored-by: SnapperRy <19622383+SnapperRy@users.noreply.github.com>
Co-authored-by: Ariel Silva <ariel-@users.noreply.github.com>
Co-authored-by: Nick <31777+paradox@users.noreply.github.com>
Co-authored-by: r00ty-tc <r00ty-tc@users.noreply.github.com>
Co-authored-by: Jorge García <259712+xurxogr@users.noreply.github.com>
Co-authored-by: Kaelima <kaelima@live.se>
Co-authored-by: Shocker <43253032+shockerqt@users.noreply.github.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com>
2022-01-24 19:47:16 -05:00
Kargatum
8b7df23f06 feat(Core/Time): Implement saparated manager for game time (#8630) 2022-01-24 17:55:00 +07:00
Kargatum
259b9133f6 feat(Core/Common): add new helpers for time utility (#10207) 2022-01-19 12:01:59 +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
IntelligentQuantum
725b1266b4 refactor(Core/Packet): Chat (#9509)
* Chat

* .

* Update GameObject.cpp

* Update Object.cpp

* Update Player.cpp
2022-01-08 07:11:06 -03: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
IntelligentQuantum
e57582accb Core/Packet: WorldState (#9435)
* Core/Packet: WorldState

* Test

* WRONG

Co-authored-by: acidmanifesto <joshua.lee.betts@gmail.com>
2022-01-03 11:50:56 -05:00
Kitzunu
f04709a326 refactor(Core/Misc): ceil() to std::ceil() (#9791)
- prefer std functions over C functions
2022-01-03 10:11:39 -03:00
Skjalf
58302e4196 feat(Core/Player): Implement player specific settings (#9483) 2021-12-26 08:39:15 -03:00
Kargatum
455372bda4 feat(Core/SavingSystem): remove old player saving system (#9779) 2021-12-24 08:37:45 -03:00
Skjalf
e7b5bb2420 feat(Core/Player): Split Dungeon Finder quest rates (#9788) 2021-12-19 19:29:26 -03:00
Kargatum
51adbffae4 feat(Core/Modules): add separated lib for modules (#9281) 2021-12-02 20:28:58 +07:00
Petric
11373cd78a fix(Core/Shutdown): add checks to see if MapUpdater threads are joineable (#7450) 2021-11-24 11:41:49 +01:00
Skjalf
3d95308d40 feat(Scripts/Commands): Implement restart/shutdown reasons (#9242) 2021-11-20 16:47:41 -03:00
Skjalf
731d256420 refactor(Core/Cache): move the GlobalPlayerCache to its own class (#9166) 2021-11-18 16:53:36 +01:00
Kargatum
c0728f6e2d feat(Core/Packets): rework HandleWhoOpcode (#8863) 2021-11-07 09:51:36 +01:00
UltraNix
70d8b88f3b feat(Core/Modules): Preparation to implement progression-system module. (#8837) 2021-11-06 10:06:12 -03:00
Skjalf
eb62acfad5 feat(Core/World): Don't prevent players from logging characters by default (#8993) 2021-11-05 21:31:45 -03:00
Meltie2013
250dee5be9 feat(Core): implement world availability option (#8755) 2021-10-29 15:32:19 +02:00
Kargatum
a650fd495c feat(Core/Metrics): implement real time statistic visualization (#8663) 2021-10-28 14:47:29 +02:00
Skjalf
fffdb31c05 feat(Core/LFG): move the LFG max kick count & kick prevention timers … (#8683) 2021-10-25 10:17:12 +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
UltraNix
0eec867c3b feat(Core/LFG): Implemented LFG_OPTION_ENABLE_SEASONAL_BOSSES. (#8219)
Closes #8098
2021-10-09 14:57:23 -03:00
Francesco Borzì
775c6744d2 feat(Core: new hook OnPlayerQueueRandomDungeon() and revert (now unnecessary) PR (#8196) 2021-10-02 09:18:33 +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
UltraNix
a7f52e9019 feat(Core/Battlegrounds): Implemented new timed config for queue anno… (#8053)
* feat(Core/Battlegrounds): Implemented new timed config for queue announce system.

Closes #6637.

* Update.

* typo.

* Update.
2021-09-28 19:18:23 +02:00