summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-28 14:41:25 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-06-28 14:41:25 +0000
commit7158896a63c7150b8a1cb181d398929c9c481ea0 (patch)
treee7df8c504f36d776881c550f9de2087f1120706a /src/map/battle.c
parent56f3c515d8d537df42c8598e685ee8c87682fbc0 (diff)
downloadhercules-7158896a63c7150b8a1cb181d398929c9c481ea0.tar.gz
hercules-7158896a63c7150b8a1cb181d398929c9c481ea0.tar.bz2
hercules-7158896a63c7150b8a1cb181d398929c9c481ea0.tar.xz
hercules-7158896a63c7150b8a1cb181d398929c9c481ea0.zip
Fixed bugreport:6127 remove the double duration bonus from GC_RESEARCHEWPOISON
Fixed bugreport:6109 GN_CARTBOOST should now give atk bonus and fixed some genetic skills damage ratio and behavior Fixed bugreport:6121 Rolling cutter's counter should now only be removed by walking and Cross Ripper Slasher Fixed bugreport:6100 Cart should now can't be removed when character dies git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16353 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index d7c5147e8..e1901503b 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2362,16 +2362,15 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
skillratio += 400;
break;
case GN_CART_TORNADO:
- if( sd )
- skillratio += 50 * skill_lv + pc_checkskill(sd, GN_REMODELING_CART) * 100 - 100;
- RE_LVL_DMOD(100);
- if( sc && sc->data[SC_GN_CARTBOOST] )
- skillratio += 10 * sc->data[SC_GN_CARTBOOST]->val1;
+ // ATK [( Skill Level x 50 ) + ( Cart Weight / ( 150 - Caster’s Base STR ))] + ( Cart Remodeling Skill Level x 50 )] %
+ skillratio = 50 * skill_lv;
+ if( sd && sd->cart_weight)
+ skillratio += sd->cart_weight/10 / (150-sstatus->str) + pc_checkskill(sd, GN_REMODELING_CART) * 50;
break;
case GN_CARTCANNON:
- if( sd ) skillratio += 250 + 50 * skill_lv + pc_checkskill(sd, GN_REMODELING_CART) * (sstatus->int_ / 2);
- if( sc && sc->data[SC_GN_CARTBOOST] )
- skillratio += 10 * sc->data[SC_GN_CARTBOOST]->val1;
+ // ATK [{( Cart Remodeling Skill Level x 50 ) x ( INT / 40 )} + ( Cart Cannon Skill Level x 60 )] %
+ skillratio = 60 * skill_lv;
+ if( sd ) skillratio += pc_checkskill(sd, GN_REMODELING_CART) * 50 * (sstatus->int_ / 40);
break;
case GN_SPORE_EXPLOSION:
skillratio += 200 + 100 * skill_lv;
@@ -2695,6 +2694,8 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
#endif
ATK_ADD(20*lv);
}
+ if(sc->data[SC_GN_CARTBOOST])
+ ATK_ADD(10*sc->data[SC_GN_CARTBOOST]->val1);
}
//Refine bonus