341 Commits

Author SHA1 Message Date
Playtester
566ac2078d
Guillotine Fist SP Recovery Prevention Cleanup (#8443)
- Unified code for SC_EXTREMITYFIST
  * It stops natural SP recovery for 300s in pre-re
  * It stops natural SP recovery and recovery from items for 3s and shows icon in renewal
- Removed SC_EXTREMITYFIST2 as it's no longer needed
- Fixed an issue that caused a natural SP regen tick to happen right after using Guillotine Fist
- Fixes #8377
2024-06-19 07:53:30 +02:00
Daegaladh
0d3550e7ea
Fixed clif_move to use the correct movement packets (#8405)
* Removed unused ZC_NOTIFY_MOVE (0x86) packet
---------

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-06-11 00:03:43 +02:00
Vincent Stumpf
92722db3ab
Fix dynamic npc timer mismatch (#8265)
* Fix dynamic npc timer mismatch

Fixes #8241
This adds some missing placement news that I'm surprised hasn't blown up yet.
2024-06-10 21:11:19 +02:00
Lemongrass3110
48b4623f3e
Fixed all warnings in MSVS (#8391)
Fixes #2859
Fixes #3570
Fixes #8389
2024-06-04 03:07:16 +02:00
Atemo
361530a1b6
Converted some packets to structs (#8351) 2024-05-21 21:28:01 +02:00
Atemo
d1cf6f4ac7
Converted some packets to structs (#8332) 2024-05-20 21:13:59 +02:00
Jittapan Pluemsumran
d445497870
Converted a bunch of packets to structs (#8295)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-09 23:06:32 +02:00
Aleos
8546f9f089
Resolves a potential crash from Howling Mine (#8147)
* Fixes #8146.
* Minor cleanups to ensure the Howling Mine status is active before accessing.
Thanks to @LadyNanuia!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-06 19:15:37 -04:00
Lemongrass3110
b48948822a
Replaced NULL with nullptr (#8298) 2024-05-03 19:38:13 +02:00
Playtester
cad5cab976
Coma Rework, Exp Calc Type, Fiber Lock Range (#8287)
- Coma item bonus is no longer an additional effect / status change, but instead replaces the attack damage with setting HP/SP to 1
  * That means Coma attacks will never kill someone, even if the original attack would be lethal
  * When doing a Coma attack, the attack displays the original damage and this is also what counts towards the mob damage log
- Coma is checked for every single event that applies damage, including reflect damage, and for Provoke / Self Provoke
  * Some Renewal-only effects couldn't be tested and were left unchanged (e.g. damage from White Imprison)
- Coma now sets SP to 1 instead of 0
- bComaRace, bWeaponComaRace and bWeaponComaEle won't work on bosses, GVG and battlefield objects
- bComaClass and bWeaponComaClass no longer work on GVG and battlefield objects, but can work on bosses if you specify Class_Boss or Class_All
- Edge is now defined to only work on normal monster
- The default exp_calc_type 0 no longer counts the first attacker twice and instead works like on official servers
- Added a new exp_calc_type 2 that counts the first attacker twice as previously
- The damage logged will now include overkill damage on exp_calc_type 0 and 2, but not count Coma damage (it will count the damage you would have originally dealt instead)
- Fiber Lock now has a range of 9 instead of 7
- Fixes #8279
2024-05-01 08:58:51 +02:00
Playtester
3cbdcf999f
Ankle Snare Status Rework (#8263)
- SC_ANKLE no longer has a natural resistance and minimum duration
- Glacier Fist, Clashing Spiral and Tarot Card of Fate now grant SC_ANKLE instead of SC_STOP (cannot teleport while under SC_ANKLE effect)
- Grand Cross now gives SC_ANKLE to self during the spell duration
- Ankle Snare now has a minimum duration of 3000+30*baselevel milliseconds
- Ankle Snare will no longer activate on bosses in renewal
- Fixed Ankle Snare stopping bosses in pre-renewal even if you didn't enable the config setting for it
- Glacier Fist now has a minimum duration of 1500+15*baselevel milliseconds rather than it being the maximum duration
- You can now define Glacier Fist's effective base duration in the YML file without worrying about it being halved in the source code (it is still getting reduced by Agi)
- Fixed some integer overflow issues
- Fixes #8253
2024-04-20 15:41:24 +02:00
Playtester
25b98c87db
NPC_INVINCIBLE and Spell Breaker (#8255)
- NPC_INVINCIBLE now grants SC_INVINCIBLE for 300s instead of unlimited
- NPC_INVINCIBLEOFF and MER_INVINCIBLEOFF2 now just end SC_INVINCIBLE instead of having their own status change
- SC_INVINCIBLE now works like plant mode instead of just setting incoming damage to 1
- SC_INVINCIBLE now increases ATKpercent by 100 instead of increasing all damage by 75%
- SC_INVINCIBLE no longer blocks skills
- SC_INVINCIBLE now increases movement speed by 50% instead of 75%
- SC_INVINCIBLE now increases ASPD strongly
- Quagmire can no longer prevent ASPD increase (it still ends various status changes and prevents them)
- If you counter Spell Breaker with Magic Rod you now receive 20% of the caster's MaxSP
- Spell Breaker will now only deal HP damage on level 5
- Spell Breaker now can deal damage to bosses to 10% in pre-re (cannot be reduced by SC_INVINCIBLE unless you enable the "invincible_nodamage" setting)
- Spell Breaker will no longer deal damage if it would be lethal
- Added missing animation of Spell Breaker's damage
- Fixes #8228
2024-04-17 16:28:04 +02:00
Atemo
5df7de2b15
Added missing sd check for clif_skill_fail (#7963)
Fixes #8239 

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-04-15 22:38:46 +02:00
Playtester
82c37ce32d
NPC_POWERUP, NPC_AGIUP (vs. Quagmire) and Dispel (#8243)
- NPC_POWERUP and NPC_AGIUP now grant their own unique status changes
- Duration of NPC_POWERUP is now 5s*level
- Duration of NPC_AGIUP is now 10s*level and max level is back to 10
- Quagmire, Slow Grace and Adoramus now work even when the target used NPC_AGIUP
- NPC_AGIUP will remove Decrease Agi on start but will not prevent it
- NPC_AGIUP can be dispelled, but NPC_POWERUP cannot
- Dispel will now make a monster unlock its target
- Removed custom code to display the NPC_POWERUP effect, it's now correctly linked to EFST_POWERUP
- Removed the ifdef around EXTREMITYFIST2, so we no longer constantly change its ID
- Fixes #8242 
- Fixes #904 
- Fixes #7346
2024-04-10 18:34:49 +02:00
Atemo
c70bc39751
Implemented SC_PERIOD_RECEIVEITEM_2ND and SC_PERIOD_PLUSEXP_2ND (#8197) 2024-04-10 14:01:12 +02:00
Playtester
03f07ab8c7
Various NPC skill fixes (#8233)
- Fixed the damage type of various NPC skills
- NPC_*BREATH skills and NPC_VAMPIRE_GIFT will now no longer be influenced by ATKpercent
- Fixed NPC_CRITICALSLASH not working in pre-re
- NPC_KEEPING now lasts 30s
- NPC_BARRIER now lasts 15s
- NPC_DEFENDER now lasts 15s, reduces damage by 87.5% and halves movement speed
- Fixes #3538
2024-04-08 20:24:32 +02:00
Atemo
100b590094
Corrected SC_HELPANGEL (#8220)
Heal amount of SC_HELPANGEL (NV_HELPANGEL skill) is now not displayed.
2024-04-08 13:30:28 +02:00
Lemongrass3110
cb42dceb87
Switched most C headers to C++ (#8225) 2024-04-07 22:14:51 +02:00
Playtester
b0902a4142
Volcano and Min Damage (#8213)
- Volcano now increases BaseATK instead of WeaponATK for non-monsters
- Fixed a bug that caused Volcano to increase MATK in pre-re (fixes #8208)
- Fixed min damage not being set correctly
- Fixed a compiler warning
2024-04-01 18:35:44 +02:00
Playtester
4247bc50c5
ATKpercent, Base Damage, Occult Impaction, Freezing Trap, Acid Terror, Paladin skills (#8210)
- A handful of skills grant status changes that actually are calculated together into a value "ATKpercent" rather than increasing BATK/WATK, this value is then applied to most weapon skills
  * Pre-re - Damage after skill ratio but before DEF reduction is multiplied with ATKpercent
  * Renewal - Is a linear addition to skill ratio instead (ATKpercent of 200 means +100% to any skill ratio, so 100% becomes 200%, but 500% only becomes 600%)
  * For further information which status changes go into ATKpercent and which skills are not influenced by it, please see the battle_get_atkpercent function
- Fixed base damage not being calculated correctly for certain skills
- MO_INVESTIGATE is no longer influenced by Spirit Spheres except when you have the WATK_ELEMENT effect (Magnum Break)
- Freezing trap now deals 100% damage on all levels and can miss
- Acid Terror now ignores DEF, but its base attack is reduced by VIT
- Acid Terror skill ratio is now 50%+50%*level
- Acid Terror and Martyr's Reckoning (PA_SACRIFICE) are no longer affected by refine and mastery bonus
- Magnum Break/EDP bonus no longer affects Acid Terror and unit skills
- Fixed damage formula of Shield Boomerang and Rapid Smiting
- Code improvements
- Fixes #8193
2024-04-01 15:15:41 +02:00
Playtester
861832ec27
Enchant Deadly Poison / Magnum Break Damage Bonus and Durations (#8191)
- Added missing EDP 25% poison damage bonus (it was already fixed in renewal but applies to pre-re too), that works identical to the 20% fire damage bonus from Magnum Break; both buffs overwrite each other
- The damage on which EDP/Magnum Break is based on now considers defense reduction, passive mastery, refine and true sight
- The EDP/Magnum Break damage bonus now considers spirit sphere damage, but the spirit sphere part is non-elemental; both are added together before they get rounded down
- The EDP/Magnum Break damage bonus can now become negative through attribute table and is dispelled on logout
- The EDP/Magnum Break damage bonus no longer applies when damage is already 0 or lower beforehand
- EDP is now applied after defense, refine and mastery
- Refine bonus now is applied before mastery and between both the damage is capped to 1
- Envenom's fixed damage bonus is now a mastery bonus (was already fixed in renewal but applies to pre-re too) and thus increased by EDP
- Fixed damage interaction between MO_FINGEROFFENSIVE (Throw Spirit Sphere) with Magnum Break, refine and spirit spheres
- Fixed Magnum Break costing HP; it requires HP but does not consume it
- Fixed Sonic Blow's damage formula (300%+50%*skill_lv) and how the bonus from Sonic Acceleration works (+10% to ratio)
- Poison/DPoison now reduce hard DEF vs. monsters by 25%, but the DEF reduction no longer stacks
- Fixed DPoison's duration (60s base duration on all levels)
- Fixed Enchant Deadly Poison duration in Renewal
- Fixed chance of DPoison to be inflicted (3% level 1+2, 4% level 3+4, 5% level 5)
- Fixed negative resistances not increasing the chance of a status change to occur (it's only capped to 0 in renewal)
2024-03-28 22:46:22 +01:00
Playtester
1a004f0164
Mercenary, Regen and Frenzy Improvements (#8185)
- When a Mercenary gains a bonus, there will now be an animation
- Mercenary bonuses now last for 5 minutes instead of 10 minutes
- Fixed HP/SP recovery values of Mercenaries (and Elementals)
- Mercenaries now recover HP when walking
- Homunculi no longer recover SP when walking
- Mercenary natural recovery interval is 8s for HP and 6s for SP
- Homunculus natural recovery interval is 2s for HP and 4s for SP
- MER_CRASH now only deals 1 hit and can be cast-cancelled
- Frenzy now drains HP every 10 seconds instead of every 15 in pre-renewal
- Fixed SP cost Mercenary Frenzy (100 -> 200 SP)
- Killing monsters exactly 2 times below you base level now still counts as mercenary kill
- Fixes #8184 
- Fixes #7663
2024-03-27 11:48:05 +01:00
Playtester
f85f990e3e
Fixed all status changes overwriting OPT1 status changes (#8172)
- Fixes #8128
2024-03-16 14:42:45 +01:00
Atemo
c9582cc4fd
Rebalance Imperial Guard 2024-02-05 (#8155)
* Guardian Shield
- Reworks AP condition from recovering AP to consuming 35 AP upon using instead.
- Reduces skill duration from 60 seconds to 40 seconds.
- Increases skill cooldown from 15 seconds to 25 seconds.
- Reduces global cooldown from 1 second to 0.3 seconds.
- Reduces factor weight of MaxHP in skill formula from 50% to 30%.
- Reduces final durability factor of skill level from 250% to 125% based on level 5.

* Cross Rain
- Increases AP recovery rate from 4 to 6.
- Increases base damage from 3200+(Spear & Sword Mastery skill level x 100)%/4500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk to 4500+(Spear & Sword Mastery skill level x 100)%/6500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk per hit based on level 10.

* Holy Shield
- No longer be removed by Dispell or Clearance.

* Shield Shooting
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 14900+(Shield Mastery skill level x 250)%Atk to 18500+(Shield Mastery skill level x 750)%Atk based on level 5.
- Increases factor weight of shield refine rate in skill formula from 25 to 100.
- Increases factor weight of POW in skill formula from 7 to 10.

* Overslash
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 1600+(Spear & Sword Mastery skill level x 250)%Atk to 2200+(Spear & Sword Mastery skill level x 500)%Atk per hit based on level 10.

* Judgement Cross
- Changes damage property from holy to neutral.
2024-03-11 18:58:31 +01:00
Lemongrass3110
4124cdaa4a
Initial implementation of Night Watch (#8150)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2024-03-10 22:10:28 +01:00
Lemongrass3110
9139a21adc
Resolved a few size_t related warnings (#8085)
Disabled warnings in libconfig only for MSVS
2024-02-28 21:05:18 +01:00
Lemongrass3110
72b3d1bf0e
Initial implementation of Hyper Novice (#8101)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-01-17 21:20:20 +01:00
Lemongrass3110
c4026c08c8
Some bonus ignored left_cardfix_to_right (#8097)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
2024-01-12 11:42:08 +01:00
Lemongrass3110
96f40d9adc Converted some whitespaces to tabs 2024-01-11 00:47:57 +01:00
Lemongrass3110
644a22c5bb
Fixed convex mirror (#8084)
When the "NoSave" of SC_BOSSMAPINFO is removed, this could lead to issues after a character logs back in.

Fixes #8083

Thanks to @Gyakushinn
2024-01-05 21:50:59 +01:00
Vincent Stumpf
61c2480d89
Add explicit [[fallthrough]] attributes (#8054)
Fixes #7918
2023-12-29 01:08:24 +01:00
eppc0330
d8d7955702
Implement NPC_WIDECRITICALWOUND (#7977) 2023-11-25 22:47:27 +01:00
Atemo
8102f5eaad
Updated SC_*_LIFEPOTION and SC_S_MANAPOTION (#8011)
* Removed the heal effect from SC_*_LIFEPOTION and SC_S_MANAPOTION like on official servers.
2023-11-14 13:53:34 +01:00
idk-whoami
61311f5912
Corrected script for some item #25 (#7946) 2023-10-10 13:47:08 +02:00
Lemongrass3110
7977612e0b
Refactored SC_LERADSDEW (#7958)
Now it also makes use of the Fail configuration in YAML
2023-10-05 08:26:05 +02:00
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