326 Commits

Author SHA1 Message Date
Aleos
cee161e677
Implements SC_STONEWAIT (#6794)
* Fixes #6748.
* Implements SC_STONEWAIT to be used with OPT1_STONEWAIT.
* Removes a lot of hard coded OPT1_STONE checks now that the two states are split to their own statuses.
* Fixes SC_STONE not ending when the target receives damage.
* Fixes SC_STONE getting overwritten by other statuses the have OPT1 states.
* SC_STONE should damage the target by 1% of MaxHP, not CurrentHP.
* All skills that give StoneWait aside from Stone Curse are 100ms.
* Confirmed that Sienna Execrate is 8 + 2 * SkillLv seconds of Stone.
* Moves Provoke and Mind Breaker status clearings to the status database.
* Converts EndReturn in the status database from a boolean to a list of statuses. Statuses defined in this list will be ended and then the status making the call will not take affect.
Thanks to @Singe-Horizontal, @Playtester, and @Lemongrass3110!
2022-04-08 13:16:18 -04:00
CairoLee
3b47defa35
Fixed ItemCost is invalid when specified level (#6796)
* Fixed #6573.
* Fixes ItemCost being invalid when specifying level.
Thanks to @dimasshotta and @CairoLee!
2022-04-08 11:26:38 -04:00
Aleos
41da8646ff
Fixes an issue with Joint Beat resistance (#6805)
* Follow up to cb2c553.
* Fixes a math error in the status resistance and duration for Joint Beat.
Thanks to @Tokeiburu and @Playtester!
2022-04-07 14:41:15 -04:00
Aleos
2993c0baa6
Updates the status resistances for renewal (#6764)
* Fixes #4694.
* Updates the status resistance formulas for several of the common statuses.
* Updates a few skills to their appropriate durations.
* When the caster is a higher base level, some statuses now take this difference into effect.
* Item resistances are also applied to the duration.
* Fixes Chaos Panic not reading the skill database duration.
* Points Bash's Stun duration to itself and not Fatal Blow.
* Adjusts SC_CURSE to look up the duration from NPC_WIDECURSE as it's set to the the default 18 seconds.
* Burning will fail if the target is under the effect of White Imprison.
* Burning will fail on level 2 Fire targets.
Thanks to @Playtester!
2022-04-06 10:53:32 -04:00
Aleos
436e5a6f7d
Fixes SQL mob database parsing (#6789)
* Fixes #6787.
* Resolves the SQL monster database not being properly parsed into YAML nodes.
* Also resolves the skill database improperly reporting issues.
Thanks to @L4M3573R and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-04-03 19:14:00 -04:00
Playtester
5df808d5fd Restored chance of NPC_PETRIFYATTACK, see issue #1811 2022-04-03 23:24:05 +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
Aleos
47cb6dc637
Minor corrections to Break Through (#5917)
* Fixes the attack bonus not properly applying to masteries.
* Fixes the healing bonus not increasing per skill level learned.
2022-04-02 08:19:28 -04:00
Cydh Ramdh
16ccad42e8
Update vending and buyingstore on warp (#6718)
Fixed #6671, vendor & buyer location never been updated if the location is changed
Added MF_NOBUYINGSTORE and CELL_NOBUYINGSTORE to separate from MF_VENDING & CELL_NOVENDING
Added some missing check for buyingstore states
Updated mapflag doc
Added new constants

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-03-31 23:08:35 +02:00
Lemongrass3110
db540124ad
Fixed some LGTM warnings (#6767)
Co-authored-by: aleos <aleos89@users.noreply.github.com>
2022-03-31 22:20:17 +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
Aleos
7c275f3130
Updates Quest skills from kRO patch (#6736)
* Fixes #6732.
* kRO Changelog: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7177&curpage=1
Thanks to @Atemo, @attackjom, and @Lemongrass3110!
2022-03-24 12:31:56 -04:00
Aleos
302168d1f3
Fixes SCB calculations (#6733)
Follow up to d739e8f.
Resolves issues with status calculations getting improperly checked.
Thanks to @mazvi, @kaninhot004, and @Rayvakarian!
2022-03-23 10:40:35 +01:00
Lemongrass3110
5193fd6c92
Fixed some status related issues (#6702)
Fixed stone curse not ending
Fixed SR_GENTLETOUCH_CURE not being able to cure poison, silence and blind
Cleaned up SR_GENTLETOUCH_CURE formula
Fixed casting SR_GENTLETOUCH_CURE on self during status change
Added missing NoMove state to PF_SPIDERWEB
Fixed GN_HELLS_PLANT being removed on mapchange

Fixes #6701

Thanks to @mazvi
2022-03-17 15:05:35 +01:00
Lemongrass3110
79d978e010
Cleanup for some Soul Reaper skills (#6700) 2022-03-16 21:54:12 +01:00
Lemongrass3110
0449f39015
Fixed SL_HIGH (#6699)
Added a central random function for chance calculation
Added a missing status change end for SC_SPIRIT on jobchange
2022-03-16 21:28:38 +01:00
Lemongrass3110
a62859fdb0
Fixed soul linking (#6697)
Fixes #6696

Thanks to @mazvi and @aleos89
2022-03-16 16:46:48 +01:00
Singe Horizontal
a032cd1f74
Spiral pierce immune fix (#6668)
Fixes the inversion of target type being stopped by spiral pierce, ie it should stop normal monsters and not status immune

Fixes #6667
2022-03-14 12:26:50 +01:00
Aleos
365d3d7a80
Fixes Slim Potion Pitcher item lookup (#6660)
* Fixes #6646.
* Fixes the item requirement check for Slim Potion Pitcher being offset by one.
Thanks to @Indigo000!
2022-03-11 12:35:05 -05: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
Lemongrass3110
77e56cf838
Fixed CG_HERMODE (#6119)
Fixes #6114

Thanks to @Everade
2022-03-07 16:32:59 +01:00
Cydh Ramdh
c454443a0b
Added @addfame (#6588)
* Added `@addfame`
* Added alias `famepoint`, `famepoints`
* Changed `sd` in `pc_addfame` to reference

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-02-16 01:00:59 +07:00
Aleos
a8e516730a
Fixes Tuna Belly and Shrimp Party behaviors (#6616)
* Fixes #6611.
* Resolves an issue with Tuna Belly not sending the visual update to healed players.
* Resolves Shrimp Party SP recovery not increasing the heal rate.
Thanks to @Balferian!
2022-02-15 09:49:33 -05:00
Aleos
4b1446bd09
Fixes cooking value not updating properly (#6605)
* Fixes #6602.
* Resolves cooking items only updating the player's cooking variable and not properly updating the player's session data along with it.
Thanks to @Shaktohh and @Lemongrass3110!
2022-02-08 15:04:53 -05: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
Vincent Stumpf
dcd01a0fa5
Fix esma with no buffs (#6490) 2022-01-10 14:54:32 +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
b644bcfe69
Converts the Skill Tree Tables file into YAML (#6070)
* Converts the Skill Tree Tables file into YAML.
* Includes CSV2YAML converter.
* Corrected the tree according to the client (SkillInfoList)
* Removed 3rd jobs tree from pre-renewal, some required stats not being loaded by default

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-12-14 00:00:33 +01:00
Atemo
b143a0cf3f
Fixed an issue with bAutoSpellWhenHit (#6402)
Fixed #6383

Thanks to @imaqtdan
2021-12-09 22:53:35 +01:00
Lemongrass3110
6c6da0c6e8 Follow up to 081b5c8
Thanks to @attackjom
2021-12-08 17:38:10 +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
Lemongrass3110
081b5c86bd
Cleanup as follow up to a205287 (#6377)
Removes unused constants
Cleans up some wrong usages of e_mode
Cleans up a mistake introduced in 62a2813a
Fixed a mismatching header
2021-12-05 22:34:52 +01:00
Sandro Junior
4dfeff1ed3
Fix missing condition for HW_GANBANTEIN (#6385)
Adds a condition for HW_GANBANTEIN since it's one of the skills that can be cast with no gemstone when equipped with Mistress Card.
2021-12-05 20:05:15 +01:00
Atemo
a205287307
Converted elemental_db to YAML (#6102)
* Converts the Elemental Summons Tables file into YAML.
* Includes CSV2YAML converter.

Thanks to @Lemongrass3110, @aleos89, @secretdataz !
2021-11-26 00:53:35 +01:00
Atemo
424e05d8f7
Implemented some NPC skills (#6343)
* Implemented NPC_CHEAL
* NPC_MILLENNIUMSHIELD
* NPC_STORMGUST2
* NPC_ARROWSTORM
* NPC_DRAGONBREATH
* NPC_WIDEWEB
* NPC_REVERBERATION
* NPC_COMET
* NPC_VENOMIMPRESS
* NPC_SR_CURSEDCIRCLE
* NPC_DARKPIERCING
* NPC_FATALMENACE
* NPC_PSYCHIC_WAVE
* NPC_DRAGONBREATH
* NPC_MAGMA_ERUPTION
* NPC_RAYOFGENESIS
* Uncommented NPC_LEX_AETERNA skills in mob_skill_db.txt
* NPC_MANDRAGORA
* NPC_DANCINGBLADE
* Uncommented NPC_DARKPIERCING
* NPC_PULSESTRIKE2

Thanks to @attackjom and @Lemongrass3110 !
2021-11-21 18:24:55 +01:00
Atemo
7dcc75d82e
Fixed a mistake on NPC_COMET (#6351)
Fixed https://github.com/rathena/rathena/issues/6350

Thanks to @attackjom !
2021-11-11 14:23:37 +01:00
Lemongrass3110
22c7f3988d
Yet another autospell fix (#6341)
Fixes #6337

Hopefully this was all now.

Thanks to @renniw
2021-11-02 23:41:19 +01:00
Lemongrass3110
46586599fb
Restored previous logic for autospells (#6332)
Fixes #6330
The logic was inverted accidentally in 31327ade

Thanks to @mazvi and @Anjuts
2021-10-27 10:49:18 +02:00
Atemo
5933ab8304
Temple of the demon god instance (#5611)
* Implemented Temple of the Demong God instance
Implemented the skills NPC_WIDEWEB, NPC_WIDESUCK and NPC_FIRESTORM from https://github.com/idathena/trunk
Credit to @exneval

Thanks to @Badarosk0 @idk-whoami @Everade @aleos89
2021-10-26 18:21:12 +00:00
Jittapan Pluemsumran
e50a91c59c
Added null pointer checks for autobonus (#6327)
Fixes #6324

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-10-24 14:52:10 +02:00
Aleos
31327ade6c
Minor cleanups to AutoSpell item bonuses (#6212)
* Fixes #6153.
* Fixes variable types to avoid any loss of data.
* Fixes AutoSpellOnSkill random level cast being mixed with the target selection flag.
* Removes the overloaded use of variables for the autospell bonuses.
Thanks to @randell1993 and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-10-20 09:04:17 -04:00
Lemongrass3110
d54076d2f6
Added some additional SP heal bonuses (#6292)
Fixes #6076

Thanks to @idk-whoami and @Atemo
2021-10-10 11:17:41 +02:00
Lemongrass3110
c4df5caa00
Added support for level 2 armors (#6251)
Thanks to @Atemo and @aleos89 for their help.

Co-authored-by: Atemo <capucrath@gmail.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2021-10-06 16:57:25 +02:00
Lemongrass3110
1deb5a5f3e
Added a missing initialization (#6283)
Fixes a debug breakpoint if you compiled in debug mode of Microsoft Visual Studio
2021-10-05 13:07:54 +02:00
Aleos
e8da0c0d44
Fixes skill aftercast delay (#6240)
* Fixes #6232.
* Follow up to 9e4dc7d.
* Fixes the aftercast delay of skills so that status and item bonuses properly stack before calculating the final result.
* bSkillDelay should add directly to the time and not be included in the rate formula.
Thanks to @AsurielRO!
2021-09-27 10:00:40 -04:00
Lemongrass3110
373d724bdf Follow up to df7ccca 2021-09-20 20:40:57 +02: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