inkchargen/game/game.ink
2024-01-13 12:21:01 +06:00

167 lines
3.7 KiB
Plaintext

# author: Oreolek
# title: chargen
INCLUDE increments.ink
INCLUDE pronouns.ink
VAR ifid = "fill this pls"
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
VAR will_min = d2
VAR humanity = d2 // How toon-ish you look, from Roger Rabbit to Jessica Rabbit
VAR athletics = d2 // Jumping, Running
VAR conceal = d2 // Sneaking, Disguise
VAR first_aid = d2
VAR driving = d2
VAR performance = d2
VAR fighting = d2
VAR shooting = d2
VAR writing_magic = d2
VAR comic_magic = d2
VAR magic = 0
VAR name = ""
VAR surname = ""
VAR flavor = "egg"
-> step_name
=== step_name
You are a shapeshifting alien working as a photo model for Sunday comic strips.
Select your name.
<ul>
<li>Mercury: +1 to Strength</li>
<li>Venus: +1 to Will</li>
</ul>
+ > Mercury Day
{ name != "Mercury":
~ plus_free(strength)
~ minus_free(will)
}
~ strength_min = d4
~ name = "Mercury"
~ surname = "Day"
~ will_min = d2
-> step_flavor
+ > Mercury Night
{ name != "Mercury":
~ plus_free(strength)
~ minus_free(will)
}
~ strength_min = d4
~ name = "Mercury"
~ surname = "Night"
~ will_min = d2
-> step_flavor
+ > Venus Day
{ name != "Venus":
~ plus_free(will)
~ minus_free(strength)
}
~ name = "Venus"
~ surname = "Day"
~ will_min = d4
~ strength_min = d2
-> step_flavor
+ > Venus Night
{ name != "Venus":
~ plus_free(will)
~ minus_free(strength)
}
~ name = "Venus"
~ surname = "Night"
~ will_min = d4
~ strength_min = d2
-> step_flavor
=== step_flavor
Select your Mystery Flavor.
+ Egg -> step_pronouns
+ (Back) -> step_name
=== step1
<h2>Main stats</h2>
The stats are dice rolls. You upgrade your dice rolls from d2 (a 1-2 coin toss) to d20 (1-20). Roll targets can range from easy (2) to almost impossible (19). You win rolls on a draw.
Strength: {link("-", "str_minus")} {strength} {link("+", "str_plus")}
Will: {link("-", "will_minus")} {will} {link("+", "will_plus")}
Humanity: {link("-", "hum_minus")} {humanity} {link("+", "hum_plus")}
You have {attrpoints} points left.
+ Next -> step2
=== step2
Choose your magic type.
+ Back -> step1
+ Writing Magic<st>Manifest words into reality. If you write BOOM, it's an explosion; if you write EXIT, it's a new door.</st>[]
~ magic = "writing"
-> step_skills
+ Comic Magic<st>You run on comic logic.</st>
~ magic = "comic"
-> step_skills
=== step_skills
Choose your starting skills. You cannot go over the attribute value.
Athletics (Strength): {link("-", "athletics_minus")} {athletics} {link("+", "athletics_plus")}
<small>Jumping, Running.</small>
Fighting (Strength): {link("-", "fighing_minus")} {fighting} {link("+", "fighing_plus")}
Shooting (Strength): {link("-", "shooting_minus")} {shooting} {link("+", "shooting_plus")}
Conceal (Will): {link("-", "conceal_minus")} {conceal} {link("+", "conceal_plus")}
<st>Sneaking, Disguise.</st>
First Aid (Will): {link("-", "firstaid_minus")} {first_aid} {link("+", "firstaid_plus")}
Driving (Will): {link("-", "driving_minus")} {driving} {link("+", "driving_plus")}
Performance (Strength): {link("-", "performance_minus")} {performance} {link("+", "performance_plus")}
{magic:
- "writing":
Magic (writing) (inverse Humanity): {link("-", "writingmagic_minus")} {writing_magic} {link("+", "writingmagic_plus")}
- "comic":
Magic (comic) (inverse Humanity): {link("-", "str_minus")} {comicmagic_magic} {link("+", "comicmagic_plus")}
}
+ Back -> step2
+ Finish -> finish
=== finish
-> END
=== function link(text, target) ===
~ return "<a class='inlinelink' href='\#' data-href='{target}'>{text}</a>"
=== function roll(ref attr)
~ return RANDOM(1, LIST_VALUE(attr))