diff --git a/src/map/battle.c b/src/map/battle.c index d21193a6b52..add6bc4990b 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2677,7 +2677,9 @@ static int battle_calc_skillratio(int attack_type, struct block_list *src, struc case GN_CART_TORNADO: { int strbonus = bst->str; - skillratio = 50 * skill_lv + (sd ? sd->cart_weight : battle_config.max_cart_weight) / 10 / max(150 - strbonus, 1) + 50 * (sd ? pc->checkskill(sd, GN_REMODELING_CART) : 5); + if (strbonus > 130) //Max base stat limit on official is 130. So well allow no higher then 130 STR here. This limit prevents + strbonus = 130; //the division from going any lower then 20 so the server wont divide by 0 if someone has 150 STR. [Rytech] + skillratio = 50 * skill_lv + (sd ? sd->cart_weight : battle_config.max_cart_weight) / 10 / (150 - strbonus) + 50 * (sd ? pc->checkskill(sd, GN_REMODELING_CART) : 5); } break; case GN_CARTCANNON: