283 Commits

Author SHA1 Message Date
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
flamefury
1a6bc209a8 Freezing and Burning can occur at the same time (#3313)
* Fixes #3312.
* Freezing and Burning should be able to be stacked.
Thanks to @flamefury!
2018-07-16 10:10:51 -04:00
Lemongrass3110
c4d7dc76d3
Hid timer function parameters in a macro (#3311) 2018-07-15 23:17:15 +02:00
Aleos
042b88623b
Pets should mimic master's walk speed (#3303)
* Pets should have the same walk speed as their master.
* Corrected homunculus speed check to use the proper battle config.
2018-07-09 17:29:55 -04:00
Lemongrass3110
b2c026d4b0
Cleaned up Summer 2 code (#3294)
Fixes #3293

Thanks to @Everade for reporting.
2018-07-08 11:58:50 +02:00
Aleos
f2437f4a63
Updated Masquerade effects (#3291)
* Masquerades are now unable to effect Boss monsters.
2018-07-07 19:49:51 -04:00
Aleos
6b148d5c35
Corrected SC_MTF_CRIDAMAGE bonus not triggering (#3289)
* Resolves SC_MTF_CRIDAMAGE never triggering the critical damage bonus.
2018-07-06 10:42:55 -04:00
Lemongrass3110
91169d7ebc
Fixed a few compiler warnings on clang (#3263)
Mostly pointer-bool-conversion and autological-pointer-compare
2018-07-05 22:53:20 +02:00
Lemongrass3110
796a67be4b
Fixed Silvervine Root Twist animation for players (#3255)
Fixed status changes that are displayed for players that walk into the area after status change start being sent out with an invalid duration, since the timer was not yet created and causing an infinite duration packet to be sent.

Fixes #3182

Thanks to @Everade
2018-06-27 22:08:52 +02:00
Lemongrass3110
55f1b01bd8
Removed useless debug variables for an old issue (#3247)
Closes #1986
2018-06-27 07:37:35 +02:00
Aleos
11b42569fc
Synchronized source file headers (#3212)
* Alphabetically sorted includes.
* Updated copyright and license text to match across all files.
* Removed pragma once define in header files in lieu of ifdef guards.
2018-06-20 18:08:30 -04:00
Aleos
f3eab9dd4a
Corrected Cloud Kill behavior (#3127)
* Fixes #2731.
* Corrected Cloud Kill status being removed and not damaging players who are in the AoE.
Thanks to @redlightliu!
2018-06-18 16:02:04 -04:00
flamefury
5e9a23de03 Updated Freezing effects (#3207)
* Fixes #3191.
* Adjusted movement speed reduction from -50% to -70%.
* Adjusted ASPD reduction from -15% to -30%.
* Adjusted physical DEF reduction from -10% to -30% for players only (mobs are still -10%).
* Adjusted variable cast time increase from +15% to fixed cast time +50%.
Thanks to @flamefury!
2018-06-18 13:13:27 -04:00
Aleos
dc413a3c57
Updated Mado Gear effects (#2103)
* Fixes #2099.
* Added Emergency Magic Gear.
-- Mounts the user to a Madogear.
-- Only usable by Mechanic class.
-- Has a reuse delay of 3 minutes.
* Increased maximum weight limit by 1500.
* HP naturally recovers similar to Swordman Moving HP-Recovery.
* Updated Emergency Cool's interaction with Overheat calculation.
* Added new Emergency Cool cooling devices.
* The three cooling devices now lower Overheat by 45, 75, and 105 respectively.
* Overheat now only increases on every attack by 1 or by 3 with Fire element.
* The Overheat limit is increased to 150, 200, 280, 360, and 450 respective to skill level.
* Updated the check for Acceleration, Self Destruction, Shape Shift, Emergency Cool, Magnetic Field, Neutral Barrier, and Stealth Field to also check inventory for required equipment.
* Updated Magic Gear Master NPC.
-- Added Emergency Magic Gear purchase option.
-- Added High Quality Cooler and Special Cooler upgrade options.
Thanks to @Felleonel, @Rytech2, @exneval and @mrjnumber1!
2018-06-14 17:28:16 -04:00
Lemongrass3110
801d3ed942
Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00