Releases: HerculesWS/Hercules
Releases · HerculesWS/Hercules
v2026.04
Added
- Added support for constants from
item_options.confto be exported by constdb2doc. - Added a unit test for headgear/costume overlapping interaction. (#3397)
- Added script function
F_GetMobNaviListthat allows for displaying a list of mobs, their count and have their names navi linked. (#3406) - Added Cart Decoration skill quest based on kRO Zero. (#3406)
Changed
- Migrated
mob_race2_db.txttoRaceGroupfield inmob_db.confa conversion script to convert your database can be found attools/mob_race2_db_converter.py. (#3394) - Migrated
level_panalty.txtto config format atlevel_penalty.confa conversion script to convert your database can be found attools/level_penalty_converter.py. (#3393, #3412)
Fixed
- Fixed a logical flaw in the hateffect script function, where calling it with
enabled = 0(to remove an effect) would still add theeffectIdto thehatEffectIdvector if it wasn't already present. (#3349) - Fixed chat room kicked list not being properly freed after chat room is destroyed. (#3368, issue #787)
- Fixed
GN_SLINGITEMnot working when ammo is in slot 0 in inventory. (#3371) - Fixed various issued with txt -> conf mob db converter. (#3390, issue #2766)
- Fixed costume overlapping and
noviewidbehavior. (#3397) - Fixed castle seige type being filled with whatever integer value was read before it when server fails to read it instead of defaulting to
SIEGE_TYPE_FE. (#3398) - Fixed Gentle touch reducing max HP more than it should. From
4% per level to1% per level. (#3358) - Fixed a mix between
sc_typeandsi_typeinSC_ARMORPROPERTYwith may lead to confusion. (#3410) - Corrected the assertion in
status_get_sc_iconontypethat allowed a buffer overflow. (#3410) - Fixed a buffer overflow in
test_chunked. (#3410) - Fixed random options drop groups doing a size 0 allocation when none is provided in database, this also fixes the size of it being uninitalized. (#3410)
Other changes
- The
is_questargument topc->gainexp()has been changed to aflagsbitmask enum, in order to allow expansion to different flags. (#3279) - Fixed the damage increase by STR of
KN_BRANDISHSPEARit should increase the ratio by 5 for each STR point, not 1. (#3331) - Corrected EDP behavior on renewal
Meteor Assaultis no long affected by EDP andSoul Destroyis now affected by EDP. (#3350) - Changed EDP Weapon ATK increase in Renewal to match pre-renewal as it gave more accurate results in tests. (#3350)
- Added an assert to ensure
MAX_PACKET_DBis within the range of 2 bytes. (#3309) - Added an alert when plugins tries to add a packet outside of the supported range. (#3309)
- Added
.vs/folder to.gitignore. (#3355) - Moved from
php-sqllinttoSQLFluffto lint SQL files in repository. (#3399) - Update Visual Studio project files to include latest changes. (#3408)
- Removed CI providers that we no longer use (Appveyor, Travis). (#3410)
- Refactored CI builds to only build for actively supported platform, software and compilers. (#3410)
- Temporary disabled builds that requires a newer version of libpcre until we migrate to it. (#3410)
- Temporary disabled
-Wenum-enum-conversionand-fno-finite-math-onlycompiling flags. (#3410) - Implemented a simple block-header for disabled memory manager builds to allow the lookup of allocated memory size. (#3410)
- This also fixed a buffer overflow in
aReallocZ.
- This also fixed a buffer overflow in
- Updated CI github actions version and code analyzer version. (#3410)
- Updated sanitizer builds to only load the sanitizer for the targetted server/test decreasing false positive. (#3410)
Deprecated
- At some point in the future support for MSVC will be completely removed and so is support for windows, the recommended setup for developers on windows is to use WSL with your favorite flavor of linux.
- Xcode project will be removed in the future
Please check Supported Platforms know about our updated support strategy for platforms, compilers and database.
Rebalance changes
All these changes only affect Renewal. Pre-renewal is unchanged.
First classes
Swordsman
- Rebalance of
SM_MAGNUM(Magnum Break)- After skill delay reduced (2 seconds -> 0.5 seconds)
- (already implemented) Added 2 seconds of Cooldown
Merchant
- Rebalance of
MC_LOUD(Crazy Uproar)- Change affected players (Caster-only -> All party members in screen range)
- Effect changed:
- Str +4 (kept as is)
- Extra ATK +30 (new effect)
- CastTime: None -> 1 second
- FixedCastTime: None -> 0.5 seconds
- CoolDown: None -> 30 seconds
Magician
- Rebalance of
MG_FIREBOLT(Fire Bolt)- Fixed casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.2seconds. - New:
0.2 + (Skill Level × 0.1)seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8seconds. - New:
0.2 + (Skill Level × 0.3)seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)seconds - New:
1.4seconds at all skill levels.
- Old:
- Values based on iRO Wiki
- Fixed casting time changed.
- Rebalance of
MG_COLDBOLT(Cold Bolt)- Fixed casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.2seconds. - New:
0.2 + (Skill Level × 0.1)seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8seconds. - New:
0.2 + (Skill Level × 0.3)seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)seconds - New:
1.4seconds at all skill levels.
- Old:
- Values based on iRO Wiki
- Fixed casting time changed.
- Rebalance of
MG_LIGHTNINGBOLT(Lightning Bolt)- Fixed casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.2seconds. - New:
0.2 + (Skill Level × 0.1)seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8seconds. - New:
0.2 + (Skill Level × 0.3)seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)seconds - New:
1.4seconds at all skill levels.
- Old:
- Values based on iRO Wiki
- Fixed casting time changed.
- Rebalance of
MG_THUNDERSTORM(Thunder Storm)- Fixed casting time changed.
- Old:
(Skill Level × 0.8) x 0.2seconds. - New:
1.5seconds at all skill levels.
- Old:
- Variable casting time changed.
- Old:
(Skill Level × 0.8) x 0.8seconds. - New:
2.5 + (Skill Level × 0.2)seconds
- Old:
- Values based on iRO Wiki
- Fixed casting time changed.
- Rebalance of MG_FIREBALL (Fire Ball)
- Fixed casting time changed.
- Old:
0.3seconds at skill level 1-5,0.2seconds at skill level 6-10. - New:
0.2seconds at all skill levels.
- Old:
- Variable casting time changed.
- Old:
1.2seconds at skill level 1-5,0.8seconds at skill level 6-10. - New:
0.8seconds at all skill levels.
- Old:
- Global delay of skills changed.
- Old:
1.5seconds at skill level 1-5,1.0seconds at skill level 6-10. - New:
0.7seconds at all skill levels.
- Old:
- Fixed casting time changed.
- Rebalance of
MG_SOULSTRIKE(Soul Strike)- Global delay of skills changed.
- Old:
1.2-2.7seconds at skill level 1-10. - New:
1.4seconds at all skill levels.
- Old:
- Global delay of skills changed.
- Rebalance of
MG_FROSTDIVER(Frost Diver)- Global delay of skill changed:
1.5s ->0.5s
- Global delay of skill changed:
Acolyte
- Moved bonus calculation of
AB_CLEMENTIAandAB_CANTOto thesc_startlogic. - Rebalance of
AL_BLESSING(Blessing)- Also increases HIT +2 per skill level
- Clementia also gives additional HIT +1 for each 10 job levels
- Rebalance of
AL_INCAGI(Increase Agility)- Also increases ASPD +1% per skill level
- Canto Candidus also gives additional ASPD +1% for each 10 job levels
- Rebalance of AL_ANGELUS (Angelus)
- Now increases +50 MaxHP per SkillLevel
- The increased HP also gets healed
- 30s cooldown added
- Rebalance of
AL_HOLYLIGHT(Holy Light)- Fixed casting time changed:
0.4s ->0.2s - Variable casting time changed:
1.6s ->0.8s
- Fixed casting time changed:
2-1 Classes
- Rebalance of the 2-1 job skills, implementation based on kRO and kRO zero patch notes from 2018-10-31, iRO Wiki, rAthena and divine pride info, along with some in-game testing. (#3223, part of issue #2727)
Knight
- Rebalance of
KN_BOWLINGBASH(Bowling Bash)- Area of effect:
3x3->5x5centered on target - Number of hits changed
- 2-handed weapons: number of hits depend on number of targets
- 1 target: 2 hits
- 2 ~ 3 targets: 3 hits
- 4 or more targets: 4 hits
- other weapons: 2 hits
- 2-handed weapons: number of hits depend on number of targets
- Variable cast time removed
- Knockback increased: 1 cell -> 5 cells
- 1 second cooldown added
- After using the skill, caster can't switch weapons for 1 second
- Gutterline feature removed
- Area of effect:
- Rebalance of
KN_BRANDISHSPEAR(Brandish Spear)- Changed damage type: Short range physical -> Long range physical
- Damage formula changed
- Removed variable cast time
- Added
0.5s delay after skill - Added
1s cooldown. - SP consumption increased: 12 -> 24.
- After using the skill, caster can't switch weapons for 1 second
- Rebalance of
KN_TWOHANDQUICKEN(Two-Hand Quicken)- Gives additional
10%of ASPD (as equipment ASPD) - Now gives HIT
+(2 * SkillLevel) - Now gives CRIT
+(2 + SkillLevel)
- Gives additional
- Rebalance of
KN_CHARGEATK(Charge Attack) - Fixed and variable casttime removed
- Added Cooldown of
0.5s
Blacksmith
- Rebalance of
BS_ADRENALINE(Adrenaline Rush)- Gives additional ASPD
+10%to caster and party members (as Equip ASPD) - Added HIT
+(5 + 3 * SkillLevel)effect to caster and party members
- Gives additional ASPD
- Rebalance of
BS_OVERTHRUST(Over Thrust)- Weapon destruction chance removed
- Party members bonus changed based on skill level:
5%/5%/10%/10%/...
v2025.01
v2024.11
Changed
- Updated mob_db2 documentation to include the
Inheritmechanism. (#3327)
Fixed
- Fixed a code comment containing misleading information. (#3327)
- Fixed the
clang-13build in the GitHub CI, failing due to a removed package in debian unstable. (#3333)
Other
- Work on the rebalance patch is continuing on the rebalance branch.
v2024.11 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.11
Rebalance changes
- All these changes only affect Renewal. Pre-renewal is unchanged, unless otherwise stated.
- This includes the changes from the previous rebalance release https://github.com/HerculesWS/Hercules/releases/tag/v2024.10-rebalance
2-1 Transcendent Classes
- Rebalance of the 2-1 transcendent job skills, implementation based on kRO and kRO zero patch notes from 2018-10-31, iRO Wiki, rAthena and divine pride info, along with some in-game testing. (#3331, #3332, part of issue #2735)
Lord Knight
- Rebalance of
LK_SPIRALPIERCE(Spiral Pierce)- Changed variable cast time
- Old:
0.15 / 0.25 / 0.35 / 0.45 / 0.5s - New:
0.25s in all skill levels
- Old:
- Changed fixed cast time
- Old:
0.15 / 0.25 / 0.35 / 0.45 / 0.5s - New:
0.3s in all skill levels
- Old:
- Changed global delay
- Old:
1.2 / 1.4 / 1.6 / 1.8 / 2s - New:
1s in all skill levels
- Old:
- Changed damage formula
BaseATKincreased by 50%- Old:
150 / 200 / 250 / 300 / 350 - New:
200 / 250 / 300 / 350 / 400
- Old:
- Size modifier changed
- Small:
125%->130% - Medium:
100%->115% - Large:
75%->100%
- Small:
- Now deals more damage depending on user's base level
- Changed variable cast time
- Rebalance of
LK_AURABLADE(Aura Blade)- Changed damage bonus formula
- Old:
SkillLv x 20 - New:
BaseLv x (SkillLv + 3)
- Old:
- Changed damage bonus formula
- Rebalance of
LK_CONCENTRATION(Concentration)- ATK Bonus changed
- Old:
(SkillLv x 5) %flat - New:
(5 + SkillLv x 2) %ATK %
- Old:
- Def reduction % changed
- Old:
(SkillLv x 5) % - New:
(5 + SkillLv x 2) %
- Old:
- Duration changed
- Old:
25 / 30 / 35 / 40 / 45 / 50 / 55 / 60 / 65 / 70s - New:
60s at all skill levels
- Old:
- The effect no longer gets removed when changing/removing weapon
- ATK Bonus changed
Mastersmith / Whitesmith
- Rebalance of
WS_OVERTHRUSTMAX(Maximum Power Thrust)- Removed chance of weapon destruction
Other changes
- Fixed the damage increase by STR of
KN_BRANDISHSPEARit should increase the ratio by 5 for each STR point, not 1. (#3331)
v2024.10
Changed
- Changed the
getmobdrops()script command to avoid the use of global temporary variables. (#3319)- The caller now specifies an array that will be filled with the requested data.
- The amount of filled entries will be returned as the command's return value. The caller should only read up to that amount of entries from the array, as it may contain previous leftover values past that point.
- See the script_commands documentation for further details.
- Improved the output of the
@mobinfoatcommand to include item links for the mob drops, on clients that support it. Unsupported clients will gracefully fall back to just printing the names. #3328 - Improved the output of the
@iteminfoatcommand to include item links, on clients that support it. Unsupported clients will gracefully fall back to just printing the names. #3329
v2024.10 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.10
Rebalance changes
- There were no rebalance-specific changes in this release.
- See also the list of changes from the previous rebalance release https://github.com/HerculesWS/Hercules/releases/tag/v2024.09-rebalance
v2024.09
Added
- Implemented the script command
getunitparam()to query values defined inunit_parameters_db.conf, and the relatedUNIT_PARAM_*constants. See thescript_commands.txtdocumentation for usage details. (#3323) - Added validation of the name length for configuration entries added through the HPM
addBattleConf(),addLoginConf(),addCharConf(),addCharInterConf(),addLogConf(),addScriptConf()methods, to prevent silent truncation. (#3324)
Fixed
v2024.09 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.09
Rebalance changes
- There were no rebalance-specific changes in this release.
- See also the list of changes from the previous rebalance release https://github.com/HerculesWS/Hercules/releases/tag/v2024.08-rebalance
v2024.08
Changed
- Converted packets
CHARLOGIN_ONLINE_ACCOUNTS,MAPCHAR_AUTH_REQ,CHARLOGIN_SET_ACCOUNT_ONLINEto the struct format. (#3304, #3312, #3314) - Excluded the standalone (i.e. autotrader) characters from those sent to the API server. (#3314, issue #3306)
- Changed the
getpartymember()script command to avoid the use of global temporary variables. (#3305, #3307, #3308, #3315)- The caller now specifies an array that will be filled with the requested data.
- The amount of filled entries will be returned as the command's return value. The caller should only read up to that amount of entries from the array, as it may contain previous leftover values past that point.
- Added constants for specifying the requested data:
PT_MEMBER_NAME,PT_MEMBER_CHARID,PT_MEMBER_ACCID. - See the script_commands documentation for further details.
- The included scripts have been updated with the new syntax.
- Changed the
getguildmember()script command to avoid the use of global temporary variables. (#3310, #3311, #3318)- The caller now specifies an array that will be filled with the requested data.
- The amount of filled entries will be returned as the command's return value. The caller should only read up to that amount of entries from the array, as it may contain previous leftover values past that point.
- Added constants for specifying the requested data:
GD_MEMBER_NAME,GD_MEMBER_CHARID,GD_MEMBER_ACCID. - See the script_commands documentation for further details.
- Reduced timeout for the GitHub Actions CI builds to 30 minutes, to prevent stuck jobs from stalling the entire pipeline for too many hours. (#3317)
Fixed
- Fixed a packet reading error causing the list of online characters on char and login server to desynchronize and invalidate the API server tokens. (#3304)
- Fixed CI builds failing due to the MariaDB client attempting to connect to the server with SSL. (#3313)
- Fixed the hwsapi commits failing because of an expired GPG key.
- Fixed HPMDataCheck containing incomplete data because of a missing include in the headers that use the
DEFINE_PACKET_IDmacro. (#3314) - Updated the mapcache entry for
iz_ac02(renewal-only content) to a 2012 version compatible with the included scripts. (#3316, issue #2809) - Fixed deprecation warnings in the GitHub Actions CI builds caused by the use of unsupported nodejs v16 actions. The actions have been upgraded to their nodejs v20 versions as recommended by GitHub. (#3317)
- Fixed a deprecation warning in the GitHub Actions macOS CI builds due to a packet that was renamed. (#3317)
Deprecated
- Deprecated building on GCC versions older than 7. This has been the case for at least 4 months according to the Supported Platforms rules, but this is the official deprecation warning. Support macros and workarounds will be dropped from the code at some point in the future. (#3317)
Removed
- Removed GitHub Actions workflows that don't support nodejs v20. This includes the test builds for gcc-4.8, gcc-5 and gcc-6, which have been unsupported by Hercules for at least 4 months. (#3317)
v2024.08 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.08
Rebalance changes
- There were no rebalance-specific changes in this release.
- See also the list of changes from the previous rebalance release https://github.com/HerculesWS/Hercules/releases/tag/v2024.06-rebalance