9920 Commits

Author SHA1 Message Date
Aleos
163f8c2c35
Fixes error reporting with SQL and ryml (#6778)
* Fixes #6768.
* Send 0 as the parse line in SQL mode for item scripts as the ryml parser isn't fully populated in SQL mode.
* Also cleans up some documentation references for EquipScript and UnEquipScript.
Thanks to @dralucon87 and @Lemongrass3110!
2022-04-02 12:44:30 -04:00
Lemongrass3110
185344a252
Fixed sell price calculation (#6775)
Fixes #6773
Additionally added some MAX_ZENY checks.

Thanks to @mazvi
2022-04-02 18:36:47 +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
Playtester
5eb0a2ea32
Fixed small rounding issue with Divine Protection (#6781)
* Fixes #6779
* The reduction will now be calculated as float and then rounded
2022-04-01 22:40:21 +02: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
Playtester
0ef5fa905c
Fixed Pre-Re SoftDEF Formula (#6766)
* Fixed Pre-Re SoftDEF Formula
* Fixes #6648

Note: This does not fix the order of processing which is also wrong, but at least the damage is official now in 1vs1 combat when if no item bonuses or status changes are involved that directly impact DEF.
2022-03-31 18:09:53 +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
Playtester
414d43dd05
Natural recovery formula and interval behavior (#6755)
* Implemented official natural recovery formula and interval behavior (fixes #6754)
* Fixed HP recovery per tick being 1 too high (after reaching 200 HP)
* The interval will now work similar to official servers where it remembers the time of the last recovery and checks if the interval has passed since that time
* The natural recovery interval will now be continuous even when at full health (i.e. if you are full while the interval passes and afterwards you lose HP/SP, you will have to wait for the next interval)
* Fixed anything blocking recovery, such as walking, not resetting the natural recovery tick (e.g. you have to wait 6 seconds to recover HP after you stop walking, unless you have moving recovery)
* Applies to players, homunculus, mercenaries and elementals
* Note: This also works with custom intervals, but you should make sure they are multiples of 4*NATURAL_HEAL_INTERVAL, otherwise it will round to the closest possible interval (you can reduce the timer interval in map.hpp when needed)
2022-03-30 12:13:42 +02:00
Atemo
de990f71ad
Fixes mobs res/mres always 0 (#6760)
Fixes an issue where status_calc_misc resets the value of res/mres (potentially defined in mob_db.yml) to 0.

Thanks to @limitro !
2022-03-29 22:47:45 +02: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
51335efec2
Fixes monster_ai battle config (#6757)
* Fixes #6751.
* Expands the cap of the monster_ai config to support new settings.
Thanks to @xZee0523!
2022-03-29 09:44:04 -04:00
Jittapan Pluemsumran
695de6313a
Implemented new bonus for official Sarah Card behavior. Fixes #6189 (#6281) 2022-03-29 15:35:15 +07:00
idk-whoami
d2826827df
Added Eff_Deepsleep status effect (#6735) 2022-03-24 22:59:10 +01: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
5a7d2dc2a1
Fixes remaining status calculation flag issues (#6740)
* Follow up to d739e8f and 302168d.
* Resolves the status_calc_bl_main call not properly assigning any sub status calculation effects based on any primary stat changes.
Thanks to @Singe-Horizontal!
2022-03-24 11:54:33 -04:00
Aleos
ce4aed26bb
Fixes Grand Cross self damage (#6716)
* Fixes #6647.
* Grand Cross will no longer display miss on self.
Thanks to @eppc0330 and @secretdataz!
2022-03-23 10:38:43 -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
Aleos
242983f0dd
Fixes Wug Rider allowing physical attacks (#6714)
* Fixes #6713.
* Physical attacks are now disabled when a Ranger-type class is riding a Wug.
Thanks to @Surefirer!
2022-03-18 14:10:43 -04:00
Aleos
bf3b12bc3d
Fixes NoWalkDelay item bonus (#6707)
* Fixes #6636.
* Resolves an issue with NoWalkDelay being checked too late and not properly giving the bonus to the player.
Thanks to @iraciz!
2022-03-17 14:36:50 -04:00
Aleos
a46b54a893
Adjusts bonus3 item bonuses to support ALL types (#6706)
* Fixes #6691.
* Adjusts bonus3 bAddEle, bonus3 bSubEle, bonus3 bSubRace item bonuses to support ELE_ALL/RC_ALL flags.
Thanks to @eppc0330!
2022-03-17 14:04:36 -04:00
HAO YAN
00be4ee9ca
Update Item Card slot count (#6301)
Should cover all card slots since these slots doesn't only store card anymore.
2022-03-17 18:20:17 +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
Aleos
d739e8f44e
Converts the SCB flags to bitset (#6661) 2022-03-16 15:59:23 -04:00
Lemongrass3110
e3262d0be1
Fixed mado gear display (#6698)
Fixes #6695

Thanks to @Rushtic
2022-03-16 20:34:25 +01:00
Lemongrass3110
a62859fdb0
Fixed soul linking (#6697)
Fixes #6696

Thanks to @mazvi and @aleos89
2022-03-16 16:46:48 +01:00
Aleos
6787f68452
Expands the SC start check (#6690) 2022-03-15 17:15:01 -04:00
Singe Horizontal
4ef2f33284
Fixes Can't attack when casting is disabled (#6687)
* Fixes #6686.
* Expands upon the status checks to allow physical attacks when casting is disabled.
2022-03-15 14:22:02 -04:00
Singe Horizontal
25212bf8b9
Fixes Mounted characters immune to freeze/stone (#6689)
* Fixes #6688.
* Adds a missing break.
2022-03-15 10:34:30 -04:00
Lemongrass3110
213406013d
Fixed EFST initialization (#6683)
Fixes #6675

Thanks to @jofvgaming, @Singe-Horizontal, @secretdataz and @aleos89.
2022-03-14 23:15:34 +01:00
Toshiro90
46b2af3843
kRO patch 2022-02-16 items (#6623)
Adds new items and updated some existing ones, based on kRO patches (main & zero) from 2022-02-16.

Thanks to @Lemongrass3110 

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Everade <Everade@users.noreply.github.com>
2022-03-14 22:18:33 +01:00
Toshiro90
95af807462
kRO patch 2022-02-03/04 items (#6592)
Adds new items and updated some existing ones, based on kRO patches from 2022-02-03/04.
Includes 3 new items from kRO Zero patch.

Thanks to @Atemo @Takerio 

Co-authored-by: Everade <Everade@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2022-03-14 21:01:53 +01:00
Lemongrass3110
11f3d4b100
Added a new flag SCF_NOFORCEDEND (#6679)
The old hardcoded lists were not in sync and this was a specific list of status changes that could not even be forcibly ended with sc_end. Therefore a new flag is needed. Additionally improved error reporting.

Fixes #6666

Thanks to @eppc0330
2022-03-14 20:52:31 +01:00
Lemongrass3110
0663e7b43d
Fixed atcommand jail (#6678)
Fixes #6677

Thanks to @gen1x8
2022-03-14 20:35:45 +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
Singe Horizontal
cf519c0866
sc_end SC_ALL fix (#6674)
Fixes #6673
2022-03-14 10:04:53 +01:00
Atemo
73a8d1365e
open_quest_ui script command (#6662)
* script command to force open the quest UI for the attached player.

Thanks to @Lemongrass3110 !
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-03-13 14:56:03 +01:00
idk-whoami
3be73773f4
Implementations + corrections of a bunch of items (#6652) 2022-03-11 23:05:25 +01:00
Atemo
a6a3c165b2
randomoptgroup script command (#6655)
* script command to get the random value of the random option ID, value and param of a random option group ID

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

Thanks to @aleos89 !
2022-03-11 19:04:59 +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
Lemongrass3110
d79db934cb
Added some more checks to Laphine UIs (#6654) 2022-03-11 17:31:49 +01:00
Aleos
0f4f612878
Fixes a crash with script command sc_end (#6659)
* Fixes #6657.
* Adds an extra sanity check.
* Moves the database check post the sanity checks for faster processing.
Thanks to @kaninhot004!
2022-03-11 11:19:42 -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
e74bbfd37e
Added missing export for bWeaponSubSize (#6651)
Fixes #6650

Authored-by: Cydh <cydh.ramdh@gmail.com>
2022-03-10 15:46:49 +01:00
Lemongrass3110
e2c15afd9d Fixed barter packetversion checks 2022-03-07 22:55:42 +01:00
Lemongrass3110
77e56cf838
Fixed CG_HERMODE (#6119)
Fixes #6114

Thanks to @Everade
2022-03-07 16:32:59 +01:00