rendered paste body if ($regex(%type,/^c(mb|ombat)$/Si)) {
var %x, %y = 1, %z = 7
while (%y <= %z) {
tokenize 44 $hget(%rsn,$setskill(%y))
set -l $+(%,$setskill(%y)) $iif($2 > 0,$2,$iif($setskill(%y) == Hitpoints,10,1))
$iif(!%ranked,set -l %ranked $iif($calc($1 + 1),$v1))
%x = %x $c1($+($setskill(%y),:)) $c2($iif($2 > 0,$v1,-))
inc %y
}
if (%ranked) {
%stats.b = %x
var %a = $calc(%defence * 100), %b = $calc(%hitpoints * 100), %c = $calc($iif($right(%prayer,1) isin 13579,$calc(%prayer - 1),%prayer) * 50), %d = $calc(%attack * 130), %e = $calc(%strength * 130)
if ($right(%ranged,1) isin 13579) var %f = $calc(((%ranged - 1) + (%ranged * 2)) * 65)
else var %f = $calc(%ranged * 195)
if ($right(%magic,1) isin 13579) var %g = $calc(((%magic - 1) + (%magic * 2)) * 65)
else var %g = $calc(%magic * 195)
var %base = $calc((%a + %b + %c) / 400), $&
%melee = $calc((%d + %e) / 400), %range = $calc(%f / 400), %mage = $calc(%g / 400), $&
%cmb = $calc(%base + $gettok($sorttok(%melee %range %mage,32,n),-1,32)), %cmbstyle, %cmb.temp = $abs($calc($int($calc(%cmb +1)) - %cmb))
if (%melee > %range) && (%melee > %mage) %cmbstyle = melee
else {
if (%mage > %range) %cmbstyle = mage
else %cmbstyle = ranged
}
var %a.2lvl = $ceil($calc(%cmb.temp / .325)), %s.2lvl = $ceil($calc(%cmb.temp / .325)), $&
%d.2lvl = $ceil($calc(%cmb.temp / .25)), %m.2lvl = $ceil($calc(%cmb.temp / .485)), $&
%r.2lvl = $ceil($calc(%cmb.temp / .485)), %p.2lvl = $ceil($calc(%cmb.temp / .125))
if (%cmbstyle == melee) var %dynamic.2lvl = $iif(%attack != 99,$c1(Attack:) $c2(%a.2lvl)) $iif(%strength != 99,$c1(Strength:) $c2(%s.2lvl))
if (%cmbstyle == magic) var %dynamic.2lvl = $iif(%magic != 99,$c1(Magic:) $c2(%m.2lvl))
if (%cmbstyle == ranged) var %dynamic.2lvl = $iif(%ranged != 99,$c1(Ranged:) $c2(%r.2lvl))
%stats.a = $+($chr(2),$c2([),$chr(2),%rsn,$chr(2),$c2(]),$chr(2)) $c1(is) $c2(%cmb) $c1(%cmbstyle style combat.)
%stats.c = $iif($calc($int(%cmb) + 1) isnum 1-126,$+($chr(2),$c1([),$chr(2),$c1(For level) $c2($calc($int(%cmb) + 1)),$chr(2),$c1(]),$chr(2),$c1(:)) %dynamic.2lvl $iif(%defence != 99,$c1(Defence) $c2(%d.2lvl)) $iif(%hitpoints != 99,$c1(Hitpoints:) $c2(%d.2lvl)) $iif(%prayer != 99,$c1(Prayer:) $c2(%p.2lvl)))
}
else %stats.a = $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for any combat skills.)
}
if ($regex(%type,/^(close(st)?|f(ar|[au]rthest))$/Si)) {
var %a = 1, %b, %c, %d, %e = $iif(close* iswm %type,closest,furthest), %2lvl
while ($setskill(%a)) {
tokenize 44 $hget(%rsn,$v1)
%b = $calc($2 + 1)
%c = $calc($xp(%b) - $3)
if (%b isnum 1-99) {
if (%d) {
if (%c $iif(close* iswm %e,<,>) $gettok(%d,3,32)) %d = $setskill(%a) %b %c
}
else %d = $setskill(%a) %b %c
}
inc %a
}
tokenize 32 %d
if (!$1) %stats.a = $c2(%rsn) $c1(can't level any further.)
else {
%2lvl = $3
%stats.a = $+($c2(%rsn),$c1('s)) $c1(%e skill $iif(close* iswm %e,to,from) a level is) $c2($1) $+($c1($chr(40)),$c2($bytes($3,b)) $c1(exp for level) $c2($2),$c1($chr(41)))
%stats.b = $iif($read(stats.txt,s,$1,1),$+($chr(2),$c1([),$chr(2),$c1(For level) $c2($2),$chr(2),$c1(]),$chr(2),$c1(:)) $v1)
}
hfree %rsn
}