From 301c6661e433609de5eb62a3536d1e8f33fefb3c Mon Sep 17 00:00:00 2001 From: inhyositsu Date: Thu, 26 May 2016 18:57:05 +0800 Subject: Fix the skill type of RK_DRAGONBREATH and RK_DRAGONBREATH_WATER, they should be BF_WEAPON in official server, and they support bLongAtkRate bonus. --- src/map/battle.c | 13 ++++++------- src/map/skill.c | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/map/battle.c b/src/map/battle.c index a7a6f4719..97cc31745 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4052,13 +4052,6 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * case NPC_EVILLAND: md.damage = skill->calc_heal(src,target,skill_id,skill_lv,false); break; - case RK_DRAGONBREATH: - case RK_DRAGONBREATH_WATER: - md.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv; - RE_LVL_MDMOD(150); - if (sd) md.damage = md.damage * (95 + 5 * pc->checkskill(sd,RK_DRAGONTRAINING)) / 100; - md.flag |= BF_LONG|BF_WEAPON; - break; /** * Ranger **/ @@ -4874,6 +4867,12 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list break; } break; + case RK_DRAGONBREATH: + case RK_DRAGONBREATH_WATER: + wd.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv; + wd.damage = wd.damage * status->get_lv(src) / 150; + if (sd) wd.damage = wd.damage * (95 + 5 * pc->checkskill(sd, RK_DRAGONTRAINING)) / 100; + break; default: { i = (flag.cri diff --git a/src/map/skill.c b/src/map/skill.c index 31be52ae3..79f965f67 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4273,7 +4273,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 if( (tsc = status->get_sc(bl)) && (tsc->data[SC_HIDING] )) { clif->skill_nodamage(src,src,skill_id,skill_lv,1); } else - skill->attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag); + skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag); } break; case NPC_SELFDESTRUCTION: { -- cgit v1.2.3-60-g2f50 From 516475153e09e71b51392515539bf60dca06fd92 Mon Sep 17 00:00:00 2001 From: inhyositsu Date: Fri, 27 May 2016 17:41:39 +0800 Subject: Fix SC_TELEKINESIS_INTENSE to add percent MATK instead of fixed MATK --- src/map/battle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/battle.c b/src/map/battle.c index 97cc31745..5ca54bf82 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3680,7 +3680,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list if (sc){ if( sc->data[SC_TELEKINESIS_INTENSE] && s_ele == ELE_GHOST ) - ad.damage += sc->data[SC_TELEKINESIS_INTENSE]->val3; + ad.damage += ad.damage * sc->data[SC_TELEKINESIS_INTENSE]->val3 / 100; } switch(skill_id){ case MG_FIREBOLT: -- cgit v1.2.3-60-g2f50