All pastes #914865 Raw Edit

Someone

public text v1 · immutable
#914865 ·published 2008-02-23 07:52 UTC
rendered paste body
;;ALIASES SECTION
;;$combat(attack,defence,strength,hitpoints,prayer,ranged,magic,summoning)[.f2p]
;;If you use the f2p property, you will get the free to play level.
;;Examples: 
;;    $combat(99,99,99,99,83,92,99,77) = 133.6 Melee
;;    $combat(99,99,99,99,83,92,99,77).f2p = 124.1 Melee

combat.base {
  var %d = $1,%h = $2,%p = $3,%s = $4,%a = $calc(%d * 100),%b = $calc(%h * 100), $&
    %c = $iif(*.* iswm $calc(%p / 2),$calc((%p -1) * 50),$calc(%p * 50)), $&
    %d = $iif(*.* iswm $calc(%s /2),$calc((%s -1) *50),$calc(%s * 50))
  return $calc((%a + %b + %c + %d) / 400)
}
combat.class {
  var %att = $1,%str = $2,%range = $3,%mage = $4,%a = $calc(%att * 130),%b = $calc(%str * 130), $&
    %c = $iif(*.* iswm $calc(%range / 2),$calc(((%range - 1) + (%range * 2)) * 65),$calc(%range * 195)), $&
    %d = $iif(*.* iswm $calc(%mage / 2),$calc(((%mage - 1) + (%mage * 2)) * 65),$calc(%mage * 195)), $&
    %melee = $calc((%A + %B) / 400),%range = $calc(%C / 400),%mage = $calc(%D / 400)
  return $token($sorttok(%melee Melee| $+ %range Ranged| $+ %mage Magic,124,nr),1,124)
}
combat {
  if ($prop == f2p) tokenize 32 $1-7 0
  var %base = $combat.base($iif(!$2,1,$2),$iif(!$4,10,$4),$iif(!$5,1,$5),$iif(!$8,1,$8)), $&
    %class = $combat.class($iif(!$1,1,$1),$iif(!$3,1,$3),$iif(!$6,1,$6),$iif(!$7,1,$7)), $&
    %combat = $calc(%base + $token(%class,1,32))
  return %combat $token(%class,2,32)
}