Skip to content

Commit a2d8e27

Browse files
committed
Release v2024.04
Signed-off-by: Haru <haru@dotalux.com>
1 parent f281814 commit a2d8e27

File tree

5 files changed

+61
-3
lines changed

5 files changed

+61
-3
lines changed

AUTHORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ linton-dawson <pushkarkukde@gmail.com>
9393
LiYu <cairoliyu@gmail.com>
9494
louisplag <42522191+louisplag@users.noreply.github.com>
9595
Lucas Brito <lucasljsb@gmail.com>
96+
Lucas Golino <lucasgolino@gmail.com>
9697
M45T3Ryu <jose-pro_h4kr@hotmail.com>
9798
malufett <malufett.eat.my.binaries@gmail.com>
9899
maqc1 <alex--223@hotmail.com>
@@ -178,6 +179,7 @@ TungSinpei <TungSinpei@hotmail.com>
178179
ultramage <umage@netvor.sk>
179180
Unknown <nightcoremax@gmail.com>
180181
Victor <victor.lombardi@insa-rouen.fr>
182+
vietlubu <baoviet3010@gmail.com>
181183
Vincent Thibault <vthibault.mobile@gmail.com>
182184
Wolfie@HP-Laptop <wolfie.blackoutro@gmail.com>
183185
Wolf <vitinho.senos@live.com>

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,61 @@ If you are reading this in a text editor, simply ignore this section
2222
### Removed
2323
-->
2424

