77 Commits

Author SHA1 Message Date
Playtester
fcf74b0dfc
Renewal Simple Defense Formula Flag (#8429)
- Added a flag "SimpleDefense" to mark skills that use the simple defense formula
  * Simple defense: Damage is flat reduced by DEF+DEF2. Res is ignored.
- Dragon Breath / Water now also ignore Res
- Fixes #8419

Special thanks to everyone who helped testing all these skills to confirm this common rule.
2024-06-15 20:28:26 +02:00
Lemongrass3110
48b4623f3e
Fixed all warnings in MSVS (#8391)
Fixes #2859
Fixes #3570
Fixes #8389
2024-06-04 03:07:16 +02:00
Playtester
ffe40def4a
NPC_RUN, Monster Skill Interval (#8302)
- Monsters will now properly run away when using NPC_RUN (fixes #7941)
- Introduced a new function unit_get_walkpath_time that returns the time the unit needs to walk its current walkpath
  * This is now used for NPC_RUN and random walking
- Fixed an issue with mismatching timer warnings when a monster casts NPC_RUN multiple times in row

- Monsters will now always attempt to use non-berserk-state skills once per second (fixes #1700)
  * This completely replaces the "ugly" solution to use a walk_count for idle, walk and chase skills
  * This interval is now a lot more accurate and no longer influenced by external factors such as canact delay
  * This interval is now also used for lazy monsters rather than MIN_MOBTHINKTIME*10 so that MIN_MOBTHINKTIME can be reduced without having to worry about skills being cast more often
  * Angry skills no longer replace the normal attack and now follow the once per second rule; they will always first be attempted at the end of the walk delay after a normal attack
- The special follow-up attack skill monsters use when you move out of their attack range, now is only used when they are in Angry state
  * Also fixed a bug that this was checked every 100ms until the monster used a skill, instead of just once per second

- Monsters now can use chase skills even before they start moving (assuming one second has already passed since last skill check)
- Removed "hack" to make monsters cast chase skills when trapped in icewall
  * This was solved by implementing checking for chase skills before starting to move

- Monsters will now receive an aMotion walk delay after having used a skill
- A monster that could not walk randomly because of walk delay will now walk immediately once the walk delay expires
- Using angry or berserk skills will now set a monster's attack delay
2024-05-08 09:02:48 +02:00
Lemongrass3110
827517f8cf
Cleaned up a few TODOs from #7963 (#8254) 2024-05-02 22:44:31 +02:00
Lemongrass3110
4124cdaa4a
Initial implementation of Night Watch (#8150)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2024-03-10 22:10:28 +01:00
Lemongrass3110
72b3d1bf0e
Initial implementation of Hyper Novice (#8101)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-01-17 21:20:20 +01:00
Atemo
eec9d34ead
Implemented new Meister skills (#7986)
* Implemented MT_MIGHTY_SMASH
- Deals melee physical damage to all targets around the user.
- When using while under Axe Stomp buff, increases damage and number of hit.
- Fixed casting time : - (based on level 10).
- Variable Casting time : - (based on level 10).
- Cooldown: 0.3 seconds (based on level 10).
- Global cool time : - (based on level 10).

* Updated Mighty Smash to last rebalance
- Increases cooldown from 0.3 seconds to 0.5 seconds.
- Adds global cool time by 0.25 seconds.
- Increases SP consumption from 78 to 95 based on level 10.
- Reduces base damage from 3100%/3150%Atk to 1825%/1850%Atk per hit based on level 10.
- Increases number of hit from 3/5 hits to 5/7 hits.
- While under Axe Stomp buff, increases factor weight of POW in skill formula from 7 to 10.

* Implemented MT_TRIPLE_LASER
- Deals long ranged physical damage to the target.
- Can only be used when using Madogear.
- Has a chance to trigger critical, the critical chance is the user's cri.
- Damage property depends on weapon property.
- Doesn't consume magic gear fuel or cannonball.
- Fixed casting time : 0.5 seconds (based on level 5).
- Variable Casting time : 1 seconds (based on level 5).
- Cooldown: 0.25 seconds (based on level 5).
- Global cool time : - (based on level 5).

* Updated Triple Laser to last rebalance
- Increases cooldown from 0.25 seconds to 0.35 seconds.
- Adds global cool time by 0.25 seconds.
- Increases base damage from 3300%Atk to 5050%Atk per hit based on level 5.
- Increases factor weight of POW in skill formula from 10 to 12.

* Implemented MT_SPARK_BLASTER
- Deals long ranged physical damage to the target and surrounding enemies around the target with the range up to 9x9 cells.
- Can only be used when using Madogear.
- Affected by Hit/Flee calculation.
- Ignores physical defense.
- Doesn't consume magic gear fuel or cannonball.
- Damage property depends on weapon property.
- Recovers 2 AP.
- Fixed casting time : 0.5 seconds (based on level 10).
- Variable Casting time : 1.5 seconds (based on level 10).
- Cooldown: 0.7 seconds (based on level 10).
- Global cool time : 0.25 seconds (based on level 10).

* Updated Spark Blaster to last rebalance
- Reduces cooldown from 0.7 seconds to 0.5 seconds.
- Increases base damage from 7750%Atk to 9250%Atk based on level 10.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Credits to @datawulf
2023-10-30 16:34:52 +01:00
Atemo
eadfa053f6
Rebalance Troubadour & Trouvere 20220608 (3rd) (#7898)
* Sound Blend
- Reduces SP consumption from 128 to 80 based on level 5.

* Metallic Fury
- Reduces cooldown from 0.5 seconds to 0.3 seconds.
- Reduces SP consumption from 168 to 94 based on level 5.
- Reduces AP recovery rate from 3 to 2 based on level 5.
- Increases damage from 4500%/4950~6750%(area damage according to number of branded target)Matk to 11000%/12500~18500%(area damage according to number of branded target)Matk based on level 5.

* Rhythm Shooting
- Adds 0.15 seconds cooldown.
- Removes 0.15 seconds delay after skill.
- Reduces SP consumption from 90 to 52 based on level 5.
- Increases damage from 600%/780%(branded target)Atk to 800%/1400%(branded target)Atk based on level 5.
- Increases factor weight of CON in skill formula from 2 to 3.

* Rose Blossom
- Reduces variable casting time from 2 seconds to 1 second.
- Increases cooldown from 0.5 seconds to 0.7 seconds.
- Reduces SP consumption from 125 to 94 based on level 5.
- Increases damage from 3750%/1750%(area damage)Atk to 11200%/15250%(area damage)Atk based on level 5.
- Increases factor weight of CON in skill formula from 3/2(area damage) to 3/3(area damage).

Checked against https://github.com/rathena/rathena/pull/7024
Credit to @datawulf for Metallic Fury update
2023-08-16 22:21:26 +02:00
Pokye
cfac5bb769
Added Missing Recall Skills (#7815) 2023-06-16 13:07:32 -04:00
munkrej
c6c9babb5e
Homunculus updates as of 20220602 (#7586)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-02-12 23:55:13 +01:00
Vincent Stumpf
e235c9cab4
Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Atemo
39559c125b
Implemented missing skills (#7552)
* Implemented NPC_BLEEDING2
  Copy from NPC_BLEEDING for now except
  * element always Neutral
  * differents rates

* Implemented NPC_HELLJUDGEMENT2
  Copy from NPC_HELLJUDGEMENT except
  * element neutral
  * skills inflicts a random status effect

* Implemented NPC_WIDEFREEZE2
  Copy from NPC_WIDEFREEZE

* Implemented NPC_ICEBREATH2
  Copy from NPC_ICEBREATH except
  * Chance 100% instead of 70%
  * Splash area 4 instead of 3

* Implemented NPC_WIDEBLEEDING2
  Copy from NPC_WIDEBLEEDING

* Implemented NPC_WIDECONFUSE2
  Copy from NPC_WIDECONFUSE

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESTUN2
  Copy from NPC_WIDESTUN

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESLEEP2
  Copy from NPC_WIDESLEEP

* Implemented NPC_WIDECURSE2
  Copy from NPC_WIDECURSE

* Implemented NPC_WIDESTONE2
  Copy from NPC_WIDESTONE

Thanks to @OptimusM, @Lemongrass3110, @aleos89 !
2023-01-24 15:06:38 +01:00
Singe Horizontal
8eac71f57f
Cleaned struct tokens for map_session_data and status_change (#7490)
Fixes #7492
2022-12-16 19:16:29 +01:00
HAO YAN
c3a171da81
Add skill_plagiarism script commands (#6304)
* Allow players to copy skills with script command skill_plagiarism.
* Plagiarized skills can be cleared with script command skill_plagiarism_reset.
2022-10-20 11:16:46 -04:00
Lemongrass3110
14d6052e5b
Fixed some 4th class ex issues (#6806)
Added all required skill and skill unit constants - thanks to @Rytech2
Fixed the order of some jobchange checks
Added missing MAPID to JOBID conversion
Fixed pc_calc_skilltree_normalize and added support for gaps in the job tree
2022-04-14 15:04:02 +02:00
Lemongrass3110
01261dbf3d
Cleanup after RYML merge (#6785)
Speeded things up even more by making use of C++'s reference feature.
Fixed #6770 warning while at it.
Added back support for case insensitive booleans.
Fixed a very rare issue with cached databases.
Removed .children() calls
Added back type safety reports
Added ryml to login-server makefile

Thanks to @aleos89, @Atemo and @idk-whoami
2022-04-03 04:02:13 +02:00
Jittapan Pluemsumran
d1b7061f5a
YAML loading optimization (#5997)
* Use rapidyaml library to parse YAML databases instead of yaml-cpp.
* Drastically reduces the parse time for yaml databases.
* Removes yaml-cpp content from main servers, except for tool emitter.
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
Co-authored-by: Atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-03-30 16:38:52 -04:00
Aleos
9bc1c53db4
Fixes Elemental Converter behavior (#6743)
* Fixes #6627.
* Elemental Converters will now be removed on weapon unequip/swap.
* Adds RemoveOnUnequip, RemoveOnUnequipWeapon, and RemoveOnUnequipArmor status flags and dehardcoded statuses to utilize these flags.
* Hovering Booster's cancellation of SC_HOVERING now takes place in the UnEquipScript, releasing the hard coded check.
Thanks to @Everade, @Daraen1, @Toshiro90, and @Lemongrass3110!
2022-03-30 10:19:27 -04:00
Aleos
aebf99c32b
Fixes Reading Spellbook behavior (#6711)
* Fixes #6705.
* Comet should now give the target Magic Poison instead of Burning.
* Confirmed on kRO that Reading Spellbook persists through relog but not death.
* Converts the Reading Spellbook function to use by reference.
* Removed some left over content from the YAML database conversion.
Thanks to @Relliksuriv!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-03-29 10:55:54 -04:00
Aleos
0323aa37c8
Adds INF2_ISTOGGLEABLE skill flag (#6737)
* Adds the INF2_ISTOGGLEABLE skill flag which is used to enable or disable a skill's status. When toggled off the skill doesn't consume HP/SP.
Thanks to @Lemongrass3110!
2022-03-24 12:50:02 -04:00
Cydh Ramdh
f28d207274
Implementation of Status Changes in YAML (#1685)
* Removes the initialization of Status Changes via hard-code and puts it into YAML form.
* From this database it is much easier to delegate icons, calc flags, opt flags, miscellaneous flags, and several other things for all stats changes.
* Statuses can quickly be reloaded via atcommand reloadstatus.
Thanks to @cydh, @Atemo, @Lemongrass3110, and the others who helped!
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
Co-authored-by: atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-03-10 13:11:59 -05:00
Aleos
3deb3e2048
Updates Golden Thief Bug card behavior (#6562)
* Fixes #5918.
* Target magic skills should get blocked even when cast on self.
* Self magic skills should get blocked on all targets except self.
* Adds an IgnoreGtb skill flag to explicitly allow a skill to bypass these checks.
Thanks to @Playtester!
2022-02-01 15:53:27 -05:00
Lemongrass3110
534c5b2edd
Add more Github Actions (#6530)
Renames "build_servers.yml" to "build_servers_gcc.yml"
Removed Pre-Renewal and Renewal from GCC compilation
Added an action for Pre-Renewal and Renewal
Added an action for VIP
Added an action for different packet versions
Added MSVS build
Changed some make server to make all
Added master building
Disabled LTO by default
Added some missing override declarations
Added Clang building
Disabled Clang 12 and 13 for the time being

Thanks to @aleos89 and @Akkarinage for their help and input.
2022-01-19 00:08:28 +01:00
Lemongrass3110
eb75e6fd6f
Added a check for MAX_SKILL being to small (#6504)
Fixes #6494

Thanks to @voyfmyuh and @CairoLee

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-01-12 11:56:45 +01:00
Lemongrass3110
7556453dfc
Merge of Rytech's 4CrAM (#6414)
Merged Rytech2/4CrAM-Open@978d4fc406

Original author is @Rytech2 and all credits belong to him.
Cleanups by @Lemongrass3110, @aleos89 and @Atemo.

Co-authored-by: Rytech2 <rytech16@gmail.com>
Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
2021-12-30 20:25:19 +01:00
Atemo
4a778815a3
Converted mercenary_db to YAML format (#6101)
* Converts the Mercenary Tables file into YAML.
* Includes CSV2YAML converter.
* Fixed mercenary name not properly displayed after moving

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-12-07 00:49:44 +01:00
Aleos
893bfabe91
Adds support for Level field in ItemCost (#5268)
* Fixes #5266.
* Adds the ability to supply the ItemCost level to easily override a specific level or only define some levels that have item requirements.
* When the Level label is provided for ItemCost it becomes dependent to that level only.
* Removes some remaining hardcoded skills that have skill level dependent checks.
* Added support to CSV2YAML to properly convert those level dependent skills.
* Adds documentation to header and upped version.
Thanks to @Pringle012 and @Lemongrass3110!
2021-09-10 14:24:23 -04:00
Aleos
bccbf8b166
Fixes a potential map-server crash by skill units (#6226)
Fixes #6224.
Restart the iterator if a skill unit is deleted when trying to clear previous grouped unit skills.
Thanks to @technoken!

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-08-31 12:00:58 +02:00
Aleos
a84e731f79
Cleans up the skill unit group storage (#6195)
* Fixes #2217.
* Adjusts the storage for skill unit group from DBMap to unordered_map.
* Removes the MAX_SKILLUNITGROUP limit.
* Cleans up memory management to utilize shared_ptr.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-08-23 14:11:53 -04:00
Aleos
7e2a85a578
Updates the behavior of Stasis (#6196)
* Fixes #6071.
* Updates the behavior of Stasis to block Songs, Ensembles, Choruses, and magic type skills.
* Removes the INF2_IGNORESTASIS flag as it doesn't effectively fit it's purpose anymore.
Thanks to @Felleonel!
2021-08-17 15:44:32 -04:00
Atemo
0599ee1832
Converted create_arrow_db.txt to YAML (#6039)
Converts the create_arrow_db.txt into YAML.
Includes CSV2YAML converter.

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-06-25 22:56:15 +02:00
Aleos
3d4021bfc6
Job Improvement Bundle patch (#5517)
* Updates various skills following kRO's job improvement patch.
* Change log: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7275&curpage=2
* Does not include changes to homunculus HP/SP level up bonuses as more information is required.
Thanks to @ecdarreola, @attackjom, @Haydrich, @rye305, @eppc0330, @Badarosk0, and @Lemongrass3110!
2021-05-07 08:23:42 -04:00
Aleos
df0457c835
Corrects the behavior of Vacuum Extreme (#5832)
* Fixes #5798.
* Targets will now become affected by Vacuum Extreme when walking through an active area but won't be sucked to the center unless they were standing still upon placement of the skill.
Thanks to @Rayvakarian and @Balferian!
2021-04-07 07:04:36 -04:00
Aleos
f10de84ea3
Fixes Gate of Hell behavior (#5267)
* Fixes #3259.
* Fixes SP damage bonus for levels 1-4 being too low caused by a rounding issue.
* Gate of Hell is no longer reduced by long range modifiers.
* Fixes the HP/SP damage for statusAtk and masteryAtk to properly apply the NK_IGNOREELEMENT flag when checking target players. This subsequently applies to all skills.
* Adds a new NK flag to remove any hard coded skills that can ignore long range attack modifiers from the caster's side.
Thanks to @Tokeiburu and @exneval!
2021-02-05 12:37:07 -05:00
Eric Liu
7a4bef2ab7
Fix several honor token items and add Prontera Recall skill (#5431)
Co-authored-by: Eric <eric@nomoss.co>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-26 20:44:13 +01:00
Aleos
36195d157d
Job Improvement Project - Warlock (#4897)
* Fixes #4706.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=239&curpage=1
Thanks to @LordWhiplash,  @Badarosk0, Sigma, @Balferian, @tumemmac, @teededung, @attackjom, @Felleonel and @mrjnumber1!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-08 12:23:29 -04:00
Vincent Stumpf
3776bfbaa3
Support itemids up to ~2 billion (#5141)
Co-authored-by: aleos89 <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-08 12:06:07 +02:00
Aleos
53e7f59f48
Adjusts NPC_EARTHQUAKE behavior (#5017)
* Fixes #1679 and fixes #3176.
* Converts the skill to a unit-based skill.
* Damage is now properly calculated based on the caster's ATK.
* Damage is considered magic with the element forced to Neutral.
* Now ignores target's DEF and Land Protector.
* Kaupe and Tumbling now can avoid the first attack only.
* Removed old bits of the skill.
Thanks to @poporing, @mrjnumber1, @Daegaladh, @malufett, and @exneval!
2020-08-06 15:21:20 -04:00
Aleos
6ce5ba10b4
Corrects Hell's Plant behavior (#4966)
* Skill is no longer a unit skill but a status.
* Adjusts the attack rate timer to official.
* Skill does not proc cards.
* Skill does not reflect damage.
Thanks to @Tokeiburu, @ecdarreola, and @attackjom!
2020-06-12 08:11:25 -04:00
Lemongrass3110
d87ac21986
Added support for skill scale display (#5041)
Fixes #4530

Thanks to @Balferian
2020-06-04 19:53:19 +02:00
Lemongrass3110
45cd5808b7
Initial support for newer packet versions (#4944)
Basic support for packets up to April 2020
Changing the default packet version to 2020-04-01

Thanks to everyone involved!
2020-06-03 16:35:10 +02:00
Aleos
023dcac49f
Adjusts Reverberation behavior (#5013)
* Reverberation no longer uses any sub-attack skill.
* Adjusts hit count to be split on each hit.
Thanks to @attackjom!
2020-05-28 11:37:31 -04:00
Aleos
a23c84d345
Job Improvement Project - Guillotine Cross (#4705)
* Fixes #4704.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=243&curpage=1
Thanks to @Angelic234, @nehpetskie, @ecdarreola, @Haydrich, @Badarosk0, and @LordWhiplash!
2020-05-18 10:47:21 -04:00
Aleos
fde031fb19
Job Improvement Project - Minstrel/Wanderer (#4701)
* Fixes #4211.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=235&curpage=1
* kRO Changelog 2: http://ro.gnjoy.com/news/update/View.asp?seq=246&curpage=1
Thanks to @Angelic234, @Litro, @LordWhiplash, @Feelmeone, @ecdarreola, and @teededung!
2020-05-18 09:44:12 -04:00
Aleos
931155ee33
Job Improvement Project - Super Novice (#4429)
* Fixes #4427.
* kRO Changelog: http://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7081
Thanks to @Rytech2!
2020-05-07 14:48:44 -04:00
Aleos
2ca94ad411
Adds back removed skills from kRO (#4803)
* Fixes #4802.
* Adds back AB_EUCHARISTICA, GN_SLINGITEM, and GN_MAKEBOMB.
* Adds back CR_CULTIVATION for renewal.
* Skills are disabled in the skill tree database but gives easy ability to re-enable.
* Fixes an issue with pre-renewal produce database spitting errors when using any production-type skills.
Thanks to @trinitynetworks!
2020-04-30 09:33:38 -04:00
aleos
0021b6d577 Revert "SQL synchronization"
This reverts commit 53761b952af832455526401acfc8b388a60a5d84.
2020-03-24 17:49:00 -04:00
rAthenaAPI
53761b952a SQL synchronization 2020-03-24 18:38:07 +01:00
Aleos
412d90048d
Implemented Star Emperor and Soul Reaper classes (#4386)
* Initial implementation of these two classes skills.
* Includes kRO balancing patch: http://ro.gnjoy.com/news/devnote/View.asp?category=1&seq=3921697
Thanks to @Rytech2, @Mateuus, @nubspixel, @exneval, @idamonli, @hotspicy945, @admkakaroto, @cahya1992 and @RagnaWay!
2020-03-24 13:37:58 -04:00
Aleos
ea8da71cdd
Rebalancing of 1st/2nd/Transcendent class skills (#4072)
* Fixes #3715.
* kRO changelog: http://ro.gnjoy.com/news/notice/View.asp?seq=7040
* Refactored size_fix database to YAML.
Thanks to @flamefury for his translations!
Thanks to @Angelic234, @mrjnumber1, @Badarosk0, @OptimusM, @attackjom, @Playtester, Melvo, @cydh, @cahya1992, Sigma, @whupdo, @teededung, @ecdarreola, @hotspicy945, @RagnaWay, @sader1992 for bug testing!
2020-03-06 10:57:19 -05:00