337 Commits

Author SHA1 Message Date
Atemo
953ec517d4
Follow-up 8d49496177 (#7867)
Corrected a mistake for Eternal Slash
- The total factor weight of POW with Shadow Exceed should be 3.
2023-07-30 01:07:33 +02:00
Atemo
8d49496177
Rebalance shadow cross 20220608 (#7858)
* Savage Impact
- Increases SP consumption from 55 to 72 based on level 10.
- Increases area of effect from 3 x 3 cells to 5 x 5 cells.
- Increases damage from 600%/1000%(Shadow Exceed)Atk to 900%/1100%(Shadow Exceed)Atk per hit based on level 10.

* Eternal Slash
- Reduces cooldown from 0.75 seconds to 0.5 seconds.
- Reduces damage from 1750%/2500%(Shadow Exceed)Atk to 1325%/1825%(Shadow Exceed)Atk per hit based on level 5.
- Increases SP consumption from 40 to 60 based on level 5.
- Increases cast range from 2 cells to 3 cells.
- Reduces factor weight of POW in skill formula from 5/7(Shadow Exceed) to 2/3(Shadow Exceed).

* Impact Crater
- Reduces cooldown from 5 seconds to 1.5 seconds.
- Removes delay after skill.
- Increases SP consumption from 54 to 78 based on level 5.
- Reduces AP recovery rate from 5 to 3.
- Increases damage from 325%Atk to 400%Atk per hit based on level 5.

* Shadow Stab
- Reduces SP consumption from 65 to 60 based on level 5.
- Increases AP recovery rate from 1 to 2.
- Reduces cooldown from 1 seconds to 0.35 seconds.
- Removes 0.5 seconds delay after skill.
- Reduces damage from 3750%Atk to 1500%Atk per hit based on level 5.

* Potent Venom
- Increases duration from 120 seconds to 300 seconds based on level 10.
- Reduces physical resistance ignoring from 30% to 20% based on level 10.

* Fatal Shadow Claw
- Reduces fixed casting time from 1.5 seconds to 0.5 seconds.
- Reduces variable casting time from 4 seconds to 0.5 seconds.
- Removes 0.5 seconds delay after skill.
- Increases damage from 6500%/9500%(demihuman and dragon race)Atk to 13000%/14500%(demihuman and dragon race)Atk based on level 10.

* Shadow Exceed
- Removes 1 second delay after skill.
- Reduces AP consumption from 150 to 125 based on level 10.
- Increases duration from 240 seconds to 300 seconds based on level 10.

* Added POW ratio for SHC_SAVAGE_IMPACT with SC_SHADOW_EXCEED
2023-07-28 16:18:06 +02:00
eppc0330
c979ed7472
NPC_MAGICMIRROR damage type (#7480)
* The damage type reflected by NPC_MAGICMIRROR is now special melee weapon damage.
* Skill damage reflected by NPC_MAGICMIRROR is now able to trigger autospell.
* Kyomu will block NPC_MAGICMIRROR reflecting ability.
* Calculation of reducing reflect damage now additive, not multiplicative.
2023-07-10 09:51:32 -04:00
eppc0330
511c337ee3
Fix multi-hit skills priority (#7829) 2023-07-09 16:26:29 -07:00
Vincent Stumpf
833966f47b
Convert guild_db to unordered_map (#7612)
* Refactor guild db to STL container

* Split up struct guild and MapGuild/CharGuild
2023-06-16 19:42:55 -07:00
Vincent Stumpf
08a1c41d1b
Refactor MapFlag accessors (#7783)
Use methods instead of direct member access.
2023-06-03 17:38:29 -07:00
Singe Horizontal
9051fc644d
Corrected NPC_DARKBREATH formula (#7285)
* Corrected NPC_DARKBREATH formula
Fixes #7284

* Update src/map/battle.cpp

Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>

* Update src/map/battle.cpp

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

* Added renewal logic

* now uses only one formula for both modes

---------

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>
2023-04-20 10:13:37 +02:00
munkrej
635add84d7
4th Improvement - Troubadour & Trouvere (#7703) 2023-04-16 00:38:19 +02:00
munkrej
5385584f6f
4th Improvement - Wind Hawk (#7704) 2023-04-15 23:37:19 +02:00
munkrej
16195cea2a
4th Improvement - Inquisitor (#7705) 2023-04-15 23:36:30 +02:00
munkrej
a818232e77
4th Improvement - Cardinal (#7706) 2023-04-15 23:16:26 +02:00
munkrej
741dfe37ae
4th Improvement - Elemental Master (#7707) 2023-04-15 22:52:20 +02:00
munkrej
e4acd6e5dc
4th Improvement - Arch Mage (#7708) 2023-04-15 22:52:03 +02:00
munkrej
452238b523
4th Improvement - Abyss Chaser (#7709) 2023-04-15 18:45:51 +02:00
munkrej
6c8b29e91b
4th Improvement - Shadow Cross (#7710) 2023-04-15 17:46:18 +02:00
munkrej
287501d665
4th Improvement - Biolo (#7711) 2023-04-15 17:43:30 +02:00
munkrej
e1e19a6d06
4th Improvement - Meister (#7712) 2023-04-15 17:31:19 +02:00
munkrej
382d6bf54a
4th Improvement - Imperial Guard (#7713) 2023-04-15 16:53:39 +02:00
munkrej
e40c3edc31
4th Improvement - Dragon Knight (#7714) 2023-04-15 16:04:59 +02:00
eppc0330
8a4b34ef6a
Fix NPC_DAMAGE_HEAL heal calculation (#7660)
Fix NPC_DAMAGE_HEAL heal amount not being applied from some SC bonuses
2023-04-08 15:42:09 +02:00
Atemo
b7807db42f
Implemented NPC_GROUNDDRIVE (#7677) 2023-04-07 14:56:08 +02:00
Atemo
d031afe364
Implemented the skill NPC_RAINOFMETEOR (#7675) 2023-04-02 21:30:08 +02:00
Atemo
81b62348b7
Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF (#7614)
* Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF as part of episode 17.2

Thanks to @aleos89 !
2023-03-31 19:52:35 +02:00
Lemongrass3110
49ba072f3a
Added returning to instances (#7622)
Fixes #5226

Thanks to @Forte22, @attackjom and @OptimusM

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-03-23 15:49:39 +01:00
Jittapan Pluemsumran
b4f740ce18
Added a config for banking state check (#7646)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-16 20:24:13 +07:00
eppc0330
067c21b647
Implement NPC_DAMAGE_HEAL and NPC_IMMUNE_PROPERTY (#7638)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-15 21:36:47 +01:00
Vincent Stumpf
7dd6eb5182
Add other player in mail transactions (#7568)
* Add other player's char_id in mail transactions

Thanks to @tokeiburu

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 02:30:23 -07:00
munkrej
cbb5380527
Adds skill NPC_KILLING_AURA (#7624) 2023-03-14 00:14:41 +01:00
Vincent Stumpf
8f4a1d2932
Remove relative includes for 3rdparty imports (#7609)
This also changes the imports for config, custom to use the src include path
2023-03-07 16:21:28 -08:00
Atemo
08d3467faa
Updated item names and fix an issue with ignore_res_by_race / ignore_mres_by_race (#7613) 2023-02-16 22:41:15 +01:00
Atemo
b2ceb30e30
Added missing items equipment up to 02/10/2023 (#7606)
* Added missing items equipment up to 02/10/2023
* Implemented the item bonuses bIgnoreResRaceRate and bIgnoreMResRaceRate

Thanks to @attackjom for the review!
2023-02-15 16:15:11 +01:00
munkrej
c6c9babb5e
Homunculus updates as of 20220602 (#7586)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-02-12 23:55:13 +01:00
Vincent Stumpf
e235c9cab4
Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Vincent Stumpf
6938722f02
Replace the bitshift optimizations for multiplication (#7590)
* These were originally bitshifts because it was 'faster', but now with modern compilers and hardware, the only thing it does now is confuse developers who have to read the code
2023-02-08 16:00:11 -08:00
Lemongrass3110
f261307bbe
Added script command mesitemlink (#7565)
Adds a new script command for itemlink generation for usage inside NPC dialogs (mes "").
A few cleanups related to the normal itemlink feature.

Thanks to @Atemo and @aleos89 for their help!

Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-07 10:47:36 +01:00
Atemo
39559c125b
Implemented missing skills (#7552)
* Implemented NPC_BLEEDING2
  Copy from NPC_BLEEDING for now except
  * element always Neutral
  * differents rates

* Implemented NPC_HELLJUDGEMENT2
  Copy from NPC_HELLJUDGEMENT except
  * element neutral
  * skills inflicts a random status effect

* Implemented NPC_WIDEFREEZE2
  Copy from NPC_WIDEFREEZE

* Implemented NPC_ICEBREATH2
  Copy from NPC_ICEBREATH except
  * Chance 100% instead of 70%
  * Splash area 4 instead of 3

* Implemented NPC_WIDEBLEEDING2
  Copy from NPC_WIDEBLEEDING

* Implemented NPC_WIDECONFUSE2
  Copy from NPC_WIDECONFUSE

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESTUN2
  Copy from NPC_WIDESTUN

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESLEEP2
  Copy from NPC_WIDESLEEP

* Implemented NPC_WIDECURSE2
  Copy from NPC_WIDECURSE

* Implemented NPC_WIDESTONE2
  Copy from NPC_WIDESTONE

Thanks to @OptimusM, @Lemongrass3110, @aleos89 !
2023-01-24 15:06:38 +01:00
Balfear
817b86d5e1
Roulette: Bonus item reward (#7427)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-12-19 00:14:38 +01:00
Lemongrass3110
d1e184e46c
Initial version of cashmall (#7450)
Introduces the cashmall
Added Cachua_Coupon exchange NPC
Enabled Devil Enchant Master and moved to Cash Mall
Moved Mergician
Added Basta, Mighty Hammer and Brock
Moved Shadow Blacksmith
Added Cash Hair Stylist
Added a feature switch for Stylist UI
Updated Hair Stylist

Thanks to @aleos89, @Atemo and @eppc0330!

Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2022-12-18 00:39:50 +01:00
Lemongrass3110
ae686056a0
Added CodeQL analysis (#7208)
Adds CodeQL analysis because LGTM was disabled and removed.
2022-12-16 22:34:59 +01:00
Singe Horizontal
8eac71f57f
Cleaned struct tokens for map_session_data and status_change (#7490)
Fixes #7492
2022-12-16 19:16:29 +01:00
Aleos
da375a04c1
Adds battle config mob_respawn_time (#7312)
* Adjusts the minimum respawn time of a monster to be 1 second as it is officially.
* Adds a battle config to allow for easy adjustment.
* Monsters that don't define a delay1 for permanent spawn scripts are defaulted to 5 seconds.
Thanks to @mrjnumber1, @vstumpf, @Lemongrass3110, and @Atemo!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-14 14:17:41 -05:00
Vincent Stumpf
1f4c068c39
Refactor status change entries (#7356)
* Make map_session_data a class, call constructor/destructor on alloc/free

* add getSCE

* add create, delete, clear SCE

* Use getSCE, make data access private

* add a cache for last-fetched status
2022-12-13 23:47:53 -08:00
Aleos
ee2dcf816e
New macro detection features (#7359)
* Adds battle config macro_detection_punishment to ban or jail characters.
* Adds battle config macro_detection_punishment_time to adjust the duration of ban/jail for players who fail the captcha challenges.
* Adds script command macro_detector which invokes the captcha challenge.
* General cleanups to the jail functions to remove duplicate code.
* General cleanups to the macro punishment calls to remove duplicate code.
* Ending SC_JAILED will now properly remove the jail status rather than trying to reset the timer to 1 second resolving any possibility of players getting stuck.
Thanks to @Lemongrass3110!
2022-12-13 15:44:42 -05:00
SapitoSucio
55d3c1578c
Itemlink command and integration (#7291)
Co-authored-by: Akkarinage <mike.langford@industrial-illusions.net>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: cydh<cydh@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: secretdataz<secretdataz@users.noreply.github.com>
2022-11-11 18:04:41 +01:00
Lemongrass3110
a763ad0629
Implemented dynamic NPCs (#7402)
This is required for features like #6640
Added COLOR_LIGHT_YELLOW
Cleaned up color definitions, its useless to store them as string first.
Dynamic NPCs will stay when you switch map and come back in time.
Dynamic NPCs will be removed instantly when you log out.
You can only create one dynamic NPC at a time.

Thanks to @Atemo!
2022-11-07 00:41:10 +01:00
eppc0330
2896ae21b0
Fix NPC_MAXPAIN skill mechanism (#5820)
* Max Pain will deal reflect damage to all characters on screen.
* Caster of Max Pain will get damaged.
* Max Pain will reflect both weapon and magic damage.
* Max Pain damages as special physical melee attack. PR_KYRIE, MG_SAFETYWALL, etc. can block the damage.
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
2022-10-31 13:54:53 -04:00
Atemo
53d5fc609a
Updated damagetaken (#7372)
Save damagetaken in mob_data for mob controller
2022-10-22 12:57:46 +02:00
Aleos
d7bf5ebb58
Adds support for macro detection (#7315)
* Adds the official client macro detection system.
* Includes the ability to load imagery at server boot.
* See doc/captcha_db.txt for more information!
Thanks to @Asheraf and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-14 10:54:19 -04:00
Vincent Stumpf
47c9a36215
Refactor generator to support future features (#7214)
Co-authored-by: Akkarinage <mike.langford@industrial-illusions.net>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-09-25 00:37:21 -07:00
Aleos
701d2c88c6
Fixes Skill Damage Database reflecting damage (#7258)
* Fixes #7248.
* Resolves an issue where skills defined in the Skill Damage Database would always reflect at least 1 damage even when no reflective gear or skills are active.
Thanks to @dev1-juan!
2022-09-22 12:38:14 -04:00