diff options
author | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 19:32:53 +0000 |
---|---|---|
committer | toms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-30 19:32:53 +0000 |
commit | 4362a0c677113465c450da34148e10676c32298f (patch) | |
tree | c9e47cfde4580eb0c27037c65a9cebc2b9af9aec /src/map/battle.c | |
parent | 1dc97e8a346414a600bedc25969d5ae21c28f401 (diff) | |
download | hercules-4362a0c677113465c450da34148e10676c32298f.tar.gz hercules-4362a0c677113465c450da34148e10676c32298f.tar.bz2 hercules-4362a0c677113465c450da34148e10676c32298f.tar.xz hercules-4362a0c677113465c450da34148e10676c32298f.zip |
Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7983 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index f2613b98b..a0ef681a1 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2323,7 +2323,7 @@ struct Damage battle_calc_magic_attack( skillratio -= 10; break; case NJ_BAKUENRYU: - skillratio += 50*(skill_lv-1); + skillratio += 150 + 150*skill_lv; // It has to be MATK +(150+150*SkillLV)% so 1000% at lvl 5, not 900%. Damage is not increased by hits. break; case NJ_HYOUSENSOU: skillratio -= 30; @@ -2331,13 +2331,13 @@ struct Damage battle_calc_magic_attack( skillratio += sc->data[SC_SUITON].val4; break; case NJ_HYOUSYOURAKU: - skillratio += 50*skill_lv; + skillratio += 100+50*skill_lv; // correct formula (MATK + 350% = 450% at level 5) (kRO and unofficial descriptions) break; case NJ_RAIGEKISAI: - skillratio += 60 + 40*skill_lv; + skillratio += 160 + 40*skill_lv; // idem break; case NJ_KAMAITACHI: - skillratio += 100*skill_lv; + skillratio += 100 + 100*skill_lv; // idem break; } @@ -2603,9 +2603,10 @@ struct Damage battle_calc_misc_attack( if (tsd) md.damage>>=1; break; case NJ_ZENYNAGE: - md.damage = skill_get_zeny(skill_num ,skill_lv)/2; + md.damage = skill_get_zeny(skill_num ,skill_lv); if (!md.damage) md.damage = 2; md.damage = md.damage + rand()%md.damage; + if(is_boss(target)) md.damage=md.damage*60/100; break; @@ -2695,7 +2696,12 @@ struct Damage battle_calc_misc_attack( if (map_flag_gvg(target->m)) md.damage=battle_calc_gvg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag); - if ( sd && md.damage && skill_num == NJ_ZENYNAGE ) pc_payzeny(sd, md.damage); // conso zenys at the end of the calculation I think + if ( sd && md.damage && skill_num == NJ_ZENYNAGE ) + { + if ( md.damage > sd->status.zeny ) + md.damage=sd->status.zeny; + pc_payzeny(sd, md.damage); + } return md; } |