Skip to content

Releases: HerculesWS/Hercules

v2026.04

22 Apr 03:57
v2026.04
1d07ca6

Choose a tag to compare

Added

  • Added support for constants from item_options.conf to be exported by constdb2doc.
  • Added a unit test for headgear/costume overlapping interaction. (#3397)
  • Added script function F_GetMobNaviList that 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.txt to RaceGroup field in mob_db.conf a conversion script to convert your database can be found at tools/mob_race2_db_converter.py. (#3394)
  • Migrated level_panalty.txt to config format atlevel_penalty.conf a conversion script to convert your database can be found at tools/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 the effectId to the hatEffectId vector 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_SLINGITEM not 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 noviewid behavior. (#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 to 1 % per level. (#3358)
  • Fixed a mix between sc_type and si_type in SC_ARMORPROPERTY with may lead to confusion. (#3410)
  • Corrected the assertion in status_get_sc_icon on type that 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_quest argument to pc->gainexp() has been changed to a flags bitmask enum, in order to allow expansion to different flags. (#3279)
  • Fixed the damage increase by STR of KN_BRANDISHSPEAR it should increase the ratio by 5 for each STR point, not 1. (#3331)
  • Corrected EDP behavior on renewal Meteor Assault is no long affected by EDP and Soul Destroy is 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_DB is 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-sqllint to SQLFluff to 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-conversion and -fno-finite-math-only compiling 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.
  • 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

  • Changes from the 2018.10.31 patch (#3218, issue #2725)
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.2 seconds.
      • New: 0.2 + (Skill Level × 0.1) seconds
    • Variable casting time changed.
      • Old: (0.4 + (Skill Level × 0.4)) x 0.8 seconds.
      • New: 0.2 + (Skill Level × 0.3) seconds
    • Global delay of skills changed.
      • Old: 0.8 + (Skill Level × 0.2) seconds
      • New: 1.4 seconds at all skill levels.
    • Values based on iRO Wiki
  • Rebalance of MG_COLDBOLT (Cold Bolt)
    • Fixed casting time changed.
      • Old: (0.4 + (Skill Level × 0.4)) x 0.2 seconds.
      • New: 0.2 + (Skill Level × 0.1) seconds
    • Variable casting time changed.
      • Old: (0.4 + (Skill Level × 0.4)) x 0.8 seconds.
      • New: 0.2 + (Skill Level × 0.3) seconds
    • Global delay of skills changed.
      • Old: 0.8 + (Skill Level × 0.2) seconds
      • New: 1.4 seconds at all skill levels.
    • Values based on iRO Wiki
  • Rebalance of MG_LIGHTNINGBOLT (Lightning Bolt)
    • Fixed casting time changed.
      • Old: (0.4 + (Skill Level × 0.4)) x 0.2 seconds.
      • New: 0.2 + (Skill Level × 0.1) seconds
    • Variable casting time changed.
      • Old: (0.4 + (Skill Level × 0.4)) x 0.8 seconds.
      • New: 0.2 + (Skill Level × 0.3) seconds
    • Global delay of skills changed.
      • Old: 0.8 + (Skill Level × 0.2) seconds
      • New: 1.4 seconds at all skill levels.
    • Values based on iRO Wiki
  • Rebalance of MG_THUNDERSTORM (Thunder Storm)
    • Fixed casting time changed.
      • Old: (Skill Level × 0.8) x 0.2 seconds.
      • New: 1.5 seconds at all skill levels.
    • Variable casting time changed.
      • Old: (Skill Level × 0.8) x 0.8 seconds.
      • New: 2.5 + (Skill Level × 0.2) seconds
    • Values based on iRO Wiki
  • Rebalance of MG_FIREBALL (Fire Ball)
    • Fixed casting time changed.
      • Old: 0.3 seconds at skill level 1-5, 0.2 seconds at skill level 6-10.
      • New: 0.2 seconds at all skill levels.
    • Variable casting time changed.
      • Old: 1.2 seconds at skill level 1-5, 0.8 seconds at skill level 6-10.
      • New: 0.8 seconds at all skill levels.
    • Global delay of skills changed.
      • Old: 1.5 seconds at skill level 1-5, 1.0 seconds at skill level 6-10.
      • New: 0.7 seconds at all skill levels.
  • Rebalance of MG_SOULSTRIKE (Soul Strike)
    • Global delay of skills changed.
      • Old: 1.2 - 2.7 seconds at skill level 1-10.
      • New: 1.4 seconds at all skill levels.
  • Rebalance of MG_FROSTDIVER (Frost Diver)
    • Global delay of skill changed: 1.5 s -> 0.5 s
Acolyte
  • Moved bonus calculation of AB_CLEMENTIA and AB_CANTO to the sc_start logic.
  • 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.4 s -> 0.2 s
    • Variable casting time changed: 1.6 s -> 0.8 s

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 -> 5x5 centered 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
    • 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
  • Rebalance of KN_BRANDISHSPEAR (Brandish Spear)
    • Changed damage type: Short range physical -> Long range physical
    • Damage formula changed
    • Removed variable cast time
    • Added 0.5 s delay after skill
    • Added 1 s 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)
  • Rebalance of KN_CHARGEATK (Charge Attack)
  • Fixed and variable casttime removed
  • Added Cooldown of 0.5 s
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
  • Rebalance of BS_OVERTHRUST (Over Thrust)
    • Weapon destruction chance removed
    • Party members bonus changed based on skill level: 5% / 5% / 10% / 10% /...
Read more

v2025.01

01 Feb 00:46
c1fa550

Choose a tag to compare

Added

  • Added some validation checks for unusual/suspicious whitespace in incoming chat messages. (#3335)

v2024.11

01 Dec 01:58
69edb0c

Choose a tag to compare

Changed

  • Updated mob_db2 documentation to include the Inherit mechanism. (#3327)

Fixed

  • Fixed a code comment containing misleading information. (#3327)
  • Fixed the clang-13 build 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)

01 Dec 02:22
e32f3f9

Choose a tag to compare

Pre-release

General changes

Rebalance changes

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.5 s
      • New: 0.25 s in all skill levels
    • Changed fixed cast time
      • Old: 0.15 / 0.25 / 0.35 / 0.45 / 0.5 s
      • New: 0.3 s in all skill levels
    • Changed global delay
      • Old: 1.2 / 1.4 / 1.6 / 1.8 / 2 s
      • New: 1 s in all skill levels
    • Changed damage formula
      • BaseATK increased by 50%
        • Old: 150 / 200 / 250 / 300 / 350
        • New: 200 / 250 / 300 / 350 / 400
      • Size modifier changed
        • Small: 125% -> 130%
        • Medium: 100% -> 115%
        • Large: 75% -> 100%
      • Now deals more damage depending on user's base level
  • Rebalance of LK_AURABLADE (Aura Blade)
    • Changed damage bonus formula
      • Old: SkillLv x 20
      • New: BaseLv x (SkillLv + 3)
  • Rebalance of LK_CONCENTRATION (Concentration)
    • ATK Bonus changed
      • Old: (SkillLv x 5) % flat
      • New: (5 + SkillLv x 2) % ATK %
    • Def reduction % changed
      • Old: (SkillLv x 5) %
      • New: (5 + SkillLv x 2) %
    • Duration changed
      • Old: 25 / 30 / 35 / 40 / 45 / 50 / 55 / 60 / 65 / 70 s
      • New: 60 s at all skill levels
    • The effect no longer gets removed when changing/removing weapon
Mastersmith / Whitesmith
  • Rebalance of WS_OVERTHRUSTMAX (Maximum Power Thrust)
    • Removed chance of weapon destruction

Other changes

  • Fixed the damage increase by STR of KN_BRANDISHSPEAR it should increase the ratio by 5 for each STR point, not 1. (#3331)

v2024.10

31 Oct 23:38
484691a

Choose a tag to compare

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 @mobinfo atcommand 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 @iteminfo atcommand 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)

31 Oct 23:39
3a3482a

Choose a tag to compare

Pre-release

General changes

Rebalance changes

v2024.09

30 Sep 23:36
84da0df

Choose a tag to compare

Added

  • Implemented the script command getunitparam() to query values defined in unit_parameters_db.conf, and the related UNIT_PARAM_* constants. See the script_commands.txt documentation 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

  • Fixed an issue causing item-granted skills that were overriding an existing skill level, not to be correctly cleared when unequipping the item. (#3322)
  • Fixed previously plagiarized skills re-appearing on subsequent logins due to the related script variables not getting cleared properly. (#3325)

v2024.09 (Rebalance edition)

30 Sep 23:38
e83b97c

Choose a tag to compare

Pre-release

General changes

Rebalance changes

v2024.08

31 Aug 23:39
71fc107

Choose a tag to compare

Changed

  • Converted packets CHARLOGIN_ONLINE_ACCOUNTS, MAPCHAR_AUTH_REQ, CHARLOGIN_SET_ACCOUNT_ONLINE to 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_ID macro. (#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)

31 Aug 23:46

Choose a tag to compare

Pre-release

General changes

Rebalance changes