doattack { if ($rini($2,Battle,Attacking) == Yes) { Dodge $2 $3 Parry $2 $3 wini $2 Battle Attacking No if ($readini(attacks.data,$1,type) == Status) { dostatus $readini(attacks.data,$1,Status) $2 $3 $1 } set %base $readini(attacks.data,$1,power) set %dmg $calc((%base / 100) * $rini($2,Stats,Attack) - $rini($3,Stats,Defense)) set %exp $readini(attacks.data,$1,exp) if (%Dmg < 1) { set %Dmg 1 } Counter $2 $3 %dmg var %crit = 12Normal Hit var %critchance = $rand(1,100) if (%critchance <= 5) { if ($readini(attacks.data,$1,criteffect) != $null) { criteffect $readini(attacks.data,$1,criteffect) $2 $3 } else { var %admg = $calc(%dmg * 2.5) var %crit = 4Critical } } var %hits = $gettok($readini(attacks.data,$1,hits),1,32) if (!%hits) || (($gettok($readini(attacks.data,$1,hits),2,32) == crit) && (%critchance > 5)) { var %hits = 1 } var %cur = 0 var %tdmg = 0 while (%cur != %hits) { inc %cur var %hdmg = $rand(%dmg,$calc(%dmg * 2.2 - $rini($3,Stats,Defense))) inc %tdmg %hdmg var %admg = %admg ( $+ %hdmg $+ ) } if (%hits > 1) { var %admg = %admg ( $+ %tdmg total) } var %admg = dealing %admg damage var %hitmsg = $replace($readini(attacks.data,$1,hitmsg),&user,$2 $+ $chr(40) $+ $rini($2,$2,Name) $+ $chr(41),&target,$3 $+ $chr(40) $+ $rini($3,$3,Name) $+ $chr(41),&dmg,%admg) if (%dbat != $null) { dbmsg %dbat %hitmsg (Gained 12 $+ %exp 2EXP!) ( $+ %crit $+ 2) } else { msg %chanset %hitmsg (Gained 12 $+ %exp 2EXP!) ( $+ %crit $+ 2) } wini $3 Stats HP $calc($rini($3,stats,Hp) - %tdmg) wini $2 Stats Exp $calc($rini($2,stats,Exp) + %exp) If ($rini($3,$3,Class) == Bounto) { wini %Nick Stats HP $Calc($rini(%Nick,Stats,HP) - %tdmg) } If ($rini(%Nick,Stats,HP) <= 0) { deadcheck $2 $3 } lvlcheck $2 deadcheck $2 $3 } }