Skip to content

Commit

Permalink
Release v2024.04
Browse files Browse the repository at this point in the history
Signed-off-by: Haru <[email protected]>
  • Loading branch information
MishimaHaruna committed May 1, 2024
1 parent f281814 commit a2d8e27
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 3 deletions.
2 changes: 2 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ linton-dawson <[email protected]>
LiYu <[email protected]>
louisplag <[email protected]>
Lucas Brito <[email protected]>
Lucas Golino <[email protected]>
M45T3Ryu <[email protected]>
malufett <[email protected]>
maqc1 <[email protected]>
Expand Down Expand Up @@ -178,6 +179,7 @@ TungSinpei <[email protected]>
ultramage <[email protected]>
Unknown <[email protected]>
Victor <[email protected]>
vietlubu <[email protected]>
Vincent Thibault <[email protected]>
Wolfie@HP-Laptop <[email protected]>
Wolf <[email protected]>
Expand Down
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,61 @@ If you are reading this in a text editor, simply ignore this section
### Removed
-->

## [v2024.04] `April 2024`

### Added

- 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)
- Implemented (m)atk/(m)def percent system: (#3290)
- Implemented percent atk/def/matk/mdef bonus calculation, matching the official behavior
- Added the `AtkPerc`, `DefPerc`, `MatkPerc`, `MdefPerc` calc flags to `sc_config.conf` to trigger recalculation of the respective stats
- Added atk percent bonus to the client's status window like on official servers (note: the matk percent bonus is not displayed)
- Added def percent bonus to the client's status window (included in the soft def)
- Implemented official behavior for skills/status changes that officially rely on this system (detailed below)
- Added the script command `getitemgroupitems()` to obtain a list (without duplicates) of all items contained in a given item group (#3275)
- Added support for the `ZC_SOULENERGY` packet for displaying soul balls, split from `ZC_SPIRITS` for new clients (#3291)

### Changed

- Converted handling of packets `ZC_SKILL_SELECT_REQUEST`, `CZ_SKILL_SELECT_RESPONSE` and `ZC_SPIRITS2` to the structure format. (#3292, #3291)
- 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)
- 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)
- Changed the Provoke (`SM_PROVOKE`, `MER_PROVOKE`) SC (`SC_PROVOKE`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Concentration (`LK_CONCENTRATION`) SC (`SC_CONCENTRATION`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Bloodlust (`HAMI_BLOODLUST`) SC (`SC_HAMI_BLOODLUST`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Vital Strike (`LK_JOINTBEAT`) SC (`SC_JOINTBEAT`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Eske (`SL_SKE`) SC (`SC_SKE`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Fleeting Move (`HFLI_FLEET`) SC (`SC_HLIF_FLEET`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Curse SC (`SC_CURSE`) to use the newly implemented atk/def percent system. (#3290)
- Changed `SC_INCATKRATE` to use the newly implemented atk/def percent system. (#3290)
- Changed the Divest Weapon (`RG_STRIPWEAPON`) SC (`SC_NOEQUIPWEAPON`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Mind Breaker (`PF_MINDBREAKER`) SC (`SC_MINDBREAKER`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Divest Shield (`RG_STRIPSHIELD`) SC (`SC_NOEQUIPSHIELD`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Fling (`GS_FLING`) SC (`SC_FLING`) to use the newly implemented atk/def percent system. (#3290)
- Changed the Angelus (`AL_ANGELUS`) SC (`SC_ANGELUS`) to use the newly implemented atk/def percent system. (#3290)
- Changed Poison (`SC_POISON`) and Deadly Poison (`SC_DPOISON`) to use the newly implemented atk/def percent system. (#3290)
- Changed Asura Strike (`MO_EXTREMITYFIST`) to ignore atk percent bonuses. (#3290)
- Changed several functions to take or return `enum scb_flag` where appropriate. (#3290)
- 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)
- 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)

### Fixed

- Fixed a memory leak when reloading the unit params db (#3288)
- Fixed an assertion failure in Auto Shadow Spell when the character has no cloned or reproduced skills. (#3292)
- Fixed Auto Shadow Spell's inability to switch to a skill with a lower skill id than the previously selected one. (#3292)
- Fixed an assertion failure when clicking "ok" with no skills selected or clicking "cancel" in Shadow Spell. (#3292, issue #3286)
- 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)
- Fixed soul balls not displaying correctly in clients from 2020 onwards. (#3291)

### Deprecated

- 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.

### Other

- Work on the rebalance patch is continuing on the `rebalance` branch.

## [v2024.03] `March 2024`

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

[Unreleased]: https://github.com/HerculesWS/Hercules/compare/stable...master
[v2024.04]: https://github.com/HerculesWS/Hercules/compare/v2024.03...v2024.04
[v2024.03]: https://github.com/HerculesWS/Hercules/compare/v2024.02...v2024.03
[v2024.02]: https://github.com/HerculesWS/Hercules/compare/v2023.12...v2024.02
[v2023.12]: https://github.com/HerculesWS/Hercules/compare/v2023.11...v2023.12
Expand Down
2 changes: 1 addition & 1 deletion doc/constants_pre-re.md
Original file line number Diff line number Diff line change
Expand Up @@ -4878,7 +4878,7 @@
### Server defines

- `PACKETVER`: 20190530
- `HERCULES_VERSION`: 202403000
- `HERCULES_VERSION`: 202404000
- `MAX_LEVEL`: 175
- `MAX_STORAGE`: 600
- `MAX_GUILD_STORAGE`: 500
Expand Down
2 changes: 1 addition & 1 deletion doc/constants_re.md
Original file line number Diff line number Diff line change
Expand Up @@ -4878,7 +4878,7 @@
### Server defines

- `PACKETVER`: 20190530
- `HERCULES_VERSION`: 202403000
- `HERCULES_VERSION`: 202404000
- `MAX_LEVEL`: 175
- `MAX_STORAGE`: 600
- `MAX_GUILD_STORAGE`: 500
Expand Down
2 changes: 1 addition & 1 deletion src/config/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#define CONFIG_CORE_H

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

/// Max number of items on @autolootid list
#define AUTOLOOTITEM_SIZE 10
Expand Down

0 comments on commit a2d8e27

Please sign in to comment.