Big Boned/Extra Notes

From Flexible Survival
Revision as of 15:03, 13 June 2014 by Sparhawk (talk | contribs) (Created page with "============================= OOC - Code Updates ============================= Message: 3/11 Posted Author Size Cap Code ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
======================= OOC - Code Updates =======================

Message: 3/11 Posted Author Size Cap Code 06/13/14 Nuku


Here's the code that handles your size! You'll have to decode it, but here it is in all its naked glory:

       : size[ ref:target -- int:amount ]
       target @ "Size" getstatint ?dup if exit then
   $ifdef is_rp
       5
   $endif
   $ifdef is_fs
       rpsys { "Infection/" target @ "Mutation/Torso" getstatstr "/Torso/Size" }cat getpropstr toint
       rpsys { "Infection/" target @ "Mutation/Torso" getstatstr "/Torso/Template" }cat getprop if pop
          rpsys { "Infection/" target @ "template/torso" getstatstr "/Torso/Size" }cat getpropstr toint
       then
       target @ "Jnote" "Human Sized" findboxitem if pop 5 then
       target @ "Jnote" "Inverted" findboxitem if
          dup var! x
          case
             5 = when 5 end
             5 < when x @ 5 - -15 * end
             5 > when 5 x @ 5 - 10 / - 1 greater end
          endcase
       then
       target @ "Jnote" "Overblown" findboxitem if
          dup var! x
          case
             6 < when x @ end
             5 > when x @ 5 - 2 * 5 + end
          endcase
       then
   $endif dup var! orig
       100
       target @ "Jnote" "Giant" findboxitem if 30 + then
       target @ "Jnote" "Tall" findboxitem if 20 + then
       target @ "Jnote" "Short" findboxitem if 20 - then
       target @ "Jnote" "Chubby" findboxitem if 20 + then
       target @ "Jnote" "Thin" findboxitem if 20 - then
       target @ "Jnote" "Tiny" findboxitem if 50 - then
       target @ "Jnote" "Midget" findboxitem if 50 - then
       dup var! mod * 100 /
       dup orig @ = if
          mod @ 100 > if 1 + then
          mod @ 100 < if 1 - then
       then
       target @ "Size" getstatus
       target @ "Jnote" "Small Clan Sized" findboxitem if
          target @ "Race" getstatstr "heavy folk" stringcmp not if 2 - then
          target @ "Race" getstatstr "small folk" stringcmp not if 2 + then
          2 -
       then
       target @ "Jnote" "heavy Clan Sized" findboxitem if
          target @ "Race" getstatstr "small folk" stringcmp not if 2 + then
          target @ "Race" getstatstr "heavy folk" stringcmp not if 2 - then
          2 +
       then
       target @ "Weight" getstatus +
       target @ "Height" getstatus 3 / +
       var! siz
       siz @ 0 > if siz @ + then
       target @ isplayer? if
          target @ "Supernatural" getstatstr "{Kaiju|Quetzalcoatl}" smatch not
          target @ "Badge" "Kaiju" findboxitem target @ "Gear" "Big Heart" findboxitem and not and if
             dup 10 > if 10 - 2 / 10 + then
            target @ "Jnote" "Large Tendencies" findboxitem not if
             dup 15 > if 15 - 2 / 15 + then
            then
            target @ "Jnote" "Big Boned" findboxitem not if
             20 lesser
       
        then
          else
            target @ "Jnote" "Large Tendencies" findboxitem not if
             dup 15 > if 15 - 2 / 15 + then
            then
          then
       else 60 lesser then
       dup 90 > if 90 - sqrt 90 + then
       siz @ 0 < if siz @ + then
       1 greater toint
       target @ "Jnote" "Empty" findboxitem if 2 / then
       ; PUBLIC size
       $libdef size
==================================================================