summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authortoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 19:32:53 +0000
committertoms <toms@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-30 19:32:53 +0000
commit4362a0c677113465c450da34148e10676c32298f (patch)
treec9e47cfde4580eb0c27037c65a9cebc2b9af9aec /src/map/battle.c
parent1dc97e8a346414a600bedc25969d5ae21c28f401 (diff)
downloadhercules-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.c18
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;
}