112 Commits

Author SHA1 Message Date
Aleos
e6a6c0533c
Updated 3rd class from RO 16th Anniversary Patch (#3659)
* Fixes #3602 and fixes #3653.
* Updated the 3rd class skills according to the RO 16th Anniversary Patch.
* Complete changelog here: http://ro.gnjoy.com/news/devnote/View.asp?category=1&seq=3890090&curpage=1
Thanks to @Badarosk0, @OptimusM, @Victor214, @Rytech2 and @laziem!
2020-02-07 10:39:35 -05:00
aleos
7bdfe81867 Skill Ammo requirement fixes
* Fixes #4589.
* Resolves an issue with the skill converter outputting the incorrect ammo type requirement.
* Also fixes an issue with physically attacking targets while having a status option active.
Thanks to @mazvi!
2020-02-01 16:06:13 -05:00
Aleos
dca3797d44
Converted the skill database to YAML (#4531)
* Combines skill_cast_db, skill_castnodex_db, skill_copyable_db, skill_nonearnpc_db, skill_require_db, and skill_unit_db into skill_db.
* Introduces a cached YAML class for quicker lookups.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-01-31 14:14:08 -05:00
Jittapan Pluemsumran
082766defc Revert "Overed Boost now decreases homun's hunger level by half (#4218)"
This reverts commit 77fa9dbcbe6ad702ca5549f4ae2fba5983c4c9d0.
2020-01-26 23:33:32 +07:00
yoonjunho1994
77fa9dbcbe Overed Boost now decreases homun's hunger level by half (#4218)
Fixes #4217
2020-01-26 22:37:11 +07:00
Aleos
bf9a3b47fe
Removed an extra status calculation for players (#4525)
* Follow up to 2732176.
* Fixes #4150.
* Removed an extra status calculation for players resulting in some status data being nullified.
* Adjusted status calculation for autobonus and unequipping items.
* Cleaned up delayed damage logic.
Thanks to @cydh, @Hatfun, and @NeutralDev!
2020-01-17 20:30:35 -05:00
Lemongrass3110
e72c7360cf
Added int64 support to the script engine (#4522)
Added support for signed 64 bit integer value computation into the script engine.
This is required because newer official features require support for bigger numbers inside the scripts.

This also cleans up a lot of messy code and fixes a few issues like script stack corruptions.

Thanks to @aleos89 and everyone who supported me with this.
2020-01-13 14:44:48 +01:00
~Neutral~
bc5b147644 Fixed bonus2 bRegenPercentHP and SP (#4511) 2020-01-05 00:08:19 +01:00
Aleos
1884f4d503
Corrected Gatling Fever damage (#4493)
* Fixes #4492.
* Damage no longer depends on the target's size.
Thanks to @kyurejl!
2019-12-30 07:44:13 -05:00
Aleos
464fd40607
Corrected Vacuum Extreme behavior (#2526)
* Fixes #2497.
* Vacuum Extreme will now pull players into the center.
* Vacuum Extreme should only pull in players that stop within it's AoE.
* It will now ignore "no knockback" bonuses players have.
Thanks to @esu1214, @cydh and @exneval!
2019-12-23 18:36:54 -05:00
Aleos
b0119631a4
Allow NPC view data modifications (#4385)
* Fixes #4289.
* Updated script commands setunitdata and getunitdata to support the modification of NPC view data.
* Converted mob_avail database to YAML.
Thanks to @Lemongrass3110, @4144, @exneval, @Balferian, @cahya1992 and @teededung!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2019-12-22 10:27:43 -05:00
Aleos
beec1c2766
Corrected Enchant Arms for older clients (#4484)
* Follow up to 754274b.
* Resolved the status icon not clearing for each element.
Thanks to @Daegaladh!
2019-12-19 17:02:19 -05:00
Daegaladh
28c70cde3d
Fixed SC_KEEPING and SC_BARRIER exploit after classchange (#4486)
* Fixed monsters affected by SC_KEEPING and SC_BARRIER not moving or attacking after classchange
* Thanks to @aleos89
2019-12-17 23:40:46 +01:00
Aleos
d56553775a
Converted Magic Mushroom Database to YAML (#4482)
* Split database into pre-renewal and renewal.
* Left pre-renewal database empty.
2019-12-17 16:07:17 -05:00
Lemongrass3110
930f52e31f Partial revert of 01f61cf
Reverts unintentional renaming of a variable
2019-10-29 21:35:48 +01:00
Aleos
7c385f43bf
Corrected Gentle Touch skills (#4420)
* Follow up to 24c4c49.
* Gentle Touch - Convert and Gentle Touch - Revitalize should not be able to be stacked with one another; only Gentle Touch - Energy Gain can stack with them.
Thanks to @teededung!
2019-10-28 08:51:34 -04:00
Aleos
24c4c49610
Job Improvement Project - Sura (#4256)
* Fixes #4210.
* kRO Changelog: http://ro.gnjoy.com/news/notice/View.asp?seq=7099
Thanks to @flamefury, Sigma, and @attackjom!
2019-10-18 13:10:17 -04:00
Aleos
2e3e8b83f5
Fixed renewal ASPD passive modifiers (#4405)
* Fixes #3735.
* Fixed Demon of the Sun Moon and Stars ASPD to now increase by a rate of 1 + skill_level.
* Cavalier Mastery and Dragon Training to be properly calculated.
Thanks to @poporing and @Balferian!
2019-10-17 08:38:06 -04:00
Aleos
aa63c855c0
Corrected pet bonuses not applying (#4292)
* Fixes #4283.
* Corrected pet bonuses not applying on intimacy changes.
* Removed pet_equip_min_friendly battle config as bonuses are determined on intimacy in the bonus script.
Thanks to @teededung!
2019-08-14 08:56:48 -04:00
Aleos
cb2c553f34
Cleaned up Joint Beat behavior (#4123)
* Fixes #4122.
* Added missing rate and duration reduction based on the targets stats.
* Confirmed that double damage only applies to BREAK_NECK.
* Cleaned up skill to remove jb_flag from status_change struct.
Thanks to @mrjnumber1!
2019-07-17 09:28:24 -04:00
Aleos
2ca417b61f
Fixed STR affecting mob damage in pre-renewal (#4228)
* Follow up to fe197bf.
* STR should not affect monster's damage.
* Split battle config between pre-renewal and renewal.
Thanks to @Playtester!
2019-07-16 12:17:11 -04:00
Atemo
f8ea43ebc7
getmapflag MF_RESTRICTED (#4193)
* Corrected the value returned by getmapflag script command for MF_RESTRICTED
2019-06-03 20:45:19 +02:00
Yashim Wong
d05c6035f2 Corrected checks for weapon attack calculation (#3469)
* Fixes #3371.
* Fixed instruments (W_MUSICAL, W_WHIP) not receiving attack bonus from DEX.
Thanks to @Rayvis and @yashimwong!
2019-04-23 08:51:12 -04:00
Aleos
ce1508a01c
Corrected Enchant Arms status icon (#3661)
* Enchant Arms should display a status icon depending on the element (skill level) being used.
Thanks to @mrjnumber1!
2019-04-19 21:30:03 -04:00
Aleos
06020502b8
Adjusted pet walk speed (#4083)
* Added battle config pet_walk_speed.
* Resolves some pets walking too slow.
2019-04-11 18:49:07 -04:00
Atemo
9aa5f7d834
Added several warning messages (#4062)
* enablenpc / disablenpc / hideoffnpc / hideonnpc now display the npc source when the npc named doesn't exist
* Added the NPC source to status_set_viewdata when no view data has been found
* Added export_deprecated_constant3 to display the constant name replacing the deprecated
* Removed the debug message from `@ warp` when the map name is wrong
* Added clif_name_area to UMOB_LEVEL on setunitdata and a capvalue to UPET_HUNGER
* areamonster now checks if the monster ID exists

Thanks to @Normynator and @aleos89 for the review!
2019-04-10 15:59:42 +02:00
Cydh Ramdh
a8185e6294
Fixes #4066 (#4070)
* Fixed Defending Aura effect taking twice as incorrect Devotion behavior (leftover from old fixes)
2019-04-05 07:32:35 +07:00
Aleos
c977558cfd
Adjusted OnTouch overlap behavior (#2382)
* Fixes #1939 and fixes #2274.
* OnTouch NPC are now able to overlap one another and properly trigger as they do on official servers.
* When entering an overlap area it should trigger both NPC.
* Walking from overlap area to either NPC should trigger neither.
* Walking from one NPC to the other (skipping the overlap area) should trigger the NPC area you enter.
* Entering an OnTouch area will no longer stop the player from walking unless a message or menu window opens (or other events that should stop the player).
* Resolves OnTouch_ overlapping issues.
* Dead players don't trigger OnTouch_ anymore.
* Hidden players don't trigger NPC clicks when OnTouch_ label is defined.
Thanks to @Tokeiburu, @Lemongrass3110, @Atemo, and @Normynator!
2019-04-03 19:25:47 -04:00
Cydh Ramdh
eb88f0ce4f
Fixes #4034 (#4036)
* Move HP/SP Vanish bonuses to vector
* Corrected the BF flags usage
* Immaterial Swords, Mental Destroyer, and Dark Priest trigger SPVanish by any attack types

Co-Authored-By: cydh <cydh@users.noreply.github.com>
2019-03-31 16:19:57 +07:00
Aleos
159691398a
Capped rate value for status_get_sc_def (#4050)
* Fixes #4046.
* Cap the rate value between 0~10000.
Thanks to @Litro and @Lemongrass3110!
2019-03-29 09:07:41 -04:00
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format

Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
2019-03-26 22:51:57 +07:00
Aleos
9f4a569ecc
Implemented Magma Eruption Dot Damage (#3929)
* Fixes #3898.
* Implemented Magma Eruption Dot Damage which is the second attack for Magma Eruption.
Thanks to @exneval and @Balferian!
2019-03-25 10:29:21 -04:00
Aleos
9500c06dab
Corrected unit calculation with setunitdata (#3978)
* Fixes #3953.
* Resolved an issue with monster's class not being properly recalculated when using script command setunitdata. For now, just allow switching between CLASS_NORMAL and CLASS_BOSS.
* Fixed HP and MaxHP adjustment for monster, homunculus, mercenary, elemental, and NPC.
* Fixed MaxSP adjustment for homunculus and elemental.
* Fixed Size adjustment for monster, homunculus, mercenary, and elemental.
* Fixed Race adjustment for monster, homunculus, mercenary, and elemental.
* Fixed the Map ID string check to support all unit types.
Thanks to @teededung and @SeravySensei!
2019-03-23 16:15:28 -04:00
Sean Allen
bf27041e7b Fixed LGTM formatting alert (#3987) 2019-03-18 00:02:25 +01:00
Aleos
5d69a4fee8
Fixed Camouflage (#3933)
* Fixes #3788.
* Fixes the Provoke icon getting removed when clif_changeoption is called and it's not an infinite duration.
Thanks to @Everade!
2019-02-12 10:53:10 -05:00
Aleos
c5a5c54518
Converted remaining C comments (#3927)
* Converted remaining documentation that references .c or .h files.
2019-02-09 15:08:45 -05:00
Aleos
f235d89e76
Added item bonus bNoWalkDelay (#3906)
* Fixes #131 and fixes #2699.
* Added item bonus bNoWalkDelay to replace infinite SC_ENDURE bonus in items.
* Added a warning if INFINITE_TICK is detected in the item combo bonus.
* Included some minor cleanups and additions.
Thanks to @exneval, @c0nflicts, and @esu1214!
2019-02-05 12:23:36 -05:00
Aleos
fe12d6f016
Corrected Sling Item bonuses (#3845)
* Fixes #3810.
* Partial revert of eae1161.
* Removed the item database bonuses from Throwing Increase HP/SP Potions and moved them back to source as these items require the caster's Base Level.
* Concentrated White Potion Z should only increase HP regeneration rate (not the interval).
* Vitata 500 should increase SP regeneration rate (not the interval).
Thanks to @Everade!
2019-01-29 17:50:13 -05:00
Aleos
626c2b7ff1
Updated Quagmire status removal list (#3802)
* Quagmire will now remove Crazy Uproar.
Thanks to @mrjnumber1!
2019-01-29 09:38:23 -05:00
Aleos
b1865b31fe
Corrected skills that give bonuses while sitting (#3876)
* Fixes #3611.
* Corrected Gangster's Paradise not releasing the monster invulnerability state when standing up around multiple Rogue's that know Gangster's Paradise.
* Same fix goes for Taekwon's Peaceful Break and Happy Break.
* Cleaned up some various parts of these functions as well.
Thanks to @Indigo000!
2019-01-23 12:42:23 -05:00
Lemongrass3110
46138645f6 Follow up to 01f61cf
Found some leftovers that were still using the wrong tick type and therefore screwing up the variable argument addresses.

Fixes #3807

Thanks to @zeffen
2019-01-02 15:17:17 +01:00
Lemongrass3110
01f61cfa4f
Added support for 64bit ticks (#3768)
Fixes #3017

Thanks to Hercules for the idea and their implementation of it.

This deprecates Windows XP support. If you want to use it to run your server on it, you have to forcefully enable it now.
Since 64bit ticks do not exist on XP, you might encounter some issues that are already fixed on other OS.
2018-12-21 00:02:19 +01:00
Lemongrass3110
016d15b79a
Unified infinite tick usage (#3755)
Introducing a new constant INFINITE_TICK
Changed current usages in items, npcs and source to use the new and correct constant.
Replaced some invalid usages of INVALID_TIMER and replaced them with the new constant.
2018-12-18 17:46:56 +01:00
Lemongrass3110
e3dd6238b5
Removed deprecated SI constants from src (#3762)
Froze their values by hardcoding them into the script engine exports.
Removed commented ones.
Removed a leftover reference to SI_BLANK.
2018-12-18 15:54:54 +01:00
Aleos
570c07d50c
Corrected some Summoner skills (#3719)
* Fixes #3706.
* Resolved Blessing of Shrimp not boosting SP recovery properly.
* Resolved Tasty Shrimp Party not accounting for Fresh Shrimp level learned.
* Resolved Lope not placing the caster at the selected target location.
Thanks to @Everade and @exneval!
2018-12-17 21:51:50 -05:00
Lemongrass3110
e8a7daec9f
Fixed pre-renewal atk (#3752)
Follow up fe197bfa120aef5fd31c6896122b35fdc06774b4

Fixes #3623

Thanks to @mrjnumber1
2018-12-15 17:04:03 +01:00
Jittapan Pluemsumran
4cff45b881 Fixed clearing of sp_vanish_race (#3729) 2018-12-08 20:03:58 +01:00
Lemongrass3110
5597105451 Fixed an issue with bonus recalculation
Fixes #3725

Thanks to @jester-frost and @laziem
2018-12-06 22:26:35 +01:00
Aleos
0bb279b64c
Corrected Stone Hard Skin Rune effects (#3713)
* Fixes #3693.
* Stone Hard Skin should not end after taking full damage.
Thanks to @slyx88 and @flamefury!
2018-11-30 09:06:36 -05:00
Aleos
a0d1087628
Corrected Electric Shocker versus MVP (#3660)
* Fixes #3649.
* Electric Shocker is able to stop MVP as well.
* Status should not stack with itself.
* Status should be cleared by normal means.
Thanks to @admkakaroto!
2018-11-29 17:51:00 -05:00