Compare commits

...

2 commits

2 changed files with 143 additions and 47 deletions

View file

@ -9,6 +9,9 @@ VAR background = "back.png"
LIST dice = d2 = 2, d4 = 4, d6 = 6, d8 = 8, d10 = 10, d12 = 12, d20 = 20
VAR attrpoints = 5
VAR skillpoints = 10
VAR chargen_error = ""
VAR strength = d2
VAR will = d2
VAR strength_min = d2
@ -129,25 +132,25 @@ Athletics (Strength): {link("-", "athletics_minus")} {athletics} {link("+", "ath
<small>Jumping, Running.</small>
Fighting (Strength): {link("-", "str_minus")} {fighting} {link("+", "str_plus")}
Fighting (Strength): {link("-", "fighing_minus")} {fighting} {link("+", "fighing_plus")}
Shooting (Strength): {link("-", "str_minus")} {shooting} {link("+", "str_plus")}
Shooting (Strength): {link("-", "shooting_minus")} {shooting} {link("+", "shooting_plus")}
Conceal (Will): {link("-", "str_minus")} {conceal} {link("+", "str_plus")}
Conceal (Will): {link("-", "conceal_minus")} {conceal} {link("+", "conceal_plus")}
<st>Sneaking, Disguise.</st>
First Aid (Will): {link("-", "str_minus")} {first_aid} {link("+", "str_plus")}
First Aid (Will): {link("-", "firstaid_minus")} {first_aid} {link("+", "firstaid_plus")}
Driving (Will): {link("-", "str_minus")} {driving} {link("+", "str_plus")}
Driving (Will): {link("-", "driving_minus")} {driving} {link("+", "driving_plus")}
Performance (Strength): {link("-", "str_minus")} {performance} {link("+", "str_plus")}
Performance (Strength): {link("-", "performance_minus")} {performance} {link("+", "performance_plus")}
{magic:
- "writing":
Magic (writing) (inverse Humanity): {link("-", "str_minus")} {writing_magic} {link("+", "str_plus")}
Magic (writing) (inverse Humanity): {link("-", "writingmagic_minus")} {writing_magic} {link("+", "writingmagic_plus")}
- "comic":
Magic (comic) (inverse Humanity): {link("-", "str_minus")} {comic_magic} {link("+", "str_plus")}
Magic (comic) (inverse Humanity): {link("-", "str_minus")} {comicmagic_magic} {link("+", "comicmagic_plus")}
}

View file

@ -1,22 +1,8 @@
=== function _minus(ref attr, free)
{ attr == LIST_MIN(dice):
~ return false
}
// Lower an attribute or a skill.
=== function _minus(ref attr)
{ attr == d2:
~ return false
}
{ attrpoints == 5:
~ return false
}
{ attr == strength && attr == strength_min:
~ return false
}
{ attr == will && attr == will_min:
~ return false
}
{ free != true:
~ attrpoints++
}
{ attr:
- d4:
~ attr = d2
@ -36,25 +22,25 @@
//~ attr = LIST_MAX(nextDice)
~ return true
// Wrapper for lowering an attribute - calculates the attribute points.
=== function minus (ref attr)
~ return _minus(attr, false)
{ attrpoints == 5:
~ return false
}
~ temp success = _minus(attr)
{ success == true:
~ attrpoints++
}
~ return
=== function minus_free (ref attr)
~ return _minus(attr, true)
=== function _plus(ref attr, free)
// Raise an attribute or skill.
=== function _plus(ref attr)
{ attr == LIST_MAX(dice):
~ return false
}
{ attr == d20:
~ return false
}
{ attrpoints == 0:
~ return false
}
{ free != true:
~ attrpoints--
}
{ attr:
- d2:
~ attr = d4
@ -92,26 +78,71 @@
~ return d2
}
// Wrapper for raising an attribute with taking skill points.
=== function plus (ref attr)
~ return _plus(attr, false)
=== function plus_free (ref attr)
~ return _plus(attr, true)
{ attrpoints == 0:
~ return false
}
~ temp success = _plus(attr)
{ success == true:
~ attrpoints--
}
return
// Wrapper for lowering the Will attribute.
=== function minus_will(free)
{ will <= will_min:
~ will = will_min
~ return
}
~ return _minus(will, free)
{ free == true:
~ return _minus(will)
- else:
~ return minus(will)
}
// Wrapper for lowering the Strength attribute.
=== function minus_strength(free)
{ strength <= strength_min:
~ strength = strength_min
~ return
}
~ return _minus(strength, free)
{ free == true:
~ return _minus(strength)
- else:
~ return minus(strength)
}
// Wrapper for lowering a skill.
=== function minus_skill(ref skill, ref attr)
{ success == 10:
~ return false
}
~ temp success = minus(skill)
{ success == true:
~ skillpoints++
}
~ return true
// Wrapper for raising a skill.
=== function plus_skill(ref skill, ref attr)
{ skillpoints == 0:
error = "Out of skill points."
~ return false
}
{
skill >= attr:
error = "You cannot raise a skill above a stat."
~ return
}
~ temp success = plus_free(skill)
{ success == true:
~ skillpoints--
}
~ return true
=== function minus_skill_inverse(ref skill, ref attr)
=== function plus_skill_inverse(ref skill, ref attr)
=== str_plus
~ plus(strength)
@ -138,11 +169,75 @@
-> step1
=== athletics_plus
~ plus(athletics)
~ plus_skill(athletics, strength)
-> step_skills
=== athletics_minus
~ minus(athletics)
~ minus_skill(athletics, strength)
-> step_skills
=== fighting_minus
~ minus_skill(fighting, strength)
-> step_skills
=== fighting_plus
~ plus_skill(fighting, strength)
-> step_skills
=== shooting_minus
~ minus_skill(shooting, strength)
-> step_skills
=== shooting_plus
~ plus_skill(shooting, strength)
-> step_skills
=== conceal_minus
~ minus_skill(conceal, will)
-> step_skills
=== conceal_plus
~ plus_skill(conceal, will)
-> step_skills
=== firstaid_minus
~ minus_skill(firstaid, will)
-> step_skills
=== firstaid_plus
~ plus_skill(firstaid, will)
-> step_skills
=== driving_minus
~ minus_skill(driving, will)
-> step_skills
=== driving_plus
~ plus_skill(driving, will)
-> step_skills
=== performance_minus
~ minus_skill(performance, strength)
-> step_skills
=== performance_plus
~ plus_skill(performance, strength)
-> step_skills
=== writingmagic_plus
~ plus_skill_inverse(writing_magic, humanity)
-> step_skills
=== writingmagic_minus
~ minus_skill_inverse(writing_magic, humanity)
-> step_skills
=== comicmagic_plus
~ plus_skill_inverse(comic_magic, humanity)
-> step_skills
=== comicmagic_minus
~ minus_skill_inverse(comic_magic, humanity)
-> step_skills
// by Stian
@ -150,14 +245,12 @@
~ temp die_roll = RANDOM(1, 20)
~ temp result = die_roll + modifier
// Flavour text for the roll.
You needed: {treshold}
You needed: {threshold}
You rolled: {result}
{ result >= treshold:
{ result >= threshold:
-> ifsuccess
- else:
-> iffailure
}