@program #3842 1 1000 d i lvar target lvar target2 lvar repeat lvar temp $def Rpsystem "$rpsystem" match $include $lib/rp $include $lib/alynna $def CLASSES "{Lutrai|Hoomiku|Koba|Skole|Cepn|Gorg|Faerie|Elf|Spiral|Other}" : initialize ( -- ) me @ "Start?" 1 setstat me @ "Strength" 1 setstat me @ "Dexterity" 1 setstat me @ "Appearance" 1 setstat me @ "Stamina" 1 setstat me @ "Willpower" 1 setstat me @ "Magery" 1 setstat me @ "Intelligence" 1 setstat me @ "Willpower" 1 setstat me @ "Perception" 1 setstat me @ "XP" 100 setstat me @ "+sheet" force 1 sleep me @ "You are prepared to begin character generation, you should pick your starting class by typing +set class=" CLASSES " " "|" subst ". You may set your primary stats with +set (stat)=(value)." strcat strcat notify me @ "Growth" 103 setstat ; : jobskills ( s -- ) target2 ! target2 @ target ! rpsystem "Jobs/" target @ strcat "/Skills" strcat getpropstr dup not if pop exit then ":" explode repeat ! 0 temp ! begin "/" explode pop "Caps/" swap strcat swap atoi me @ rot rot setstat temp @ 1 + temp ! temp @ repeat @ = until rpsystem "Jobs/" target @ strcat "/Special" strcat getpropstr dup not if pop exit then ":" explode repeat ! 0 temp ! begin "/" explode pop "Caps/" swap strcat swap atoi me @ rot rot setstat temp @ 1 + temp ! temp @ repeat @ = until ; lvar curprop lvar start : setter ( s -- ) "=" explode 2 = not if "Type +set (something)=(new value)" .tell exit then curprop ! target ! target @ 1 strcut swap TOUPPER swap strcat target ! curprop @ "class" smatch if me @ "Prinit?" getstatint if "You already set your class" .tell exit then target @ CLASSES smatch not if "Invalid Starting class, try " CLASSES " " "|" subst strcat .tell exit then me @ target @ #1192 "cgaddtier" call ( me @ "Jobs/" target @ strcat 1 setstat me @ "Professionlist" target @ setstat ) me @ "Class" target @ setstat target @ jobskills me @ "Prinit?" 1 setstat "Class set!" .tell else curprop @ "{Strength|Dexterity|Stamina|Intelligence|Willpower|Magery|Appearance|Perception}" smatch not if "Invalid attribute, type +sheet and use one from the top area" .tell exit then me @ curprop @ getstatint start ! target @ atoi target ! target @ 1 < if 1 target ! then target @ 25 > if 25 target ! then me @ curprop @ target @ setstat target @ start @ - 1.1 * me @ "Growth" getstatfloat swap - dup -100 < if pop me @ curprop @ start @ setstat "Aborted, Growth cannot go beyond complete stop" .tell exit then me @ "Growth" rot setstat str curprop @ " was set to " target @ intostr " and your growth rate is now " me @ "Growth" getstatint "% different from normal." cat .tell then ; : main ( s -- ) me @ "start?" getstatint not if initialize exit then me @ "finish" getstatint if "You're already finished!" .tell exit then command @ "+set" smatch if setter then ; . c q