139 Commits

Author SHA1 Message Date
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
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
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
Aleos
9313922656
Further cleanup to mapflags (#3332)
* Follow up to a942853.
* Removed ADJUST_SKILL_DAMAGE define so that the mapflag is always enabled.
* Cleaned up atcommand mapinfo and skill_damage mapflag interaction.
* Cleaned up atcommand mapflag to not allow setting of special mapflags that require extra arguments (Please use script command setmapflag).
* Using script command setmapflag for MF_NOSAVE will default to SavePoint.
* Using script command setmapflag for MF_PVP_NIGHTMAREDROP will default to normal official drop values.
* Exported constants for skill_damage mapflag types.
Thanks to @ecdarreola, @cydh, and @Lemongrass3110!
2018-07-23 13:40:35 -04: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
Aleos
b409936f8d
Updated max recovery weight to 70% for renewal (#3309)
* Fixes #2622.
* Added a new battle config for renewal.
* Adjusted the battle config to support dropping the recovery weight to 0.
* Added the new weight limit packet.
Thanks to @functor-x and @Lemongrass3110!
2018-07-17 16:18:39 -04:00
Lemongrass3110
c4d7dc76d3
Hid timer function parameters in a macro (#3311) 2018-07-15 23:17:15 +02:00
Aleos
3de5824757
Adjusted Amistr's Defense behavior (#3300)
* Effect should not be shown above master.
2018-07-08 18:28:09 -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
Cydh Ramdh
e7fd6aa5bd
Enable autobonus to be reactivated (#3199)
* Fixes #3039, #3158
* Thanks to @Raf4h @laziem
2018-06-28 20:56:39 +07:00
Lemongrass3110
880e227ea2
Cleaned up some hardcoded variables (#3237) 2018-06-24 22:16:28 +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
Aleos
7c4d769234
Added Old Glastheim Buffs (#3167)
* Fixes #2772.
* Added missing Old Glastheim buffs.
* Added buffs to Old Glastheim script.
* Renamed Glastheim -> Glast Heim.
Thanks to @Atemo and @mrjnumber1!
2018-06-13 15:55:30 -04:00
Atemo
d388a7122b
Initial release of morse cave instance (#3173)
* Initial release of morse cave instance
* Implemented NPC_JACKFROST skill

Thanks to @laziem, @ecdarreola, @Questune09 and https://www.divine-pride.net !
2018-06-13 20:33:36 +02:00
Aleos
9d176c9f1d
Corrected B.S. Sacramenti behavior (#3149)
* Fixes #611.
* Status is now removed on player log out.
* Status is not given to targets who have the Undead/Demon element.
Thanks to @Atemo!
2018-05-28 12:52:30 -04:00
Aleos
87e7e8891b
Added missing Imperial Set Combos (#3151)
* Fixes #3031.
* Added missing Royal Guard Necklace and Imperial Glove.
* Added bSkillDelay bonus which increases delay of skill sk by t milliseconds.
Thanks to @iubantot and @Secret!
2018-05-26 12:50:39 -04:00
Lemongrass3110
ecbab96403 Fixed a possible crash
Follow up to 1e2032c

Thanks to @Everade
2018-05-26 00:22:53 +02:00
Aleos
1d1a179b72
Corrected QD Shot and Crimson Marker interaction (#3131)
* Fixes #2863.
* QD Shot should not remove Crimson Marker.
Thanks to @rye305 and Fyrus!
2018-05-21 10:43:10 -04:00