306 Commits

Author SHA1 Message Date
Aleos
bbb6a9e90c
Fixes Spiderweb SCS_NOMOVECOND (#7953)
* Fixes #7948.
* Removes Spiderweb from the SCS_NOMOVECOND checks.
* Follow up to f28d207.
Thanks to @izecold!
2023-10-04 19:15:11 -04:00
eppc0330
5b2f4e63a7
Fix temp skill not removed (#7939)
Fixes #5382
2023-10-03 16:18:02 +02:00
Lemon
1bc9748755
Fixes crit calculation on pre-renewal (#7938) 2023-09-21 16:04:15 +02:00
eppc0330
a7ea96afa9
Item DB corrections (#7919)
* Implemented status change SC_G_LIFEPOTION 
* Corrected status change SC_ALMIGHTY
2023-09-14 22:49:11 +02:00
Aleos
442cf87fcc
Fixes monster escape AI issues (#7927)
* Fixes #7904 and fixes #7916.
* Resolves NPC_RUN and NPC_RANDOMMOVE monsters not always reaching their intended escape distance.
* Resolves Marine Sphere calling the run skill too early resulting in the distance escaped not always being the same.
* Resolves Wink of Charm not forcing the target to fail skill use on the caster.
* Renames the monster alchemist state to can_escape to fit multiple uses.
Thanks to @Leemonn and @Lemongrass3110!
2023-09-14 12:41:47 -04:00
eppc0330
6fb5120b8c
Fix RG_PLAGIARISM aspd bonus (#7922)
* Fixes #7921.
2023-09-08 10:41:21 -04:00
Atemo
b3ddb4511c
Rebalance dragon knight 20220608 (#7891)
* Vigor
- Changes bonus flat damage from +200% regardless of skill level to scaling with skill level up to +250% based on level 10.
- Increases bonus damage against demihuman and angel race monsters from 50% to 100%.
- Reduces AP consumption from 150 to 125.
- Increases HP consumption on each attack from 2 to 10 based on level 10.

* Dragonic Aura
- Reduces delay after skill from 1 second to 0.5 seconds.
- Increases damage from 9500%/14000%(demihuman and angel race)Atk to 36500%/38000%(demihuman and angel race)Atk based on level 10.

* Madness Crusher
- Removes 0.4 seconds variable casting time.
- Increases fixed casting time from 0.4 seconds to 0.5 seconds.
- Increases damage from 1350%Atk to 5150%Atk based on level 5 (using level 5 weapon and weapon weight is 150). (additional note: 4400% Atk on level 5 without weapon weight)
- Increases SP consumption from 50 to 68 based on level 5.
- Increases AP recovery rate from 2 to 3.
- Increases factor weight of POW in skill formula from 5 to 7.

* Storm Slash
- Reduces cooldown from 0.35 seconds to 0.3 seconds.
- Increases AP recovery rate from 1 to 2.
- Increases damage from 600%Atk to 950%Atk per hit based on level 5.
- Increases the chance to double skill damage while under Giant Growth buff from 15% to 30%.

* Servant Weapon - Demolition
- Reduces cooldown from 3 seconds to 0.5 seconds.
- Reduces AP recovery rate from 3 to 2.
- Increases damage from 750%Atk to 2500%Atk per hit based on level 5.

* Servant Weapon - Phantom
- Removes 0.8 seconds variable casting time.
- Reduces cooldown from 2 seconds to 0.5 seconds.
- Removes 0.8 seconds delay after skill.
- Increases damage from 600%Atk to 1700%Atk per hit based on level 5.

* Servant Weapon
- Increases number of hit from 1 hit to 2 hits.
- Increases damage from 450%Atk to 2500%Atk per hit based on level 5.

* Hack and Slasher
- Changes damage logic from 2 split hits to 2 cumulative hits.
- Increases damage from 3000%Atk to 7300%Atk per hit based on level 10.
- Increases cooldown from 0.3 seconds to 0.7 seconds.
- Reduces delay after skill from 0.5 seconds to 0.25 seconds.
- Increases SP consumption from 70 to 72 based on level 10.
- Increases factor weight of POW in skill formula from 5 to 7.

Thanks to @aleos89 !
2023-08-10 17:56:58 +02:00
Atemo
d4c7614d80
Correction of the critical formula (renewal) (#7865)
* 1 luk = +0.3 critical
* BaseLevel / 10 = +0.1 critical

Fixed #7865
2023-07-30 14:41:16 +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
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
eppc0330
466722b25e
Simplify GC_POISONREACT counter formula (#7795)
* Cleanup of #5805.
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2023-06-02 14:59:40 -04:00
Aleos
fc27b45d9f
Resolves inverted checks for Rebirth Spirit (#7780)
* Fixes #7779.
* Skill should be usable on all 1-1 rebirth classes that are below level 70.
Thanks to @XanKriegor1 and @Lemongrass3110!
2023-05-23 22:50:16 -04:00
Singe Horizontal
8fd3e2d5e2
Fixed a cant.attack bypass (#7753)
Fixed a pointer being always null

Fixes #7743

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-05-16 16:17:28 +02:00
Singe Horizontal
9df8f9f113
Corrects a short-circuit bug in status_change_clear_buffs (#7724)
Fixes #7723
2023-04-19 15:55:44 -07:00
munkrej
e4acd6e5dc
4th Improvement - Arch Mage (#7708) 2023-04-15 22:52:03 +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
22aca36d35
Adds enchantgrade chance per refine (#7608)
Fixes #7607

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-14 23:43:33 +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
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
munkrej
cbb5380527
Adds skill NPC_KILLING_AURA (#7624) 2023-03-14 00:14:41 +01:00
eppc0330
bee2c27d78
Implement NPC_ALL_STAT_DOWN (#7637) 2023-03-13 06:25:02 +01:00
eppc0330
b3881bd1fc
Implement NPC_GRADUAL_GRAVITY (#7635) 2023-03-13 00:25:47 +01:00
Aleos
240f71cbce
Converts Homunculus Database to YAML (#4659)
* Converts the Homunculus Database and Homunculus Skill Tree Database into one YAML flat file.
* General cleanups and optimizations.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110 and @Atemo!
Co-authored-by: Atemo <capucrath@gmail.com>
2023-02-15 14:42:51 -05: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
14cb61d598
Removed mapindex from char-server (#7533)
Converted last_point to mapname
Converted save_point to mapname
Converted memo to mapname
Converted start point to mapname
Removed default map
Converted party member to mapname
Converted maplists to mapname
Removed mapindex loading
Fixed instance loading with multiple map-servers
Fixed castle loading with multiple map-servers
Fixed battleground loading with multiple map-servers
Fixed warping between map-servers

Thanks to @aleos89 for his help!
2023-01-11 16:54:53 +01:00
Aleos
ef4d52fd7b
Adds official Wand of Hermode clear list (#7494)
* Wand of Hermode has a unique status clear list separate from the list other skills use.
* Adds RemoveOnHermode status flag to identify statuses that can be removed from Wand of Hermode.
Thanks to @mrjnumber1 and @Lemongrass3110!
2022-12-20 17:05:27 -05: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
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
eppc0330
7bfae25c74
Fix grade upgrade fail announcement (#7189)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-05 09:55:58 +01:00
Lemongrass3110
eb8587f5b5
Removed the strange ACK function concept (#7404)
Cleans up packet database a little more.
Turned some more packets into structs.

Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
2022-11-17 22:09:12 +01:00
Atemo
53d5fc609a
Updated damagetaken (#7372)
Save damagetaken in mob_data for mob controller
2022-10-22 12:57:46 +02:00
Aleos
8073d4e084
Adds EndOnEnd node to status database (#7313)
* Any status defined under EndOnEnd will be removed when the status becomes inactive.
* Renames End to EndOnStart.
* Removes some hard coded statuses.
* Includes YamlUpgrade Tool update to rename End -> EndOnStart.
Thanks to @Lemongrass3110!
2022-10-20 10:04:00 -04:00
Atemo
bbc516a4d5
Deprecated itemdb_exists (#7353)
Deprecated itemdb_exists to use item_db.exists() or item_db.find() instead

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-13 16:39:40 +02:00
Aleos
fba0f4ee70
Fixes SA_DRAGONOLOGY MATK behavior (#7328)
* The MATK bonus should only be doubled versus Dragons, not quadrupled like the other bonuses.
* Confirmed the behaviors between pre-renewal and renewal.
Thanks to @mrjnumber1!
2022-10-13 08:26:42 -04:00
Aleos
7f82194eca
Adds SC_WEAPONBREAKER status (#7265)
* Fixes #6915.
* Adds the SC_WEAPONBREAKER status which is applied via NPC_WEAPONBRAKER's self cast ability.
* Adds a chance to break a target's weapon at 2 * skill_lv% for 30 seconds.
Thanks to @Playtester!
2022-10-12 16:53:49 -04:00
Jittapan Pluemsumran
19fe27932f
Implemented refine result broadcast packet (#7301) 2022-10-04 15:27:25 +07:00
Aleos
c2e19bcf06
Fixes to Lullaby, Pang Voice, and Wink of Charm (#7264)
* Fixes #6916.
* Corrects the interval of Lullaby to every 4 seconds in pre-renewal.
* Corrects the success chance of Lullaby to INT * 0.2 + rand(10%, 30%) for Sleep.
* Corrects the duration of Lullaby's Sleep to 18 + 2 seconds in renewal and 30 seconds in pre-renewal.
* Corrects the success chance of Pang Voice to 70% for Confusion.
* Corrects the success chance of Wink of Charm versus players to 10% for Confusion.
* Corrects the success chance of Wink of Charm versus monsters to [(srcBaseLevel - tarBaseLevel) + 40]% for Charm.
Thanks to @Playtester and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-09-22 13:25:30 -04:00
Aleos
f8cd4aa8c7
Implements petautobonus script commands (#7053)
* Fixes #7038.
* Implements script commands: petautobonus, petautobonus2, and petautobonus3.
* This allows pets to utilize the same autobonus features that players can use without having to check for the equipped item position.
Thanks to @EditorFc's suggestion and @Lemongrass3110!
2022-09-16 12:46:53 -04:00
idk-whoami
58a7f36c92
Corrected script for some item #10 (#7177)
* Corrected script for some item #10
* add some items JRO costume

Thanks to @Atemo
2022-09-12 14:29:08 +02:00
Aleos
a38b65da49
Fixes Lif - Brain Surgery SP bonus (#7257)
* Fixes #7221.
* Corrects the SP bonus of Lif's Brain Surgery to be skill_lv%.
Thanks to @Daraen1!
2022-09-09 12:11:19 -04:00
Aleos
4a43856271
Adjusts Enchanting Shadow behavior (#7124)
* Fixes #7104.
* Implements Shadow Scar as a timer on units.
* Implements the official packet for Shadow Scar counter.
* Enchanting Shadow can now be triggered by skills as well as melee.
* Removes the hit count limit.
* Adjusts the damage rate of Shadow Wounds to increase by 3%.
* Adjusts the duration of Shadow Scar from 30 seconds to 15.
Thanks to @eppc0330 and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-09-06 17:05:19 -04:00
Lemongrass3110
5f4fd5c98b
Fixed some more SC_STONEWAIT issues (#7212)
Fixed PR_STRECOVERY not clearing SC_STONEWAIT
Fixed that ending SC_STONEWAIT manually still triggered SC_STONE

Thanks to @Singe-Horizontal and @aleos89
2022-08-28 17:02:37 +02:00
Lemongrass3110
b1b371f4b8
Cleaned up status_change_end (#7211)
* Removed leftover old debug info that made it necessary to the hide the real function behind a define.
* Introduced a C++ default argument for timer id, as the timer id is only needed a single time, when the status expires naturally.
* Replaced all currently existing calls that had INVALID_TIMER as argument and made use of the new default argument.
2022-08-26 22:23:40 -04:00
Singe Horizontal
846dfd9bb4
Fixes after song visual effect bug (#7190)
* Fixes #7163.
* Resolves an issue where the Moonlight effect would be displayed when ending a dance/song.
2022-08-17 12:17:13 -04:00