Releases: HerculesWS/Hercules
Releases · HerculesWS/Hercules
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
v2024.03
This month @guilherme-gm joined us as a core developer. His long and respectable contribution history says he doesn't need much of an introduction.
He's currently working on a series of pull requests introducing the (long overdue) rebalance changes that I'll mention below, and during the past months he helped with templates and suggestions for the new proposed documentation website (also mentioned below).Welcome @guilherme-gm and thank you!
Added
- Created a
rebalance
branch to collect all the rebalance-related PRs as there will be inconsistencies in the game until they are all merged.- The code merged into this branch is already production-grade and would have been merged to master other than for consistency reasons.
- Those that wish to preview the changes before they are complete are free to use this branch (see its CHANGELOG.md for details of the merged changes so far).
- It will be eventually merged into master and will be treated the same way as master (no force-pushes, no history rewrites).
- Migrated the Hercules GitHub wiki to a new platform (MkDocs) at the URL https://docs.herc.ws/
- Contributions are very welcome on the associated repository https://github.com/HerculesWS/hercules-docs
- For a syntax reference, see https://squidfunk.github.io/mkdocs-material/reference/
- Added GitHub Actions CI workflows targeting Visual Studio on Windows. (#3284)
Changed
- Changed
openlapineupgradeui()
andopenlapineddukddakboxui()
to allow calls without an item id when used in item scripts. (#3272)
Fixed
v2024.03 (Rebalance edition)
General changes
- See the associated release https://github.com/HerculesWS/Hercules/releases/tag/v2024.03
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.2
seconds. - New:
0.2 + (Skill Level × 0.1)
seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8
seconds. - New:
0.2 + (Skill Level × 0.3)
seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)
seconds - New:
1.4
seconds 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.2
seconds. - New:
0.2 + (Skill Level × 0.1)
seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8
seconds. - New:
0.2 + (Skill Level × 0.3)
seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)
seconds - New:
1.4
seconds 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.2
seconds. - New:
0.2 + (Skill Level × 0.1)
seconds
- Old:
- Variable casting time changed.
- Old:
(0.4 + (Skill Level × 0.4)) x 0.8
seconds. - New:
0.2 + (Skill Level × 0.3)
seconds
- Old:
- Global delay of skills changed.
- Old:
0.8 + (Skill Level × 0.2)
seconds - New:
1.4
seconds 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.2
seconds. - New:
1.5
seconds at all skill levels.
- Old:
- Variable casting time changed.
- Old:
(Skill Level × 0.8) x 0.8
seconds. - 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.3
seconds at skill level 1-5,0.2
seconds at skill level 6-10. - New:
0.2
seconds at all skill levels.
- Old:
- 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.
- Old:
- 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.
- Old:
- Fixed casting time changed.
- 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.
- Old:
- Global delay of skills changed.
- Rebalance of
MG_FROSTDIVER
(Frost Diver)- Global delay of skill changed:
1.5
s ->0.5
s
- Global delay of skill changed:
Acolyte
- Moved bonus calculation of
AB_CLEMENTIA
andAB_CANTO
to thesc_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
- Fixed casting time changed:
v2024.02
Added
- Added GitHub Actions CI builds on macOS (Intel and ARM). (#3281)
Changed
- Renamed the arguments of the
aMalloc()
,aCalloc()
,aStrndup()
,aRealloc()
,aReallocz()
macros to make it harder to accidentally swap their order. (#3280)
Fixed
- Fixed
expandinventory()
not allowing to return to the initial minimum inventory size. (#3270) - Fixed a race condition allowing for a call to
clif->pLoadEndAck()
before the client's loadendack is received. (#3277) - Fixed a memory leak of emblem data when guilds are unloaded or disbanded. (#3278)
- Fixed several instances of swapped arguments in
aCalloc()
calls, causing warnings in gcc-14. (#3280) - Fixed a regression causing AutoSpell not to replace the selected skill when the new skill has lower level than the previous one. (#3282)
Other
- Updated copyright headers for year 2024.
v2023.12
Added
- Added a warning when enabling the RoDEX account box on unsupported client packetvers. To continue using this feature with patched RE clients it is necessary to uncomment the
ENABLE_RODEX_ACCOUNT_MAIL_RE_PATCH
macro incore.h
. (#3263) - Added a warning when a script sends account mails when the feature is disabled on the server. (#3263)
- Added an option to allow combo skills requested during previous skill's delay to be accepted (and queued up for execution), making them easier to trigger especially by players with high latency. The option can be enabled by setting
combo_cache_skill
totrue
inconf/map/battle/skill.conf
. (#3260, #3266) - Added constants for all
messages.conf
messages replacing a large amount of magic numbers. The maximum number of messages is now defined incommon/msgtable.h
asMSGTBL_MAX
. See the related pull request description for a conversion tool that may be used to migrate custom constants. (#3265)
Changed
- Enabled the RoDEX account box by default since the default packetver supports it. (#3263)
- Improved the error messages, providing additional useful details, when a char server's connection request to the login server is rejected. (#3264)
- Cleaned up some repetition from the job name switches, replaced with X macro using the
class*.h
files. See the pull request description for migration details in case of custom jobs. (#3265, related to #165)
Fixed
- Fixed the
snap_dodge
setting not working withMO_EXTREMITYFIST
. (#3241, issue #638) - Fixed stat food and cash stat food being stacked on top of each others. Cash food of higher level is able to overwrite buffs from normal food, while normal food won't overwrite buffs from cash food. (#3250, issue #2489)
- Fixed some SC counters (including Storm Gust) not getting reset to 0 when a unit dies. (#3255, issue #3196)
- Fixed costumes blocking itemskill execution, even when items are being consumed. (#3257, related to issue #2925)
- Fixed a race condition that may cause SC statuses to be received after the character status calculations are done, when the server is under heavy load. (#3256)
- Fixed a compiler warning caused by swapped aCalloc arguments. (#3264)
- Fixed the
MO_TRIPLEATTACK
animation not workingn when there's no possible chainable combo skill. (#3259) - Removed an incorrect
afterCastActDelay
fromPA_SACRIFICE
in pre-renewal. (#3259) - Removed the fixed target from some combo skills. Monk skills act on the current target even if the last skill was used on a different enemy. (#3259)
- Fixed
MO_TRIPLEATTACK
overwritingattackabletime
. (#3259) - Fixed combo delays applying to all
SC_COMBOATTACK
based skills and not sending the proper time to the client. (#3259) - Fixed one cell movement not ignoring hidden objects (such as GMs) in its stack limit calculation. (#3259)
Removed
v2023.11
Added
- Added an option to use an unit's current facing direction to search for free cells, instead of defaulting to east. (#3242)
- The option, currently disabled by default, can be turned on by setting
keep_dir_free_cell
(conf/map/battle/misc.conf
) to true. - Advantages:
- Improves distribution of mobs when dispersing after being grouped. This setting allows monsters to spread in a circular fashion instead of forming a long horizontal line.
- Allows characters to move more naturally if they came from the east, instead of walking back.
- In some instances, fixes characters walking in a loop unable to pick up an item. (#1241)
- The option, currently disabled by default, can be turned on by setting
Changed
- Changed the map server's behavior when receiving invalid connections with unknown protocols to terminate the connection after receiving the second byte. (#3247)
- Disabled the possibility of attaching a script to a character in autotrade mode through
attachrid()
. This solves a number of issues with many script commands assuming a client to be attached. (#3243, issue #568) - Updated map list, mapcache, NPC and hateffect constant databases. (#3249)
- Extracted the Blade Stop (Root) trigger conditions to a separate function for better readability and maintainability. (#3254)
Fixed
- Fixed some job concurrency conflicts in the GitHub Actions workflows causing some tests to be skipped for pushes to the master branch. (#3239)
- Consolidated the GitHub Actions workflow entry point to always be the 'controller' regardless of the trigger condition. (#3239)
- Fixed
MO_TRIPLEATTACK
not applying the same motion delay as the client in the case the next combo is not possible, causing visual glitches. (#3240) - Fixed the
MO_TRIPLEATTACK
delay formula increasing delay with dex instead of decreasing it. (#3240) - Fixed an issue causing characters to be stuck in a walk loop while trying to pick up an unreachable item on the ground. (#3242, issue #1241)
- Fixed a deprecation warning issued by MariaDB causing CI test failures. (#3247)
- Fixed range and cast time for
ASC_BREAKER
. (#3245, issue #1104) - Fixed
SA_DISPEL
not working in duels. (#3246, issue #640) - Added support for GRF files larger than 2 GiB on Windows, fixing failures in mapcache generation. (#3248, issue #2935)
- Fixed songs not triggering their onleft or onout events when overlapping and turning into dissonance. (#3251, issue #1501)
- Fixed the range checks of Blade Stop/Root: (#3254)
- Fixed the target's (as in triggering attack target, and Blade Stop caster) equipped weapon wrongly affecting the skill's working range.
- Success range is changed to 2, to match the official behavior.
- In pre-re, changed it to always succeed against player attackers regardless of range.
- Changed it to always succeed for non-player casters regardless of range (custom Hercules behavior, officially only players may cast Blade Stop).
- Fixed
CELL_NOSTACK
making mob ai not being able to reach target under certain conditions. (#3244, issue #574) - Fixed the critical bonus calculation from status effects getting truncated to 0.3 CRIT per point of LUK instead of 1/3. (#3252, issue #3094)
v2023.10
Added
- Added an option to synchronize the flinch animation with walk delay, improving positional lag. The option is disabled by default, uncomment the
WALKDELAY_SYNC
definition insrc/config/core.h
to enable it. (#3232) - Implemented logic to generate "item links" serverside and the related script command
getitemlink()
, including various core functionalities this relies on. (#3236, #3238)- This also adds basic support for the
base62
encoding used by the client.
- This also adds basic support for the
Changed
- Refactored Auto Spell (Hindsight) and moved its configuration to a libconfig table. (#3237)
- The configuration is available in the
{re,pre-re}/autospell_db.conf
file, see the documentation in the file header. - The separation between game logic (in
skill.c
) and client/display logic (inclif.c
) has been improved. - Cast end logic has been separated from the large skill castend function into smaller dedicated functions.
- The function
skill->autospell()
has been renamed toskill->autospell_spell_selected()
to make its purpose clearer. - This refactoring will simplify some of the upcoming rebalance changes.
- The configuration is available in the
- Added concurrency settings to the GitHub CI workflows to cancel old ongoing builds when a new commit is pushed, speeding up testing the up to date version. (#3238)
Fixed
- Fixed the HPMHooking API plugin builds in VS 17.x (#3231)
- Fixed
AM_ACIDTERROR
not ignoring defense on units other than those defined inbattle_config.vit_penalty_target
(i.e. players). (#3234) - Fixed Sage's free case increasing ASPD instead of decreasing it when the skill level is lower than 10. (#3235)
- Fixed the
clang-13
build in the GitHub CI, failing due to a removed package in debian unstable. (#3238) - Fixed AppVeyor CI builds, failing due to a missing
mysql56
image. (#3238)