Skip to content

Releases: HerculesWS/Hercules

v2024.09

30 Sep 23:36
84da0df
Compare
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
Compare
Choose a tag to compare
Pre-release

General changes

Rebalance changes

v2024.08

31 Aug 23:39
71fc107
Compare
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
Compare
Choose a tag to compare
Pre-release

General changes

Rebalance changes

v2024.06 (Rebalance edition)

01 Jul 00:29
7883a7d
Compare
Choose a tag to compare
Pre-release

General changes

Rebalance changes

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))
  • 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
  • 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
  • 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
  • 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
  • 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 2 35%, and level 3 at 15%
      • 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.
    • Autocast chance changed
      • Old: 7% - 25%
      • New: (Skill Level x 2)%
    • 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 the CLASSIC_AUTOSPELL_LIST preprocessor macro (see src/config/classes/general.h).
Monk
  • Weapon modifier changes
    • Changed the size penalty for Knuckles
      • Small: 100% -> 100%
      • Medium: 75% -> 100%
      • Large: 50% -> 75%
  • 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%
  • 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 of 100 (Total = 400)
        • Knuckle: 6 hits of 133 (Total = 800)
  • Rebalance of MO_COMBOFINISH (Raging Thrust)
    • Damage formula changed
      • Old: (240 + SkillLevel * 60)%
      • New: (450 + SkillLevel * 150 + STR * 5)%
    • SP Consumption reduced
      • Old: SkillLevel + 10
      • New: SkillLevel + 2
  • 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
    • Doubles damage when there are 6 or more spirit spheres on cast
    • SP recovery penalty duration reduced: 10 s -> 3 s
  • 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)
  • 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))
  • Rebalance of MO_FINGEROFFENSIVE (Throw Spirit Sphere)
    • Damage formula changed
      • Old: (Spirit Spheres x 350)%
      • New: [600 + (Skill Level x 200)]%
    • Casting time changed
      • Old: (Spirit Spheres + 1) seconds
      • New: 0.5 seconds fixed casting time + 0.5 seconds variable casting time
    • 1 second cooldown added
    • SP cost increased
      • Old: 10 at all skill levels
      • New: 8 + (Skill Level x 4)
    • Spirit sphere usage changed
      • Old: (Skill Level) spheres
      • New: 1 sphere at all skill levels
    • Skill will deal 50% more damage on target caught with Root
    • The damage is delivered as a bundle of 5 hits (TotalDMG / 5)
  • Rebalance of MO_ABSORBSPIRITS (Absorb Spirit Sphere)
    • Reduced fixed casting time: 1 s -> 0.5 s
    • Removed variable 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:
      1. Bard songs -- song buffs exclusive to bards
      2. Dancer songs -- song buffs exclusive to dancers
      3. Ensemble songs -- song buffs exclusive to ensemble
  • Rebalance of BA_MUSICALSTRIKE (Melody Strike) and DC_THROWARROW (Slinging Arrow)
    • Damage formula changed
      • New: [110 + (Skill Level x 40)]% x 2 hits
    • SP cost changed
      • Old: (Skill Level × 2) - 1
      • New: 12 at all skill levels
    • 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
    • Global skill delay added: 0.3 s
  • 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
  • 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
  • Rebalance of BA_FROSTJOKE (Unbarring Octave)
    • Global skill delay reduced: 4 s -> 0.3 s
    • 4 s Cooldown added
  • Rebalance of BD_ENCORE (Encore)
    • Added 0.3 s of global skill delay
    • Added 10 s of cooldown
  • Rebalance of BA_DISSONANCE (Unchained Serenade)
    • Skill reworked.
      • Now causes Neutral Magical damage in a 9x9 area
      • Can only be used in PvP areas
    • 0.3 s of global delay added
    • 5 s of cooldown added
    • SP cost changed
      • Old: 15 + (SkillLv) x 3
      • New: 32 + (SkillLv) x 3
  • 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"
    • Effect formula changed:
      • Variable cast reduction: (SkillLv)%
      • Cast delay reduction: (SkillLv x 3)%
      • Caster stats and Music Lessons no longer affects the formula
    • Effect duration changed: 180 s -> 60 s
    • SP Cost changed:
      • Old: 35 + (SkillLv x 5)
      • New: 60 + (SkillLv x 5)
    • 1 s casting time added
    • 0.5 s global delay added
    • 20 s cooldown added
  • 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"
    • 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
    • Effect duration changed: 180 s -> 60 s
    • SP Cost changed:
      • Old: 35 + (SkillLv x 5)
      • New: 60 + (SkillLv x 5)
    • 1 s casting time added
    • 0.5 s global delay added
    • 20 s cooldown added
  • Rebalance of BA_APPLEIDUN (Song of Lutie)
    • Skill reworked:
      • It is now a screen-wide skill (31x31) that g...
Read more

v2024.06

