All pastes #835418 Raw Edit

Something

public text v1 · immutable
#835418 ·published 2007-12-28 21:29 UTC
rendered paste body
if ($regex(%type,/^c(mb|ombat)$/i)) {
  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) {
    var %a = $calc(%defence * 100), %b = $calc(%hitpoints * 100), %c = $calc(%prayer * 50), %d = $calc(%attack * 130), %e = $calc(%strength * 130)
    if ($odd(%prayer)) %c = %c - 50
    if ($odd(%ranged)) var %f = $calc(((%ranged - 1) + (%ranged * 2)) * 65)
    else var %f = $calc(%ranged * 195)
    if ($odd(%magic)) 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 $&
      %h.2lvl = $ceil($calc(%cmb.temp / .25)), %p.2lvl = $ceil($calc(%cmb.temp / .124)), $&
      %a.2lvl = $ceil($calc(%cmb.temp / .32707)), %m.2lvl = $ceil($calc(%cmb.temp / .4834)), $&
      %s.2lvl = $ceil($calc(%cmb.temp / .324)), %r.2lvl = $ceil($calc(%cmb.temp / .4865)), $&
      %d.2lvl = $ceil($calc(%cmb.temp / .249)), %2lvl
    if ($odd($calc(%prayer + %p.2lvl))) %p.2lvl = %p.2lvl + 1
    if ($odd($calc(%ranged + %r.2lvl))) %r.2lvl = %r.2lvl + 1
    if ($odd($calc(%magic + %m.2lvl))) %m.2lvl = %m.2lvl + 1
    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))
    %2lvl = %dynamic.2lvl $iif(%defence != 99,$c1(Defence) $c2(%d.2lvl)) $iif(%hitpoints != 99,$c1(Hitpoints:) $c2(%h.2lvl)) $iif(%prayer != 99,$c1(Prayer:) $c2(%p.2lvl))
    %stats.a = $+($chr(2),$c2([),$chr(2),$c2(%rsn),$chr(2),$c2(]),$chr(2)) $c1(is) $c2(%cmb) $c1(%cmbstyle style combat.)
    %stats.b = %x
    %stats.c = $iif(%2lvl && $calc($int(%cmb) + 1) isnum 1-126,$+($chr(2),$c1([),$chr(2),$c1(For level) $c2($v1),$chr(2),$c1(]),$chr(2),$c1(:)) %2lvl)
  }
  else %stats.a = $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for any combat skills.)
  hfree %rsn
}