rendered paste bodydoattack {
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
}
}