30 Jun 23:18
5f7eaa4
Compare
Choose a tag to compare

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 with mesnavigation() calls. (#3300)

Fixed

  • Fixed the copy of one's own skills via Plagiarim or Reproduce causing the skill and its requirements to be deleted. (#3298, issue #3289)

v2024.05

25 May 15:06
7312ec2
Compare
Choose a tag to compare

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)

25 May 15:35
6dfc58c
Compare
Choose a tag to compare
Pre-release

General changes

Rebalance changes

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
  • 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)%
  • Rebalance of CR_SPEARQUICKEN (Spear Quicken)
    • Additionally gives +10% of Equipment ASPD
Alchemist
  • Rebalance of AM_DEMONSTRATION (Bomb)
    • Chance of breaking target weapon increased
      • Old: SkillLevel %
      • New: (3 x SkillLevel)%
    • 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
    • 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)
  • Rebalance of AM_ACIDTERROR (Acid Terror)
    • Chance of breaking target armor increased
      • Old: 3 / 7 / 10 / 12 / 13 %
      • New: 5 / 15 / 25 / 35 / 45 %
    • 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
    • The damage effect has been corrected (renewal only) and it is now applied in a bundle of 5 hits instead of a single damage
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)]%
    • Damage debuff changed
      • Old: 20% more damage for 5 seconds or 7 hits
      • New: 30% more damage (15% on boss monsters) for 10 seconds
  • 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
    • 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.
  • Rebalance of RG_PLAGIARISM (Intimidate)
    • Also increases Attack Speed by 1% per Skill Level

v2024.04

01 May 18:57
a2d8e27
Compare
Choose a tag to compare

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.04 (Rebalance edition)

01 May 19:36
e3f10ab
Compare
Choose a tag to compare
Pre-release

General changes

Rebalance changes

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% / 15%
Assassin
  • Rebalance of AS_SONICBLOW (Sonic Blow)
    • Attack motion removed
    • Damage formula changed
    • Skill now does 50% more damage if target has less than 50% 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)
    • Fixed casting time changed
      • Old: [2.48 - (Skill Level × 0.08)] s
      • New: 1.5 s at all skill levels
    • Variable casting time changed
      • Old: [9.92 - (Skill Level × 0.32)] s
      • New: [6.5 - (Skill Level × 0.2)] s
    • Global delay of skills reduced
      • Old: 5 s at all skill levels
      • New: 1 s at all skill levels
    • 5 s cooldown added
    • Chance of causing blind effect increased
  • 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
    • Variable casting time reduced
      • Old: 9.6 s at all skill levels
      • New: 6.3 s at all skill levels
    • Global delay of skills reduced
      • Old: 2 ~ 7 s
      • New: 1 s at all skill levels
    • Cooldown added: [2 + (Skill Level x 0.5)] s
  • 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
    • Variable casting time changed
      • Old: [3.2 + (Skill Level * 0.64)] s
      • New: [4.3 + (Skill Level * 0.2)] s
    • Global delay of skills reduced
      • Old: 5 s at all skill levels
      • New: 1 s at all skill levels
    • 6 s cooldown added
    • Damage formula changed
      • Old: (100 + 40 * Skill Level)% MATK
      • New: (70 + 50 * Skill Level)% MATK
  • 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
    • Variable casting time changed
      • Old: [1.28 + (Skill Level × 0.32)] s
      • New: [1.8 + (Skill Level × 0.2)] s
  • Rebalance of WZ_EARTHSPIKE (Earth Spike)
    • Damage formula changed
      • Old: 100% per hit
      • New: 200% per hit
    • Fixed casting time changed
      • Old: (Skill Level x 0.112) s
      • New: 0.2 + (Skill Level x 0.2) s
    • Variable casting time changed
      • Old: (Skill Level x 0.448) s
      • New: 0.7 + (Skill Level x 0.5) s
    • Global delay of skills reduced
      • Old: 0.8 + (Skill Level x 0.2) s
      • New: 0.9 + (Skill Level x 0.1) s
  • 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
    • Variable casting time changed
      • Old: (Skill Level x 0.64) s
      • New: 0.9 + (Skill Level x 0.2) s
    • Global delay of skills reduced
      • Old: 1 s at all skill levels
      • New: 0.5 s at all skill levels
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
  • Rebalance of PR_MACEMASTERY (Mace Mastery)
    • Also gives CRI +(SkillLevel) when equipped with Maces
  • 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)
    • SP cost increased: 8 SP -> 45 / 57 / 69 SP
    • 0.5 s fixed casting time added
    • 1 s variable casting time added
    • Global delay of skills reduced: 2 s -> 1 s
    • 30 s cooldown added
  • 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)
    • 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)
    • 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
Hunter
  • Rebalance of HT_LANDMINE (Land Mine), HT_CLAYMORE (Claymore Trap) and HT_BLASTMINE (Blast Mine)
    • Fixed casting time reduced: 1 s -> 0.3 s
    • Variable casting time added: 0.5 s
  • Rebalance of HT_BLITZBEAT (Blitz Beat)
    • Damage formula changed
    • Auto Blitz Beat no longer splits the damage among multiple targets