Releases: HerculesWS/Hercules
Releases · HerculesWS/Hercules
v2024.09
Added
- Implemented the script command
getunitparam()
to query values defined inunit_parameters_db.conf
, and the relatedUNIT_PARAM_*
constants. See thescript_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
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_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)
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
v2024.06 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.06
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.05-rebalance
2-2 Classes (continued)
- Rebalance of the 2-2 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. (#3229, #3230, #3253, #3279, part of issue #2727)
Sage
- Rebalance of
SA_VOLCANO
(Volcano)- Requirement changed: Yellow Gemstone -> Blue Gemstone
- Effect changed:
- Old: ATK
+(SkillLevel x 10)
- New: ATK/MATK
+(5 + (Skill Level x 5))
- Old: ATK
- Rebalance of
SA_DELUGE
(Deluge)- Requirement changed: Yellow Gemstone -> Blue Gemstone
- Rebalance of
SA_VIOLENTGALE
(Whirlwind)- Requirement changed: Yellow Gemstone -> Blue Gemstone
- Rebalance of
SA_FLAMELAUNCHER
(Endow Blaze)- Fixed casting time reduced:
3
s ->1
s - Variable casting time added:
1
s - Requirement changed to Scarlet Point
- Now increases corresponding element magical damage by
1%
per skill level - Removed skill failure chance
- Changed duration
- Old:
20
minutes (Level 1 ~ 4),30
minutes (Level 5) - New:
5 x (Skill Level + 1)
minutes
- Old:
- Fixed casting time reduced:
- Rebalance of
SA_FROSTWEAPON
(Endow Tsunami)- Fixed casting time reduced:
3
s ->1
s - Variable casting time added: 1s
- Requirement changed to Indigo Point
- Now increases corresponding element magical damage by
1%
per skill level - Removed skill failure chance
- Changed duration
- Old:
20
minutes (Level 1 ~ 4),30
minutes (Level 5) - New:
5 x (Skill Level + 1)
minutes
- Old:
- Fixed casting time reduced:
- Rebalance of
SA_LIGHTNINGLOADER
(Endow Tornado)- Fixed casting time reduced:
3
s ->1
s - Variable casting time added:
1
s - Requirement changed to Yellow Wish Point
- Now increases corresponding element magical damage by
1%
per skill level - Removed skill failure chance
- Changed duration
- Old:
20
minutes (Level 1 ~ 4),30
minutes (Level 5) - New:
5 x (Skill Level + 1)
minutes
- Old:
- Fixed casting time reduced:
- Rebalance of
SA_SEISMICWEAPON
(Endow Quake)- Fixed casting time reduced:
3
s ->1
s - Variable casting time added:
1
s - Requirement changed to Lime Green Point
- Now increases corresponding element magical damage by
1%
per skill level - Removed skill failure chance
- Changed duration
- Old:
20
minutes (Level 1 ~ 4),30
minutes (Level 5) - New:
5 x (Skill Level + 1)
minutes
- Old:
- Fixed casting time reduced:
- Rebalance of
SA_AUTOSPELL
(Hindsight)- Autocast level changed
- Old: The Bolt skills will vary in level from level 1 to 3
- The level 1 version will occur
50%
of the time, level 235%
, and level 3 at15%
- The level 1 version will occur
- New: Levels of autocasted spells is the half of Hindsight level.
- If autocasted spells has lower level than half of Hindsight levels, actual skill level will be autocasted instead.
- Old: The Bolt skills will vary in level from level 1 to 3
- Autocast chance changed
- Old:
7%
-25%
- New:
(Skill Level x 2)%
- Old:
- Usable skills changed
- Old: Napalm Beat, Fire Bolt, Cold Bolt, Lightning Bolt, Soul Strike, Fire Ball, Frost Diver
- New: Fire Bolt, Cold Bolt, Lightning Bolt, Soul Strike, Fire Ball, Earth Spike, Frost Diver, Thunderstorm, Heaven's Drive
- Note: for compatibility with older clients that don't support more than 7 skills at once, the pre-renewal
autospell_db
will be loaded instead, when such packetvers are in use. This behavior can be enforced by defining theCLASSIC_AUTOSPELL_LIST
preprocessor macro (seesrc/config/classes/general.h
).
- Autocast level changed
Monk
- Weapon modifier changes
- Changed the size penalty for Knuckles
- Small: 100% -> 100%
- Medium: 75% -> 100%
- Large: 50% -> 75%
- Changed the size penalty for Knuckles
- Rebalance of
MO_TRIPLEATTACK
(Raging Trifecta Blow)- Chance of activation changed:
- Old:
30%
for level 1, less chance for each level above - New: Always
30%
- Old:
- Chance of activation changed:
- Rebalance of
MO_CHAINCOMBO
(Raging Quadruple Blow)- SP cost reduced by
6
in every level - When used with Knuckle class weapon:
- Skill damage is doubled
- Number of hits increased to
6
(visual only)
Example:- Non Knuckle:
4
hits of100
(Total =400
) - Knuckle:
6
hits of133
(Total =800
)
- Non Knuckle:
- SP cost reduced by
- Rebalance of
MO_COMBOFINISH
(Raging Thrust)- Damage formula changed
- Old:
(240 + SkillLevel * 60)%
- New:
(450 + SkillLevel * 150 + STR * 5)%
- Old:
- SP Consumption reduced
- Old:
SkillLevel + 10
- New:
SkillLevel + 2
- Old:
- Damage formula changed
- Rebalance of
MO_EXTREMITYFIST
(Asura Strike)- Change required spheres when used after Raging Thrust or Root
- Old:
4
spheres were required - New:
1
sphere is required
- Old:
- Doubles damage when there are
6
or more spirit spheres on cast - SP recovery penalty duration reduced:
10
s ->3
s
- Change required spheres when used after Raging Thrust or Root
- Rebalance of
MO_BLADESTOP
(Root)- Cooldown added:
3
s - Boss monsters are now affected
- Duration changed:
- Old:
10 + (SkillLevel * 10)
seconds - New:
10
seconds (2
seconds on boss monsters)
- Old:
- Cooldown added:
- Rebalance of
MO_INVESTIGATE
(Occult Impact)- Damage formula changed
- Old:
100 + (SkillLevel * 75)%
- New:
(SkillLevel * 100)%
- When used on target in Root state, deals
50%
more damage - ATK Mastery no longer increases its damage (Not sure if this was added by the Rebalance, but this info only appeared in iRO Wiki after rebalance, so it is assumed it was an undocumented change)
- A fix for the base ATK (before skill ratio) is included:
(ATK + (HardDef/2))
- Old:
- Damage formula changed
- Rebalance of
MO_FINGEROFFENSIVE
(Throw Spirit Sphere)- Damage formula changed
- Old:
(Spirit Spheres x 350)%
- New:
[600 + (Skill Level x 200)]%
- Old:
- Casting time changed
- Old:
(Spirit Spheres + 1)
seconds - New:
0.5
seconds fixed casting time +0.5
seconds variable casting time
- Old:
1
second cooldown added- SP cost increased
- Old:
10
at all skill levels - New:
8 + (Skill Level x 4)
- Old:
- Spirit sphere usage changed
- Old:
(Skill Level)
spheres - New:
1
sphere at all skill levels
- Old:
- Skill will deal
50%
more damage on target caught with Root - The damage is delivered as a bundle of
5
hits(TotalDMG / 5)
- Damage formula changed
- Rebalance of
MO_ABSORBSPIRITS
(Absorb Spirit Sphere)- Reduced fixed casting time:
1
s ->0.5
s - Removed variable casting time
- Reduced fixed casting time:
Bard / Dancer
- Added song groups for Bard/Dancer songs
- Song effects are now grouped and songs of the same group doesn't overlap with each other. Activating a new effect of the same group ends other existing effects.
- There are 3 groups:
- Bard songs -- song buffs exclusive to bards
- Dancer songs -- song buffs exclusive to dancers
- Ensemble songs -- song buffs exclusive to ensemble
- Rebalance of
BA_MUSICALSTRIKE
(Melody Strike) andDC_THROWARROW
(Slinging Arrow)- Damage formula changed
- New:
[110 + (Skill Level x 40)]%
x2
hits
- New:
- SP cost changed
- Old:
(Skill Level × 2) - 1
- New:
12
at all skill levels
- Old:
- Casting time reduced:
1.5
s ->0.5
s (Based on DivinePride data - see details in the PR and commit messages)- Fixed Cast Time of
0.3
s remains untouched - Variable Cast Time reduced
1.2
s ->0.2
s
- Fixed Cast Time of
- Global skill delay added:
0.3
s
- Damage formula changed
- Rebalance of
BA_MUSICALLESSON
(Music Lessons)- Add effect: Attack Speed
+(Skill_Lv)%
with Musical Instruments - Add effect: Max SP
+(Skill_Lv)%
- No longer gives bonuses to song effects
- Add effect: Attack Speed
- Rebalance of
DC_DANCINGLESSON
(Dance Lessons)- Add effect: Max SP
+(Skill_Lv)%
- Add effect: When using Whips, CRI
+(Skill_Lv)
- No longer gives bonuses to dance effects
- Add effect: Max SP
- Rebalance of
BA_FROSTJOKE
(Unbarring Octave)- Global skill delay reduced:
4
s ->0.3
s 4
s Cooldown added
- Global skill delay reduced:
- Rebalance of
BD_ENCORE
(Encore)- Added
0.3
s of global skill delay - Added
10
s of cooldown
- Added
- Rebalance of
BA_DISSONANCE
(Unchained Serenade)- Skill reworked.
- Now causes Neutral Magical damage in a
9x9
area - Can only be used in PvP areas
- Now causes Neutral Magical damage in a
0.3
s of global delay added5
s of cooldown added- SP cost changed
- Old:
15 + (SkillLv) x 3
- New:
32 + (SkillLv) x 3
- Old:
- Skill reworked.
- Rebalance of
BA_POEMBRAGI
(Magic Strings)- Skill reworked:
- It is now a screen-wide skill (
31x31
) that gives the SC to all party members - It no longer uses ground units nor keeps the "performance running"
- It is now a screen-wide skill (
- Effect formula changed:
- Variable cast reduction:
(SkillLv)%
- Cast delay reduction:
(SkillLv x 3)%
- Caster stats and Music Lessons no longer affects the formula
- Variable cast reduction:
- Effect duration changed:
180
s ->60
s - SP Cost changed:
- Old:
35 + (SkillLv x 5)
- New:
60 + (SkillLv x 5)
- Old:
1
s casting time added0.5
s global delay added20
s cooldown added
- Skill reworked:
- Rebalance of
BA_ASSASSINCROSS
(Impressive Riff)- Skill reworked:
- It is now a screen-wide skill (
31x31
) that gives the SC to all party members - It no longer uses ground units nor keeps the "performance running"
- It is now a screen-wide skill (
- Effect formula changed:
- ASPD:
- when SkillLv < 10:
+(1 + ((SkillLv - 1) x 2))%
- when SkillLv = 10:
+20%
- Caster stats and Music Lessons no longer affects the formula
- when SkillLv < 10:
- ASPD:
- Effect duration changed:
180
s ->60
s - SP Cost changed:
- Old:
35 + (SkillLv x 5)
- New:
60 + (SkillLv x 5)
- Old:
1
s casting time added0.5
s global delay added20
s cooldown added
- Skill reworked:
- Rebalance of
BA_APPLEIDUN
(Song of Lutie)- Skill reworked:
- It is now a screen-wide skill (
31x31
) that g...
- It is now a screen-wide skill (
- Skill reworked:
v2024.06
Notes on the rebalance branch
Work on the rebalance
branch is continuing and the v2024.06-rebalance
release includes the 1-1, 2-1 and 2-2 skills. The branch will not be merged into master/stable until it is fully consistent, including the transcendent skills. The branch gets re-aligned with a merge from stable
after each month's release, so it is always up to date, for those that wish to test the Rebalance mechanics early (and provide feedback were any issues to arise).
Added
- Added the
mesnavigation()
script command, to generate navi tags valid for the current packetver. (#3300) - Added the
mesmobspawn()
script command, to generate navi tags valid for the current packetver. (#3300) - Added the
mesurl()
script command, to generate clickable URL tags valid for the current packetver. (#3300) - Added the
mestipbox()
script command, to generate tipbox tags valid for the current packetver. (#3300)
Changed
- Refactored the Plagiarism/Reproduce skill tracking logic and removed some code duplication. (part of #3298)
- Replaced the use of hardcoded
<NAVI>
tags in scripts withmesnavigation()
calls. (#3300)
Fixed
v2024.05
Changed
- Implemented official ATK % calculation for
BS_OVERTHRUST
in pre-renewal. Party members only receive 5% ATK bonus. (#3293)
Fixed
- Fixed a missing initialization of the (m)atk/(m)def modifiers, resulting into 0 or 1 damage. (#3293, related to #3290)
- Fixed an incorrect call of
clif->updatestatus()
to non-player objects in relation to atk/def percent bonuses. (#3294, related to #3290) - Fixed a failure on SCs from skills that don't have a
StatusChange
entry in their skill db entries after a@reloadskilldb
, such as the spirit skills. (#3296, issue #3295) - Fixed a compiler warning due to a missing case label when
SECURE_NPCTIMEOUT
is enabled. (#3297, issue #3197)
Other
- Work on the rebalance patch is continuing on the rebalance branch.
v2024.05 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.05
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.04-rebalance
2-2 Classes
- Rebalance of the 2-2 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. (#3229, part of issue #2727)
Crusader
- Rebalance of
CR_GRANDCROSS
(Grand Cross)- Fixed casting time changed:
1.5
s ->0.5
s - Variable casting time changed:
1.5
s ->1
s - Global delay changed:
1.5
s ->0.5
s 1
s cooldown added- Self damage is removed
- Fixed casting time changed:
- Rebalance of
CR_SHIELDBOOMERANG
(Shield Boomerang)- Damage formula changed
- Old: ATK
(100 + 30 x SkillLevel)%
(Shield weight gives extra flat damage) - Now: ATK
(80 x SkillLevel + Shield Weight + Shield Upgrade x 4)%
- Old: ATK
- Damage formula changed
- Rebalance of
CR_SPEARQUICKEN
(Spear Quicken)- Additionally gives
+10%
of Equipment ASPD
- Additionally gives
Alchemist
- Rebalance of
AM_DEMONSTRATION
(Bomb)- Chance of breaking target weapon increased
- Old:
SkillLevel %
- New:
(3 x SkillLevel)%
- Old:
- It now uses basic/default melee damage calculation (instead of special formula)
- Damage formula changed:
- Old:
[100% + (Skill Level x 20)]%
(ATK + MATK) - New:
[(Skill Level x 60) + (Potion_Research_Lv x 10)]%
ATK
- Old:
- Note: the skill code was refactored to move the chance to break the enemy weapon to the
SkillData2
field of the skill DB (affecting both renewal and pre-renewal)
- Chance of breaking target weapon increased
- Rebalance of
AM_ACIDTERROR
(Acid Terror)- Chance of breaking target armor increased
- Old:
3
/7
/10
/12
/13
% - New:
5
/15
/25
/35
/45
%
- Old:
- It now uses basic/default ranged physical damage calculation (instead of special formula)
- Damage formula changed:
- Old:
[200% + (Skill Level x 80)]%
(ATK + MATK) - New:
[(Skill Level x 200) + (Potion_Research_Lv x 100)]%
ATK
- Old:
- The damage effect has been corrected (renewal only) and it is now applied in a bundle of 5 hits instead of a single damage
- Chance of breaking target armor increased
Rogue
- Rebalance of
RG_RAID
(Sightless Mind)- SP cost reduced:
20
->15
- Damage increased
- Old:
[100 + (Skill Level x 40)]%
- New:
[50 + (Skill Level x 150)]%
- Old:
- Damage debuff changed
- Old:
20%
more damage for5
seconds or7
hits - New:
30%
more damage (15%
on boss monsters) for10
seconds
- Old:
- SP cost reduced:
- Rebalance of RG_BACKSTAP (Back Stab)
- Skill mechanics changed
- No longer needs to be behind the target to use skill
- No longer ignores accuracy check
- No longer usable from Hiding state
- Now increases skill Hit by 4 per skill level
- Number of hits changed:
- Old:
1
hit - New:
2
hits with Dagger,1
hit with other weapons
- Old:
- SP cost reduced:
16
->12
- Cooldown added:
0.5
s - Number of hits changed
- The bow damage formula has been corrected (affecting both renewal and pre-renewal). Incorrectly, only part of the skillratio value was getting halved when using bows, disregarding the base 100% value.
- Skill mechanics changed
- Rebalance of
RG_PLAGIARISM
(Intimidate)- Also increases Attack Speed by
1%
per Skill Level
- Also increases Attack Speed by
v2024.04
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 tosc_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 fromZC_SPIRITS
for new clients (#3291)
Changed
- Converted handling of packets
ZC_SKILL_SELECT_REQUEST
,CZ_SKILL_SELECT_RESPONSE
andZC_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 SCsSC_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 SCSC_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 toe_scb_flag
andint64_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()
andclif->soulball()
, with incompatible arguments to the oldclif->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 packetZC_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.04 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.04
Rebalance changes
- All these changes only affect Renewal. Pre-renewal is unchanged.
- This includes the changes from the previous rebalance release https://github.com/HerculesWS/Hercules/releases/tag/v2024.03-rebalance
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
- 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.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)
- Gives additional
- 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
- 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%
/15%
Assassin
- Rebalance of
AS_SONICBLOW
(Sonic Blow)- Attack motion removed
- Damage formula changed
- Skill now does
50%
more damage if target has less than50%
HP - Skill modifier is no longer halved when Enchant Deadly Poison is active
- Global delay reduced:
2
s ->0.5
s 1
s cooldown added
- Rebalance of
AS_SPLASHER
(Venom Splasher)- Damage formula changed
- Explosion delay changed
- Cooldown changed
- Red Gemstone requirement removed
- Explosion damage no longer splits between targets
Wizard
- Rebalance of
WZ_VERMILION
(Lord of Vermilion)- Damage formula changed
- Old:
(100 ~ 330)% x 4 waves
(10 hits each) - New:
[400 + (Skill Level x 100)]% x 1 wave
(20 hits)
- Old:
- Fixed casting time changed
- Old:
[2.48 - (Skill Level × 0.08)]
s - New:
1.5
s at all skill levels
- Old:
- Variable casting time changed
- Old:
[9.92 - (Skill Level × 0.32)]
s - New:
[6.5 - (Skill Level × 0.2)]
s
- Old:
- Global delay of skills reduced
- Old:
5
s at all skill levels - New:
1
s at all skill levels
- Old:
5
s cooldown added- Chance of causing blind effect increased
- Damage formula changed
- Rebalance of
WZ_METEOR
(Meteor Storm)- Fixed casting time reduced
- Old:
2.4
s at all skill levels - New:
1.5
s at all skill levels
- Old:
- Variable casting time reduced
- Old:
9.6
s at all skill levels - New:
6.3
s at all skill levels
- Old:
- Global delay of skills reduced
- Old:
2
~7
s - New:
1
s at all skill levels
- Old:
- Cooldown added:
[2 + (Skill Level x 0.5)]
s
- Fixed casting time reduced
- Rebalance of
WZ_STORMGUST
(Storm Gust)- Fixed casting time changed
- Old:
[0.8 + (Skill Level * 0.16)]
s - New:
1.5
s at all skill levels
- Old:
- Variable casting time changed
- Old:
[3.2 + (Skill Level * 0.64)]
s - New:
[4.3 + (Skill Level * 0.2)]
s
- Old:
- Global delay of skills reduced
- Old:
5
s at all skill levels - New:
1
s at all skill levels
- Old:
6
s cooldown added- Damage formula changed
- Old:
(100 + 40 * Skill Level)%
MATK - New:
(70 + 50 * Skill Level)%
MATK
- Old:
- Fixed casting time changed
- Rebalance of
WZ_JUPITEL
(Jupitel Thunder)- Fixed casting time changed
- Old:
[0.32 + (Skill Level × 0.08)]
s - New:
0.5
s at all skill levels
- Old:
- Variable casting time changed
- Old:
[1.28 + (Skill Level × 0.32)]
s - New:
[1.8 + (Skill Level × 0.2)]
s
- Old:
- Fixed casting time changed
- Rebalance of
WZ_EARTHSPIKE
(Earth Spike)- Damage formula changed
- Old:
100%
per hit - New:
200%
per hit
- Old:
- Fixed casting time changed
- Old:
(Skill Level x 0.112)
s - New:
0.2 + (Skill Level x 0.2)
s
- Old:
- Variable casting time changed
- Old:
(Skill Level x 0.448)
s - New:
0.7 + (Skill Level x 0.5)
s
- Old:
- Global delay of skills reduced
- Old:
0.8 + (Skill Level x 0.2)
s - New:
0.9 + (Skill Level x 0.1)
s
- Old:
- Damage formula changed
- Rebalance of
WZ_HEAVENDRIVE
(Heaven's Drive)- Fixed casting time changed
- Old:
(Skill Level x 0.16)
s - New:
0.8
s at all skill levels
- Old:
- Variable casting time changed
- Old:
(Skill Level x 0.64)
s - New:
0.9 + (Skill Level x 0.2)
s
- Old:
- Global delay of skills reduced
- Old:
1
s at all skill levels - New:
0.5
s at all skill levels
- Old:
- Fixed casting time changed
Priest
- Rebalance of
PR_MAGNUS
(Magnus Exorcismus)- Fixed casting time reduced:
3
s ->1
s - Variable casting time reduced:
12
s ->4
s - Global delay of skills reduced:
4
s ->1
s - Cooldown added:
6
s - Skill now deals damage to monsters of all race monsters (instead of only Undead property and Demon race monsters)
- Skill now deals additional
30%
damage per hits to monsters with:- Demon race
- Shadow property
- Undead race or property
- Fixed casting time reduced:
- Rebalance of
PR_MACEMASTERY
(Mace Mastery)- Also gives CRI
+(SkillLevel)
when equipped with Maces
- Also gives CRI
- Rebalance of
PR_SUFFRAGIUM
(Suffragium)- Now affects all nearby party members (Range:
18
cells) - Now casts on Self instead of Target
- Effect reduced:
15%
/30%
/45%
->10%
/15%
/20%
cast time reduction - Duration changed:
- Old:
30
s /20
s /10
s or when you cast a skill - New:
60
s (no longer ends when you cast a skill)
- Old:
- SP cost increased:
8
SP ->45
/57
/69
SP 0.5
s fixed casting time added1
s variable casting time added- Global delay of skills reduced:
2
s ->1
s 30
s cooldown added
- Now affects all nearby party members (Range:
- Rebalance of
PR_IMPOSITIO
(Impositio Manus)- Now affects all nearby party members (Range:
18
cells) - Now casts on Self instead of Target
- Effect changed:
- Old: ATK
+(5 x SkillLevel)
- New: ATK/MATK
+(5 x SkillLevel)
- Old: ATK
- Lower level buffs does not replace an active, higher level, one
- SP cost increased:
- Old:
10 + (Skill Level x 3)
- New:
56 + (Skill Level x 3)
- Old:
- Duration increased:
60
s ->120
s - Fixed casting time added:
0.5
s - Variable casting time added:
1
s - Global delay reduced:
3
s ->1
s - Cooldown added:
30
s
- Now affects all nearby party members (Range:
Hunter
- Rebalance of
HT_LANDMINE
(Land Mine),HT_CLAYMORE
(Claymore Trap) andHT_BLASTMINE
(Blast Mine)- Fixed casting time reduced:
1
s ->0.3
s - Variable casting time added:
0.5
s
- Fixed casting time reduced:
- Rebalance of
HT_BLITZBEAT
(Blitz Beat)- Damage formula changed
- Auto Blitz Beat no longer splits the damage among multiple targets