Commit Graph

307 Commits

Author SHA1 Message Date
Benjamin Jackson
f710fb8d9f refactor(Core/Worldstate): Remove redundant worldstate usage. (#22126)
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
2025-05-23 18:23:34 +02:00
Benjamin Jackson
93ac73a4d1 fix(Core/Creature): Leashing improvements. (#22129)
Co-authored-by: killerwife <killerwife@users.noreply.github.com>
Co-authored-by: 天鹭 <18535853+PkllonG@users.noreply.github.com>
2025-05-23 18:22:56 +02:00
Jelle Meeus
2883160086 fixup! refactor(Core/World): Move various worldstate related function… (#22119) 2025-05-13 21:03:42 +02:00
Benjamin Jackson
52799d76f6 refactor(Core): Add definition file for area table entries. (#22054) 2025-05-09 15:48:02 +02:00
Benjamin Jackson
e6b203f184 refactor(Core/World): Move various worldstate related functions to worldstate class. (#22086) 2025-05-09 12:29:09 +02:00
Benjamin Jackson
da55f05cfc refactor(Core/WorldState): Initial addition of world state definition file. (#21875)
Many world states had their enums from script's header and hardcoded values to their respective header file (WorldStateDefines.h)
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
2025-04-26 19:31:30 +01:00
NoxMax
cc05127276 fix(Battlefield/WG): set default maxplayer 120, minlevel 75 (#21937) 2025-04-19 06:59:06 +02:00
Tereneckla
dda1fe87ca feat(Core/World) add an error message when closing due to not finding the starting area map files (#21879)
Server no longer will close without displaying an error message.
2025-04-08 22:13:26 +01:00
Kitzunu
231096132c refactor(Core/ServerMail): Refactor to Dedicated Manager Class with Multi-Item & Condition Support (#21590)
1. Core Cleanup
    - Move all ServerMail logic from `ObjectMgr` into a new dedicated `ServerMailMgr` class
    - Move faction logic for money from SendServerMail into the script
2. Separation of items into a new table
    - Create a new `mail_server_template_items` table
    - Allows to send multiple items in one mail
    - Separate items per faction Alliance/Horde
3. Separation of conditions into a new table
    - Create a new `mail_server_template_conditions` table
    - Allows to use multiple conditions for one mail
    - Available condition types
        - Minimum playtime (playerLevel >= condition)
        - Minimum playtime (playerPlayTime >= condition)
        - Rewarded quest
        - Earned achievement
        - Earned reputation (playerReputation >= conditionState)
        - Faction
        - Race
        - Class
4. Updated ServerMail loading
    - Move item and condition loading to their own functions
        - LoadMailServerTemplateItems()
        - LoadMailServerTemplateConditions()
5. Reworked eligibility check
    - Player needs to pass all conditions to be eligible for the mail
    - All players are automatically eligible if no conditions exist for a server mail template.
6. Updated foreign keys
    - For table `mail_server_character`, `mail_server_template_conditions`, `mail_server_template_items` foreign key with on delete cascade is added for automatic removal of entries if mail_server_template.id is deleted.
7. Database changes
    - See the PR
2025-03-09 09:18:01 +01:00
valsan-azerty-boi
a3f7e1e76d feat(Core/BG): Allow battlegrounds to be configurable (#20320) (#21124) 2025-03-01 12:01:10 -03:00
Kitzunu
6f38d3c817 fix(Core/Logging): revert commit e3432102f7e66968f53c6e9afb11d7844e95… (#21593) 2025-02-23 17:53:11 +01:00
Takenbacon
4cd1ed2181 refactor(Core/Server): Improvements to antidos opcode handling (#21502) 2025-02-21 07:17:34 +01:00
Jelle Meeus
4c4b04f07b refactor(Core/Packet): use WorldPackets::WorldState::InitWorldStates definition (#20475)
Co-authored-by: ccrs <ccrs@users.noreply.github.com>
2025-02-19 07:55:09 -03:00
iThorgrim
e3432102f7 fix(Core/World): Load metric and log configs at start (#21243) 2025-02-15 23:34:25 +01:00
Takenbacon
ee69a569c4 fix(Core/Grids): Grid improvements (#20955) 2025-02-14 22:11:27 +01:00
Jelle Meeus
9e720b91f0 fix(Core/Worldstate): fix Sanctums Wards triggering phase transition too early (#21430) 2025-02-13 09:13:40 -03:00
Takenbacon
edcfaeb845 refactor(Core/World): Create WorldSessionMgr to split session logic out of World (#21400) 2025-02-13 07:04:38 +01:00
Andrew
16fa25b7a9 feat(Core/Maps): Implement dynamic respawn rates (#21417)
Co-authored-by: r00ty-tc <r00ty-tc@users.noreply.github.com>
Co-authored-by: Jelle Meeus <sogladev@gmail.com>
Co-authored-by Treeston

This is a partial cherry-pick of: 59db2eeea0
2025-02-12 15:06:42 -03:00
Anton Popovichenko
f6a0433297 feat(Core/Arena): Add support for arena seasons completion with progression in runtime. (#19858)
Co-authored-by: Winfidonarleyan <dowlandtop@yandex.com>
2025-02-12 07:09:31 -03:00
Jelle Meeus
05cf475975 fix(Core/Worldstate): sunsreach print correct counter (#21356) 2025-02-09 18:40:44 +01:00
Kitzunu
47c5ff904f refactor(Core/Disables): Convert from Namespace to Class Structure (#21109) 2025-02-01 22:48:52 +01:00
Kitzunu
9e9a2fe5e3 refactor(Core/ObjectMgr): Change GetAcoreString from char const* to s… (#21213)
...ring
2025-02-01 22:46:42 +01:00
Jelle Meeus
00b8a3f419 feat(Core/WorldState): implement Battle for Sun's Reach Event (#21219)
Co-authored-by: killerwife <killerwife@gmail.com>
Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com>
Co-authored-by: MantisLord <sabinprosper@gmail.com>
2025-01-31 13:19:12 +01:00
Grimdhex
edf2959a26 feat(Core/Creatures): implement a sparring system (#19824) 2025-01-26 09:40:37 +01:00
Exitare
a74e06c27c feat(Core/Autobroacast): Add autobroadcast locale (#20946) 2025-01-26 09:37:32 +01:00
Tralenor
70c34bd403 fix(Core/World): edge case when last Char on realm was deleted (#20864) 2025-01-09 20:20:02 +01:00
Kitzunu
275ff66e29 chore(Core/World): improve server restart/shutdown logging (#21046) 2025-01-04 10:36:23 +01:00
Exitare
7be3c82505 feat(Core/Creature): Add new config option for npc speeds (#20617) 2024-12-22 09:45:39 +01:00
Takenbacon
a23b13defe fix(Core/Database): Gracefully close database workers (#20936)
* Gracefully close database workers

* Change init order. Such a silly compiler flag

* Fix hang if db connection failed to open
2024-12-18 20:24:17 +01:00
Takenbacon
4d349e87b5 feat(Core/AuctionHouse): Rework auctionhouse search threading (#20830) 2024-12-18 15:50:26 +01:00
Exitare
98b426bf3a feat(Core/Player) Option to adjust max rest bonus via config (#20836) 2024-12-14 20:51:28 +01:00
Jelle Meeus
993bdcb84e feat(Core/Player): implement Spell Queue (#20797) 2024-12-12 11:59:52 +01:00
Jelle Meeus
6b5f50cdbe fix(Core/Database): prevent crash due to special chars in branch name (#20776)
add prepared statements to escape special characters in branch name
2024-11-30 12:26:57 -03:00
Francesco Borzì
a9f0f371e5 refactor(src/server/game): optimise imports (#20541) 2024-11-13 11:37:20 +01:00
Jelle Meeus
3565e4a9eb feat(Core/WorldState): improved WorldState scripting (#20141)
* implement world state script

based on
0b87ca9d9e

Co-authored-by: killerwife <killerwife@gmail.com>

* refactor to use onleave and onenter instead of spell_area

allows players to right click remove adal's buff

* add MapMgr.h

* refactor: use condition enum instead of uint32, prefix WORLD_STATE where needed

* remove lock from WorldState::Update

sWorldState->Update() is only called from World::Update

* remove unsafe SmartAI action of setWorldState

---------

Co-authored-by: killerwife <killerwife@gmail.com>
2024-11-12 12:15:27 -03:00
Jelle Meeus
859a42a41e fix(Core/Vehicles): feat vehicle seat addon, vehicle enter/exit positions (#20082)
* implement initial vehicle_seat_addon

Co-authored-by: Ovah <dreadkiller@gmx.de>

* add more vehicle_seat_addon data

* make exiting passenger visible

fixes "immediate despawn" of travelers mammoth

* style, update comments

* remove hacked pos relocate

* remove sending MSG_MOVE_ROOT/UNROOT on Ack

* set and unset UNIT_NPC_FLAG_PLAYER_VEHICLE on init/entry

* ulduar demolisher: remove flag correction and no longer needed usableseat

* fixup! implement initial vehicle_seat_addon

* fixup! fixup! implement initial vehicle_seat_addon

* re-add AddPassenger Flame Leviathan hack

was commented by mistake

* Update rev_1725993194571320983.sql

add missing ticks

---------

Co-authored-by: Ovah <dreadkiller@gmx.de>
2024-10-11 07:08:14 +02:00
Francesco Borzì
b0899664ef refactor(src/server/game/World): remove unused imports (#20090) 2024-10-01 08:05:36 +02:00
Francesco Borzì
34a3b4ee47 feat(Core/BG): allow MinPlayersPerTeam override for low-levels (#20083) 2024-09-29 14:07:45 +02:00
IntelligentQuantum
985410f184 feat(Core/Items): Delete old item id from recovery item (#18332) 2024-09-22 08:32:16 +02:00
sudlud
c929b95172 fix(Conf): sync default values with core defaults (#19708)
fix(Conf): sync values with core defaults
2024-09-03 08:02:28 -03:00
Kitzunu
030716421f feat(Core/LFG): Option to disable deserter (#19618)
* feat(Core/LFG): Option to disable deserter

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/19569

* Update IWorld.h
2024-08-14 09:19:56 -03:00
Kitzunu
2e02c76399 fix(Core/Creature): quest_greeting_locale (#19615)
* fix(Core/Creature): quest_greeting_locale

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/14845
2024-08-13 21:09:36 +02:00
Kitzunu
4b63aa9015 feat(DB/Module): introduce module_string table (#19475) 2024-08-13 19:53:16 +02:00
Kitzunu
bb7765d91e refactor(Core/World): Move SendGMText to ChatHandler and allow fmt (#19490)
* refactor(Core/World): Move SendGMText to WorldSession and allow `fmt`

- Move SendGMText from World to WorldSession

- Make SendGMText use fmt

- Make SendGMText parse acore_string entries

* Update cs_message.cpp

* tokenize the string only once

* Move to chathandler

* Update WorldSession.cpp

* make sure we have a session
2024-08-08 20:12:33 -03:00
Kitzunu
87f4adf634 refactor(Core/Chat): Move SendWorldText(optional) to ChatHandler and … (#19501)
* refactor(Core/Chat): Move SendWorldText(optional) to ChatHandler and allow `fmt`

* Update src/server/game/Battlegrounds/BattlegroundQueue.cpp

* Update src/server/game/Battlegrounds/BattlegroundQueue.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp

* Update src/server/game/Misc/BanMgr.cpp
2024-07-29 14:44:13 -03:00
avarishd
618f97bee6 feat(Core/Unit): Enable/Disable Daze config (#19454)
* daze

* bruh

* bruhx2
2024-07-20 15:53:00 -03:00
Kitzunu
21f86d1c3c chore(Core/Misc): Remove deprecated code (#19413)
* Config - Deprecated for 3 years
* ChatCommand - Deprecated for 2 years
* getLevel() - Deprecated for 2 years
* SendGlobalText - Deprecated for 8 years +
2024-07-20 09:11:01 +03:30
Benjamin Jackson
70eb920b10 feat(Core/Unit): Implement munching as a configurable option. (#19188)
* Init.

* Correct description.

* Adjust boolean to integer in config.
2024-07-10 12:26:53 -03:00
Kitzunu
0a8175ef03 refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load (#19259)
* refactor(Core/ObjectMgr): Handle Profanity & Reserved Names in load

* closes https://github.com/azerothcore/azerothcore-wotlk/issues/18556

* Update ObjectMgr.cpp

* Update ObjectMgr.cpp

* I swear I am not drunk

* We already check all of these

* fix build

* Forgot we dont send the responsecode in senderrormessage

* last commit I swear
2024-07-03 00:23:32 +02:00
sudlud
cd63cc0bc4 fix(Conf): align LeaveGroupOnLogout default in core with worldserver.conf.dist (#18859) 2024-05-11 14:37:22 +02:00