diff options
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 64c695264..bbed08be6 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2429,6 +2429,12 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo case EL_ROCK_CRUSHER: skillratio += 700; break; + case MH_STAHL_HORN: + skillratio += 500 + 100 * skill_lv; + break; + case MH_LAVA_SLIDE: + skillratio = 70 * skill_lv; + break; } ATK_RATE(skillratio); @@ -3678,7 +3684,12 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list case EL_TYPOON_MIS_ATK: skillratio += 1100; break; - + case MH_ERASER_CUTTER: + if (skill_lv >= 3) + skillratio += 800 + 200 * skill_lv ; + else + skillratio += 500 + 400 * skill_lv; + break; } MATK_RATE(skillratio); @@ -3839,10 +3850,13 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list else if( map[target->m].flag.battleground ) ad.damage=battle_calc_bg_damage(src,target,ad.damage,ad.div_,skill_num,skill_lv,ad.flag); - - if( skill_num == SO_VARETYR_SPEAR ) { // Physical damage. - struct Damage wd = battle_calc_weapon_attack(src,target,skill_num,skill_lv,mflag); - ad.damage += wd.damage; + switch( skill_num ) { /* post-calc modifiers */ + case SO_VARETYR_SPEAR: { // Physical damage. + struct Damage wd = battle_calc_weapon_attack(src,target,skill_num,skill_lv,mflag); + ad.damage += wd.damage; + break; + } + //case HM_ERASER_CUTTER: } return ad; |