25+
## [v2024.04] `April 2024`
26+
27+
### Added
28+
29+
- Implemented `skill->get_index_sub()`, allowing to prevent error reports on the console when a skill is not found, for testing whether a skill exists in places where its absence is not an error. (#3292)
30+
- Implemented (m)atk/(m)def percent system: (#3290)
31+
- Implemented percent atk/def/matk/mdef bonus calculation, matching the official behavior
32+
- Added the `AtkPerc`, `DefPerc`, `MatkPerc`, `MdefPerc` calc flags to `sc_config.conf` to trigger recalculation of the respective stats
33+
- Added atk percent bonus to the client's status window like on official servers (note: the matk percent bonus is not displayed)
34+
- Added def percent bonus to the client's status window (included in the soft def)
35+
- Implemented official behavior for skills/status changes that officially rely on this system (detailed below)
36+
- Added the script command `getitemgroupitems()` to obtain a list (without duplicates) of all items contained in a given item group (#3275)
37+
- Added support for the `ZC_SOULENERGY` packet for displaying soul balls, split from `ZC_SPIRITS` for new clients (#3291)
38+
39+
### Changed
40+
41+
- Converted handling of packets `ZC_SKILL_SELECT_REQUEST`, `CZ_SKILL_SELECT_RESPONSE` and `ZC_SPIRITS2` to the structure format. (#3292, #3291)
42+
- Changed the Tarot Card of Fate (`CG_TAROTCARD`) Strength (atk), The Magician (matk), The Devil (atk, matk), The Sun (atk, matk, def) bonus calculation to use the newly implemented atk/def percent system. This includes the new SCs `SC_TAROTCARD_ATK_PERC`, `SC_TAROTCARD_MATK_PERC`, `SC_TAROTCARD_DEF_PERC`. (#3290)
43+
- Changed the Gospel (`PA_GOSPEL`) bonus calculations to use the newly implemented atk/def percent system. This includes the new SC `SC_GOSPEL_ATK_PERC`. (#3290)
44+
- Changed the Provoke (`SM_PROVOKE`, `MER_PROVOKE`) SC (`SC_PROVOKE`) to use the newly implemented atk/def percent system. (#3290)
45+
- Changed the Concentration (`LK_CONCENTRATION`) SC (`SC_CONCENTRATION`) to use the newly implemented atk/def percent system. (#3290)
46+
- Changed the Bloodlust (`HAMI_BLOODLUST`) SC (`SC_HAMI_BLOODLUST`) to use the newly implemented atk/def percent system. (#3290)
47+
- Changed the Vital Strike (`LK_JOINTBEAT`) SC (`SC_JOINTBEAT`) to use the newly implemented atk/def percent system. (#3290)
48+
- Changed the Eske (`SL_SKE`) SC (`SC_SKE`) to use the newly implemented atk/def percent system. (#3290)
49+
- Changed the Fleeting Move (`HFLI_FLEET`) SC (`SC_HLIF_FLEET`) to use the newly implemented atk/def percent system. (#3290)
50+
- Changed the Curse SC (`SC_CURSE`) to use the newly implemented atk/def percent system. (#3290)
51+
- Changed `SC_INCATKRATE` to use the newly implemented atk/def percent system. (#3290)
52+
- Changed the Divest Weapon (`RG_STRIPWEAPON`) SC (`SC_NOEQUIPWEAPON`) to use the newly implemented atk/def percent system. (#3290)
53+
- Changed the Mind Breaker (`PF_MINDBREAKER`) SC (`SC_MINDBREAKER`) to use the newly implemented atk/def percent system. (#3290)
54+
- Changed the Divest Shield (`RG_STRIPSHIELD`) SC (`SC_NOEQUIPSHIELD`) to use the newly implemented atk/def percent system. (#3290)
55+
- Changed the Fling (`GS_FLING`) SC (`SC_FLING`) to use the newly implemented atk/def percent system. (#3290)
56+
- Changed the Angelus (`AL_ANGELUS`) SC (`SC_ANGELUS`) to use the newly implemented atk/def percent system. (#3290)
57+
- Changed Poison (`SC_POISON`) and Deadly Poison (`SC_DPOISON`) to use the newly implemented atk/def percent system. (#3290)
58+
- Changed Asura Strike (`MO_EXTREMITYFIST`) to ignore atk percent bonuses. (#3290)
59+
- Changed several functions to take or return `enum scb_flag` where appropriate. (#3290)
60+
- Added a compatibility workaround for `enum scb_flag` (via typedef to `e_scb_flag` and `int64_t` constants) for pre-C23 MSVC versions that don't support enum values larger than 32 bit. This is only conditionally enabled on such compilers, and will be dropped when we'll be able to switch the C standard to C23. (#3290)
61+
- Split handling of the spiritball clif function into `clif->spiritballs()` and `clif->soulball()`, with incompatible arguments to the old `clif->spiritball()` calls. Second argument is now the amount of spheres, instead of their type. (#3291)
62+
63+
### Fixed
64+
65+
- Fixed a memory leak when reloading the unit params db (#3288)
66+
- Fixed an assertion failure in Auto Shadow Spell when the character has no cloned or reproduced skills. (#3292)
67+
- Fixed Auto Shadow Spell's inability to switch to a skill with a lower skill id than the previously selected one. (#3292)
68+
- Fixed an assertion failure when clicking "ok" with no skills selected or clicking "cancel" in Shadow Spell. (#3292, issue #3286)
69+
- Fixed the value of the `flag` field of packet `ZC_SKILL_SELECT_REQUEST`, expected to be 1 (meaning auto shadow spell) rather than the amount of skills in the list. (#3292)
70+
- Fixed soul balls not displaying correctly in clients from 2020 onwards. (#3291)
71+
72+
### Deprecated
73+
74+
- Support for C99 is deprecated and will be removed soon. C11 will be the required C standard since all the officially supported compilers implement that. This is a reminder that the mainstream support for VS2019 by Microsoft ended on Apr 9 2024, making VS2022 (version 17.4 and newer) the only version we currently support officially.
75+
76+
### Other
77+
78+
- Work on the rebalance patch is continuing on the `rebalance` branch.
79+
2580
## [v2024.03] `March 2024`
2681

2782
### Added
@@ -3035,6 +3090,7 @@ Note: everything included in this release is part of PR #3198 which consists of
30353090
- New versioning scheme and project changelogs/release notes (#1853)
30363091

30373092
[Unreleased]: https://github.com/HerculesWS/Hercules/compare/stable...master
3093+
[v2024.04]: https://github.com/HerculesWS/Hercules/compare/v2024.03...v2024.04
30383094
[v2024.03]: https://github.com/HerculesWS/Hercules/compare/v2024.02...v2024.03
30393095
[v2024.02]: https://github.com/HerculesWS/Hercules/compare/v2023.12...v2024.02
30403096
[v2023.12]: https://github.com/HerculesWS/Hercules/compare/v2023.11...v2023.12

doc/constants_pre-re.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4878,7 +4878,7 @@
48784878
### Server defines
48794879

48804880
- `PACKETVER`: 20190530
4881-
- `HERCULES_VERSION`: 202403000
4881+
- `HERCULES_VERSION`: 202404000
48824882
- `MAX_LEVEL`: 175
48834883
- `MAX_STORAGE`: 600
48844884
- `MAX_GUILD_STORAGE`: 500

doc/constants_re.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4878,7 +4878,7 @@
48784878
### Server defines
48794879

48804880
- `PACKETVER`: 20190530
4881-
- `HERCULES_VERSION`: 202403000
4881+
- `HERCULES_VERSION`: 202404000
48824882
- `MAX_LEVEL`: 175
48834883
- `MAX_STORAGE`: 600
48844884
- `MAX_GUILD_STORAGE`: 500

src/config/core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#define CONFIG_CORE_H
2323

2424
/// Hercules version. From tag vYYYY.MM(+PPP) -> YYYYMMPPP
25-
#define HERCULES_VERSION 202403000
25+
#define HERCULES_VERSION 202404000
2626

2727
/// Max number of items on @autolootid list
2828
#define AUTOLOOTITEM_SIZE 10

0 commit comments

Comments
 (0)