460 Commits

Author SHA1 Message Date
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
fc2c6e021d
Corrected Magnum Break delay (#4248)
* Fixes #4191.
* Magnum Break should have an aftercast delay of 2 seconds which can be reduced by Bragi (like all other skills) and no cooldown.
Thanks to @Playtester!
2019-07-16 11:07:14 -04:00
Joam
aae31a19a5 Update Itemdb (JRO item) (#4161)
* The items implementation is based on JRO description instead of IRO description
* Yinyang combo items will be implemented later when more infos will be available
2019-06-25 20:03:33 +02: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
Aleos
052a4fd1e4
Corrected Weapon Forging inventory search (#4192)
* Fixes an issue with Weapon Forging not checking for index 0.
Thanks to @Tokeiburu!
2019-06-03 11:49:08 -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
Atemo
04c6303eb9
Implemented (the old) Nightmarish Jitterbug instance (#4061)
* Implemented NPC_REVERBERATION (some parts are from https://github.com/idathena/trunk credit to @exneval)

Credit to @RagnarokNova for some texts correction and for the monster spawn ([source](https://rathena.org/board/topic/104496-nightmareish-jitterbug-episode-143/))
Credit to https://www.divine-pride.net/ for the monsters datas.
2019-04-13 15:12:30 +02:00
Aleos
7c313a776a
Updated Firewall cast check (#3556)
* Firewall should check at cast begin if unit max count has been reached.
* Removed redundancy with the unit max count checks by merging into a single function.
Thanks to @mrjnumber1!
2019-04-04 18:57:17 -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
972a14e4ed
Corrected Rebellion cast times (#3928)
* Fixes #3858.
* Corrected cast times and duration for several Rebellion skills.
Thanks to @siriousb!
2019-03-23 17:38:13 -04:00
Daegaladh
35611e78e1
Fixed Ice Wall units to match their official behavior (#3935) 2019-02-09 13:51:20 +01:00
Lemongrass3110
8e325e4116 Fixed some more server crashes
Thanks to @functor-x
2019-02-05 00:06:09 +01: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
6c86492764
Corrected a few potential crash points (#3874)
* Fixes #3872.
* Added a couple more map data validity checks on block list counting functions.
* QD Shot should no longer remove the read status.
* Dragon Trail should no longer end the Crimson Marker status.
* Some other minor optimizations/cleanups.
* Fixed a va_arg corruption
Thanks to @attackjom, @Lemongrass3110, and @teededung!
2019-01-23 20:27:41 -05:00
Daegaladh
a9f868f85f
Fixed CDP not failing when haven't met the requirements (#3887) 2019-01-23 18:45:44 +01: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
a5fc39e0e3
Fixed a few more leftovers from 64bit tick (#3885)
Fixes #3864

Thanks to @darhylism, @nubspixel, @Daegaladh and @aleos89!
2019-01-22 23:14:50 +00:00
Aleos
7282dd8735
Fixed Reflect Damage not reflecting damage (#3848)
* Fixes #3801.
* Fixed a timer type issue causing Reflect Damage to no properly distribute damage.
* Corrected some final tick leftovers that may cause issues with other skills.
Thanks to @Angelic234 and @rAthenaCN!
2019-01-11 10:15:12 -05:00
Daegaladh
4ec0c0109f
Fixed Full Blast delay on attack and using items (#3838) 2019-01-07 23:22:51 +01: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
818ff109f3
Initial Release of Equipment Switch (#3548)
Thanks to everyone who contributed to this release in any way, be it donations, information or testing.

Merry Christmas :-)
2018-12-24 14:10:29 +01:00
Lemongrass3110
63bfd61118
Added a missing check to TK_HIGHJUMP (#3776)
Fixes #1159

High Jump/Leap is meant to check the next cell for a wall as well.

Thanks to @Playtester and @aleos89
2018-12-22 00:33:35 +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
fb81e2d7ad
Fixed autobonus removal (#3767)
Fixes #3739

Thanks to @whupdo for finding the broken removal.

Fixes #3766

Since vector elements will be pushed around in the container when an element is removed,
the original pointer might be invalid at the time the end of the timer has been reached.

A big thank you to @teededung for being persistent and helping me to reproduce the issue.
2018-12-20 08:23:10 +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
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
Aleos
2d4a594948
Fixed Skill Damage Database parsing (#3747)
* Fixed Skill Damage Database parsing
* Fixes #3732.
* Resolved an issue with constants not being properly parsed for the caster type.
Thanks to @RadianFord, @reunite-ro, and @Lemongrass3110!
2018-12-14 16:05:58 -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
9758a38f07
Updated CN Meteor and Lunatic CB behavior (#3603)
* Implements SU_CN_METEOR2 and SU_LUNATICCARROTBEAT2 skills.
* These skills are used as placeholders for the item requirements for skill bonuses.
Thanks to @Rytech2 and @exneval!
2018-11-29 17:23:09 -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
eafb1cb7f9
Corrected Absorb Spirit Sphere on self (#3689)
* Fixes #3534.
* Absorb Spirit Sphere should work on self on all map types.
Thanks to @FriggRM!
2018-11-28 13:11:35 -05:00
Aleos
7cc44e55ca
Corrected trap splash count (#3683)
* Fixes #3675.
* Corrected the trap splash count to be a minimum of 1 to prevent divide by 0 attempts.
Thanks to @crazystorm2017!
2018-11-17 08:57:30 -05:00
Aleos
0c6b772dd2
Updated Hammer of God behavior (#3595)
* Fixes #3559.
* Updated the cast range to 6 + skill_lv.
* Added Crimson Marker target checks to determine placement.
* No longer removes Crimson Marker on targets.
* Properly displays client effect.
Thanks to @Rytech2, @admkakaroto, @Tokeiburu and @exneval!
2018-11-16 08:47:37 -05:00
Aleos
78cda50e3b Corrected Ignition Break animation (#3670)
Corrected Ignition Break animation on newer clients (2018-02-07 and newer).

Fixes #3664.

Thanks to @Rytech2, @syracuase and @Lemongrass3110!
2018-11-11 23:03:59 +01:00
vykimo
98ba549022 Removed code duplication for Guild Skills (#3633)
* Fixes #3682.
* Remove code duplication for Guild Skills: Battle Orders, Regeneration and Restore.
Thanks to @vykimo!
2018-10-30 10:35:39 -04:00
Lemongrass3110
c0793a8072
Adding LGTM to CI tools (#3636)
Thanks to @aleos89 for his help.
2018-10-29 21:25:36 +01:00
Aleos
87032fc95a
Updated Gunslinger/Rebellion Bullet behavior (#3459)
* Fixes #2745.
* Disabled the ability to equip old spheres and old slugs.
* Corrected some of the newer bullets name, weight, price, and effects.
* Updated the ASPD for Gunslinger/Rebellion when equipping guns.
* Spread Attack and Ground Drift now only use bullets.
* Adjusted Slug Shot skill item requirement to the new Slug Bullet.
* Separated pre-renewal and renewal ammo NPC (Kenny and Tony).
-- Renewal no longer has Tony.
-- Kenny can now trade in the Sphere bullets for new bullets.
-- Kenny can now trade in the old Slugs for Slug Bullet.
-- Added new bullets into Kenny.
Thanks to @cydh and @exneval!
2018-10-29 10:18:19 -04:00
Jittapan Pluemsumran
84b4f09874 Added skill_duration mapflag. (#2171)
* Added skill_duration mapflag.
* This mapflag sets a skill unit time limit to n% of original duration.
* Implemented mapflags for Hunter's Traps in GVG, BG, and Novice Guild maps.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2018-10-26 08:52:49 -04:00
Aleos
04f127fd7c
Corrected equipment stripping success rates (#3597)
* Corrects Strip Weapon, Strip Armor, Strip Shield, Strip Helm, Weapon Crush, and Full Strip success rate.
Thanks to @Cydh!
2018-10-25 18:14:23 -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
7040057a9f
Corrected Taekwon Mission mob generator (#3509)
* Fixes #3499.
* Corrected the way target monsters are generated for Taekwon Mission.
* Requires: The mob ID is in the range [MOBID_PORING, MOBID_GREEN_IGUANA], the mob must have below 30,000 HP, the mob must give Base EXP, the mob must be CLASS_NORMAL.
* Added a new mob group: MOBG_Taekwon_Mission
* Removed hard coded checks.
* Created constants for random monster group flags.
Thanks to @mrjnumber1, @Lemongrass3110, and @cydh!
2018-09-25 13:32:11 -04:00
Aleos
f0dfdf9219
Cleaned up equipment stripping skills (#3493)
* Fixes #3476.
* Centralized all equipment stripping skills to skill_strip_equip.
* Updated success rates and durations to match official.
Thanks to @mrjnumber1!
2018-09-24 14:51:51 -04:00
Atemo
a12f1ce02f
EDP renewal change (#3485)
This setting only affects renewal mode:
- Switch to a different weapon or unequip a weapon now cancel EDP
- EDP can't be used with fist (right hand check only)

Thanks to @aleos89 and @cydh !
2018-09-19 00:33:45 +02: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
Aleos
0f7f66396c
Corrected Blast Mine and Claymore Trap behavior (#3373)
* Fixes #3362.
* Damage should be split among targets.
Thanks to @zakudam!
2018-08-27 19:19:36 -04:00
Aleos
9ca000a4a7
Official Spiritual Sphere Absorption behavior (#3367)
* Follow up to 4f97c74.
* Fixes #3357.
* Updated Sphere Absorption to official behavior
* Sphere Absorption will fail if casted on an ally.
* Should only succeed on self or enemy targets.
* Removed Cursed Circle check as it's not needed anymore.
2018-08-10 20:29:05 -04:00