97 Commits

Author SHA1 Message Date
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
Aleos
c71ef92fb0
Refactored item bonuses to utilize C++ features (#3235)
* Fixes #996 and fixes #3152.
* Refactored MAX_PC_BONUS item bonuses from static arrays to vectors.
* Increased MAX_PC_BONUS to 50.
* Frees up memory from players that may not ever utilize all their static MAX_PC_BONUS item bonuses.
* Expanded bonus ResEff to not be restricted to SC_COMMON* statuses.
* Removed old ERS usages.
* Removed code redundancy and general cleanups.
Thanks to @Angelic234, @Atemo, @Lemongrass3110, and @Everade!
2018-11-28 21:50:43 -05:00
Aleos
47d76205c0
Resolved Small and Large Life Potion Healing (#3712)
* Fixes #3705.
* Heal rate was comparing battle status versus base status.
Thanks to @Everade!
2018-11-27 22:26:16 -05:00
Aleos
13006e19a6 Corrected Concentration's status icon (#3647)
Corrected Lord Knight's Concentration status icon displaying the wrong one.

Thanks to @mrjnumber1!
2018-11-02 16:00:12 +01:00
Aleos
f4acbd14de
Corrected warping and OnTouch events (#3638)
* Fixes #1658, fixes #3620.
* Fixed script command warp2 or OnTouch NPC attempting to trigger OnTouch events a second time for players in a hidden state while warping to the destination map resulting in them being sent to an invalid location.
Thanks to @exneval, @mgksrt8, @admkakaroto, and @Zeloss!
2018-11-01 19:36:17 -04:00
Atemo
58c520eb07
Initial release of Devil Tower memorial (#2555)
Initial release of Devil Tower memorial (walkthrough conversion)
* TO DO:
** implement Dancingblade, Pulsestrike2 and adjust ice mine skills
** correct progressbar behaviour

Thanks to all the contributors !
Special thanks to Divine Pride !
2018-10-16 17:20:34 +02:00
Atemo
33dcaddac5
Nightmare biolab (#3228)
Initial implementation of nightmare biolab.
The missing skills will eventually be implemented later.

Thanks to all the contributor, special thanks to https://www.divine-pride.net/ !
2018-10-15 21:39:28 +02:00
Cydh Ramdh
fe197bfa12
Renewal Monster Updates (#3541)
* Renewal Monster's ATK & MATK Calculation Updates
* Renewal Monster database updates
  * ATK1 is *base* ATK, the range 80%~120% is calculated in src
  * ATK2 is *base* MATK, the range 70%~130% is calculated in src
* Adjusted ATK range min~max in mobinfo atcommand
* Nothing was changed in pre-renewal system!
* Thanks to @aleos89, @slyx88 and Divine-Pride.net
2018-10-13 19:00:14 +07:00
Aleos
0d77398385
Cleaned up Banding behavior (#3486)
* Fixes #3478.
* Adjusted Banding to use proper party counting functions.
* Corrected the DEF and HP Regen bonus for Banding.
* Banding Defense will no longer stack on itself.
Thanks to @admkakaroto and @exneval!
2018-09-18 11:05:27 -04:00
Aleos
d699defa74
Updated Arch Bishop skills from kRO maintenance (#3258)
* Fixes #3231.
* Updated Arch Bishop skills from kRO maintenance: http://ro.gnjoy.com/news/update/View.asp?seq=222&curpage=1.
* Added two new skills: Vituperatum and Convenio.
Thanks to @secretdataz, @Rytech2, @Angelic234, @ecdarreola, @redlightliu, @laziem, @xTakami, @admkakaroto, @Tokeiburu, and @flamefury!
2018-08-31 09:19:59 -04:00
Kakaroto
ef2bf5b0ef Insignia MATK Fix (#3404)
Fix of the magic attack bonus of the skills was not increasing.
2018-08-18 14:19:28 +07:00
Aleos
48ae1a1e05
Cleaned up map storage type (#3384)
* Fixes #3369, fixes #3370, and fixes #3382.
* Converted maps storage container back to static array.
* Converted mapflag storage containers to unordered_map.
* Removed a lot of redundancy and recursive lookups.
* Fixed a couple short-circuit checks to help with performance.
* Fixed multiple instance creation/destruction issues.
* Fixed PK Mode attempting to set PvP on flags that are already active.
* Getting MF_RESTRICTED will return the map's zone value instead of the state.
* Converted mapflag macros to inline functions.
Thanks to @teededung, @lelouch22, @mazvi, @Lemongrass3110, and @cydh!
2018-08-10 13:52:07 -04:00
Aleos
4f97c749c4
Corrected Spiritual Sphere Absorption and Cursed Circle interaction (#3358)
* Revert of 9a009bf.
* Spiritual Sphere Absorption should still take the spheres from the target even if Cursed Circle is used on the caster.
Thanks to @Raf4h!
2018-07-29 17:16:04 -04:00
Aleos
584fcac43a Cleaned up map data storage (#3347)
Follow up to a942853.
Fixes #3336.
Moved map_data storage to std::map container.
Created map_getmapdata to obtain pointer to map_data.
Got rid of MAX_MAP_PER_SERVER define.
Resolved deletion of instances causing other instances to lose their intended map ID.
Refactored warp suggestions

Thanks to @teededung, @anacondaqq, @cydh and @Lemongrass3110!
2018-07-26 01:06:59 +02:00
Lemongrass3110
6b3f0717c7
Hotfix for issue 3277 (#3279)
Fixes #3277 

Thanks to @cydh and @aleos89
2018-07-24 22:55:17 +02:00
Aleos
a942853d55
Cleaned up the mapflag system (#2943)
* Created setter and getter functions.
* Adjusted all calls to use these functions.
* Converted mapflags to C++ map container.
* Converted drop_list to vector.
* Converted skill_damage ERS into vector and increased limit from UINT8 to UINT16.
* Cleaned up several functions to be more dynamic to reduce redundancy that was all over the place.
* Renamed nosumstarmiracle to nosunmoonstarmiracle.
* Adjusted skill_damage mapflag to use proper defined constants.
* Refactored map index into a vector.
Thanks to @Lemongrass3110 for a lot of help and @secretdataz!
2018-07-18 20:00:33 -04:00