460 Commits

Author SHA1 Message Date
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
Aleos
53d70b3e24
Corrected skills that lose mob targets (#3120)
* Fixes #2163, fixes #2720, and fixes #2761.
* Feint Bomb now closer mimics official behavior.
* Monsters now properly target the clone and refrain from attacking the Shadow Chaser.
* Shadow Chasers are now able to cast skills while in Feint Bomb hiding state.
* Removed extra skill cast value that wasn't used.
* Removed extra mob target release function as one already existed.
* Corrected Zanzou and Genwaku target release behavior as well.
Thanks to @ilovelemon, @redlightliu, and @MrAntares!
2018-05-17 15:58:55 -04:00
Aleos
14f6ce4c20
Fixed UF_RANGEDSINGLEUNIT skill interactions (#3098)
* Fixes #2969.
* Resolves unit skills that use UF_RANGEDSINGLEUNIT not being properly removed by other skills that clear unit types.
Thanks to @admkakaroto and @exneval!
2018-05-08 12:38:26 -04:00
Aleos
7f8b9c43c5
Corrected Demonic Fire and FE Acid behavior (#3088)
* Fixes #1086, fixes #2799, and fixes #3049.
* Fire Expansion Level 1 now lasts 10 seconds longer with stacked with Demonic Fire.
* Fire Expansion Tear Gas will no longer damage players on non-PvP type maps.
* Fire Expansion Acid is now misc type instead of magic.
* Corrected a possible map crash with Demonic Fire and Fire Expansion interactions.
* Demonic Fire can only have one instance on the ground at a time.
* Miscellaneous cleanups.
Thanks to @jamon18, @uddevil, and @LolyAll!
2018-05-03 12:11:03 -04:00
Lemongrass3110
d13d6a6e19
Changed SI_ enum to the official EFST_ enum (#2995) 2018-04-20 18:24:20 +02:00
Atemo
5a0b72a7d1
Initiale release of Instance isle bios (#3041)
Initial release of isle of Bios instance

* Implemented NPC_COMET
* Adjusted skillratio for NPC_COMET. Thanks to @secretdataz !
* Fixed typo, thanks to @Lemongrass3110 and @zackdreaver !
- Replaced Morroc -> Morocc and Reaper Yanku -> Grim Reaper Ankou
* Fixed typo in mob_db.txt, thanks to @talesofragnarok 

Thanks to https://www.divine-pride.net/ for a lot of information !
2018-04-16 16:54:53 +02:00
Aleos
e509930a67
Updated Shadow Chaser skills (#3014)
* Fixes #2972.
* Updated Auto Shadow Spell:
-- Will now trigger even on ranged physical attacks.
-- Increased spell cast level to 3/3/4/4/5/5/6/6/7/7.
* Updated Reproduce:
-- SP penalty for casting spells is now 30% extra.
Thanks to @zackdreaver!
2018-04-05 14:42:25 -04:00
Chisee
794f497914 Corrects Spirit/Charm absorption behaviour on Ninja Spirit Charm (#2980)
* Fixes #2087.
* The conditional was missing a check on Kagero/Oboro's Spirit Charm, therefore not removing the charms nor applying SP regeneration on caster.
Thanks to @Chisee!
2018-03-16 12:50:19 -04:00
Lemongrass3110
5c9d7a41a9
Added support for the second summer costume (#2942)
Fixed other costumes being able to be removed by Dispell

Fixes #2788

Thanks to @admkakaroto
2018-03-08 00:41:52 +01:00
Daegaladh
5f34efdf7a Fixed no reiteration unit skills fail message back to USESKILL_FAIL_LEVEL. 2018-03-01 19:49:26 +01:00
Aleos
5e354494b2
Corrected Disarm and Steal Coin formulas (#2890)
* Fixes #2889.
* Updated Disarm's strip chance.
* Updated Steal Coin's steal chance.
* Updated Steal Coin's zeny amount.
Thanks to @mrjnumber1and @Lemongrass3110!
2018-02-22 16:58:06 -05:00
Daegaladh
1e2032cc21 Fixed Endow skills to match official behavior. (#2918)
* Endows are now interchangeable.
* No longer break the weapon on failure and now unequips instead.
Thanks to @Daegaladh!
2018-02-22 16:23:11 -05:00
Lemongrass3110
3c41d4eeb0 Fixed item creation with full inventory (#2914)
* Fixes #2858.
* Prevented items from being created if adding them to the inventory failed for whatever reason.
* Introduced a new config that allows to keep the old behavior.
Thanks to @Artuvazro and @Daegaladh!
2018-02-21 19:42:49 -05:00
Atemo
6e0187bc2b
* Initial release of dimensional travel quest (access to flame bassin) (#2775)
* * Initial release of dimensional travel quest (access to flame bassin)

* Include misc npcs related to ep14.3

* Implementation of NPC_DEATHSUMMON - summon monsters at the location of master grave.

Thanks @ecdarreola, @rye305 for testing
Thanks to https://www.divine-pride.net/ !
2018-02-20 23:11:56 +01:00
Aleos
0e23f3fec0
Updated Tiger Fist stop duration (#2917)
* Updated Tiger Fist stop duration
* Fixes #2893.
* Updated the stop duration to match official values.
Thanks to @mrjnumber1!
2018-02-20 16:56:26 -05:00
Aleos
02983c4f63
Fixed Mystical Amplification and Chain Lightning (#2907)
* Fixes #2897.
* Mystical Amplification should only boost the damage for the first Chain Lightning attack.
Thanks to @admkakaroto!
2018-02-16 09:43:49 -05:00
Aleos
a40b1da4d0
Updated Cultivation plant spawn formula (#2910)
* Fixes #2892.
* Corrected level 2 Cultivation formula for spawning plants.
Thanks to @mrjnumber1!
2018-02-15 21:49:12 -05:00
Daegaladh
2ecb30abb2 Fixed AL_HOLYWATER behavior (#2860)
* Fixes #2853.
* Holy Water should not cast or consume SP when the player has no empty bottles, both in water (and water skills) and outside water.
Thanks to @Daegaladh!
2018-02-15 19:00:11 -05:00
flamefury
8258df6473 Chance to craft 2 runes starts at RuneMasteryLv5, not 6 2018-02-07 17:26:27 -08:00
flamefury
82035609d4 Correct the party member ATK bonus of RK_FIGHTINGSPIRIT (#2877)
Fixes #2876
2018-02-07 22:32:00 +01:00
Daegaladh
de9b4efd1a Fixed required weapon messages. (#2808)
Fixes #2804 

Thanks to @Daegaladh
2018-01-27 00:26:51 +01:00
Aleos
2e90136dc3
Corrected Reverberation behavior (#2758)
* Fixes #2757.
* Reverberation will no longer trigger the cast animation on the caster when a target walks into it.
Thanks to @MrAntares!
2018-01-12 10:45:52 -05:00
Technoken
15b6d5cc83 Corrected Cannibalize behavior (#2769)
* Fixes #2768.
* Fixes Cannibalize level 5 spawning multiple Geographer due to a typo.
Thanks to @technoken!
2018-01-04 10:38:28 -05:00
Lemongrass3110
fb966a12e0
Turned pet db into a dynamic map (#2727)
Thanks to @Jeybla, @lighta and @aleos89
2018-01-01 22:57:47 +01:00
lighta
716f6c0f29 Duel allocation (#2734)
* Duels are now dynamically created and no longer statically consumes memory.
* Removed max number of duel at once.
* Updated duel modules for multi-thread and safer management.
* Remove various statically allocated tab.
* Removed duplicate code for npc_movenpc.
* Fix few warnings.
Thanks for suggestions from @anacondaqq.
2017-12-27 19:39:45 -05:00
Aleos
ae69e50626 Cleaned up renewal ASPD calculations (#2244)
* Cleaned up renewal ASPD calculations
* Fixes #2067 and fixes #2224.
* Adjusted the ASPD table to match Aegis values.
* Angra Manyu now disregards base ASPD values (Pre-Renewal only).

* Relocated Angra Manyu check
* Moved Angra Manyu check to the front to avoid useless calculations.
Thanks to @Lemongrass3110!

* Corrected double weapon calculations
* Resolved wearing two weapons causing ASPD to drop significantly.
* Corrected some typos in the Assassin class ASPD table.
* Added a missing Shadow Arms equipment check.
Thanks to @Lilori!

* Removed some unneeded defines

* Removed the single handed and double handed weapon max defines.
Thanks to @Jeybla!

* Renamed constants to keep legacy values

* Update status.cpp
2017-12-23 16:00:54 -05:00
lighta
5ad35eb66b
Fix #2694 (#2732)
* Fix #2694

Move down skill_unit_move(bl,gettick(),4) of unit_remove_map_ to avoid conflict with duel changing realm.
The issue was that skill_unit_onleft was called before the duel_leave handling which was reapplying skill_unit_onplace causing an infinite status duration.
Other skill might had same issue.

* Small optimisation.
Avoid calling status_change_end when we have no status set yet (or no status_change holder).
Move down overrecurent call to status_change_end SC_ROLLINGCUTTER.
2017-12-22 14:29:44 -05:00
aleos89
1ae1e312da Minor cleanups
* Resolved some miscellaneous typos.
2017-12-19 14:42:15 -05:00
Aleos
947875d27b
Corrected Chain Lightning behavior (#2683)
* Fixes #2674 and fixes #2678.
* Chain Lightning will no longer bounce across Ice Wall.
* Chain Lightning damage should slowly decrease based on the number of bounces remaining.
* Removed the splash effect which was causing the damage to iterate faster on the first two hits.
* Removed the skill unit defines.
Thanks to @Sweet520!
2017-12-15 10:09:23 -05:00
Aleos
0f33de9b4d
Updated Sorcerer Insignia Skills (#2645)
* Updated Sorcerer Insignia Skills
* Fixes #2630.
* Added missing Elemental 20% damage bonus for level 1 Insignia.
* Adjusted the recovery bonus to only apply to Elementals.
* Adjusted 25% magic damage bonus calculation.
* Added the missing ASPD bonus for Wind Insignia.
* Insignias should not affect status immune.
* Removed the BATK addition.
* Miscellaneous cleanups.
Thanks to @admkakaroto and @exneval!
2017-12-12 18:33:08 -05:00