summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinhyositsu <inhyositsu@gmail.com>2016-05-26 18:57:05 +0800
committerinhyositsu <inhyositsu@gmail.com>2016-05-26 18:57:05 +0800
commit301c6661e433609de5eb62a3536d1e8f33fefb3c (patch)
tree4dd8c4966ca08ab589382bd5fbff10606ea46f26
parentc7410453a15110a12d9fffb06b70e9557fb9f73a (diff)
downloadhercules-301c6661e433609de5eb62a3536d1e8f33fefb3c.tar.gz
hercules-301c6661e433609de5eb62a3536d1e8f33fefb3c.tar.bz2
hercules-301c6661e433609de5eb62a3536d1e8f33fefb3c.tar.xz
hercules-301c6661e433609de5eb62a3536d1e8f33fefb3c.zip
Fix the skill type of RK_DRAGONBREATH and RK_DRAGONBREATH_WATER, they should be BF_WEAPON in official server, and they support bLongAtkRate bonus.
-rw-r--r--src/map/battle.c13
-rw-r--r--src/map/skill.c2
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: {