All pastes #835974 Raw Edit

Something

public text v1 · immutable
#835974 ·published 2007-12-29 03:48 UTC
rendered paste body
alias cmb {
  ;att¦def¦str¦hp¦range¦pray¦mage;
  if (?? ?? ?? ?? ?? ?? ?? iswm $1) {
    tokenize 32 $1
    var %x, %y = 1
    while ($($+($,%y),2)) {
      set -l $+(%,$setskill(%y)) $($+($,%y),2)
      inc %y
    }
    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 = magic
      else %cmbstyle = ranged
    }
    var $&
      %h.2lvl = $ceil($calc(%cmb.temp / .25)), %p.2lvl = $round($calc(%cmb.temp / .125),0), $&
      %a.2lvl = $ceil($calc(%cmb.temp / .32707)), %m.2lvl = $round($calc(%cmb.temp / .4834),0), $&
      %s.2lvl = $ceil($calc(%cmb.temp / .324)), %r.2lvl = $round($calc(%cmb.temp / .4865),0), $&
      %d.2lvl = $ceil($calc(%cmb.temp / .249)), %2lvl
    if ($odd($calc(%prayer + %p.2lvl))) && (%prayer > 1) %p.2lvl = %p.2lvl $iif($odd(%p.2lvl),+,-) 1
    if ($odd($calc(%ranged + %r.2lvl))) && (%ranged > 1) %r.2lvl = %r.2lvl $iif($odd(%r.2lvl),+,-) 1
    if ($odd($calc(%magic + %m.2lvl))) && (%magic > 1) %m.2lvl = %m.2lvl $iif($odd(%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))
    if (!$prop) return %cmb
    else {
      if ($prop == style) return %cmbstyle
      if ($prop == 2lvl) return %2lvl
    }
  }
}