From 52f2765298dd8f0e2b0f9d986f98abd7362f31de Mon Sep 17 00:00:00 2001 From: Atemo Date: Tue, 10 Mar 2026 16:01:45 +0100 Subject: [PATCH] Updated SkillVanishingSlash (#9904) * Moved the status change in applyAdditionalEffects * Change NJ_KASUMIKIRI to WeaponSkillImpl * Add status SC_HIDING in skill DB yaml --- db/pre-re/skill_db.yml | 1 + db/re/skill_db.yml | 1 + src/map/skills/ninja/vanishingslash.cpp | 14 ++++++-------- src/map/skills/ninja/vanishingslash.hpp | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/db/pre-re/skill_db.yml b/db/pre-re/skill_db.yml index 6e7e270c12e..c922361101a 100644 --- a/db/pre-re/skill_db.yml +++ b/db/pre-re/skill_db.yml @@ -14486,6 +14486,7 @@ Body: Amount: 26 - Level: 10 Amount: 28 + Status: Hiding - Id: 529 Name: NJ_SHADOWJUMP Description: Shadow Leap diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index b48b55d5de1..232aa1a2f4e 100644 --- a/db/re/skill_db.yml +++ b/db/re/skill_db.yml @@ -14584,6 +14584,7 @@ Body: Cooldown: 500 Requires: SpCost: 8 + Status: Hiding - Id: 529 Name: NJ_SHADOWJUMP Description: Shadow Leap diff --git a/src/map/skills/ninja/vanishingslash.cpp b/src/map/skills/ninja/vanishingslash.cpp index 5ac169e4d1b..cfb3e7a6e80 100644 --- a/src/map/skills/ninja/vanishingslash.cpp +++ b/src/map/skills/ninja/vanishingslash.cpp @@ -7,19 +7,17 @@ #include "map/status.hpp" -SkillVanishingSlash::SkillVanishingSlash() : StatusSkillImpl(NJ_KASUMIKIRI) { +SkillVanishingSlash::SkillVanishingSlash() : WeaponSkillImpl(NJ_KASUMIKIRI) { } -void SkillVanishingSlash::calculateSkillRatio(const Damage *wd, const block_list *src, const block_list *target, uint16 skill_lv, int32 &base_skillratio, int32 mflag) const { +void SkillVanishingSlash::applyAdditionalEffects(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32 attack_type, enum damage_lv dmg_lv) const { + sc_start(src, src, skill_get_sc(getSkillId()), 100, skill_lv, skill_get_time(getSkillId(), skill_lv)); +} + +void SkillVanishingSlash::calculateSkillRatio(const Damage* wd, const block_list* src, const block_list* target, uint16 skill_lv, int32& base_skillratio, int32 mflag) const { #ifdef RENEWAL base_skillratio += 20 * skill_lv; #else base_skillratio += 10 * skill_lv; #endif } - -void SkillVanishingSlash::castendDamageId(block_list *src, block_list *target, uint16 skill_lv, t_tick tick, int32& flag) const { - // TODO: refactor into applyAdditionalEffects - if (skill_attack(BF_WEAPON,src,src,target,getSkillId(),skill_lv,tick,flag) > 0) - sc_start(src,src,SC_HIDING,100,skill_lv,skill_get_time(getSkillId(),skill_lv)); -} diff --git a/src/map/skills/ninja/vanishingslash.hpp b/src/map/skills/ninja/vanishingslash.hpp index 8de035b7fc1..09e85934897 100644 --- a/src/map/skills/ninja/vanishingslash.hpp +++ b/src/map/skills/ninja/vanishingslash.hpp @@ -5,10 +5,10 @@ #include "../skill_impl.hpp" -class SkillVanishingSlash : public StatusSkillImpl { +class SkillVanishingSlash : public WeaponSkillImpl { public: SkillVanishingSlash(); - void calculateSkillRatio(const Damage *wd, const block_list *src, const block_list *target, uint16 skill_lv, int32 &base_skillratio, int32 mflag) const override; - void castendDamageId(block_list *src, block_list *target, uint16 skill_lv, t_tick tick, int32& flag) const override; + void applyAdditionalEffects(block_list* src, block_list* target, uint16 skill_lv, t_tick tick, int32 attack_type, enum damage_lv dmg_lv) const override; + void calculateSkillRatio(const Damage* wd, const block_list* src, const block_list* target, uint16 skill_lv, int32& base_skillratio, int32 mflag) const override; };