diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index bfe81da772f..f4aecf46759 100644 --- a/db/re/skill_db.yml +++ b/db/re/skill_db.yml @@ -38402,15 +38402,15 @@ Body: Time: 150000 Duration2: - Level: 1 - Time: 3000 - - Level: 2 Time: 2500 - - Level: 3 + - Level: 2 Time: 2000 - - Level: 4 + - Level: 3 Time: 1500 - - Level: 5 + - Level: 4 Time: 1000 + - Level: 5 + Time: 500 Cooldown: 30000 Requires: SpCost: @@ -38704,7 +38704,7 @@ Body: FixedCastTime: 1000 Requires: SpCost: 300 - ApCost: 125 + ApCost: 120 Status: CalamityGale - Id: 5329 Name: WH_HAWKBOOMERANG @@ -39023,7 +39023,7 @@ Body: Hit: Single HitCount: 1 Element: Weapon - GiveAp: 1 + GiveAp: 2 CastTime: 1000 AfterCastActDelay: 700 Duration1: 10000 diff --git a/src/map/skills/mage/diamondstorm.cpp b/src/map/skills/mage/diamondstorm.cpp index f2b2c929cb3..591d2ea7124 100644 --- a/src/map/skills/mage/diamondstorm.cpp +++ b/src/map/skills/mage/diamondstorm.cpp @@ -16,14 +16,14 @@ void SkillDiamondStorm::applyAdditionalEffects(block_list *src, block_list *targ void SkillDiamondStorm::calculateSkillRatio(const Damage *wd, const block_list *src, const block_list *target, uint16 skill_lv, int32 &skillratio, int32 mflag) const { const status_data* sstatus = status_get_status_data(*src); - const status_change *sc = status_get_sc(src); - skillratio += -100 + 500 + 2400 * skill_lv; - skillratio += 5 * sstatus->spl; - - if( sc != nullptr && sc->getSCE( SC_SUMMON_ELEMENTAL_DILUVIO ) ){ - skillratio += 7300 + 200 * skill_lv; - skillratio += 5 * sstatus->spl; + if (const status_change *sc = status_get_sc(src); sc != nullptr && sc->hasSCE( SC_SUMMON_ELEMENTAL_DILUVIO )) { + skillratio += -100 + 8100 + 2700 * skill_lv; + skillratio += 10 * sstatus->spl; + } + else { + skillratio += -100 + 600 + 3000 * skill_lv; + skillratio += 7 * sstatus->spl; } RE_LVL_DMOD(100); diff --git a/src/map/skills/mage/psychicstream.cpp b/src/map/skills/mage/psychicstream.cpp index 19c3da5c1ec..b111035de62 100644 --- a/src/map/skills/mage/psychicstream.cpp +++ b/src/map/skills/mage/psychicstream.cpp @@ -18,8 +18,9 @@ SkillPsychicStream::SkillPsychicStream() : SkillImplRecursiveDamageSplash(EM_PSY void SkillPsychicStream::calculateSkillRatio(const Damage *wd, const block_list *src, const block_list *target, uint16 skill_lv, int32 &skillratio, int32 mflag) const { const status_data* sstatus = status_get_status_data(*src); - skillratio += -100 + 1000 + 3500 * skill_lv; - skillratio += 5 * sstatus->spl; + skillratio += -100 + 1750 + 3850 * skill_lv; + skillratio += 12 * sstatus->spl; + RE_LVL_DMOD(100); } diff --git a/src/map/skills/mage/terradrive.cpp b/src/map/skills/mage/terradrive.cpp index b52888cff5f..42f3d0ff1d8 100644 --- a/src/map/skills/mage/terradrive.cpp +++ b/src/map/skills/mage/terradrive.cpp @@ -16,14 +16,14 @@ void SkillTerraDrive::applyAdditionalEffects(block_list *src, block_list *target void SkillTerraDrive::calculateSkillRatio(const Damage *wd, const block_list *src, const block_list *target, uint16 skill_lv, int32 &skillratio, int32 mflag) const { const status_data* sstatus = status_get_status_data(*src); - const status_change *sc = status_get_sc(src); - skillratio += -100 + 500 + 2400 * skill_lv; - skillratio += 5 * sstatus->spl; - - if( sc != nullptr && sc->getSCE( SC_SUMMON_ELEMENTAL_TERREMOTUS ) ){ - skillratio += 7300 + 200 * skill_lv; - skillratio += 5 * sstatus->spl; + if (const status_change *sc = status_get_sc(src); sc != nullptr && sc->hasSCE(SC_SUMMON_ELEMENTAL_TERREMOTUS)) { + skillratio += -100 + 8100 + 2700 * skill_lv; + skillratio += 10 * sstatus->spl; + } + else { + skillratio += -100 + 600 + 3000 * skill_lv; + skillratio += 7 * sstatus->spl; } RE_LVL_DMOD(100); diff --git a/src/map/skills/thief/abysssquare.cpp b/src/map/skills/thief/abysssquare.cpp index 3d9e4ed9f6e..202a5175b9d 100644 --- a/src/map/skills/thief/abysssquare.cpp +++ b/src/map/skills/thief/abysssquare.cpp @@ -26,8 +26,9 @@ void SkillAbyssSquare::calculateSkillRatio(const Damage* wd, const block_list* s const map_session_data* sd = BL_CAST(BL_PC, src); const status_data* sstatus = status_get_status_data(*src); - skillratio += -100 + 750 * skill_lv; - skillratio += 40 * pc_checkskill(sd, ABC_MAGIC_SWORD_M) * skill_lv; + skillratio += -100 + 900 * skill_lv; + skillratio += 50 * pc_checkskill(sd, ABC_MAGIC_SWORD_M) * skill_lv; skillratio += 5 * sstatus->spl; + RE_LVL_DMOD(100); } diff --git a/src/map/skills/thief/chainreactionshot.cpp b/src/map/skills/thief/chainreactionshot.cpp index 284bc7e5a3f..918f857965e 100644 --- a/src/map/skills/thief/chainreactionshot.cpp +++ b/src/map/skills/thief/chainreactionshot.cpp @@ -33,9 +33,12 @@ void SkillChainReactionShotAttack::calculateSkillRatio(const Damage* wd, const b const status_change* sc = status_get_sc(src); const status_data* sstatus = status_get_status_data(*src); - skillratio += -100 + 800 + 2550 * skill_lv; + if (skill_lv == 4) + skillratio += -100 + 11500; + else + skillratio += -100 + 950 + 2650 * skill_lv; skillratio += 15 * sstatus->con; if (sc != nullptr && sc->hasSCE(SC_CHASING)) - skillratio += 700 * skill_lv; + skillratio += 1100 * skill_lv; RE_LVL_DMOD(100); } diff --git a/src/map/skills/thief/chasingshot.cpp b/src/map/skills/thief/chasingshot.cpp index 9fbda902f60..eefb05569f7 100644 --- a/src/map/skills/thief/chasingshot.cpp +++ b/src/map/skills/thief/chasingshot.cpp @@ -25,7 +25,7 @@ void SkillChasingShot::calculateSkillRatio(const Damage* wd, const block_list* s const status_change* sc = status_get_sc(src); const status_data* sstatus = status_get_status_data(*src); - skillratio += -100 + 1500 + 700 * skill_lv; + skillratio += -100 + 1750 + 850 * skill_lv; skillratio += 5 * sstatus->con; if (sc != nullptr && sc->hasSCE(SC_CHASING)) skillratio += 250 * skill_lv; diff --git a/src/map/skills/thief/frenzyshot.cpp b/src/map/skills/thief/frenzyshot.cpp index c30fe05e3bf..8c520e9888d 100644 --- a/src/map/skills/thief/frenzyshot.cpp +++ b/src/map/skills/thief/frenzyshot.cpp @@ -27,7 +27,8 @@ void SkillFrenzyShot::castendDamageId(block_list* src, block_list* target, uint1 void SkillFrenzyShot::calculateSkillRatio(const Damage* wd, const block_list* src, const block_list* target, uint16 skill_lv, int32& skillratio, int32 mflag) const { const status_data* sstatus = status_get_status_data(*src); - skillratio += -100 + 250 + 800 * skill_lv; + skillratio += -100 + 350 + 825 * skill_lv; skillratio += 15 * sstatus->con; + RE_LVL_DMOD(100); }