(t8n: "fade") + (transition-time: 3s)[//Greetings, traveller!// ]
(after: 2s) [(t8n: "fade") + (transition-time: 4s)[//I'm on my way to the town of Port Gaeleach. I hear it is the place to be, if you want to seek your fortune among the Circle of Bards.// ]]
(after: 4s) [(t8n: "fade") + (transition-time: 4s)[//The who, you say? Only the finest, smartest, scrappiest band of brothers you could ever hope to join. And I intend to join them.// ]]
(after: 6s) [(t8n: "fade") + (transition-time: 4s)[//I am (link-reveal-goto: "strong", "Title page 2")[(set: $playermove to "strong")] and (link-reveal-goto: "agile", "Title page 2")[(set: $playermove to "agile")] in a duel, and a (link-reveal-goto: "deft hand", "Title page 2")[(set: $playermove to "witty")] on the lute, no less than the best of them.
And if that's not good enough, I'm (link-reveal-goto: "rich", "Title page 2")[(set: $playermove to "rich")]. They're sure to take me in.// ]]
(after: 8s) [(t8n: "fade") + (transition-time: 4s)[//Going my way?// ]]
(set: $dex to 3)
(set: $con to 3)
(set: $cha to 3)
(set: $wildcards to 7)
(set: $money to 3)
(if: $playermove is "witty")[(set: $cha to 7)]
(if: $playermove is "agile")[(set: $dex to 7)]
(if: $playermove is "strong")[(set: $con to 7)]
(if: $playermove is "rich")[(set: $money to 50)]
(set: $honour to 1)
(set: $sta to $con) <!-- stamina and constitution, like health points. constitution is full normal total, stamina is points lost in combat. --!>
(set: $xp to 0)
(set: $armourtype to "Peasant clothes", $armour to 1, $dexbonus to 1)
(set: $instrument to "Ordinary Lute", $chabonus to 0)
(set: $food to 2)
(set: $outfits to (a: "Peasant clothes", "Feathered hat"))
(set: $inventory to (a: "Fencing rapier", "Ordinary Lute"))
(set: $bandages to 1)
(set: $finditem to "nothing")
(set: $foot to "equal") <!-- shows whether player is on front or back foot in each fencing round. Set it to 'none' in the first round. --!>
<!-- this group defines what quest you're on, its step value, and your objective --!>
(set: $quest to "Find a bard and join the Bardic Circle.")
(set: $queststep to 1)
(set: $exploring to "Market Square", $distance to 1)
(set: $feature to (a: "name of place you could find while exploring uptown lowertown or countryside", "its description", "is it a business? no or type"))
<!-- encounters! Name of person, threat level ( none or low to bloodyhell), description, merchant no/service name.) --!>
(set: $encounter to (a: "nobody", 1, "type of service or no"))
(set: $message to "nothing")
(set: $questmove to "none")
(set: $deathcount to 100)
(set: $duelswon to 0, $showswon to 0, $maxdist to 1)
(go-to: "Exploring")
(set: $playermove to "none", $playerresult to 0) \
|=
<center>$armourtype
(print: $armour) </center>
=|=
<center>(if: $sta is <= 2)[(text-color: red)[Stamina]](else:)[Stamina]
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
<center>
(text-size:1.5)[(link-reveal-goto: "High", "Core Loop 2 Resolve Combat")[(set: $playermove to "hi")]]
|=
(if: $foot is "front")[Front Foot!] \
(if: $foot is "equal")[Equal Footing!] \
=|=
<center>(text-size:1.5)[(text-size:1.5)[(link-reveal-goto: "Middle", "Core Loop 2 Resolve Combat")[(set: $playermove to "mid")]]
]</center>
=|=
(if: $foot is "back")[Back Foot!] \
(if: $foot is "equal")[Equal Footing!] \
|==|
(text-size:1.5)[(text-size:1.5)[(link-reveal-goto: "Low", "Core Loop 2 Resolve Combat")[(set: $playermove to "low")]]
]
• [[Feint->Feint 1 resolve]] • [[Parry->Parry 1 resolve]] • \
(if: $wildcards is >0)[[[Trick->Trick 1 resolve]]](else:)[(text-color: grey)[Trick]] • \
(if: $wildcards is >0)[[[Rush->Rush 1 resolve]]](else:)[(text-color: grey)[Smash]] • \
[[Yield->player yield]] •
</center>
---
<center>(print: 1st of $encounter) </center>
|=
<center>Armour
(print: $opponentarmour) </center>
=|=
<center>Speed
(print: $opponentdex) </center>
=|=
<center> (if: $opponentsta is <= 2)[(text-color: red)[Stamina]](else:)[Stamina]
(print: $opponentsta) </center>
=|=
<center>Honour
(print: $opponenthonour) </center>
=|=
<center>Last Move
(print: $lastmove) </center>
|==|
(set: $timer to $opponentspeed) \
{(live: 0.01s)[ (set: $timer to it -0.01) \
(meter: bind $timer, $opponentspeed, "•", "Opponent preparing to attack...", blue ) ]} \
(event: when $timer < 0)[(set: $playermove to "none") (goto: "Core Loop 2 Resolve Combat")]
(set: $opponentmove to (either: "hi", "mid", "low"))
(set: $opponentresult to (random: 1,20) + $opponentdex - $armour)
(if: $playermove is not "none") [
(set: $playerresult to (random: 1,20))
(if: $foot is "front" and $playermove is not $opponentmove)[
(set: $temp to (random: 1,20))
(if: $temp > $playerresult)[(set: $playerresult to $temp)]
]
(if: $foot is "back" and $playermove is not $opponentmove)[
(set: $temp to (random: 1,20))
(if: $temp > $opponentresult)[(set: $opponentresult to $temp)]
]
(set: $playerresult to it + $dex + $dexbonus - $opponentarmour)
]
(if: $playerresult is > $opponentresult)[(set: $winner to "player", $opponentsta to it -1, $foot to "front")]
(if: $playerresult is < $opponentresult)[(set: $winner to "opponent", $sta to it -1, $foot to "back")]
(if: $playerresult is $opponentresult)[(set: $winner to "none", $foot to "equal")]
(set: $lastmove to $opponentmove)
(goto: "Core Loop 3 Display Result")
(if: $playermove is "none")[(print: 1st of $encounter) moves fast and strikes!](else:)[As you are on the (print: $foot) foot...]
---
|=
==>
(if: $playermove is "hi")[You thrust high! • (print: $playerresult)]
=|=
(if: $opponentmove is "hi")[(print: $opponentresult) • (print: 1st of $encounter) thrusts high!]
|==|
|=
==>
(if: $playermove is "mid")[You thrust to the middle! • (print: $playerresult)]
=|=
(if: $opponentmove is "mid")[(print: $opponentresult) • (print: 1st of $encounter) thrusts to the middle!]
|==|
|=
==>
(if: $playermove is "low")[You thrust low! • (print: $playerresult)]
=|=
(if: $opponentmove is "low")[(print: $opponentresult) • (print: 1st of $encounter) thrusts low!]
|==|
<center> \
(if: $winner is "player")[(text-color:green)[You strike (print: 1st of $encounter)!]] \
(if: $winner is "opponent")[(text-color:red)[(print: 1st of $encounter) strikes you!]] \
(if: $winner is "none")[You both miss each other!]
(if: $wildcards > 0 and $winner is "opponent" and $sta is not 0)[[Riposte]] \
(if: $wildcards is <= 0)[(text-color:grey)[No wildcards left!]]
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
</center>(if: $questmove is "fight")[(set: $queststep to it +1, $duelswon to it +1), (go-to: "Exploring")] \
(text-colour: green)[You win the duel!]
The (print: 1st of $encounter) acknowledges your superior swordplay skill, and asks for you to let them walk away in peace.
---
==>
[[Let them go.]]
(link-reveal-goto: "Stab them!", "stab them") [(set: $playermove to "stab them")]
(text-color: red)[The (print: 1st of $encounter) Wins! ]
(set: $xp to it + ($threat / 4) + 1)
(if: $opponenthonour is < 1)[(set: $money to 0)They also take all your money!]
(set: $deathcount to 8)
(text-color: red) [You are bleeding out.] Bandage your wounds, or find a person or place that can help you heal. An apothecary, a hospital, a doctor, even a witch...
(set: $xp to (ceil: $xp))
==>
Continue [[Exploring]]
<==
(display: "exploration interface footer")
//Bards of Summerland// is a text-based fantasy adventure game of fencing and bardic performance, by Brendan Myers, set in the world of his novel, //Whisperlights//.
All references to anything other than stuff from Brendan's novels are purely coincidental, except insofar as they may entertain one Mr. Greg Currie. :-)
---
|=
~•~
=||=
[[Getting Started]]
[[Exploring the world]]
[[Playing Music]]
=||=
[[Fighting Duels]]
[[Front and Back Foot]]
[[Treating Injuries]]
=||=
[[Gaining Wildcards]]
[[Trick Moves]]
[[Experience and Honour]]
=|=
==>
~•~
|==|
---
==>
[[Start again from the beginning->Start]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]<!-- note that opponent money and opponent honour is set in the encounter description passages, not here. --!>
<!-- first we set the base scores for a low threat level encounter --!>
(set: $opponentarmour to 2)
(set: $opponentdex to 2)
(set: $opponentsta to 3)
(set: $opponentwildcards to 1)
<!-- next we buff them up according to the actual threat level. Include that things get more dangerous every five steps of distance from the market square. then round up to the nearest whole number. --!>
(if: $queststep is 15)[(set: $threat to 8 ) ] (else:) [(set: $threat to 2nd of $encounter + ($distance / 7))]
(set: $threat to (ceil: $threat))
(if: $exploring is "Market Square")[(set: $threat to it -1)]
(set: $opponentarmour to it + $threat)
(set: $opponentdex to it + $threat)
(set: $opponentsta to it + $threat)
(set: $opponentwildcards to it + $threat)
<!-- finally set the speed. a higher 2nd of opponent is a slower opponent --!>
(set: $opponentspeed to 8 - 2nd of $encounter)
(if: $opponentspeed is < 2)[(set: $opponentspeed to 1.5)]
(go-to: "Challenge to a Duel 2 display")(set: $opponentmove to (either: "hi", "mid", "low")) \
(set: $opponentresult to (random: 1,20) ) \
(set: $playerresult to (random: 1,20))
(if: $foot is "front")[
(set: $temp to (random: 1,20))
(if: $temp > $playerresult)[(set: $playerresult to $temp)]
]
(if: $foot is "back")[
(set: $temp to (random: 1,20))
(if: $temp > $opponentresult)[(set: $opponentresult to $temp)]
]
(set: $playerresult to it + $dex + $dexbonus)
(set: $opponentresult to it + $opponentdex - $armour)
(if: $playerresult is > $opponentresult)[(set: $winner to "player", $wildcards to it +1, $foot to "equal")]
(if: $playerresult is < $opponentresult)[(set: $winner to "opponent", $sta to it -1, $foot to "back")]
(if: $playerresult is $opponentresult)[(set: $winner to "none", $foot to "equal")]
(set: $lastmove to $opponentmove)
(go-to: "Feint 2 display")
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Feint! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(if: $winner is "player")[(text-color:green)[You feint and gain a wildcard! ]] \
(if: $winner is "opponent")[(text-color:red)[(print: 1st of $encounter) strikes you!]] \
(if: $winner is "none")[You both miss each other!]
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
(set: $opponentmove to (either: "hi", "mid", "low")) \
(set: $opponentresult to (random: 1,20) + $opponentdex) \
(set: $playerresult to (random: 1,20))
(if: $foot is "front")[
(set: $temp to (random: 1,20))
(if: $temp > $playerresult)[(set: $playerresult to $temp)]
]
(if: $foot is "back")[
(set: $temp to (random: 1,20))
(if: $temp > $opponentresult)[(set: $opponentresult to $temp)]
]
(set: $playerresult to it + $dex + $dexbonus)
(if: $playerresult is > $opponentresult)[(set: $winner to "player")]
(if: $playerresult is < $opponentresult)[(set: $winner to "opponent", $sta to it -1)]
(if: $playerresult is $opponentresult)[(set: $winner to "none")]
(set: $lastmove to $opponentmove)
(go-to: "Parry 2 display")
(set: $foot to "front") \
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Parry! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(if: $winner is "player")[(text-color:green)[You parry and advance to the front foot! ]] \
(if: $winner is "opponent")[(text-color:red)[The (print: 1st of $encounter) strikes you!]] \
(if: $winner is "none")[You both miss each other, but you advance to the front foot anyway!]
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
(set: $wildcards to it -1) \
(set: $playerresult to (random: 1,20) + $dex + $dexbonus) \
(if: $playerresult is > $opponentarmour + $opponentdex + $opponentsta)[(set: $winner to "player", $foot to "equal", $opponentsta to it -1)] \
(if: $playerresult is < $opponentarmour + $opponentdex + $opponentsta)[(set: $winner to "opponent", $foot to "back")] \
(if: $playerresult is $opponentarmour + $opponentdex + $opponentsta)[(set: $winner to "none")]
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Riposte! • (print: $playerresult)
=|=
(print: $opponentarmour + $opponentdex + $opponentsta) • (print: 1st of $encounter) defend!
|==|
<center> \
(if: $winner is "player")[(text-color:green)[You riposte and strike the (print: 1st of $encounter)!]] \
(if: $winner is "opponent")[(text-color:red)[Your attempt to riposte fails and you go on the back foot!]] \
(if: $winner is "none")[Your attempt to riposte fails!]
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
(set: $opponentmove to (either: "hi", "mid", "low"))
(set: $opponentresult to (random: 1,20) + $opponentdex - $armour)
(set: $wildcards to it -1)
(set: $playerresult to (random: 1,20))
(if: $foot is "front")[
(set: $temp to (random: 1,20))
(if: $temp > $playerresult)[(set: $playerresult to $temp)]
]
(if: $foot is "back")[
(set: $temp to (random: 1,20))
(if: $temp > $opponentresult)[(set: $opponentresult to $temp)]
]
(set: $playerresult to it + $dex + $dexbonus - $opponentarmour + 10)
(if: $playerresult is > $opponentresult)[(set: $winner to "player", $foot to "equal", $opponentsta to it -3)]
(if: $playerresult is < $opponentresult)[(set: $winner to "opponent", $sta to it -1, $foot to "back")]
(if: $playerresult is $opponentresult)[(set: $winner to "none", $foot to "equal")]
(set: $lastmove to $opponentmove)
(go-to: "Rush 2 display")
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Rush! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(if: $winner is "player")[(text-color:green)[You rush at (print: 1st of $encounter) and cause more damage!]] \
(if: $winner is "opponent")[(text-color:red)[(print: 1st of $encounter) strikes you!]] \
(if: $winner is "none")[You both miss each other!]
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
(set: $wildcards to it -1)
(set: $opponentmove to (either: "hi", "mid", "low"))
(set: $opponentresult to (random: 1,20) + $opponentdex - $armour)
(set: $playerresult to (random: 1,20))
(if: $foot is "front")[
(set: $temp to (random: 1,20))
(if: $temp > $playerresult)[(set: $playerresult to $temp)]
]
(if: $foot is "back")[
(set: $temp to (random: 1,20))
(if: $temp > $opponentresult)[(set: $opponentresult to $temp)]
]
(set: $playerresult to it + $dex + $dexbonus - $opponentarmour)
(if: $playerresult is > $opponentresult)[(set: $winner to "player", $foot to "equal")]
(if: $playerresult is < $opponentresult)[(set: $winner to "opponent", $sta to it -1, $foot to "back")]
(if: $playerresult is $opponentresult)[(set: $winner to "none", $foot to "equal")]
(set: $lastmove to $opponentmove)
(set: $playermove to (either: "disarm", "trip", "cut armour", "break hand"))
(if: $playerresult >= $opponentresult +10)[(set: $playermove to "knockout")]
(if: $winner is "player")[(go-to: $playermove)](else:)[(go-to: "Trick 2 fail")]
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(if: $winner is "opponent")[(text-color:red)[(print: 1st of $encounter) strikes you!]] \
(if: $winner is "none")[You both miss each other!] \
(event: when time >2s)[
(if: $sta <= 0)[(go-to: "Opponent Wins")]
(if: $opponentsta <= 0)[(go-to: "Player Wins")]
(if: $sta > 0 and $opponentsta > 0)[((go-to: "Core Loop 1 Player's Move")]
]
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot to their hand! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(text-color:green)[You disarm (print: 1st of $encounter)! Their rapier falls to the ground at your feet.]
|=
<center>[[Return it to them->return weapon]]</center>
=|=
<center>[[Stab them with it->stab them]]</center>
=|=
<center>[[Demand that they yield->demand yield]] </center>
|=|
[[Or do nothing as they get it back on their own...->disarm 2 wait]]
You chose to return (print: 1st of $encounter)'s weapon to them.
The witnesses are impressed by your sense of fair play.
==>
<font size=-1>+1 honour</font>
(set: $honour to it +1)
</font>
---
[[Continue->Core Loop 1 Player's Move]]You chose to stab (print: 1st of $encounter) while they are defenseless.
(set: $honour to it -1, $opponentsta to it -3) \
(if: $honour >2)[(set: $honour to (floor: (it / 2))) ]
The witnesses are angered by your sense of foul play.
(if: $opponentsta is >=1) [Though wounded, the (print: 1st of $encounter) prepares for another attack! ]
---
==>
<font size=-1>-1 honour</font>
(set: $playermove to "stab them")
(if: $opponentsta is <= 0)[ [[Continue->Player kills opponent]] ] (else:) [ [[En garde!->Core Loop 1 Player's Move]] ]
You chose to watch as (print: 1st of $encounter) picked up their weapon without your help.
The onlookers are annoyed by your lack of good form.
==>
<font size=-1>-1 honour</font>
(set: $honour to it -1)
</font>
---
[[Continue->Core Loop 1 Player's Move]](if: $questmove is "fight")[(set: $queststep to it +1), (go-to: "Exploring")] \
With your last thrust, (print: 1st of $encounter) scuttles away on the ground, but falls down, bleeding, and dies.
(set: $xp to it + $threat + $opponentdex + 1, $deathcount to 100)
Since you stabbed them when they were down, the witnesses are especially outraged.
(if: $honour <= 0)[(set: $honour to it -1)] (else:) [(set: $honour to it -3) ]
==>
---
(set: $duelswon to it +1)
[[Rob them]]
[[Walk away->Exploring]]
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot to their feet! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(text-color:green)[You trip (print: 1st of $encounter)! They fall to the ground before you.]
|=
<center>[[Help them get back up->help get up]]</center>
=|=
<center>[[Stab while they're down->stab them]]</center>
=|=
<center>[[Demand that they yield->demand yield]] </center>
|=|
[[Or do nothing as they get back up on their own...->Core Loop 1 Player's Move]]
You chose to help (print: 1st of $encounter) get back on their feet.
The witnesses are impressed by your sense of fair play.
==>
<font size=-1>+1 honour</font>
(set: $honour to it +1)
</font>
---
[[Continue->Core Loop 1 Player's Move]]|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot to their armour! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(text-color:green)[You cut a strap on (print: 1st of $encounter)'s armour!]
A piece of it falls off. They are less protected now.
(set: $opponentarmour to it / 2)
|=
<center>[[Riposte]]</center>
=|=
<center>[[Demand yield->demand yield]]</center>
|==|
[[Or do nothing and let them prepare for your next attack...->Core Loop 1 Player's Move]]
You demand that (print: 1st of $encounter) must yield.
(if: $queststep is not 16 and $opponentsta < ($sta/3))[ \
And (print: 1st of $encounter) says: //"Very well. You are the better fighter today. I yield"//.
==>
---
[[Let them go->Player Wins]] \
](else:)[But (print: 1st of $encounter) says: //"Never, you cur! En garde!"//.
==>
---
[[Continue->Core Loop 1 Player's Move]]
]|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot to the hand! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(text-color:green)[You broke a bone in (print: 1st of $encounter)'s fighting hand!]
Weakened, they switch to their other hand.
(set: $opponentdex to it / 2)
|=
<center>[[Riposte]]</center>
=|=
<center>[[Demand yield->demand yield]]</center>
|==|
[[Or do nothing and let them prepare for your next attack...->Core Loop 1 Player's Move]]
|=
<center>(print: $armourtype)
(print: $armour) </center>
=|=
<center>Stamina
(print: $sta) / $con </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|==
==>
Trick shot to their head! • (print: $playerresult)
=|=
(print: $opponentresult) • (print: 1st of $encounter) thrusts (print: $opponentmove)!
|==|
<center> \
(text-color:green)[You knock (print: 1st of $encounter) unconscious!]
They fall to the ground at your feet, unmoving.
(if: $questmove is "fight")[(set: $queststep to it +1) [[Continue->Exploring]] ] (else:) [ [[Take them somewhere safe->take to safety]] • [[Rob them->Rob them]] • [[Stab them->Player kills opponent]] ]
You choose to take (print: 1st of $encounter) to the nearest inn. The staff are impressed by your honour. They clean him up and give him a bed to rest.
==>
<font size=-1>Honour +1</font>
(set: $honour to it +1)
[[Exploring]] You take all (print: 1st of $encounter)'s money, and leave him lying where he fell.
The witnesses are unimpressed by your opportunism at his expense.
==>
<font size=-1>Honour -1</font>
(set: $honour to it -1) \
(set: $money to it + $opponentmoney)
---
[[Walk away->Exploring]] You drop your weapon and hold up your hands, offerign to yield.
(if: $honour + $opponenthonour >=1)[(set: $opponentmove to "accept")](else:)[(set: $opponentmove to "reject")]
(if: $queststep is 15)[(set: $opponentmove to "reject")]
(if: $opponentmove is "accept")[ \
(print: 1st of $encounter) says: //"I accept your surrender. Well played, my friend, well played!"//
==>
[[Stab them as they sheath their sword->stab them]]
[[Continue->Exploring]]
] \
(if: $opponentmove is "reject")[ \
(print: 1st of $encounter) says: //"I don't want your submission, you fool. I want your blood!"//
==>
[[Continue->Core Loop 1 Player's Move]]
]
(if: $deathcount is <= 8)[(set: $deathcount to it -1)]
(if: $deathcount is 0)[(go-to: "game end player death")]
(if: $exploring is "Market Square")[(go-to: "Market Square")]
(set: $distance to it +1)
(if: $distance > $maxdist)[(set: $maxdist to $distance)]
(display: $exploring)
<!-- some of the quest detection can go here too --!>
(if: $queststep is 2 and $exploring is "Lowertown" and $distance is > 5 and (random: 1,3) is 3 )[(display: "The Dew Drop Inn")]
(if: $queststep is 3) [(go-to: "Story 3")]
(if: $queststep is 9) [(go-to: "Story 9")]
(if: $queststep is 12) [(go-to: "Story 12")]
(if: $queststep is 14) [(go-to: "Story 14")]
(if: $queststep is 16) [(go-to: "Story 16")]
(if: $sta is 0 and (random: 1,3) is 1) [(set: 1st of $encounter to (either: "Doctor", "Witch")) ]
(if: $distance is >6 and (random: 1,8) is 1) [(go-to: "Random Attack")]
(if: $distance is >5 and (random: 1,6) is 1 and $exploring is "The Countryside") [(go-to: "Random Attack")]
(if: $distance is >= 3)[(go-to: "Feature Display")] (else:) [(go-to: "Exploring 2") ]
''How Duelling Works:''
---
(text-indent: 35)[In each round of the duel, you as a player choose whether to strike your opponent aiming high, middle, or low. The opponent also strikes at you, aiming high, middle, or low.]
(text-indent: 35)[The game rolls a 20-sided die, adds your dexterity, and subtracts the value of the armour your opponent is wearing. A similar dice throw is rolled for the opponent. ]
(text-indent: 35)[Whichever player has the higher result wins the round, taking off one point of stamina from the loser.]
(text-indent: 35)[Watch the countdown bar at the bottom of the screen! If you don't choose your action before it disappears, the opponent will strike!]
(text-indent: 35)[The first player to drop to zero stamina loses the duel.]
---
|=
Previous topic:
[[Playing Music]]
=|=
==>
Next topic:
[[Front and Back Foot]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]''Front foot and back foot:''
---
(text-indent: 35)[While duelling, whichever combatant rolled higher in the previous round is considered //on the front foot// for the next round; the other fighter goes on the back foot.]
(text-indent: 35)[The player on the front foot rolls with advantage (that is, rolling the d20 twice, and taking the better of the two results), //unless// the two combatants strike each other at the same level: low, middle, or high.]
(text-indent: 35)[While duelling, you can chose to //parry// instead of strike. You roll your d20 as usual, but without subtracting the opponent's armour from the result, making it more likely to succeed. If your parry succeeds, you do no harm to the opponent but you will go on the front foot in the next round, thus improving your chance of striking.]
---
|=
Previous topic:
[[Fighting Duels]]
=|=
==>
Next topic:
[[Treating Injuries]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]''Trick Moves''
---
(text-indent: 35)[You can play a Wildcard during a duel, to make one of the following special moves:]
(text-indent: 35)[//Feint -// if you succeed on your attack, you do no damage to the opponent's stamina, but you gain a wildcard. As when you parry, you ignore the opponent's armour in the action dice throw.]
(text-indent: 35)[//Riposte -// If the opponent wins a round of the duel, you can play a wildcard to make an immediate counter-attack. You roll a d20; if the result plus your dexterity is higher than the opponent's combined dexterity, stamina, and armour rating, you score a new point against the opponent.]
(text-indent: 35)[//Trick -// This produces a random result, such as damaging the opponent's armour, causing the opponent to drop their weapon, or tripping the opponent and so gaining an extra attack. Requires a wildcard. Depending on your choices, you can gain or lose honour here.]
(text-indent: 35)[//Rush -// You attack with greater force and speed, and cause more injury to the opponent. Requires a wildcard.]
(text-indent: 35)[//Yield -// You end the duel, admitting defeat. Depending on how your honour compares to the opponent's, this may go well for you, or poorly.]
---
|=
Previous topic:
[[Gaining Wildcards]]
=|=
==>
Next topic:
[[Experience and Honour]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]''Experience and Honour''
---
(text-indent: 35)[Each time you fight a duel, you gain experience points. Winning a duel earns points in proportion to how tough the opponent was. But losing a duel earns you a small amount of experience as well.]
(text-indent: 35)[You can also gain experience by charming audiences with your musical talent, following the story, or returning lost items to people who ask you to find them.]
(text-indent: 35)[In the Inventory menu, you can trade your experience points to improve your dexterity, charisma, or health. A notice will also appear on the Exploration screen when a level-up is available.]
(text-indent: 35)[Note, however, that you have to treat your injuries before you can level-up! ]
(text-indent: 35)[Swashbucklers admire panache, good style, and fair play. You can gain honour by being gratious when you win. You can lose honour by stealing things from a defeated opponent, or by killing them without need. You can also lose honour by walking away from a busking performance before you finish it.]
---
<==
Previous topic:
[[Trick Moves]]
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]''Exploring the town of Port Gaeleach''
---
(text-indent: 35)[Port Gealach is a lakeside market town, in the Western Canton of the Thousand Valleys, the central region of a fairy-tale world called Summerland.]
(text-indent: 35)[You can explore its uptown and lowertown, as well as the countryside beyond. You can enter most shops and establishments, meet its various people-- and challenge them to duels.]
(text-indent: 35)[The further you venture from the Market Square, the more dangerous the adversaries you will encounter, but the greater the rewards.]
(text-indent: 35)[Thus, you might want to buy some food, or get better armour, before you do anything else!]
---
|=
Previous topic:
[[Getting Started]]
=|=
==>
Next topic:
[[Playing Music]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]||=
Honour
Dexterity
Charisma
Constitution
(if: $sta is not $con)[(text-color: red)[Stamina]](else:)[Stamina]
Wildcards
Money
Experience
[[How To Play]]
[[See Score->Final Score]]
=|=
$honour
$dex (if: $xp >= 7 and $sta is $con)[(link-reveal-goto: "⬆︎⬆︎", "Level Up Resolve")[(set: $playermove to "dex")] ]
$cha (if: $xp >= 7 and $sta is $con)[(link-reveal-goto: "⬆︎⬆︎", "Level Up Resolve")[(set: $playermove to "cha")] ]
$con (if: $xp >= 7 and $sta is $con)[(link-reveal-goto: "⬆︎⬆︎", "Level Up Resolve")[(set: $playermove to "con")] ]
(if: $sta is <= 2)[(text-color: red)[$sta]](else:)[$sta]
$wildcards
$money
$xp
=|||||||||=
Your current quest:
$quest
---
Outfit: $armourtype.
<font size=-1> Armour value $armour, Dex bonus $dexbonus. [[Change?->equip outfit]] </font>
Instrument: $instrument.
<font size=-1>Performance bonus $chabonus. [[Change?->equip instrument]] </font>
Food: $food bundles. <font size=-1>
(if: $sta is $con and $food is not 0)[(text-color: grey)[No need to eat right now.]] \
(if: $food >= 1 and $sta >= 1 and $sta is not $con) [ [[Eat food]] to restore lost stamina] \
(if: $food >= 1 and $sta is 0)[(text-color: grey)[Eating won't help when you're bleeding...] ] \
(if: $food is 0) [(text-color: grey)[Nothing to eat!] ]
</font>
Bandages: $bandages.
<font size=-1> (if: $sta <= 0 and $bandages > 0)[ [[Use bandages]] ] (else:) [(text-color: grey)[No need to use bandages right now.] ] </font>
Other items:
(for: each _item, ...$inventory)[(print: _item), ]
---
==>
[[Return->Exploring]]
''Restoring Lost Stamina''
---
(text-indent: 35)[You can restore lost stamina by eating food, resting in a hostel or an inn, or speaking to people who might be able to help.]
(text-indent: 35)[If your stamina has dropped to zero and you're bleeding out, you can stabilize yourself with bandages.]
(text-indent: 35)[You can always find these things for sale in the Market Square, although you'll pay the highest prices there.]
(text-indent: 35)[Explore more of the world to find people who might offer a better price for these materials and services, or who can help you in other ways: teaching skills, offering knowledge, offering odd jobs, and so on.]
---
|=
Previous topic:
[[Front and Back Foot]]
=|=
==>
Next topic:
[[Gaining Wildcards]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]<center>''Market Square''</center>
(set: $exploring to "Market Square", $distance to 1) \
(text-indent: 35)[Numerous shops line the perimeter of this wide cobblestone square; market carts and tents fill the centre. Among the customers and merchants, children and horses and dogs wander about. Campaigners stand on boxes to make speeches. And the bards, puppeteers, and clowns perform for delighted audiences. In the centre of the square, there's a statue of two men playing guitars. It's busy, noisy, and a little messy, but it's alive.]
---
|=
(link-reveal-goto: "Inn", "resting")[(set: 1st of $encounter to "Innkeeper")]
(link-reveal-goto: "Apothecary", "healing")[(set: 1st of $encounter to "Apothecary")]
(link-reveal-goto: "Greengrocery", "buying food")[(set: 1st of $encounter to "Grocer")]
[[Armourer->buy armour]]
[[Tailor->buy clothing]]
[[Luthier]]
[[Pawn Shop]]
=|=
=><=
[[Talk to someone]]
(if: $deathcount is <= 8) [(text-color: grey)[Can't play music while bleeding out!]] (else:) [ [[Play a few songs]] ]
[[Display Inventory]]
=|=
==>
Explore:
(link-reveal-goto: "Uptown", "Exploring")[(set: $exploring to "Uptown")]
(link-reveal-goto: "Lowertown", "Exploring")[(set: $exploring to "Lowertown")]
(link-reveal-goto: "The Countryside", "Exploring")[(set: $exploring to "The Countryside")]
|==|
(display: "exploration interface footer")
<center> ''(print: 1st of $feature), in $exploring'' </center>
(display: 1st of $feature) \
(text-indent: 35)[(print: 2nd of $feature)]
(if: $queststep is 1 and $distance >7 and (random: 1,5) is 1)[(set: 1st of $encounter to "Bard")] \
(if: $queststep is <= 5 and $exploring is "Lowertown" and $distance is >5 and (random: 1,3) is 1)[(set: 1st of $encounter to "Tharg the Lizard Man")] \
(if: $queststep is 11 and $distance is >5 and (random: 1,3) is 1)[ (set: 1st of $encounter to "Forest Witch") ] \
---
|==
[[Search the area]]
(if: 3rd of $feature is not "no") [ [[Let's do business.]] ]
$distance
=|=
=><=
Talk to:
[[(print: 1st of $encounter)->Talk to someone]]
(if: $deathcount is <= 8) [(text-color: grey)[Can't play music while bleeding out!]] (else:) [ [[Play a few songs]] ]
[[Display Inventory]]
=|=
==>
Continue exploring
[[$exploring->Exploring]]
Return to the
[[Market Square]]
|==|
<==
(display: "exploration interface footer")
(if: $deathcount is <= 8)[(set: $deathcount to it -1)] \
(if: $deathcount is <= 0)[(go-to: "game end player death")] \
''<center> $exploring </center>''
---
(if: $exploring is "Market Square")[(set: 1st of $encounter to (either: "Police Officer", "High Society Lady", "Fishwife", "Grocer", "Butcher", "Baker", "Brewer", "Milkmaid", "Cobbler", "Carpenter", "Potter", "Tailor", "Town Crier", "Street Thug", "Vagrant", "Urchin", "Clown", "Worker", "Blacksmith", "Merchant", "Aunt Rosie" )) ] \
(if: $queststep is 1 and 1st of $encounter is "Bard") [(go-to: "Story 1")] \
(if: $queststep is 2 and 1st of $encounter is "Bard The Cat")[(go-to: "Story 2")] \
(if: $queststep is 4 and 1st of $encounter is "Tharg the Lizard Man" )[(go-to: "Story 4")] \
(if: $queststep is 5 and 1st of $encounter is "Tharg the Lizard Man" and "Mulberry Mead" is in $inventory)[(go-to: "Story 5")] \
(if: $queststep is 7 and 1st of $encounter is "Professor")[(go-to: "Story 7")] \
(if: $queststep is 11 and 1st of $encounter is "Forest Witch" )[(go-to: "Story 11")] \
(display: 1st of $encounter) \
(print: 1st of $encounter):
(if: $queststep is 1 and $exploring is "Market Square") [(set: $message to (either: "The thugs are more dangerous in Lowertown, but there are more of them in the countryside", "Doctors will patch up your wounds, but priests and witches will give you good luck. As long as you are honourable!", "Dancers are almost as magical as witches", "Ever notice how everybody seems to have lost something around here? It's like thieves steal things, then forget where they hid them!", "I once saw a bard playing a strange kind of guitar. Said it was a 'fender stratocaster'.", "Audiences uptown pay their bards better, but they're harder to impress.", "The further you go from the market, the more dangerous it gets out there. No matter which way you go.", "Never leave home without a food bundle or two, and some bandages. You never know what will hit you.", "Ever have the feeling that someone is playing with you?", "So many people challenging each other to duels these days-- it's a wonder you don't see half the people in town covered in bandages.", "I wish I could buy the Bardic Invasion Guitar. They say someone who plays it can make an audience love them, no matter what they play.", "If you start busking somewhere and you're any good, one of the old bards might approach you." ))] \
(if: $sta is <= 2)[(set: $message to (either: "You look exhausted.", "You look badly hurt!", "I think you might need a doctor.", "Were you in a duel just now?", "Is that blood on your tunic?"))]
(text-indent: 35)[ //(print: $message) // ]
==>
(if: 2nd of $encounter is not 0 and $sta is > 0)[[Challenge to a duel!->Challenge to a Duel 1 setup]]
(if: 3rd of $encounter is not "no")[[Let's do business.]]
(if: $exploring is "Market Square")[[Talk to someone else->Talk to someone]]
Continue exploring [[$exploring->Exploring]]
<==
(display: "exploration interface footer")
(if: 3rd of $encounter is "find item")[(go-to: "find item")]
(if: 3rd of $encounter is "food" or 3rd of $feature is "food")[(go-to: "buying food")]
(if: 3rd of $encounter is "clothes" or 3rd of $feature is "clothes")[(go-to: "buy clothing")]
(if: 3rd of $encounter is "bless" and $honour >= 1)[(go-to: "temple blessing with honour")]
(if: 3rd of $encounter is "bless" and $honour <= 0)[(go-to: "temple blessing no honour")]
(if: 3rd of $encounter is "rest")[(go-to: "resting")]
(if: 3rd of $encounter is "heal")[(go-to: "healing")]
(if: 3rd of $encounter is "sexual healing")[(go-to: "sexual healing")]
(if: 3rd of $feature is "rest")[(set: 1st of $encounter to "Host") (go-to: "resting") ]
(if: 3rd of $feature is "heal")[(go-to: "healing")]
(if: 3rd of $feature is "temple healing" and $honour >= 1)[(go-to: "temple healing with honour")]
(if: 3rd of $feature is "temple healing" and $honour <= 0)[(go-to: "temple healing no honour")]
(if: 3rd of $feature is "temple blessing" and $honour >= 1)[(go-to: "temple blessing with honour")]
(if: 3rd of $feature is "temple blessing" and $honour <= 0)[(go-to: "temple blessing no honour")]
---
==>
[[Continue->Exploring]]
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Police Officer") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Police Whistle") \
\
(set: $message to (either: "Be careful when you go to Lowertown. Plenty of rough people there.", "Uptown may look cleaner and nicer, but there are plenty of footpads and bravos looking for a scrap, there as anywhere else.", "I never go to the countryside. Too messy, too wet. And too many strange things happen there.", "The Volscragg Gentleman's Society say they are a legitimate company of bodyguards for hire. I say they're a gang of thugs.")) \
\
(set: $opponentmoney to (random: 1,30)) \
(set: $opponenthonour to (random: 1,6) -3) <!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "High Society Lady") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Curly Blonde Wig") \
\
(set: $message to (either: "Do you play tennis?", "Did I see you at Lady Sangiovese's salon last week? Oh but of course I didn't.", "I hear that the Highbridge Hotel is soon to close. Pity. But then again, it was never quite as elegant as the Old Mill.","The countryside may be beautiful, but the brigands and highwaymen make the roads more dangerous than Lowertown.")) \
(set: 1st of $encounter to "Fishwife") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "food") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Cockles and mussels alive, alive oh!", "Fresh fish, fresh fish today! Caught just this morning!", "Herrings and mackrel and trout, oh my!", "Don't ask me about all the coming-to's and going-from's what happen round here. I'm just a fishwife.", "They call us fishwives because the council fixed it so that only we whose husbands died in the wars can sell fish in the market. So if not for the fish, we'd have nothing.", "This here market square is only part of town where no one will jump you at random. Everywhere else, you gotta watch yourself!")) \
(set: 1st of $encounter to "Grocer") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "food") \
(set: $finditem to "nothing") \
(set: $message to (either: "Fruits and vegetables, fruits and veggies! Fresh today!", "Apples, pears, plums, and lemons, fresh from the orchard!", "Want to buy a lemon? No? Whyever not?", "I once new a man who used to sleep so soundly, the only way to wake him up was to stuff a banana up his nose.", "When I drink coffee, I become invincible!... No, I will tell you when I've had enough!", "Ignore those other grocers in town. They might be cheaper, but they're stuff is rotted or full of maggots.", "I just love the Hamberger Cloak song.")) \
<!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Butcher") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "food") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Steaks, roasts, and cold cuts, no more than a day old!", "Beef, poultry, and ham, salted and ready for your table!", "Lord Sangiovese of Port Vivaldi once bought ten racks of ribs from me! It was the most glorious day of my life.", "Best price in the city for venison, right here!", "When you wander about the town it starts safe enough, but gets bad the further you go. But when you wander the countryside? By the gods, it starts bad. And then it gets even worse!")) \
<!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Baker") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "food") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Fresh baked bread! Smells lovely, eh?", "Loaves, rolls, cakes, baguettes, and pretzels here!", "You wouldn't believe how often those urchins steal from me when they think I'm not looking.", "Seems everybody these days is complaining about lost or stolen items...")) \
(set: 1st of $encounter to "Milkmaid") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Any milk today, mistress? Any milk today, mister?", "Fresh milk, butter, and cream, from my family farm!", "Is this going to be my life? Selling milk in the market to men who look at me like that?","The Market Square is the only safe place in town, and it's still got thieves and bullies everywhere.", "Seems everybody these days is complaining about lost or stolen items...")) \
(set: 1st of $encounter to "Cobbler") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Oh my name is Dick Darby, I'm a cobbler. (spits).", "Tired of soggy feet? Come to me, I have just the boots for you!", "Do you prefer ribbons or buckles on your shoes? I'm a buckles man, myself. Ribbon people are the scum of the earth.", "Do you prefer ribbons or buckles on your shoes? I like the ribbons, so I do. Buckled-shoe people are the scum of the earth.")) \
(set: 1st of $encounter to "Carpenter") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Special Hammer") \
\
(set: $message to (either: "Need a carpenter for anything?", "You want barrels? I'm a carpenter, not a cooper!", "It is a simple life, being a carpenter. Not like being a banker or landowner, moving money around. I get to make things, and see the result of my work finished in front of me.", "In Lowertown, the bullies are more dangerous than in Uptown, and they jump out at you more often. Watch out!")) \
<!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Potter") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I never wanted to be a potter. I wanted to be a lumberjack!", "Sorry, but I can't refill empty oil pots. You never know what kinds of critters might have got into them.", "I know thirty different kinds of glazes. Even invented a few new ones." )) \
(set: 1st of $encounter to "Tailor") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "clothes") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "You know that seam is going to tear any day now, eh?", "Your tunic looks like you haven't taken it off in a year. You need a new one.", "Business is good these days, what with all those silly rich people out-doing each other in foppishness.", "If a man draws attention to himself because of how he is dressed, he is not well dressed." )) \
<!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Town Crier") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "The mayor and council wish it to be known that the army camped only five day's march from their northern flank poses no threat, and is preparing to withdraw.", "The town council announces today that the road to Lavender Hill is safe again. The notorious outlaw gang who have harassed travelers for years were arrested, and will be hung for their crimes tomorrow.", "A reminder to all: it is a crime to cause harm to the town crier when he is performing his duties. If you don't like the news, don't take it out on me!", "The Council has approved a plan to expand the dockyards, adding room for more ships and warehouses. Those whose homes will be cleared away to make room will be compensated.", "Seems everybody these days is complaining about lost or stolen items...")) \
(set: 1st of $encounter to "Street Thug") \
(set: 2nd of $encounter to 1) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "This is my town, and I'll fight anyone who says otherwise!", "I got me a brand new sword. And I'm not afraid to use it.", "Get out of my way!", "You talkin' to me?", "Who you lookin' at?", "Hey you-- come here-- didn't you kill my brother?")) \
(set: $opponentmoney to (random: 1,5)) \
(set: $opponenthonour to (random: 1,6) -7) \
(set: 1st of $encounter to "Bard") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Ever hear the story of the miserly landlord who wouldn't let a bard stay in his castle for free, as was the ancient way? The bard killed him.", "You can make more money busking in Uptown than anywhere else, but the audiences there are more demanding.", "There are some kinds of songs that work better depending on where you are. Sing religious songs at temples, for instance. Sing love songs at brothels!", "When you're busking, try not to do the same kind of song twice. Audiences hate that.", "Schools, libraries, and the university are good places to sing historical ballads.")) \
\
(set: $opponentmoney to (random: 1,30) +10) \
(set: $opponenthonour to (random: 1,8) +4) \
(set: 1st of $encounter to "Vagrant") \
(set: 2nd of $encounter to 1) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I used to be the Man About Town, you know.", "Spare a few coins, please?", "It was plain old bad luck that brought me here. That, and the landlord doubling the rent on me.")) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Urchin") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Blanket") \
\
(set: $message to (either: "I can't find my parents.", "Are you my mummy?", "Please buy my matches, two for a penny...", "The further you go from the market, the more dangerous it is. Don't go!")) \
(set: 1st of $encounter to "Clown") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
(set: $message to (either: "Pagliacci the clown, at your service.", "For a few of those shiny silver coins, I'll leave you alone.", "Comedy is hard work.", "Come and see the show! Old Town Square, tomorrow at sundown!", "Would you like me to teach you how to juggle?", "Ever hear of the time that a gang of clowns beat up a gang of fire men? It's true, you know. We circus freaks work hard, and it makes us tough.")) \
(set: $opponentmoney to (random: 1,12)) \
(set: $opponenthonour to (random: 1,6)-2 ) \
<!-- encounters! Name of person, threat level (low to bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Brewer") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "My beers follow the Ancient Purity Laws, So ancient, we have no idea where they came from.", "Over in the Lower South Shore, they drink more than they do in Kellsland.", "I had to ban those Volscragg 'Gentlemen' from my pub. They drink too much, they don't pay, and they break the furniture when they fight.")) \
(if: $message is "random attacker")[A (print: 1st of $encounter) surprises you and attacks!] \
The (print: 1st of $encounter) looks to be \
(if: $sta >= $opponentsta+2)[much tougher than you. ]\
(if: $sta <= $opponentsta-2)[not as tough as you. ]\
(if: $sta <= $opponentsta +1 and $sta >= $opponentsta -1)[about as tough as you. ]
(if: $dex >= $opponentdex +2)[You're probably also faster, ] \
(if: $dex <= $opponentdex -2)[You're probably also slower, ] \
(if: $dex <= $opponentdex +1 and $dex >= $opponentdex -1)[You're about as fast, ] \
(if: $dex >= $opponentarmour +2)[and better armoured. ] \
(if: $dex <= $opponentarmour -2)[and not as well armoured. ] \
(if: $dex <= $opponentarmour +1 and $dex >= $opponentarmour -1)[and about equally as well armoured. ]
They \
(if: $threat is 1)[look worried about duelling you.] \
(if: $threat is 2)[look confident about duelling you; perhaps too confident for their own good.] \
(if: $threat is 3)[are probably a better duellist than you, but you might win if you're smart.] \
(if: $threat is 4)[are not frightened by you at all.] \
(if: $threat is >= 5)[(print: (either: "carry themselves like they could kill you with their finger", "probably killed lesser bravos than you before you were born", "might have more kills to their name than you have years in your life."))] \
---
==>
[[Begin the Duel->Core Loop 1 Player's Move]]
(if: $questmove is not "fight" and $message is not "random attacker")[(link-goto: "Think again", "Exploring")]
(set: $description to "Perched on the top of an escarpment above the lake sits Uptown, Port Gaeleach's more affluent and prosperous neighbourhood. Baroque and Gothic Revival buildings frame the wide avenues, with mosaics in the cobblestones and twinkling magic lanterns on the lampposts. Though cleaner and less crowded than Lowertown, it still has its share of secrets and dangers.") \
(set: 1st of $feature to (either: "Coffee House", "Temple", "Apothecary", "Library", "Theatre", "University", "Art Gallery", "Hotel", "Restaurant", "Garden", "Hospital", "Merchant Prince Palace" )) \
(set: 1st of $encounter to (either: "Tailor","High Society Lady", "Idle Youth", "Doctor", "Jeweller", "Watchmaker", "Artist", "Priest", "Professor", "Merchant", "Merchant Prince", "Bookseller", "Banker", "Landlord", "Occultist", "Mad Scientist", "Musketeer", "Town Crier", "Bard", "Aunt Rosie")) \
(if: $queststep is 1 and (random: 1,4) is 1) [(set: 1st of $encounter to "Bard")] \
(set: $description to "Lowertown is the oldest neighbourhood in Port Gaeleach, and it's where most of the town's workshops and industries are. Lying on a strip of land between a long and high escarpment to the north, and the waters of the Lake Of The Stars to the south, it is crowded, noisy, and sometimes run-down. But if you're aiming to become infamous, it's the place to be.") \
(set: 1st of $feature to (either: "Brothel", "Tavern", "Traveller's Inn", "Casino", "Warehouse", "Dockyard", "Pottery Workshop", "Carpentry Workshop", "Tannery", "Brewery", "Stable", "Poor School", "Blacksmith Workshop", "Homeless Shelter", "Dark Alley", "Abandoned House")) \
(set: 1st of $encounter to (either: "Street Thug", "Street Thug Crew Chief", "Mercenary", "Mercenary Captain", "Dancer", "Stonemason", "Stable Boy", "Sailor", "Sea Captain", "Shipwright", "Landlord", "Bohemian Poet", "Urban Witch", "Vagrant", "Plague Victim", "Urchin", "Worker", "Bard", "Tharg the Lizard Man" )) \
(if: $queststep is 1 and (random: 1,4) is 1) [(set: 1st of $encounter to "Bard")] \
(set: 1st of $feature to "Brothel") \
(set: 2nd of $feature to "At first it looks like the lobby of a small but charming hotel. But the music, the bordello lamps, and the erotic art on the walls, tell you that it is nothing of the sort. A conceirge asks you what your preferences are.") \
(set: 3rd of $feature to "sexual healing") \
(set: 1st of $encounter to (either: "Sailor", "Dancer", "Mercenary", "Idle Youth", "Merchant Prince")) \
(set: 1st of $feature to "Tavern") \
(set: 2nd of $feature to "Two bards perform together on the mainstage of this full and happy drinking hall. One has long grey-brown hair tied in a ponytail, and small round glasses. The other has dark hair, a well-trimmed beard, and the buds of stag antlers growing from his temples. Several women watch them with rapturous adoration.") \
(set: 3rd of $feature to "drink") \
(set: 1st of $encounter to (either: "Bard", "Brewer")) \
(set: 1st of $feature to "Traveller's Inn") \
(set: 2nd of $feature to "Beyond the front desk, you can see a hallway leading to several large rooms, each with a dozen bunks. Sailors, mostly, but also a few pilgrims and country folk, share quiet conversations in the lounge." ) \
(set: 3rd of $feature to "rest") \
(set: 1st of $encounter to (either: "Vagrant", "Sailor", "Innkeeper")) \
(set: 1st of $feature to "Casino") \
(set: 2nd of $feature to "The main gallery has two-score tables for card games, roulette wheels, and dice games. The staff are well dressed and polite. The patrons are excited, anxious, and hopeful." ) \
(set: 3rd of $feature to "gambling") \
(set: 1st of $encounter to (either: "Vagrant", "Sailor", "High Society Lady")) \
(set: $description to "Outside of town, to the east, north, and west, the roads enter the West Canton of the Thousand Valleys of Summerland. A landscape of rolling green and golden fields opens to the curious traveller, teeming with birds and rabbits and deer. The hill crests offer long views into the dreaming distance. And at night, the full spread of stars shine down. Yet here, too, are mysteries. What fairy-tale dangers await in the narrow forest paths, the hollow hedgerows, the twisting rivers, and the isolated cottages?") \
(set: 1st of $feature to (either: "Farm", "Hunter's Lodge", "Watch Tower", "Crossroad", "Stone Circle", "Witch's Cottage", "Ruined Castle", "Country Chateau", "Fairy Glade", "Bandit Camp", "Winery", "Forest", "Meadow", "Lakeside", "Observatory", "Grain Mill", "Festival Ground" )) \
(set: 1st of $encounter to (either: "Hunter", "Forest Ranger", "Farmer", "Milkmaid", "Pilgrim", "Musketeer", "Highwayman", "Bandit Leader", "Druid", "Fairy Changeling", "Teamster", "Bard", "Werewolf", "Witch", "Bard" )) \
(if: $queststep is 1 and (random: 1,4) is 1) [(set: 1st of $encounter to "Bard")] \
(if: $queststep is 8 and $distance is >5 and (random: 1,4) is 1)[(set: 1st of $feature to "Watch Tower")]
(if: $queststep is 13 and $distance is >5 and (random: 1,5) is 1)[(set: 1st of $feature to "Crossroad")] \
\
(if: $exploring is "Lowertown")[ (display: "Street Thug")]
(if: $exploring is "Uptown")[ (display: "Mercenary")]
(if: $exploring is "The Countryside")[ (display: "Highwayman")]
(set: $message to "random attacker")
(go-to: "Challenge to a Duel 1 setup")(set: 1st of $feature to "Warehouse") \
(set: 2nd of $feature to "Bundles of cloth and leather, barrels and earthenware jars of wine and olive oil, and wooden crates containing metal ingots line the shelves and fill the lofts in the rafters. A few birds come and go through the wide-open doors and skylights. Most workers go about their business of itemizing, storing, and retrieving things, though some seem to spend the whole day complaining to their supervisor about how much the other workers slack off.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Sea Captain", "Caravan Master", "Merchant", "Merchant Prince", "Accountant", "Worker")) \
(set: 1st of $feature to "Dockyard") \
(set: 2nd of $feature to "Port Gaeleach sits on the edge of a lake, which reaches the ocean through the river Wick. A wide variety of ships come to call here: from lakeboats for the fishing, to schooners and galleons for long distance trade.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Sea Captain", "Sailor", "Merchant", "Longshoreman", "Worker")) \
(set: 1st of $feature to "Pottery Workshop") \
(set: 2nd of $feature to "Two elderly people lean over their pottery wheels, turning the clay into bowls, goblets, and plates. A kiln burns nearby, hardening the clay into finished works.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Potter", "Milkmaid", "Worker")) \
(set: 1st of $feature to "Carpentry Workshop") \
(set: 2nd of $feature to "The din of hammers, chisels, saws, and sanders make it hard to hear anyone talking Sawdust floats about the floor and builds up in drifts in the corners.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Carpenter", "Worker")) \
(set: 1st of $encounter to "Worker") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Work Gloves") \
\
(set: $message to (either: "A jack of all trades, but a master of none.", "Who do you think does all the work around here?", "Those blue blooded merchant princes and gentry landlords wouldn't have to pennies to rub together if not for folks like me.", "Carpentry, pottery, leather tanning, stonecutting-- whatever you need, I can do it." )) \
(set: 1st of $feature to "Tannery") \
(set: 2nd of $feature to "This is perhaps the quietest workshop in Lowertown. Rolls of leather from the farms and furs from the hunters hang on stretchers, while the workers scrape the fat away. Some are rubbed down with dyes and oils, which look rich and pure, but smell terrible.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Merchant", "Worker")) \
(set: 1st of $feature to "Brewery") \
(set: 2nd of $feature to "You might think it's fun to work in a brewery-- drinking free on the job every day. But someone has to check those vats for their purity. Watch that the fumes don't put you to sleep in a place where you might fall in!") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Brewer", "Worker", "Merchant")) \
(set: 1st of $feature to "Stable") \
(set: 2nd of $feature to "Horses. Lots of horses. Which means, of course, lots of horse dung. Honest work to be had shovelling it out, if you can stand the smell.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Stable Boy", "Teamster")) \
(set: 1st of $feature to "Poor School") \
(set: 2nd of $feature to "Enlightenment is our emergence from our self-incurred immaturity. Immaturity is the inability to use one's own understanding without the guidance of another. This immaturity is self-incurred if its cause is not lack of understanding, but lack of resolution and courage to use it without the guidance of another. The motto of enlightenment is therefore: Sapere aude! Have courage to use your own understanding!") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Fishwife", "Milkmaid", "Potter", "Longshoreman", "Cobbler", "Urchin", "Worker")) \
Pawnbroker:
(text-indent: 35) [Trinkets, toys, clothes, bedsheets, furniture, books, artworks-- you name it, you can find it here. Yet each item is a story of someone's life: the story of a tragedy that moved them to sell their precious keepsakes in order to survive.]
=><=
Sell your (dropdown: bind $playermove, ...$inventory) [[Continue->pawn shop 2]]
---
==>
Return to the [[Market Square]] (set: 1st of $feature to "Blacksmith Workshop") \
(set: 2nd of $feature to "The smithy moves from the forge to the anvil, in purposeful but unhurried steps. It is almost meditative to watch them at work.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Worker")) \
(set: 1st of $encounter to "Blacksmith") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Blacksmith Shop Sign") \
\
(set: $message to (either: "A smith is really a magician. We work with the things that come from secret places beneath the earth, and change them with the power of the elements.", "You wouldn't believe the kind of injuries you can get in a blacksmith workshop.", "Nails, pans, hooks, chains, forks and knives, hinges and fittings, swords and daggers-- I can make anything.", "I once knew a smith who burned his hammer hand in a fire, so he learned to smith with his shield hand. He had a will of iron, I tell you!" )) \
(set: 1st of $feature to "Homeless Shelter") \
(set: 2nd of $feature to "People from all walks of life can be found here. From the broken, the blind, and the insane, to the banker and the merchant who fell on hard times. They do what they can, one day at a time, to survive.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Doctor", "Priest", "Urchin", "Vagrant", "Street Thug", "Worker", "Stable Boy", "Sailor", "Longshoreman")) \
(set: 1st of $feature to "Dark Alley") \
(set: 2nd of $feature to "Behind the warehouses and workshops, a narrow alley stretches on for what looks like half the length of Lowertown. Boxes, crates, barrels, broken bottles and pottery, and all sorts of things lay about the path, left behind and forgotten. Stray dogs rummage through them, looking for something to eat. A rat scuttles away when it spots you.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Urchin", "Street Thug", "Vagrant", "Street Thug Crew Chief" )) \
(set: 1st of $feature to "Abandoned House") \
(set: 2nd of $feature to "Among the houses, one stands out as being in worse shape than their neighbours. Cracked and flaking plaster, holes in the roof, a wide open front door. No one has lived here in a long time. Perhaps it is cursed, or haunted. Or perhaps the owners didn't have the money to repair it. Whatever the story, it is sure to be a sad one.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Urchin", "Street Thug", "Vagrant", "Urban Strega", "Plague Victim")) \
(set: 1st of $encounter to "Stonemason") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I hear there's some kind of secret society that started out as a group of masons helping each other out in hard times. But I wouldn't know anything about that.", "See those green men carved on the palaces and cathedrals? We make them to show off how good we are at carving. Sometimes we'll make them in the shape of our own faces. Like a signature.", "I've worked on building sites all over Summerland. You wouldn't believe the places I saw in my journeyman years." )) \
(set: 1st of $encounter to "Stable Boy") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Embossed Leather Saddle") \
\
(set: $message to (either: "When I grow up, I want to see the world!", "My favourite horse is the old nag that nobody rides anymore. He likes to rub his head on me.", "Don't walk behind the horses-- they kick!" )) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Mercenary") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I lead a warrior's life.", "Sure I'd sign up for the town guard, if they paid enough.", "You won't want to know who I'm working for right now.", "Want to see the world? Join the army. Want to see the real world? Join the Volscragg Gentlemen!")) \
\
(set: $opponentmoney to (random: 1,30)+10) \
(set: $opponenthonour to (random: 1,7) -4) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Mercenary Captain") \
(set: 2nd of $encounter to 4) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Want to see the world? Join the army. Want to see the real world? Join the Volscragg Gentlemen!", "Out of my way!", "Ever been to Volscragg?", "You don't have to be from Volscragg to join the Gentlemen. You need to be smart, tough, and ready.", "Join the Volscragg Gentlemen, and get paid to be a real man!", "We Volscraggers are gentlemen in the true sense of the word." )) \
\
(set: $opponentmoney to (random: 1,30)+20) \
(set: $opponenthonour to (random: 1,7) -8) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Dancer") \
(set: 2nd of $encounter to 1) \
(set: 3rd of $encounter to "sexual healing") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Hey there, you look lonely.", "Whatever.", "Fight me, try me, kiss you like you like me, twist it round again and again..." )) \
\
(set: $opponentmoney to (random: 1,20)+10) \
(set: $opponenthonour to (random: 1,7) -3) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Teamster") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Of course I'm armed. Can't be too careful in the countryside, what with the bandits about.", "I've driven this team of horses all across Summerland.", "Master of the caravan, at your service.", "If you want to cross country, join a caravan. Much too dangerous to go out there alone.", "I started out as a stable boy. And look at me now-- in charge of my own caravan!")) \
\
(set: $opponentmoney to (random: 1,20)+10) \
(set: $opponenthonour to (random: 1,7) -3) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Sailor") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Parrot") \
\
(set: $message to (either: "Ever been to the Scatterlands? You can never land on the same island twice.", "Those men of the South Wheelock Sailor's Guild are nothing but pirates.", "We had one of those Volscragg 'Gentlemen' on our crew, last voyage. Couldn't find his sea legs. Spent the whole time puking.", "I know every sea shanty that's ever been shanted.")) \
\
(set: $opponentmoney to (random: 1,20)+10) \
(set: $opponenthonour to (random: 1,7) -3) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Sea Captain") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Pirate Eyepatch") \
\
(set: $message to (either: "Ever been to the Scatterlands? You can never land on the same island twice.", "Those men of the South Wheelock Sailor's Guild are nothing but pirates.", "All I need is a tall ship, and a star to steer her by...", "You want to see the world? We could use a strong hand like yours.", "Don't bother with those Volscragg Gentlemen. You want adventure? Join our crew!")) \
\
(set: $opponentmoney to (random: 1,20)+10) \
(set: $opponenthonour to (random: 1,7) -3) \
(set: 1st of $encounter to "Longshoreman") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "You know why we're called Longshoremen? Because we're the men what work along the shore!", "I wanted to see the world, but the closest I ever got was working the dockyards.", "I hear that in the town of Karlova, the Longshorean's Guild started their own bank!", "Seems everybody these days is complaining about lost or stolen items..." )) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Landlord") \
(set: 2nd of $encounter to 1) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "My tenants are conveniently never around when I come to collect the rent.", "My properties were in excellent state of repair before those vagrants rented them.", "If you find a rat in the house, I'm charging you extra for attracting them.", "You know, I make almost as much money from selling my tenant's shit to local farmers, as I do from taking the rent. It's fertilizer!")) \
\
(set: $opponentmoney to (random: 1,20)+10) \
(set: $opponenthonour to (random: 1,7) -5) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Bohemian Poet") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Poetry Book") \
\
(set: $message to (either: "Rise like Lions after slumber, In unvanquishable number, Shake your chains to earth like dew, Which in sleep had fallen on you— Ye are many— they are few.", "I saw the revolutionary powerTossed like a ship at anchor, broke by storms...", "I shall see her today! When I awaken in the morning and look blithely into the sunrise, I cry out: 'I shall see her today!'", "Love withers under constraint. Its very essence is liberty. It is compatible neither with obedience, jealousy, nor fear. Love is free.", "The great object of life is sensation. To feel that we exist, even though in pain. It is this craving void which drives us to gaming, to battle, to travel.", "The imagination, I hold to be the living power and prime agent of all human perception. And as a repetition in the finite mind of the eternal act of creation.", "Poets are the unacknowledged legislators of the world." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,6) -3) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "SBohemian Poet") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Gold Ring") \
\
(set: $message to (either: "You know what I like most about the plague? Nothing.", "You know what I like most about the plague? It has no favourites. It takes the rich and poor alike.", "I hear that this plague was created by a mad scientist, and let loose so that they could control us.", "I still say we can cure this plague by eating fresh fruit and drinking snake oil." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,6) -3) \
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
\
(set: 1st of $encounter to "Urban Witch") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Crystal Pendulum") \
\
(set: $message to (either: "I'm a third degree hereditary witch, initiated by the great witch-father Alexander Gardner himself!", "Witches have power, and that's what frightens you, isn't it?", "I sense that you have a destiny...", "You've got a dark energy about you...", "I sense you are surrounded by dark spirits...", "I follow the Old Ways. You wouldn't understand.", "In a past life, I was the queen of a magical kingdom..." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,6) -3) \
(set: 1st of $encounter to "Street Thu Crew Chief") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I own this town town. I own you", "Get out of my way!", "You talkin' to me?", "Who you lookin' at?", "Hey you-- come here-- didn't you kill my brother?", "Those Volscragg 'Gentlemen' wouldn't have me, but fuck them. I don't need them. Got my own crew. Got a problem with that?" )) \
(set: $opponentmoney to (random: 1,5)) \
(set: $opponenthonour to (random: 1,6) -9) \
(set: 1st of $feature to "Coffee House") \
(set: 2nd of $feature to "The oak wainscotting, oil lamps, and upholstered furniture make for a classy environment: like a drawing room in the home of a merchant prince. The scent of the coffee alone is enough to perk the patrons. The shopkeeper also sells newspapers and displays the work of local artists on the walls. A social hub, for an emerging modern world.") \
(set: 3rd of $feature to "food") \
(set: 1st of $encounter to (either: "High Society Lady", "Merchant", "Professor", "Bard", "Occultist"))\
(set: 1st of $feature to "Temple") \
(set: 2nd of $feature to "A great Mother Oak tree grows in the centre of an oval-shaped open courtyard. Candle-lamps hang from its branches, tended by the monks. People from the town sit on stones set in rings around the tree: meditating, praying, reading a book, or simply thinking. It is a peaceful place.") \
(if: $sta is not $con)[(set: 3rd of $feature to "temple healing")](else:)[(set: 3rd of $feature to "temple blessing")] \
(set: 1st of $encounter to (either: "Priest", "Sailor", "Vagrant", "Plague Victim", "Dancer"))\
(set: 1st of $feature to "Apothecary") \
(set: 2nd of $feature to "The wall behind the counter has many hundreds of bottles and jars, all labelled with the names of exotic herbs and spices and materials. In a corner of the shop, a nurse examines an injured patient, and applies a salve to his wounds.") \
(set: 3rd of $feature to "heal") \
(set: 1st of $encounter to (either: "Mad Scientist", "Plague Victim", "Doctor", "Urban Witch"))\
(print: 1st of $encounter):
(if: $sta is not $con) [
(text-indent: 35)[Let me see your wounds... Yes, I can help with that, for, shall we say...]
(if: $exploring is "Market Square")[(set: $price to ($con-$sta) +20)](else:)[(set: $price to ($con-$sta) +7)]
(text-indent: 35)[$price silvers?] ] (else:) [(text-indent: 35)[You look like you're in good shape today. Lucky you!] ]
---
==>
(if: $sta is not $con) [ (if: $money < $price)[(link-goto: "I don't have enough.", "try the temple")](else:)[[Yes, thank you.->healing 2]] ]
[[Can I buy some bandages?->Buy bandages]]
[[Nothing today.->Exploring]]
(display: "exploration interface footer")
(print: 1st of $encounter)
(text-indent: 35)[There you go. Right as rain.]
(if: $exploring is "Market Square")[(set: $money to it - (($con-$sta)+20))](else:)[(set: $money to it - (($con-$sta)+7))] \
(set: $sta to $con, $deathcount to 100)
==>
<font size=-1>Stamina restored to full</font>
[[Continue->Exploring]]
<==
(display: "exploration interface footer")
(print: 1st of $encounter):
(text-indent: 35)[Here's a quiet and safe place where you can rest and recover your stamina. The fee for the room is ] \
(if: $exploring is "Market Square")[(set: $price to 20)](else:)[(set: $price to 10)] \
$price silvers a night, if you don't mind.
---
==>
(if: $money < $price)[(link-goto: "I don't have enough.", "try the temple")](else:)[[That's fine, and thank you.->healing 2]]
[[Not today.->Exploring]]
(display: "exploration interface footer")
(print: 1st of $encounter)
(text-indent: 35)[Good morning! Looks like you had a good night's rest. Come again!]
==>
<font size=-1>Stamina restored to full.
+1 Wildcard added. </font>
(set: $sta to $con, $deathcount to 100) \
(set: $wildcards to it + 1) \
(set: $money to it - $price)
==>
[[Continue->Exploring]]
<==
(display: "exploration interface footer")
(print: 1st of $encounter)
(text-indent: 35)[Try the temple, uptown. The religious sometimes help people without charge, as long as their honour remains true.]
==>
[[Thanks, maybe I will.->Exploring]]
(display: "exploration interface footer")
(Print: 1st of $encounter):
(text-indent: 35)[It seems you have not lived a life of honour. We cannot help you.]
---
==>
[[Fine, fuck you too!->Exploring]]
[[Sorry to trouble you.->Exploring]]
(display: "exploration interface footer")
(set: 1st of $encounter to (either: "Priest", "Priestess", "Monk" )) \
(Print: 1st of $encounter);
(text-indent: 35)[It seems you have lived a life of honour. Let us help you with your injuries.] \
==>
[[Thank you.->healing 2]]
[[It's okay, I'll be all right.->Exploring]]
<==
(display: "exploration interface footer")
(set: 1st of $feature to "Library") \
(set: 2nd of $feature to "The heavy oak doors open to a bright and elegant room, where thousands of books stand in richly ornamented cases. Down the centre of the room there stands a row of statues, world globes, showcases, and study tables. A spiral staircase leads to the second level. And the ceiling is painted in baroque frescoes, showing the gods bringing the blessings of knowledge to humanity.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Professor", "Occultist", "Artist", "Mad Scientist", "Priest"))---
|=
<center>Honour
$honour </center>
=|=
<center>XP
$xp </center>
=|=
<center>(if: $sta is not $con)[(text-color: red)[Stamina]](else:)[Stamina]
(print: $sta) / $con </center>
=|=
<center>Wildcards
$wildcards </center>
=|=
<center>Money
$money </center>
|==|
=><=
(if: $deathcount is <= 7)[(text-color: red)[(text-style: "fade-in-out")[Bleeding out in $deathcount rounds...]]] (else:) [(print: $quest)]
(if: $xp >= 7 and $sta is $con)[• [[Level up!->Display Inventory]] •]
(t8n: "fade") + (transition-time: 6s) + (text-color: red)[Here lies one whose name was writ upon water....]
==>
(after: 5s) [(t8n: "fade") + (transition-time: 6s)[ [[Once upon a time...->Start]] ]]
(print: 1st of $encounter):
(text-indent: 35)[How much food would you like?]
=><=
(if: $money >= 8)[ (if: $exploring is "Market Square")[(link-reveal-goto: "Small bundle 8 silvers", "buy food 2")[(set: $playermove to "small bundle")]](else:)[(link-reveal-goto: "Small bundle 5 silvers", "buy food 2")[(set: $playermove to "small bundle")]] ] (else:) [(text-color: grey)[Not enough coin for small bundle.]]
(if: $money >= 15)[ (if: $exploring is "Market Square")[(link-reveal-goto: "Large bundle 15 silvers", "buy food 2")[(set: $playermove to "large bundle")]](else:)[(link-reveal-goto: "Large bundle 10 silvers", "buy food 2")[(set: $playermove to "large bundle")]] ] (else:) [(text-color: grey)[Not enough coin for large bundle.]]
==>
[[Return to $exploring->Exploring]]
(display: "exploration interface footer")
(if: $playermove is "small bundle" and $exploring is "Market Square")[(set: $food to it + 1, $money to it -8)]
(if: $playermove is "small bundle" and $exploring is not "Market Square")[(set: $food to it + 1, $money to it -5)]
(if: $playermove is "large bundle" and $exploring is "Market Square")[(set: $food to it + 3, $money to it -15)]
(if: $playermove is "large bundle" and $exploring is not "Market Square")[(set: $food to it + 1, $money to it -10)]
(print: 1st of $encounter):
(text-indent: 35)[There you go, my friend! One $playermove for you.]
---
==>
[[Thank you!->Exploring]]
(set: $food to it -1)
(set: $sta to it + 4)
(if: $sta > $con) [(set: $sta to $con)]
(go-to: "Display Inventory")
(Print: 1st of $encounter);
(text-indent: 35)[It seems you have not lived a life of honour. We cannot help you.]
---
==>
[[Fine, fuck you too!->Exploring]]
[[Sorry to trouble you.->Exploring]]
(display: "exploration interface footer")
(set: 1st of $encounter to (either: "Priest", "Priestess")) \
(Print: 1st of $encounter);
(text-indent: 35)[It seems you have lived a life of honour. We are glad to share the blessings of the gods with you. If you wouldn't mind donating two silver coins? To help keep our building in repair.] \
(set: $price to 2)
==>
(if: $money < $price)[(link-goto: "I don't have the coins.", "Exploring")](else:)[[Of course, and thank you.->blessing 2]]
[[Not today.->Exploring]]
<==
(display: "exploration interface footer")
(print: 1st of $encounter)
(text-indent: 35)[May the gods bless you, and grant you good fortune.]
(set: $wildcards to it + 5, $money to it -2, $sta to $con, $deathcount to 100)
==>
<font size=-1>Wildcards added.</font>
[[Thank you.->Exploring]]
<==
(display: "exploration interface footer")
(set: 1st of $encounter to "Merchant Prince") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "White Silk Gloves") \
\
(set: $message to (either: "Butler: If you have business with my employer, do not speak directly to him. Speak to me.", "Bodyguard: Please step aside.", "Butler: I'm sorry, but unless you are his lordship's banker, he does not have time to speak to you.", "Butler: The master has been nothing but generous and good to the people of this town.", "Butler: Whatever it is you want, however important you think it is, I assure you that the master's business is more so.", "Butler: The master does not have time to speak to you." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) (set: 1st of $encounter to "Innkeeper") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "rest") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "All our beds are clean and bedbug-free!", "Our kitchen is open all night, for guests.", "We brew our own beer in-house, too!", "We also offer a laundry service for our guest's clothing." )) \
(set: 1st of $encounter to "Merchant") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Pocketwatch") \
\
(set: $message to (either: "Have you seen that bohemian poet who knocks about Lowertown all day, doing nothing? He owes me money.", "A gentleman never knows what his bank balance is.", "It is not from the benevolence of the butcher, the brewer, or the baker, that we expect our dinner, but from their regard to their own interest.", "By directing one's industry in such a manner as its produce may be of the greatest value, he intends only his own gain, and he is in this, as in many other cases, led by an invisible hand to promote an end which was no part of his intention.", "The interest of the dealers, however... is always in some respects different from, and even opposite to, that of the public." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
Armourer:
(text-indent: 35)[It's a dangerous world, eh? Come on in, I've got what you need to protect yourself.]
=><=
(if: $money >= 40 and "Leather pauldrons and gauntlets" is not in $outfits)[ \
(link-goto: "Buy leather pauldrons and gauntlets", "buy outfit 2")[(set: $playermove to "leather 1")] \
] (else:) [(text-color: grey)[Leather pauldrons and gauntlets]]
<font size=-1>40 coins. Armour bonus 3, dexterity bonus 0</font>
(if: $money >= 80 and "Full suit of leather armour" is not in $outfits )[ \
(link-goto: "Buy full suit of leather armour", "buy outfit 2")[(set: $playermove to "leather 2")] \
] (else:) [(text-color: grey)[Full suit of leather armour]]
<font size=-1>80 coins. Armour bonus 5, dexterity bonus -1</font>
(if: $money >= 150 and "Steel curaiss" is not in $outfits)[ \
(link-goto: "Buy steel curaiss, gauntlets, and grieves", "buy outfit 2")[(set: $playermove to "steel")] \
] (else:) [(text-color: grey)[Steel curaiss]]
<font size=-1>150 coins. Armour bonus 7, dexterity bonus -3</font>
==>
[[Not today.->Market Square]]
<==
(display: "exploration interface footer")
(set: $message to "It looks like you don't have enough money.")
(if: $playermove is "leather 1") [
(set: $money to it - 40)
(set: $outfits to it + (a: "Leather pauldrons and gauntlets"))
(set: $message to "There you go: one pair of pauldrons and gauntlets. You certainly look the dashing swashbuckler in them, too!") ]
(if: $playermove is "leather 2") [
(set: $money to it - 80)
(set: $outfits to it + (a: "Full suit of leather armour"))
(set: $message to "There you go: one full suit of leather. And doesn't it look sharp on you, too!") ]
(if: $playermove is "steel") [
(set: $money to it - 150)
(set: $outfits to it + (a: "Steel curaiss"))
(set: $message to "You'll survive just about anything wearing this. Except perhaps a bardic competition!") ]
(if: $playermove is "practical") [
(set: $money to it - 10)
(set: $outfits to it + (a: "Practical outfit"))
(set: $message to "You'll survive just about anything wearing this.") ]
(if: $playermove is "fashionable") [
(set: $money to it - 20)
(set: $outfits to it + (a: "Fashionable outfit"))
(set: $message to "You will turn every head in every room you enter.") ]
(if: $playermove is "noble") [
(set: $money to it - 24)
(set: $outfits to it + (a: "Aristocratic outfit"))
(set: $message to "You belong among the bluebloods of Uptown, in that. Very nice!") ]
(go-to: "buy outfit 3")
Armourer:
(text-indent: 35) [(print: $message)]
---
==>
[[Try it on now?->equip outfit]]
Return to the [[Market Square]]
(display: "exploration interface footer")
Tailor:
(text-indent: 35)[Let's see if we can get you a little better dressed than that.]
=><=
(if: $money >= 10) [ \
(link-goto: "Buy practical outfit", "buy outfit 2")[(set: $playermove to "practical")] \
] (else:) [(text-color: grey)[Need 10 coins to buy a practical outfit.]]
<font size=-1>10 coins. Armour bonus 1, dexterity bonus 2</font>
(if: $money >= 50) [ \
(link-goto: "Buy fashionable outfit", "buy outfit 2")[(set: $playermove to "fashionable")] \
] (else:) [(text-color: grey)[Need 50 coins to buy a fashionable outfit.]]
<font size=-1>50 coins. Armour bonus 0, dexterity bonus 4</font>
(if: $money >= 75) [ \
(link-goto: "Buy aristocratic outfit", "buy outfit 2")[(set: $playermove to "noble")] \
] (else:) [(text-color: grey)[Need 75 coins to buy formal attire.]]
<font size=-1>75 coins. Armour bonus 2, dexterity bonus 5</font>
==>
[[Not today.->Market Square]]
<==
(display: "exploration interface footer")
Change your outfit from $armourtype to (dropdown: bind $armourtype, ...$outfits)
==>
[[Continue->equip outfit 2]]
<==
(display: "exploration interface footer")
(if: $armourtype is "Leather pauldrons and gauntlets")[(set: $armour to 3, $dexbonus to 0)]
(if: $armourtype is "Full suit of leather armour")[(set: $armour to 5, $dexbonus to -1)]
(if: $armourtype is "Steel curaiss")[(set: $armour to 7, $dexbonus to -2)]
(if: $armourtype is "Peasant clothes")[(set: $armour to 1, $dexbonus to 1)]
(if: $armourtype is "Practical outfit")[(set: $armour to 1, $dexbonus to 2)]
(if: $armourtype is "Fashionable outfit")[(set: $armour to 0, $dexbonus to 4)]
(if: $armourtype is "Aristocratic outfit")[(set: $armour to 2, $dexbonus to 5)]
(if: $armourtype is "Clown costume")[(set: $armour to 0, $dexbonus to 2)]
(if: $armourtype is "Pirate armour")[(set: $armour to 4, $dexbonus to 2)]
(if: $armourtype is "Masquerade ball costume")[(set: $armour to 3, $dexbonus to 3)]
(if: $armourtype is "Hooded cloak")[(set: $armour to 2, $dexbonus to 1)]
(if: $armourtype is "Musketeer's Armour")[(set: $armour to 5, $dexbonus to 2)]
(if: $armourtype is "Hamburger cloak")[(set: $armour to 8, $dexbonus to 3)]
(go-to: "Exploring")
(set: 1st of $feature to "Theatre") \
(set: 2nd of $feature to "A crystal chandeleir illuminates this wide and airy space: its red velvet seats, white and gold ornamented mezzanine and balcony, the red curtain. A team of actors on stage check their lines in their script, and discuss the coming show with the director and each other.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Bohemian Poet", "Artist", "High Society Lady"))(set: 1st of $feature to "College") \
(set: 2nd of $feature to "Port Gaeleach's college is among the smallest in Summerland, having only two programmes of study: psychology, and philosophy. The building is several hundred years old; its black granite stones creep with mosses and ivys. Students, professors, and workers move about the red brick pathways, some in a rush, some lost in thought, and some of them happily drinking.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Bohemian Poet", "Artist", "High Society Lady", "Professor", "Occultist", "Bookseller"))(set: 1st of $feature to "Art Gallery") \
(set: 2nd of $feature to "The building is a renaissance palazzo, once belonging to an old banking family who fell on hard times, now converted into a public events venue. The main atrium hosts several large bronze statues of the gods and heroes of the past. Corridors lead off to showings of current works, including one where several elderly patrons rant at length about how scandalous and degenerate art today has become. A young artist nearby smiles to hear it.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Bohemian Poet", "Artist", "High Society Lady"))(set: 1st of $feature to "Hotel") \
(set: 2nd of $feature to "Bellhop, and porters move about the lobby, carrying their guest's baggage. On one side, several guests sit among a cluster of tables and couches, sipping tea and sampling a selection of biscuits. Across the lobby from them, other guests check in at the desk, collect their keys and mail, and fuss with their bags. ") \
(set: 3rd of $feature to "rest") \
(set: 1st of $encounter to (either: "Bohemian Poet", "Artist", "High Society Lady"))(set: 1st of $feature to "Restaurant") \
(set: 2nd of $feature to "The Gardenside offers light lunches during the day, and five-course meals in the afternoon and evening. A string quartet plays for the guests in a corner. The daily special is different every day: the chef, so you hear, likes to experiment.") \
(set: 3rd of $feature to "food") \
(set: 1st of $encounter to (either: "Professor", "Artist", "High Society Lady"))(set: 1st of $feature to "Garden") \
(set: 2nd of $feature to "The cobbled paths take you along beds of flowers, ornamental grasses, and trees. Birds, butterflies, and rabbits move about the bushes. In the centre of an open green, there's a statue of a man playing the fiddle. Young couples lie on the grass around it, talking, sharing their picnic baskets or drinking wine.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Bohemian Poet", "Artist", "High Society Lady"))(set: 1st of $feature to "Hospital") \
(set: 2nd of $feature to "There's not quite enough seats here for all the patients looking for help The intake nurses do the best they can, but they're under just as much stress as the patients. Several elderly resident-patients amble by, gossiping about doctors and other patients.") \
(set: 3rd of $feature to "heal") \
(set: 1st of $encounter to (either: "Doctor", "Artist", "High Society Lady"))(set: 1st of $encounter to "Idle Youth") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "no") \
\
(set: $message to (either: "Yeah, university life is great. The campus has the best pubs in town.", "What, get a job? That involves work, doesn't it?", "My father only gave me 100 silvers this month. He doesn't understand-- that's barely enough to cover my tailor's bill.", "Join the army? I suppose I could if I wanted to. Father would pull the strings for me to get an officer's commission.", "The Gardenside Restaurant has the best roast pheasant in the city.", "If you have a flat in town, a chateau in the country, a good restaurant near both of them, and a well-stocked wine cellar, you have everything you need.", "I was thinking... maybe I should write a book." )) \
\
(set: $opponentmoney to (random: 1,20) + 50) \
(set: $opponenthonour to (random: 1,9) -5)
(set: 1st of $encounter to "Doctor") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "heal") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "There are not enough doctors in this city.", "I went to medical school for five years, and people still don't believe me when I tell them that the plague will kill them.", "The nurses in this hospital are overworked, too. And not paid enough.", "Just because a friend of yours survived being bitten by a snake, it doesn't mean you will." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Jeweller") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "Diamond Necklace") \
\
(set: $message to (either: "My shop is on the corner of the boulevard.", "If there's no price tag on one of my wares, it means you can't affoard it.", "Lady Aster Donnelly buys exclusively from me." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Watchmaker") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Tweezers") \
\
(set: $message to (either: "I also like to play the drums, at that festival ground in the countryside.", "A diamond bracelet may look nice, but a good watch is actually useful.", "Have you ever wondered what time is? Why we remember the past but only dream about the future?", "Wearing a watch is the sign of a fully civilized human being.", "I'm late, I'm late! For a very important date!" )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Artist") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Portrait of a High Society Lady") \
\
(set: $message to (either: "Art demands of us that we do not stand still.", "The gallery is too full of portraits of rich people. Where is the real avant-guard stuff? The art that the artists want to make, not just what the patrons will pay for?", "True art is a representation of a thought in the mind of a god.", "True art is a pure expression of the artist's feelings, passions, and inspirations.", "True art lifts us up, gives us a glimpse of a more perfect world.", "The old stories say Summerland was meant to be beautiful: it's the true artist who makes it so.", "The old stories say Summerland was meant to be beautiful. The true artist looks at the ugly parts, and wonders what happened." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Priest") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "bless") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I wasn't always a priest, you know. Before I was called to the gods, I was a drunk.", "I wasn't always a priest, you know. Before I was called to the gods, I was a merchant prince.", "There are hundreds of gods in Summerland. Some say there are more gods in this world than there are people.", "Walk down some of the darker alleys in this town, and you're more likely to meet a god than a stray cat.", "You must go to the strange places in this world. That's where the gods live; that's where the truth is.", "If you go to sea, or into the forest, or up the mountain, and remain there long enough, the gods will speak to you. But you might not come back!", "The oldest stories say the gods intended Summerland to be beautiful. Why is it not so?", "The work of mending the world can never be finished, but neither can it be abdicated." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Professor") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Book of Amazing Genius Philosophy") \
\
(set: $message to (either: "I wasn't always a professor. I used to be an actor. I had a lot of fun, but I wasn't very good.", "Universities are strange places. We spend half our lives asking abstract questions like whether time is real or whether the gods exist... but once in a while someone will invent a whole new way of thinking that goes on to change the world.", "The life of the mind is a hard life. The deeper and closer you get to the truth, the fewer people will understand you.", "I offer my students knowledge and wisdom from thousands of years of philosophy. But they seem to care more about getting a high-paid job. I can't blame them for that, of course. But does no one care about knowledge anymore?", "The oldest stories say Summerland was meant to be beautiful. So why is there so much suffering and injustice? What went wrong? Is the fault in the world, or is it in us?", "Kids these days...", "The motto of enlightenment is: Sapere aude! Have courage to use your own mind!", "I have no patience for those priests and occultists who say some things in this world will always be mysterious. The path to enlightenment is not through faith; it is through knowledge!" )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Bookseller") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Books! New and used, new and old, all here!", "My bookstore also offers newspapers, pamphlets, and magazines!", "My bookstore also offers live poetry readings once a week!", "I didn't agree with the Duke's decision to disband the Circle of Bards. People have come here to learn the Bardic arts for more than a thousand years! Their poetry and music books were good for my business, too." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Banker") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I'm offering loans of up to a thousand coins, with four percent interest, and a six month grace period!", "Lately some of my clients started using deposit receipts to buy things, instead of using the coins they deposit in my vaults. Easier for them, easier for me too.", "I've invested in a dozen expeditions to the Scatterlands over the last few years. Some return with nothing, some never return at all. But some return with spices, gemstones, pelts of exotic animals, all kinds of treasures.", "Have you seen that merchant who always goes about the market quoting economics books? He owes me money.", "My vaults are fire-proof, burglar-proof, and guarded night and day by the most honourable company of private guardsmen, the Volscragg Gentlemen!", "Excuse me, but I need to speak with my high-value clients first." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Occultist") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Goat Mask") \
\
(set: $message to (either: "There are more things in heaven and earth... where did I read that? Seems poetic.", "The lords of the five Underworlds hear you, when you utter their names in the ancient languages.", "This world is the dream of a sleeping ancient god, and I know how to wake him.", "The Circle of Bards began thousands of years ago. They once knew how to raise the dead. And look at them now: holding out their hats so passer-bys can throw them a coin or two for singing a silly little drinking song!", "I am protected by archangels at the four quarters. No thief or bandit or plague shall ever touch me. And it only cost me three thousand coins!", "I can teach you the mysteries of the seven divine mountains and the five Underworlds. But only if you are the right kind of student.", "(mutters in some ancient language, avoids eye contact with you.)", "Those ignorant and foolish scientists at the university with their telescopes and chemistry set-ups cannot even imagine the secrets my demons have whispered to me in the night." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $encounter to "Mad Scientist") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Alchemy Crucible") \
\
(set: $message to (either: "How dare the university fire me! My theories of philogiston and ether are correct! I just need more time to prove them!", "I am on the brink of discovering something truly great. And everybody at the university knows it-- that's why I have to test everything I eat for poison. They want to stop me shattering their comfortable illusions. They cannot handle that I'm smarter than them!", "I have almost enough money to pay for an expedition to the Scatterlands. I know how to find the Fountain of Youth!", "The cure for plague is so obvious, it's laughable that those high-and-mighty professors at the university haven't discovered it yet! The active ingredient is grue-coloured emeralds crushed into powder, mixed with charcoal dust and a little bit of honey. So simple!", "The mind, the mind! I cannot believe my mind!" )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,5) -2) \
(set: 1st of $feature to "Farm") \
(set: 2nd of $feature to "A farmer examines the tall stalks of wheat growing in a golden field. Behind it on a hillside, a herd of cattle graze upon the tallgrasses of a meadow. At the roadside, several children sit by a market cart selling baskets of fruit and vegetables to travellers.") \
(set: 3rd of $feature to "food") \
(set: 1st of $encounter to (either: "Farmer", "Milkmaid", "Druid", "Hunter" ))(set: 1st of $feature to "Hunter's Lodge") \
(set: 2nd of $feature to "Nestled between a forest and a tallgrass meadow, a timbre-frame bungalow stands, smoking its chimney. A rack of antlers adorns the keystones above the door and every window.") \
(set: 3rd of $feature to "food") \
(set: 1st of $encounter to (either: "Hunter", "Forest Ranger", "Werewolf", "Fairy Changeling"))(set: 1st of $feature to "Watch Tower") \
(set: 2nd of $feature to "An ancient stone tower, crumbling somewhat at its pinnacle, stands at a crossroad. A few musketeers sit about the entrance, playing card games. Riflemen and signallers with telescopes stand on guard at the top.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Musketeer", "Highwayman", "Bandit Leader", "Forest Ranger"))(set: 1st of $feature to "Crossroad") \
(set: 2nd of $feature to "The gravelly road comes to a five-way crossroad. A hawthorn tree grows on a small knoll in the centre; small lamps hang from several of its branches. Fireflies meander about the air.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Highwayman", "Bandit Leader", "Witch", "Fairy Changeling", "Pilgrim", "Bard"))(set: 1st of $feature to "Stone Circle") \
(set: 2nd of $feature to "In a field by the road, thirteen stones stand in a ring. The two tallest stand next to each other. A slight mist rises from the soil in and around it, mingled with fireflies.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Druid", "Fairy Changeling", "Occultist"))(set: 1st of $feature to "Witch's Cottage") \
(set: 2nd of $feature to "It's be a perfectly ordinary cottage of stone and timbre-frame walls and thatched roof, with a perfectly ordinary vegetable garden on one side and a flagstone path lined with flowers leading to the door. Perfectly ordinary... but for the strange angles on the walls, the sharp ponited gables, the ravens cawing from the overhanging trees, the thirty cats prowling about...") \
(set: 3rd of $feature to "bless") \
(set: 1st of $encounter to (either: "Witch", "Fairy Changeling"))(set: 1st of $feature to "Ruined Castle") \
(set: 2nd of $feature to "All that remains of this once mighty stone fortress is some of its outer wall, and the hollow shell of its keep. Piles of stones lay around its base, having fallen there decades ago. A few goats graze in its courtyard.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Highwayman", "Bandit Leader", "Werewolf"))(set: 1st of $feature to "Country Chateau") \
(set: 2nd of $feature to "A magnificent four-storey mansion of white stones, numerous gables and towers and wings, numerous chimneys, and a shining copper roof. An elegant pleasure garden surrounds it, with reflecting pools, fountains, patios, and a hedge labyrinth.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "High Society Lady", "Merchant Prince", "Professor", "Occultist", "Dancer", "Stonemason", "Idle Youth"))(set: 1st of $feature to "Fairy Glade") \
(set: 2nd of $feature to "As the road passes through a dense forest, a clearing appears off to one side. Fireflies lend a dim illumination to a circle of beautiful people, singing a sad and beautiful song in a strange eldrich language.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Fairy Changeling", "Witch", "Druid", "Pilgrim", "Occultist"))(set: 1st of $feature to "Bandit Camp") \
(set: 2nd of $feature to "A ring of tents and roughshod wooden shacks surround a cooking fire. A group of armed and scruffy men argue among each other, drawing knives and swords. The largest of them punches several of them out to settle the question.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Highwayman", "Bandit Leader"))(set: 1st of $feature to "Winery") \
(set: 2nd of $feature to "A horse-drawn cart collects a load of casks and barrels from an elegant stone building. Behind it, grapevines grow in long rows up the side of the hill. Workers tie the vines a support line, and water their roots.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "High Society Lady", "Merchant", "Merchant Prince", "Farmer"))(set: 1st of $feature to "Forest") \
(set: 2nd of $feature to (either: "The road goes into a dense forest of oaks, ashes, maples, and elders. Squirrels and chipmunks regard all who pass, and scuttle away from whoever comes too close. Acorns roll about the gravel on the road. Birdsong fills the air.", "The road goes into a dense forest of pine and spruce and cedar. Their needles littler the ground. The hooting of a distant owl issues from a nearby knoll. The sweet scent of resin fills the air.")) \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Druid", "Highwayman", "Bandit Leader", "Soldier", "Forest Ranger", "Hunter", "Werewolf"))(set: 1st of $feature to "Meadow") \
(set: 2nd of $feature to "Tallgrasses, wildflowers, bees, birds, the blue sky, the white clouds, the long view, the warm sun... a perfect day.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Farmer", "Hunter", "Druid"))(set: 1st of $feature to "Lakeside") \
(set: 2nd of $feature to "The road passes the edge of a lake, where the land slopes down to the rocky water's edge. Loons and ducks swim about, some of them diving under for a moment to scour the lakebed. A fisherman on a dock throws out a line. The sun dips low for evening, turning all the world golden." ) \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Hunter", "Druid", "Pilgrim", "Forest Ranger", "Werewolf"))(set: 1st of $feature to "Observatory") \
(set: 2nd of $feature to "On the top of a hill, there stands a complex assembly of scaffolds, winches, cranes and platforms, all designed to lift and turn and hold a long wooden cylinder, easily as wide as a wagon-wheel and as long as a stone's throw. One end is pointed up at an angle to the sky; the other, close to the ground, has a mirror that reflects the light up to an eyepiece at the far end. A scientist looks into the eyepiece, and sketches in a sketchbook what he sees." ) \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Professor", "Mad Scientist", "Occultist", "Druid"))(set: 1st of $feature to "Grain Mill") \
(set: 2nd of $feature to "A narrow channel diverts water from a river down to a water wheel and a mill. A farmer arrives, with a wagon loaded with grain sacks, to trade with the miller for sacks of finished flour and a few coins.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Farmer", "Merchant", "Pilgrim"))(set: 1st of $encounter to "Hunter") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Stag Antlers") \
\
(set: $message to (either: "I once knew a hunter whose eyes were so good, he could hunt at night by starlight alone.", "I'm off to build a new platform in the forest. Had to tear down the old one, when the hornets built a nest in it.", "See how we stuff the mouth with leaves and grass? Some say it's an old ritual, the animal's last meal. Truth is, it keeps the flies out of its guts.", "I'm no poacher, and I demand anyone who accuses me of poaching to prove it!", "Poachers are heroes of the people. That's all I'm saying, that's all I'm telling." )) \
\
(set: $opponentmoney to (random: 1,6) + 1) \
(set: $opponenthonour to (random: 1,12) -6) \
(set: 1st of $encounter to "Forest Ranger") \
(set: 2nd of $encounter to 3) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Compass") \
\
(set: $message to (either: "Hear of anybody selling poacher meat lately?", "These lands belong to the Reeve of the West Canton, and he does not look with kindness upon poachers.", "Lots of wolves in the West Canton. Best not to go out alone at night.")) \
\
(set: $opponentmoney to (random: 1,20) + 10) \
(set: $opponenthonour to (random: 1,9) -4) \
(set: 1st of $encounter to "Farmer") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I once knew a man who told me he could walk for days and not reach the end of his land. Aye, I had a gammy old leg like that once, too.", "Bumper crop this year.", "I used to be an adventurer like you...", "Here, get off me land!", "You want to cross my land? Stay to the edges of the fields and don't trouble the animals." )) \
\
(set: $opponentmoney to (random: 1,10) + 5) \
(set: $opponenthonour to (random: 1,9) -5) \
(set: 1st of $encounter to "Pilgrim") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Religious Medallion") \
\
(set: $message to (either: "They say there is a grand temple in Port Gaeleach, built around a tree where Herne the Hunter saw the White Stag of the Wildfather.", "The old stories say the gods intended Summerland to be beautiful. On good days, you can really see it! But when it rains... oh boy.", "How many gods are there, do you think? I've heard there are more gods in the world than there are people.", "The Great Queen appeared to me in a dream, once. It was the most beautiful moment of my life." )) \
\
(set: $opponentmoney to (random: 1,20) + 50) \
(set: $opponenthonour to (random: 1,9) -5) \
(set: 1st of $encounter to "Musketeer") \
(set: 2nd of $encounter to 4) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "At first I signed on for the extra coin. But now I stay on for the action.", "I hear there's going to be a bit of a scrap in the East Cantons. Hope they deploy us there.", "Though I walk through the valley in the shadow of death, I fear no evil, for I am the meanest mutherfucker in that valley...", "Stand up when the musketeers march by. Some of them gave their blood to keep you safe.", "Summerland calls, and we shall rise!", "No more kings, no more jealous gods. Summerland belongs to all!" )) \
\
(set: $opponentmoney to (random: 1,20) + 5) \
(set: $opponenthonour to (random: 1,12) -5) \
(set: 1st of $encounter to "Highwayman") \
(set: 2nd of $encounter to 4) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Stand and deliver!", "Pardon me good gentlemen and ladies, but I'm afraid this is a holdup. If you would be so kind as to put all your coins and jewels and bank notes in my sack. I wouldn't want anyone to get hurt.", "The old world is dying, the new world struggles to be born, and in the meanwhile I still have to eat.", "Seems everybody these days is complaining about lost or stolen items..." )) \
\
(set: $opponentmoney to (random: 1,10) + 10) \
(set: $opponenthonour to (random: 1,15) -16) \
(set: 1st of $encounter to "Bandit Leader") \
(set: 2nd of $encounter to 5) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Poaching, robbery, larceny, murder... what, sweet and innocent little old me?", "We were warriors, once.", "You city folk see the rich man and believe some day you'll be like him. We look at the rich man and prepare for the day we take back what's ours...", "Outlaws are the only free men in this world. The only ones who know what freedom really feels like.", "I have the death penalty on me Stagsland. Think they'll come and get me here? Hello no, they know I'll kill 'em!", "I've killed a hundred men in my time. Want to be my hundred and one? Then keep moving." )) \
\
(set: $opponentmoney to (random: 1,33) + 10) \
(set: $opponenthonour to (random: 1,15) -16) \
(set: 1st of $encounter to "Druid") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "bless") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "(mumbles in a strange ancient language)", "(mutters a protection prayer against something only he can see)", "(Too busy looking at an acorn to notice you talking to him)", "(Too busy daydreaming into the clouds to notice you talking to him.)", "Tell me, friend: Have you ever in all of Summerland seen or heard of an honourable man?", "Careful what you say, my friend, for the trees can hear you...", "First, come for a walk in the hills with me. Let your mind wander. Then, ask your questions." )) \
\
(set: $opponentmoney to (random: 1,10) + 10) \
(set: $opponenthonour to (random: 1,15) -16) \
(set: 1st of $encounter to "Fairy Changeling") \
(set: 2nd of $encounter to 4) \
(set: 3rd of $encounter to "find item") \
(set: $finditem to "Jar of Body Paints") \
\
(set: $message to (either: "Hello, friend! I am a normal farm boy, off to do my normal farm boy chores!", "Hello, friend! I am a normal milkmaid, and I love my mum and daddy.", "What do you mean, I got my pants on back to front?", "Who are you? Where am I? What's happening? Is this a dream?" )) \
\
(set: $opponentmoney to (random: 1,3)) \
(set: $opponenthonour to (random: 1,15) +5) \
(set: 1st of $encounter to "Werewolf") \
(set: 2nd of $encounter to 5) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "What? My teeth? What about them? So they're big. So what?", "What? My fingernails? So they're long. Lots of people have long fingernails.", "Don't go out on the night of a full moon. Trust me. It's not safe.", "One of these days, that forest ranger who hunts the wolves is going to die by the wolves. Mark my words, I know about these things.", "Sometimes I have these terrible nightmares, in which I become a wild animal...", "My heart's in the highlands, my heart is not here. My heart's in the highlands a-chasing the deer..." )) \
\
(set: $opponentmoney to (random: 1,10) + 10) \
(set: $opponenthonour to (random: 1,15) -16) \
(set: 1st of $encounter to "Witch") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "heal") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "I had a student, once. Not a very good one, though. Thought that every crow she saw was the goddess of death in disguise. Truth is, all the crows around here are just feckin' crows.", "What? What do you want?", "(rolls her eyes at your question and walks away)", "So you want to learn the old ways, eh? Ha! The old ways!", "Prophesy? They say I can prophesize the future? Here's one for you: the sun will rise in the east tomorrow, and set in the west!", "Cursing, blessing, reading fortunes-- why doesn't anyone just want a cup of tea?", "(blows pipe smoke in your face and walks away.)", "It's the local druids who keep the weather good for the farmers, by talking to the gods or doing whatever it is they do until they lose their minds. Me, I just try to stop the folk of this town from killing each other out of spite.", "Do you know what they call 'alternative medicine' that's been proven to work? Medicine." )) \
\
(set: $opponentmoney to (random: 1,10) + 2) \
(set: $opponenthonour to (random: 1,15) -5) \
(if: $queststep is 8 and 1st of $feature is "Watch Tower")[(go-to: "Story 8")] \
(set: $temp to (random: 1,20) + ($distance / 7) ) \
(set: $message to "You find nothing of value.") \
(if: $temp is > 6 and $temp is <= 10)[ \
(set: $outfits to it + (a: (either: "Clown costume", "Pirate armour", "Masquerade ball costume", "Hooded cloak", "Musketeer's Armour", "Hamburger cloak"))) \
(set: $message to "You found a " + last of $outfits + "! You can try it on later, if you wish." )] \
(if: $temp is >= 11 and $temp <= 19) [ \
(set: $inventory to it + (a: (either: "Book", "Candlestick", "Lamp", "Silver chalice", "Child's Doll", "Interesting Rock", "Lamp", "Prayer beads", "Silver ring", "Bottle of wine", "Astrolabe", "Clay goblet", "Witch's hat", "Druid's walking stick", "Horseshoe", "Broken sword", "One Black Sausage", "Ball of Yarn"))) \
(if: $distance is > 6 and (random: 1,3) is 3)[ (set: $inventory to it + (a: (either: "Police Whistle", "Curly Blonde Wig", "Special Hammer", "Blanket", "Work Gloves", "Blacksmith Shop Sign", "Embossed Leather Saddle", "Poetry Book", "Gold Ring", "Crystal Pendulum", "Parrot", "Pirate Eyepatch", "White Silk Gloves", "Pocketwatch", "Tweezers", "Portrait of a High Society Lady", "Book of Amazing Genius Philosophy", "Goat Mask", "Alchemy Crucible", "Stag Antlers", "Religious Medallion", "Jar of Body Paints", "Compass", "Wild Fairy Fiddle", "Magical Celtic Harp", "Fender Stratocaster Electric Guitar" ))) ] \
(if: $distance is >6 and $queststep is 5 and $exploring is "Uptown" and (random: 1,3) is 3) [ (set: $inventory to it + (a: "Mulberry Mead" )) ] \
(set: $message to "You found a " + last of $inventory + "!") ] \
(if: $temp is >= 20)[(go-to: "Random Attack")]
(print: $message)
---
==>
[[Continue exploring->Exploring]]
[[Return to the Market Square->Market Square]]
<!-- setting up for busking --!>
(if: $queststep is 13 and 1st of $feature is "Crossroad") [(go-to: "Story 13")]
(set: $wins to 0)
(set: $target to 5 + ($distance / 3))
(if: $exploring is "Market Square")[(set: $target to it -2)]
(if: $exploring is "Lowertown")[(set: $target to it +2)]
(if: $exploring is "The Countryside")[(set: $target to it +3)]
(if: $exploring is "Uptown")[(set: $target to it +5)]
(set: $target to (floor: $target))
(if: $target <= (10 + $cha))[(set: $message to "The audience looks eager to hear you perform.")]
(if: $target + 4 <= (10 + $cha))[(set: $message to "The audience looks like they'd be impressed by anything.")]
(if: $target > (10 + $cha))[(set: $message to "The audience looks cynical and unimpressed.")]
(if: $target > (10 + $cha) + 4)[(set: $message to "The audience totally ignores you.")]
(set: $audiencefave to (either: "love", "historical", "comic", "dance", "religious"))
(set: $audiencehate to (either: "love", "historical", "comic", "dance", "religious"))
(if: $audiencefave is $audiencehate) [(set: $audiencehate to "none")]
(go-to: "Busking 1")
(set: 1st of $feature to "Festival Ground") \
(set: 2nd of $feature to "Nestled in a wide clearing in a forest, local people light up a bonfire. In a circle around the fire, they dress in wild costumes and body paints to dance. And in another circle around the dancers, a score of drummers play an energetic rhythm. Wine and beer flow freely. And most everyone screams out the names of ancient gods of ecstasy. ") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Druid", "Witch", "Dancer", "Urban Witch", "Artist", "Occultist", "Bohemian Poet", "Bard"))(set: 1st of $feature to "Merchant Prince Palace") \
(set: 2nd of $feature to "This noble edifice and its private garden takes up an entire city block by itself. Its ground floor has few windows and a single heavy door, making the house defensible. The upper floors have niches for statues and other ornate stone carvings, and larger windows. A countyard within bustles with people who work for the family: accountants, traders, kitchen workers, messengers, guards, hanger-ons, and wannabes.") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to (either: "Merchant", "Merchant Prince", "Banker", "Stonemason", "Artist", "Idle Youth", "Musketeer", "Occultist", "HIgh Society Lady"))''<center> $exploring </center>''
(text-indent: 35)[(print: $description)]
---
|=
[[Search the area]]
$distance
=|=
=><=
Talk to:
[[(print: 1st of $encounter)->Talk to someone]]
(if: $deathcount is <= 8) [(text-color: grey)[Can't play music while bleeding out!]] (else:) [ [[Play a few songs]] ]
[[Display Inventory]]
=|=
==>
Continue exploring
[[$exploring->Exploring]]
Return to the
[[Market Square]]
|==|
<==
(display: "exploration interface footer")(print: $message)
---
==>
[[Okay, let's make some music!->Busking 2 Player Move]]
(if: $questmove is not "music") [ [[Return to $exploring->Exploring]] ](set: $playermove to "none", $playerresult to 0) \
|=
<center>Charisma
(print: $cha) </center>
=|=
<center>Winning Songs
(print: $wins) </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
=><=
(text-size:1.5)[(link-reveal-goto: "Dance Tune", "Busking 3 Resolve")[(set: $playermove to "dance")]]
(text-size:1.5)[(link-reveal-goto: "Love Song", "Busking 3 Resolve")[(set: $playermove to "love")]]
(text-size:1.5)[(link-reveal-goto: "Historical Ballad", "Busking 3 Resolve")[(set: $playermove to "historical")]]
(text-size:1.5)[(link-reveal-goto: "Religious Hymn", "Busking 3 Resolve")[(set: $playermove to "religious")]]
(text-size:1.5)[(link-reveal-goto: "Comic Relief", "Busking 3 Resolve")[(set: $playermove to "comic")]]
• (if: $wildcards <= 0) [(text-color: grey)[Banter] ] (else:) [ [[Banter]] ] \
• [[Walk Away]] •
<==
---
|=
=><=
Location
(if: $distance <=1)[(print: $exploring)](else:)[(print: 1st of $feature), in $exploring]
=|=
=><=
Audience Challenge:
$target
=|=
=><=
Your Previous Song:
$lastmove
|==|
<==
(set: $timer to 3.5) \
{(live: 0.01s)[ (set: $timer to it -0.01) \
(meter: bind $timer, 3.5, "•", "The audience waits for you to play...", blue ) ]} \
(event: when $timer < 0)[(set: $playermove to "none") (goto: "Busking 3 Resolve")]
(if: $wins is <= -2)[(text-color: red)[(text-style: "fade-in-out")[The heckling is getting really bad...]]](set: $playerresult to (random: 1,20) + $cha + $chabonus)
(set: $opponentresult to (random: 1,20) + $target)
(if: $playermove is "none")[(set: $playerresult to 0)]
(if: $playermove is $audiencefave)[(set: $playerresult to it *2)]
(if: $playermove is $audiencehate)[(set: $target to it +2, $opponentresult to it * 2 ))]
(if: $lastmove is $playermove)[(set: $opponentresult to it + 4)]
(set: $opponentresult to (floor: $opponentresult))
(if: $playerresult is >= $opponentresult)[
(set: $wins to it +1)
(set: $message to "The audience applauds your " + $playermove + " song!")
] (else:) [
(set: $wins to it -1)
(set: $message to "The audience boos your " + $playermove + " song!")
]
(go-to: "Busking 4 Display")
(set: $lastmove to $playermove) \
|=
<center>Charisma
(print: $cha) </center>
=|=
<center>Winning Songs
(print: $wins) </center>
=|=
<center>Wildcards
(print: $wildcards) </center>
|==|
---
|=
==>
(if: $playermove is "none")[You waste time tuning your instrument](else:) [You perform a $playermove song] \
• $playerresult
=|=
<==
$opponentresult • The audience responds...
|==|
=><=
(if: $playerresult is >= $opponentresult)[(text-color: green)[(print: $message)]] (else:) [(text-color: red)[(print: $message)]]
(if: $wins is <= -2)[(text-color: red)[The heckling is getting really bad...]]
(event: when time >2s)[
(if: $wins >= 4)[(go-to: "Player Wins At Busking")]
(if: $wins <= -4)[(go-to: "Player Loses At Busking")]
(if: $wins is > -4 and $wins is < 4)[((go-to: "Busking 2 Player Move")]
](if: $exploring is "Market Square" or $exploring is "Lowertown")[(display: "Mercenary")]
(if: $exploring is "Uptown")[(display: "Musketeer")]
(if: $exploring is "The Countryside")[(display: "Highwayman")]
A (print: 1st of $encounter) hates your music so much, he challenges you to a duel!
(set: $xp to it +1)
<!-- this next bit of code is the same as the duelling setup, but the player can't opt out of it. --!>
(set: $opponentarmour to 2) \
(set: $opponentdex to 2) \
(set: $opponentsta to 3) \
(set: $opponentwildcards to 1) \
(set: $threat to 2nd of $encounter + ($distance / 8)) \
(set: $threat to (ceil: $threat)) \
(set: $opponentarmour to it + $threat) \
(set: $opponentdex to it + $threat) \
(set: $opponentsta to it + $threat) \
(set: $opponentwildcards to it + $threat) \
(set: $opponentspeed to 8 - 2nd of $encounter) \
(if: $opponentspeed is < 2)[(set: $opponentspeed to 2)] \
---
==>
[[Well, shit!->Core Loop 1 Player's Move]]
(event: when time >2.5s)[(go-to: "Core Loop 1 Player's Move")]
(if: $questmove is "music")[(set: $queststep to it +1) (go-to: "Exploring")] \
The audience loves your performance!
(set: $xp to it + 5 + (ceil: ($distance / 3))) \
(set: $target to 8 + $distance + (random: 1,6)) \
(if: $exploring is "Uptown")[(set: $target to it + 5)]
They drop $target coins in your hat, and promise to tell their friends about you.
(Set: $money to it + $target, $showswon to it +1)
---
==>
Continue exploring [[$exploring->Exploring]]
(if: $queststep is 1)[ [[Another bard approaches you...->Story 1]] ]''Busking and Playing Music''
---
(text-indent: 35)[The people of Port Gealach love their buskers. You can make money by playing music for them.]
(text-indent: 35)[In each round of busking, you can select one of five genres of music. You'll roll a d20, and add your Charisma score. If it's higher than a target number representing the challenge of the audience, you gain their attention and admiration. Your 'wins' counter will go up by +1. But if your result is smaller than the target, your 'wins' counter will go down.]
(text-indent: 35)[Every audience is different. There will be one kind of music they like, and another they hate. You'll have to figure that out as you perform for them. But no matter what, audiences don't like it when you play the same kind of song twice in a row.]
(text-indent: 35)[Get your 'wins' counter up to +4, and the audience will reward you with some money. But if you go down to -4, a heckler will challenge you to a duel!]
(text-indent: 35)[You can walk away from an unfinished performance that's going badly before that happens, but you will lose some honour.]
---
|=
Previous topic:
[[Exploring the world]]
=|=
==>
Next topic:
[[Fighting Duels]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ](set: $wildcards to it -1)
You engage the audience in some clever banter for a while.
(text-color: green)[The audience becomes better disposed to you.]
(set: $target to it - ((random: 1,4)+2) )
(if: $target is <= 0)[(set: $target to 1)]
---
==>
[[Continue->Busking 2 Player Move]]
(event: when time >2s)[(go-to: "Busking 2 Player Move")]
(set: $honour to it -1)
Your audience is disappointed in you. They promise to tell their friends that you walked away without finishing your show. But at least no one threatens you to a duel.
==>
<font size=-1>Honour -1</font>
---
Continue exploring [[$exploring->Exploring]] (if: $playermove is "dex")[(set: $dex to it +1)]
(if: $playermove is "con")[(set: $con to it +1)]
(if: $playermove is "cha")[(set: $cha to it +1)]
(set: $xp to it -7, $sta to $con, $deathcount to 100)
(go-to: "Display Inventory")
''Wildcards''
---
(text-indent: 35)[Wildcards are units of luck, good fortune, or extra energy, which allow you to make special moves while duelling or busking.]
(text-indent: 35)[Some special moves, such as bantering with an audience while busking, cost you a Wildcard. Others, like feinting while duelling, restore Wildcards back to you.]
(text-indent: 35)[It is also possible to replenish your Wildcards by visiting certain people in the world (and you'll have to explore to discover who they are). Some will want money, or the return of a lost item, in return for their blessing. Others will bless you with a new Wildcard for free as long as your honour is still good.]
---
|=
Previous topic:
[[Treating Injuries]]
=|=
==>
Next topic:
[[Trick Moves]]
|==|
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ]''Getting Started''
---
(text-indent: 35)[Your identity in the game is defined by several basic ability scores which determine how effective you are at various actions, like duelling or performing music.]
• //Dexterity// represents how fast you can wield a weapon.
• //Constitution// represents how tough you are; how many hits you can take in a duel.
• //Charisma// represents how talented you are with a musical instrument.
• //Stamina// represents how injured you are while duelling. When you are in full health, your stamina is the same as your Constitution. When you take a hit in combat, your stamina goes down. If it goes down to zero, you are in danger of death.
• //Honour// represents the state of your reputation. A positive Honour score is a good reputation; a negative score is a bad one. Doctors, priests, etc., might refuse to help you if your Honour is too low.
• And finally, //Experience points// accumulate over time, and can be traded in your Inventory page to improve your dexterity, constitution, or charisma.
---
==>
Next topic:
[[Exploring the world]]
=><=
[[Return to the menu->How To Play]]
(if: $queststep is not 100)[ [[Return to Summerland->Exploring]] ](if: $queststep is 6)[(go-to: "Story 6")] \
(if: $queststep is 10)[(go-to: "Story 10")] \
(if: $queststep is 15)[(go-to: "Story 15")] \
Luthier:
(text-indent: 35)[I make the very finest lutes, fiddles, violas, cellos, and guitars in all of Summerland.]
=><=
(if: $money is >= 35 and "Fine Lute" is not in $inventory)[ \
(link-goto: "Buy Fine Lute", "buy new lute 2")[(set: $playermove to "fine lute")] \
] (else:) [(text-color: grey)[Fine Lute]]
<font size=-1>35 coins. Musicianship bonus +3</font>
(if: $money is >= 60 and "Master Crafted Lute" is not in $inventory)[ \
(link-goto: "Master Crafted Lute", "buy new lute 2")[(set: $playermove to "master lute")] \
] (else:) [(text-color: grey)[Master Crafted Lute]]
<font size=-1>60 coins. Musicianship bonus +7</font>
(if: $money is >= 200 and "Bardic Invasion Guitar" is not in $inventory)[ \
(link-goto: "Bardic Invasion Guitar", "buy new lute 2")[(set: $playermove to "guitar")] \
] (else:) [(text-color: grey)[Bardic Invasion Guitar]]
<font size=-1>200 coins. Musicianship bonus +20</font>
==>
[[Not today.->Market Square]]
<==
(display: "exploration interface footer")
(set: $message to "It looks like you don't have enough money.")
(if: $playermove is "fine lute") [
(set: $money to it - 35)
(set: $inventory to it + (a: "Fine Lute"))
(set: $message to "There you go: a fine lute, for an up-and-coming bard!") ]
(if: $playermove is "master lute") [
(set: $money to it - 60)
(set: $inventory to it + (a: "Master Crafted Lute"))
(set: $message to "There you go: a master crafted lute, for the performer who wants to impress!") ]
(if: $playermove is "guitar") [
(set: $money to it - 200)
(set: $inventory to it + (a: "Bardic Invasion Guitar"))
(set: $message to "This rare and special instrument once belonged to the great bard Morningfrost, a legend in Summerland for the magic he brought to every show.") ]
(go-to: "buy lute 3")
Luthier:
(text-indent: 35) [(print: $message)]
==>
[[Equip it now?->equip instrument]]
Return to the [[Market Square]]
(display: "exploration interface footer")
Current instrument: $instrument
=><=
Equip:
(if: "Ordinary Lute" is in $inventory)[(link-reveal-goto: "Ordinary Lute", "Exploring")[(set: $instrument to "Ordinary Lute", $chabonus to 0)]]
(if: "Fine Lute" is in $inventory)[(link-reveal-goto: "Fine Lute", "Exploring")[(set: $instrument to "Fine Lute", $chabonus to 3)]] (else:) [(text-color: grey)[Undiscovered Instrument 1]]
(if: "Master Crafted Lute" is in $inventory)[(link-reveal-goto: "Master Crafted Lute", "Exploring")[(set: $instrument to "Master Crafted Lute", $chabonus to 7)]] (else:) [(text-color: grey)[Undiscovered Instrument 2]]
(if: "Wild Fairy Fiddle" is in $inventory)[(link-reveal-goto: "Wild Fairy Fiddle", "Exploring")[(set: $instrument to "Wild Fairy Fiddle", $chabonus to 12)]] (else:) [(text-color: grey)[Undiscovered Instrument 3]]
(if: "Magical Celtic Harp" is in $inventory)[(link-reveal-goto: "Magical Celtic Harp", "Exploring")[(set: $instrument to "Magical Celtic Harp", $chabonus to 12)]] (else:) [(text-color: grey)[Undiscovered Instrument 4]]
(if: "Fender Stratocaster Electric Guitar" is in $inventory)[(link-reveal-goto: "Fender Stratocaster Electric Guitar", "Exploring")[(set: $instrument to "Fender Stratocaster Electric Guitar", $chabonus to 15)]] (else:) [(text-color: grey)[Undiscovered Instrument 5]]
(if: "Bardic Invasion Guitar" is in $inventory)[(link-reveal-goto: "Bardic Invasion Guitar", "Exploring")[(set: $instrument to "Bardic Invasion Guitar", $chabonus to 20)]] (else:) [(text-color: grey)[Undiscovered Instrument 6]]
==>
---
[[Never mind->Exploring]] (set: $queststep to 100) \
=><=
(t8n: "fade") + (transition-time: 3s)[<img src="https://www.brendanmyers.net/storage/bards-of-summerland.png" width=100% align=center>
~•~ [[Once upon a time...->Setup]] ~•~
<font size=-1>[[...What is this?->How To Play]] </font> ]//A man with a lute much like yours strung over his shoulder notices you. He's tall, and walks with casual grace. He lowers his cowl; he has the head, ears, and whiskers of a cat.
//
Bard:
(text-indent: 35)[New in town?]
(text-indent: 35)[What, you've never seen a witchling bard before? There's plenty of us around. Or, there used to be...]
---
==>
[[What do you mean?->Story 1-2]]
Bard The Cat:
(if: $playermove is "tyrant")[(text-indent: 35)[Yeah, my thoughts exactly. The man doesn't do anything but complain. And take credit for other people's work. Yet somehow he's the new governor. ]] \
(if: $playermove is "what")[(text-indent: 35)[I'm just as pissed about this as you are. The Circle of Bards was the best thing that ever happened to me. And now it's gone... ]] \
(if: $playermove is "why")[(text-indent: 35)[Why? Because he's a feckin' tyrant, that's why. Also, he doesn't like music. He wants everyone to spend their free time at his political rallies, listening to him complain... ]]
(text-indent: 35)[So, I'm sorry, if you came here looking to join the Circle, there's nothing here for you.]
(text-indent: 35)[But let's go down to the pub anyway. Sure there's a pint in it for you. And a place to stay the night, if the inkeeper thinks your playing is any good.]
---
==>
[[Sure, let's go.->Story 1-4]]
[[Maybe later? Got some things to do first.->Story 1-4]]
Bard The Cat:
(text-indent: 35)[I'm Bard. James Bard. ]
(text-indent: 35)[That is: my name's Bard. And I'm also //a// bard; a member of the Circle of Bards.]
(text-indent: 35)[But that's all over now. Just last week, General Bailey Crave, the new governor, ordered the circle disbanded.]
(text-indent: 35)[Most of us have left town, probably for good.]
---
==>
(link-reveal-goto: "What? But I just got here!", "Story 1-3")[(set: $playermove to "what")]
(link-reveal-goto: "But why? Why?", "Story 1-3")[(set: $playermove to "why")]
(link-reveal-goto: "That bloody tyrant! ", "Story 1-3")[(set: $playermove to "tyrant")]
Bard The Cat:
(text-indent: 35)[Look for me at the Dew Drop Inn. It's in Lowertown. We bards have to look out for each other, eh?]
(set: $quest to "Find the Dew Drop Inn, Lowertown.", $queststep to 2, $exploring to "Market Square")
---
==>
[[Thanks, Bard!->Exploring]]
(set: 1st of $encounter to "Tharg The Lizard Man") \
(set: 2nd of $encounter to 5) \
(set: 3rd of $encounter to "no") \
\
(set: $message to (either: "Tharg Will Destroy!", "Ogres Die First!" )) \
\
(set: $opponentmoney to (random: 1,20) + 50) \
(set: $opponenthonour to (random: 1,9) +5) \
(set: 1st of $feature to "The Dew Drop Inn") \
(set: 2nd of $feature to "Nestled in an elbow of a narrow cobblestone alley, this public house is the only tavern in Lowertown where it sounds as if nobody is having a good time. It's quiet, almost dead. A broken guitar lies in the corner where no one has bothered to clean it up.") \
(set: 3rd of $feature to "food") \
(set: 1st of $encounter to "Bard The Cat" ) \
Bard The Cat:
(text-indent: 35)[Hey! Glad to see you!]
(text-indent: 35)[Let me buy you a pint. If you want to jump up on that stage and play a few tunes for us, I'll buy you another. And if you're any good, I'll tell you what //really// happened to the Circle of Bards...]
---
==>
[[All right->Story 2-1]]
[[Maybe later->Exploring]]
(set: $wins to 0)
(set: $target to 3)
(set: $message to "Bard the Cat and the other taven patrons settle down to take in your performance.")
(set: $audiencefave to (either: "love", "historical", "comic", "dance", "religious"))
(set: $audiencehate to (either: "love", "historical", "comic", "dance", "religious"))
(if: $audiencefave is $audiencehate) [(set: $audiencehate to "none")]
(set: $questmove to "music")
(go-to: "Busking 1")Bard the Cat:
(set: $xp to it + 5, $money to it + 10, $honour to it +1, $questmove to "none")
(text-indent: 35)[Great work there! Wonderfully done! If the Circle was still around, they'd let you in, for sure!]
(text-indent: 35)[I used to be an adventurer like you. Then I found a ball of yarn...]
(text-indent: 35)[But as it is, all I got for you is a few coins here. And a little inside information...]
---
==>
[[I'm listening->Story 3-1]]
Bard the Cat:
(text-indent: 35)[General Crave, our new good-for-nothing governor, has a mother, if you can believe it. And she used to come to the Bardic Circle shows all the time. She loved us! And after her useless feckless idiot of a son closed us down, one of her servants told me something.]
(text-indent: 35)[It seems the lady of the house is very unhappy with the decision to close the Circle. She asked her servants to find three old songs from her childhood. She said she would give to the bard who can play them any gift they ask for.]
(text-indent: 35)[Trouble is, we don't know those songs. We lost them...]
(text-indent: 35)[So all the bards here in town -- those few of us who remain -- we're looking everywhere for them. If we can find them and play them for Her Ladyship, we'll ask her to reinstate the Circle.]
(text-indent: 35)[I can just imagine it. All the bards of Summerland descending on our town, making music to chase the tyrants away. It would be a Bardic Invasion!]
---
==>
[[How can I help?->Story 3-2]]
Bard the Cat:
(text-indent: 35)[Help us look, of course! ]
(text-indent: 35)[General Crave stole our songbooks and burned them. But there might be someone who remembers the old songs, living somewhere here in town, or in the countryside.]
(text-indent: 35)[For instance, I've heard that here in Lowertown, there's a retired adventurer who might know a tune or two. He's a witchling like me, only he's not a cat, he's more like a kind of lizard...]
---
==>
[[Then let's go find him!->Story 3-3]]
Bard the Cat:
(set: $queststep to it +1, $quest to "Find the retired lizard-man adventurer in Lowertown.")
(text-indent: 35)[If you ever do find him, bring him to the luthier's shop in the Market Square, so we can learn his song together.]
---
==>
[[See you there!->Market Square]]
Tharg:
(text-indent: 35)[//Tharg Will Destroy!!//]
---
==>
[[What?->Story 4-1]]Tharg:
(text-indent: 35) [I used to shout that at my enemies before running into battle. I used to flare the skin around my neck at the same time, so I would look big and frightening. It was awesome. Wanna see me do it right now?]
---
==>
[[No, that's okay. I want to ask you a question...->Story 4-2]]Tharg:
(text-indent: 35)[You're looking for that song. You're not the only new face in town who'se come to ask me about it. Wasn't that cat, Bard, who put you up to it?]
(text-indent: 35)[Never mind, I already know it was him. Listen, if you can find me a keg of MorningFrost Special Reserve Mulberry Mead, I'll sing you any song you want! You should be able to find one uptown.]
(text-indent: 35)[They don't allow witchlings to go there anymore. Damn the general! ]
(set: $quest to "Bring Tharg a bottle of Mulberry Mead. from Uptown.", $queststep to 5)
---
==>
(if: "Mulberry Mead" is in $inventory)[(link-goto: "I happen to have some Mulberry Mead right here", "Story 5")] (else:) [ (link-goto: "Mulberry Mead. Okay, I'll find it for you.", "Exploring")]
Tharg:
(set: $inventory to it - (a: "Mulberry Mead"))
(text-indent: 35)[You found it! How wonderful!]
(text-indent: 35)[Give me a minute while I test its purity...]
---
==>
[[Uh, Tharg, you're drinking it.->Story 5-1]]
Tharg:
(text-indent: 35)[Why, yes I am. And it's delicious. Oh gods, it's... Mmm! Love it. Yeah.]
(text-indent: 35)[Oh, you wanted to hear that song. Yes it's an old adventurer's song we used to sing on the road. It goes like this...]
---
=><=
~•~ [[Learn the first song]] ~•~
=><=
(t8n: "fade") + (transition-time: 8s)[
//The First Lost Song//
I lit a candle for my desire,
Sent my prayers out through its fire,
My candle is an open door
To those who will be and those before.
Candle, candle, burning bright,
In the day and in the night
By the moon and the sun's light
I share my dreams and I share my plights
To the gods I love...
]
(set: $quest to "Return to Bard the Cat in the luthier's shop", $queststep to 6)
(set: $xp to it + 5, $honour to it +1)
(after: 3s) [(t8n: "fade") + (transition-time: 5s)[[[Continue->Exploring]]]] Bard the Cat:
(text-indent: 35)[Hey, it was great to hear you and old Tharg to sing you the first of the three lost songs! And all it took was a bottle of Mulberry Mead. Wish I had thought of that...]
(text-indent: 35)[The last time I heard the //second// lost song, I think I was Uptown. Some prof at the university was giving a public lecture on old Summerlandic folklore. The song was very old.]
(text-indent: 35)[I suppose that's where you could look next.]
(set: $queststep to 7, $quest to "Find the professor in Uptown")
---
==>
[[Okay, I'll look for the professor.->Exploring]]
Professor:
(text-indent: 35)[Is this the real life? Is this just fantasy...?]
---
==>
[[What?->Story 7-1]]
Professor:
(text-indent: 35)[Sorry, I don't always realise that I talk to myself out loud. Lately I've been under pressure...]
(text-indent: 35)[But never mind that. How can I help you?]
---
==>
[[Bard the Cat said you might know an old song.->Story 7-2]]
Professor:
(text-indent: 35)[Does //anybody// know what we are looking for?]
(text-indent: 35)[When I learned that General Crave had banned the Bardic Circle, I took my copy of //Brendan's Bardic Songs// out of my private library, and I arranged a courier to send it to the university in Riverdark, for safekeeping.]
(text-indent: 35)[But today, they told me it never arrived! ]
(text-indent: 35)[Bandits on the road, probably. Another hero, another mindless crime!]
---
==>
[[What if I went out to the countryside to find it for you?->Story 7-3]]
Professor:
(set: $queststep to 8, $quest to "Search all around the watch tower, in the countryside.")
(text-indent: 35)[That book is the last copy in the world. If it's lost, those songs will be lost forever.]
(text-indent: 35)[But then again, who wants to live forever? Who dares to love forever...?]
(text-indent: 35)[Ahem. There's a magician who lives in a watch tower in the countryside. I think it's him who took it. He's a bard like you, too. A strange one, though. A killer queen.]
(text-indent: 35)[Could be dangerous to find him... But the show must go on.]
---
==>
[[Don't stop me now!->Exploring]]
A clearing in a wood near the watchtower is full of magic dancing goblins.
Magician:
(text-indent: 35)[Rebel rebel! Your face is a mess...]
---
==>
[[I'm looking for a lost songbook->Story 8-1]]
Magician:
(text-indent: 35)[Well, you're a wild eyed boy from freecloud!]
(text-indent: 35)[What on earth makes you think I have such a book? We are hungry men.]
---
==>
[[The professor said it was stolen by bandits who live near this watchtower.->Story 8-2]]
Magician:
(text-indent: 35)[Did he now? Silly boy blue...]
(text-indent: 35)[I //might// have such a book. But it's a godawful small affair...]
---
==>
[[Offer to buy it from him->Story 8-3]]
[[Offer to duel him for it->Story 8-10]]Magician:
(text-indent: 35)[Come and buy my toys!]
(text-indent: 35)[I could part with it for... one hundred of those shiny coins of yours. I can't give everything away.]
==>
---
(if: $money >= 100)[(link-goto: "Here's red money.", "Story 8-4")] (else:) [(text-color: grey)[I don't have that much.] ]
[[Still ready to duel you for it. En garde!->Story 8-10]]
(set: $money to it -100) \
(set: $inventory to it + (a: "Rare songbook")) \
Magician:
(text-indent: 35)[It seems you're face to face with the man who sold the world...]
==>
---
[[That's the terror of knowing what this world is about.->Learn the Second Song]]
<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
(set: 1st of $encounter to "Magician") \
(set: 2nd of $encounter to 6) \
(set: 3rd of $encounter to "no") \
(set: $opponentmoney to (random: 1,30)+30) \
(set: $opponenthonour to (random: 1,7) +3) \
(set: $questmove to "fight")
Goblin Band Leader:
(text-indent: 35)[Put on your red shoes and dance, magic dance! ]
---
==>
[[En garde!->Challenge to a Duel 1 setup]]
Magician:
(set: $questmove to "none")
(text-indent: 35)[You've been around! It seems compared to you, I'm an absolute beginner.]
(text-indent: 35)[Very well then, here's the professor's book of rare songs.]
(set: $inventory to it + (a: "Rare Songbook"))
(text-indent: 35)[Give him a message for me, will you? Tell him I live in a criminal world now. But he can still come join me. And we could be heroes. Just for one day.]
---
=><=
~•~ [[Learn the Second Song]] ~•~
Bard the Cat:
(text-indent: 35)[You found the second song! Incredible! I hope those two sorcerers didn't didn't put you under pressure...]
(text-indent: 35)[While you were searching for them, Tharg and I went searching for the third song. None of the other bards in town know it.]
(text-indent: 35)[But I remember my old Bardic mentor told me that he learned it from a forest witch, who lives in a cottage in the countryside.]
(text-indent: 35)[I can't go. Now that the General has expelled all the bards, he's coming for witchlings like Tharg and me next. We have to go into hiding.]
---
==>
[[I can go.->Story 10-1]]=><=
(t8n: "fade") + (transition-time: 8s)[
//The Second Lost Song//
Look around you.
Who is before you?
Who is behind you?
Who is beside you?
And are you listening what they say?
We are a people who sing,
And we are a people who dream,
Holding our hands in a ring,
We are so much more than we seem.
We are so much more than we seem!
]
(set: $honour to it +1, $xp to it +5) \
(set: $queststep to 10, $quest to "Bring the book of rare songs to Bard the Cat, at the luthier shop.") \
(after: 3s) [(t8n: "fade") + (transition-time: 5s)[[[Continue->Exploring]]]] Bard the Cat:
(text-indent: 35)[Thanks. Many thanks. This will mean more to us than you can imagine.]
(text-indent: 35)[One word of advice: She might not teach you the song unless you can show you're good enough. If you haven't got one already, you might want to buy a Bardic Invasion Guitar. I used to have one... such a great guitar...]
(set: $queststep to 11, $quest to "Find the forest witch in her cottage, in the countryside.")
---
==>
(if: "Bardic Invasion Guitar" is in $inventory) [ [[I've got one righ there!->Story 10-2]] ] (else:) [ [[Where can I find one?->Story 10-2]] ]
Bard the Cat:
(text-indent: 35)[(if: "Bardic Invasion Guitar" is in $inventory)[Perfect! I'm sure it will help.] (else:) [You can buy one from the luthier, [[right here.->Luthier]]] ]
(text-indent: 35)[Safe travels, my friend! ]
---
==>
[[Continue->Exploring]] The Forest Witch:
(text-indent: 35)[Round and round the cauldron go, In the poisoned entrails throw!]
(text-indent: 35)[Double, double, toil and trouble, fire burn and cauldron bubble!]
(text-indent: 35)[By the pricking of my thumbs, something wicked this way comes!]
(text-indent: 35)[Speak, demand, we will answer. Hear it from us, or from our master...]
---
==>
[[Your... master?->Story 11-1]]
Forest Witch:
(text-indent: 35)[Oh, don't you worry about it. Me and the girls were just rehearsing for a play about three witches who play a practical joke on the king of Kellsland and get away with it.]
(text-indent: 35)[Tea?]
---
==>
[[Yes, please, and thank you.->Story 11-2]]
[[Actually, I'm in a bit of a hurry...->Story 11-2]]
Forest Witch:
(text-indent: 35)[I hear you're looking for the third lost song?]
(text-indent: 35)[Don't be surprised that I already know. We witches talk to each other, and the news gets around.]
(text-indent: 35)[The song is a special, sacred song. A magical song. And it is not mine to teach. ]
(text-indent: 35)[But if you show me your Bardic Arts are good enough, I'll take you to the man who can.]
---
==>
[[Thank you.->Story 11-3]]
(set: $wins to 0)
(set: $target to 5 + ($maxdist / 3))
(set: $message to "The forest witch settles down to listen, with a judgmental scowl on her face...")
(set: $audiencefave to (either: "love", "historical", "comic", "dance", "religious"))
(set: $audiencehate to (either: "love", "historical", "comic", "dance", "religious"))
(if: $audiencefave is $audiencehate) [(set: $audiencehate to "none")]
(set: $questmove to "music")
(go-to: "Busking 1")The Forest Witch:
(text-indent: 35)[You're wonderful! I think //he// will think you're wonderful too...]
(text-indent: 35)[Well, that's not for me to decide. I warn you only that you shall have to be at your very best when you play for him. And if he accepts your musical offering, he will teach you the third lost song.]
(text-indent: 35)[Look for him at any crossroads in the countryside. And then, start to play.]
---
==>
[[A country crossroads at night. Sounds ominous.->Story 12-1]]
(t8n: "fade") + (transition-time: 6s)[You're the only person here at the crossroads: no other travellers, no highwaymen or robbers, not even any birds or animals.]
(after: 3s) [(t8n: "fade") + (transition-time: 6s)[There's no one to hear you play.] ]
(after: 5s) [(t8n: "fade") + (transition-time: 6s)[And it's getting dark.] ]
==>
(after: 7s) [(t8n: "fade") + (transition-time: 6s)[
[[Play something anyway->Story 13-1]]
[[Continue exploring->Exploring]] ] ](t8n: "fade") + (transition-time: 6s)[As you play, a gathering of animals approaches the tree line: rabbits, roe deer, coyotes, owls, and others besides. ]
(after: 3s) [(t8n: "fade") + (transition-time: 6s)[ All you can hear of them are the shuffling of their feet; all you can see of them are their shadows. ] ]
(after: 5s) [(t8n: "fade") + (transition-time: 6s)[The thin high clouds cross over the crescent moon. ] ]
==>
(after: 7s) [(t8n: "fade") + (transition-time: 6s)[
[[Continue playing->Story 13-2]]
[[Run away->Exploring]] ] ](set: $wins to 0)
(set: $target to 5 + ($maxdist / 2))
(if: $target <= (10 + $cha))[(set: $message to "The audience looks eager to hear you perform.")]
(if: $target + 4 <= (10 + $cha))[(set: $message to "The audience looks like they'd be impressed by anything.")]
(if: $target > (10 + $cha))[(set: $message to "The audience looks cynical and unimpressed.")]
(if: $target > (10 + $cha) + 4)[(set: $message to "The audience totally ignores you.")]
(set: $audiencefave to (either: "love", "historical", "comic", "dance", "religious"))
(set: $audiencehate to (either: "love", "historical", "comic", "dance", "religious"))
(if: $audiencefave is $audiencehate) [(set: $audiencehate to "none")]
(set: $questmove to "music")
(go-to: "Busking 2 Player Move")(t8n: "fade") + (transition-time: 6s)[The wolves all howl together, to thank you for the gift of your music.]
(set: $questmove to "none")
(after: 3s) [(t8n: "fade") + (transition-time: 6s)[In a brief moment of clear moonlight, you see the Friend And Helper, the Great God Pan, smiling upon you.] ]
(after: 5s) [(t8n: "fade") + (transition-time: 6s)[He raises his hand in a gesture of blessing. A warm wind full of leaves rushes and swirls around you.] ]
(after: 7s) [(t8n: "fade") + (transition-time: 6s)[Then the moon closes behind the clouds, leaving you alone at the crossroads again.] ]
==>
(after: 9s) [(t8n: "fade") + (transition-time: 6s)[
//<font size=-1>+5 Wildcards received</font>//
=><=
~•~ [[Learn the third song]] ~•~ ] ]
=><=
(t8n: "fade") + (transition-time: 8s)[
//The Third Lost Song//
Two little boys had two wooden toys,
Each was a wooden horse.
Every day, gaily they played.
Warriors both of course!
One little chap, he had a mishap.
His horse had broken, lame.
Oh how he sighed, long how he cried.
What am I going to do?
Do you think I would leave you crying,
When there's room on me horse for two?
So climb up here, Joe, and don't be crying,
I can fix your horse with glue
When we grow up we'll both be soldiers,
And our horses will not be toys.
Then we'll say we remember
When we were two little boys.
]
(set: $quest to "Return to Bard the Cat in the luthier's shop", $queststep to 15, $questmove to "none") \
(set: $xp to it + 5, $honour to it +1, $wildcards to it +5) \
(after: 3s) [(t8n: "fade") + (transition-time: 5s)[[[Continue->Exploring]]]] Bard the Cat:
(text-indent: 35)[You found the third lost song! //The Third Lost Song!//]
(text-indent: 35)[We have a real chance to restore the honour of the Circle of Bards, at last!]
(text-indent: 35)[Come, let's go to the Town Hall. It's right beside the Market Square. Let's see if we can't get an audience with the missus.]
(text-indent: 35)[Get ready for a scrap, though. If you have to duel him, he might be the most dangerous foe you've ever fought.]
---
==>
[[I'm ready. Let's go!->Story 15-1]]
[[There's something else I have to do first.->Exploring]]
=><=
''Port Gaeleach Town Hall''
<==
(set: $exploring to "Town Hall")
The largest and most ostentatious building in Port Gaeleach is the Town Hall. Nearly a thousand years old, it is a high gothic mansion of many pointed-arch gables and tall slender towers. Statues of several old heroes and gods flank its front entryway. Stained glass fills the windows.
On a wooden platform nearby, the town crier announces the latest edict of the General: 'Tonight, all citizens shall be required to bring their songbooks and musical instruments to the Market Square, to be destroyed in a bonfire! Starting tomorrow: anyone caught hoarding songbooks and instruments in secret shall be arrested, and publically flogged!'
---
==>
[[Play the First Lost Song->Story 15-2]]
[[Stop playing and walk away->Exploring]]General Bailey Crave:
(text-indent: 35)[Stop! You there! Stop playing those songs at once! ]
(text-indent: 35)[Throw your instruments in the heap with the others for burning. Do it now, or I'll have you arrested!]
---
==>
[[Play the Second Lost Song->Story 15-3]]
[[Stop playing and walk away->Exploring]]The General's Mother:
(text-indent: 35)[Oh! Oh how wonderful! I have not heard that song since I was a little girl! Come on, Bailey-kins, let's hear one more...]
General Crave:
(text-indent: 35)[Absolutely not! If the Bardic Circle won't have me, I will have the circle!]
---
==>
[[Play the Third Lost Song->Story 15-4]]
[[Stop playing and walk away->Exploring]]<!-- encounters! Name of person, threat level (from 0 none, 1 low, to 5 bloodyhell), merchant no/product name.) --!> \
(set: 1st of $encounter to "General Bailey Crave") \
(set: 2nd of $encounter to 8) \
(set: 3rd of $encounter to "no") \
(set: $opponentmoney to (random: 1,30)+10) \
(set: $opponenthonour to (random: 1,7) -8) \
(set: $questmove to "fight")
General Crave:
(text-indent: 35)[I will not be humiliated like this by a pair of culchies and my own mother. //En garde!//]
---
==>
[[En garde!->Challenge to a Duel 1 setup]]
General Bailey Crave:
(set: $questmove to "none")
(text-indent: 25)[I submit, I yield, I yield...]
(text-indent: 25)[Ask any boon of me. If it is in my power to give, I shall give it. Only, spare my life....]
---
==>
[[Let the Circle of Bards play again!->Story 16-1]]
[[Kill him anyway.->Story 16-2]]General Crave:
(text-indent: 25)[Very well. By my order: the burning of the music is hereby cancelled, and the Circle of Bards is reconstituted! ]
(set: $honour to it +5)
The General's Mother:
(text-indent: 25)[You've made the right choice. Thank you for bringing joy back to our town.]
---
==>
[[I was glad to do it. And now, let's make some music!->Story End]]The General's Mother:
(text-indent: 25)[What? You didn't have to kill him! My dear boy Bailey-kins...]
(text-indent: 25)[Light up the bonfires - start the burning now! And you two-- Bard the Cat, and you whoever you are, you're under arrest!]
(set: $honour to it -5)
---
==>
[[Run!->Story End]](set: $queststep to 20, $exploring to "Market Square", $quest to "Buy one of Brendan's books...") \
<center> (t8n: "fade") + (transition-time: 3s)[
<img src="https://www.brendanmyers.net/storage/Bards-of-summerland-closing-image.png" width=100% align=center> </center>
=><=
~•~ [[Final Score]] ~•~
](set: $finalscore to $dex + $con + $cha + $duelswon + $showswon + $queststep + (abs: $honour)) \
(if: "Bardic Invasion Guitar" is in $inventory)[(set: $finalscore to it + 20)] \
=><=
''Bards of Summerland''
<==
Your final score is the total of your three main ability scores, the absolute (interger) value of your honour, the progress you made on the main quest, and whether or not you purchased the Bardic Invasion Guitar.
---
||==
Dexterity
Constitution
Charisma
Honour
Duels Won
Audiences Won
Quest Progress
Guitar?
=|=
$dex
$con
$cha
$honour
$duelswon
$showswon
$queststep
(if: "Bardic Invasion Guitar" is in $inventory)[+20](else:)[+0]
=|||||||=
=><=
(text-size: +2)[Final Score:
(print: $finalscore) ]
~•~ [[Return to Summerland->Exploring]] ~•~
~•~ [[Begin new story->Start]] ~•~
|==|
---
(print: 1st of $encounter):
(text-indent: 35)[I'm looking for a lost item... my $finditem.]
(text-indent: 35)[If you happen to come across it in your travels, would you bring it to me?]
---
==>
(if: $finditem is in $inventory)[ [[I have one right here->find item 2]] ] (else:) [ [[I'll keep watch for it->Exploring]] ]
[[Continue->Exploring]] (set: $honour to it + 1, $xp to it + $threat + $opponentdex +1, $deathcount to 100)
You and the (print: 1st of $encounter) part ways with mutual respect. The witnesses are impressed.
(set: $duelswon to it +1)
==>
---
<font size=-1>+1 honour</font>
[[Continue->Exploring]]
(set: 1st of $encounter to "Bard the Cat") \
(set: 2nd of $encounter to 2) \
(set: 3rd of $encounter to "no") \
\
(set: $message to "I used to be an adventurer like you. Then I found a ball of yarn." ) \
\
(set: $opponentmoney to (random: 1,6) + 10) \
(set: $opponenthonour to 8) \
(print: 1st of $encounter):
(text-indent: 35) [The musicians want twelve coins to make some music we can dance to, together.]
(text-indent: 35) [Let's do it. For as the Witch's Goddess says: all acts of love and pleasure are my rituals...]
==>
---
(if: $money < 12) [ [[I don't have twelve coins today...->Exploring]] ] (else:) [ [[Pay 12 coins->sexual healing 2]] ]
[[Not today.->Exploring]]
(print: 1st of $encounter):
(text-indent: 35)[Come again...]
(set: $money to it -12, $wildcards to it + 5)
---
==>
<font size= -1>Wildcards added</font>
[[Maybe I will...->Exploring]]
(print: 1st of $encounter):
(text-indent: 35) [If you lose a duel and find yourself bleeding out, use these long strips of clean cloth to close your wounds. Should be enough to hold you together until you rest, or eat something, or find someone to help get you back to full stamina.]
=><=
(if: $money >= 3)[(link-reveal-goto: "Buy 1 bandage", "Buy bandages 2")[(set: $playermove to "1 bandaid")] ] (else:) [(text-color: grey) [Buy 1 bandage.] ]
<font size=-1>3 coins</font>
(if: $money >= 7)[(link-reveal-goto: "Buy 3 bandages", "Buy bandages 2")[(set: $playermove to "3 bandaid")] ] (else:) [(text-color: grey) [Buy 3 bandages.] ]
<font size=-1>7 coins</font>
(if: $money >= 15)[(link-reveal-goto: "Buy 6 bandages", "Buy bandages 2")[(set: $playermove to "6 bandaid")] ] (else:) [(text-color: grey) [Buy 6 bandages.] ]
<font size=-1>15 coins</font>
==>
[[Not today.->Exploring]]
(display: "exploration interface footer")
(if: $playermove is "1 bandaid")[ (set: $money to it - 3, $bandages to it +1) ] \
(if: $playermove is "3 bandaid")[ (set: $money to it - 7, $bandages to it +3) ] \
(if: $playermove is "6 bandaid")[ (set: $money to it - 15, $bandages to it +6) ] \
(print: 1st of $encounter):
(text-indent: 35) [There you go, friend. Though I do hope you never have to use them!]
==>
<font size=-1>Bandages added</font>
[[Thank you!->Exploring]]
(Set: $bandages to it -1, $sta to 1, $deathcount to 100)
You have stabilized your injuries. You still need to rest or seek healing, to restor your stamina to full health.
==>
[[Continue->Exploring]] (set: $inventory to it - (a: $finditem)) \
(set: $honour to it +1, $xp to it +1, $money to it + 50 ) \
(print: 1st of $encounter):
(text-indent: 35)[You found my $finditem ! Thank you!]
(text-indent: 35)[Here's fifty coins for your trouble. And I'll tell everyone I know what a decent person you are.]
==>
---
<font size=-1>+ honour, money, and xp.</font>
[[You're welcome. Take care!->Exploring]]
(if: $playermove is "Fencing rapier" or $playermove is "Ordinary Lute") [(goto: "pawn shop 3")]
(set: $inventory to it - (a: $playermove)) \
(set: $temp to (random: 1,8) + 4) \
(set: $money to it + $temp) \
Pawnbroker:
(text-indent: 35) [Very well. Here's $temp coins for your $playermove. ]
(text-indent: 35) [Come again if you find anything interesting and valuable!]
---
==>
[[Sell something else.->Pawn Shop]]
[[Continue->Exploring]] Pawnbroker:
(text-indent: 35) [Oh, I could not possibly buy that from you. There's not enough demand for it these days. I'm sorry. Was there anything else you'd like to sell?]
==>
[[Yes.->Pawn Shop]]
[[No.->Exploring]] (t8n: "fade") + (transition-time: 6s)[The largest shadow in the trees resolves into the shape of a giant muscular man, twice as tall as you, and bearing the head and antlers of an elderly stag. ]
(after: 3s) [(t8n: "fade") + (transition-time: 6s)[He settles down to listen.] ]
==>
(after: 5s) [(t8n: "fade") + (transition-time: 6s)[
[[Play.->Story 13-3]]
[[Run away->Exploring]] ] ](set: 1st of $encounter to "Forest Witch") \
(set: 2nd of $encounter to 4) \
(set: 3rd of $encounter to "no") \
\
(set: $message to "I won the Witch's Cackle competition twice, you know..." ) \
\
(set: $opponentmoney to (random: 1,6) + 10) \
(set: $opponenthonour to 8) \
Forest Witch:
(text-indent: 35)[And allow me to give you my witch's blessing. As a parting gift...]
=><=
//"The sun shines out in the bright of day,
And in the night, the moon will sway,
I bathe you in the light of the Lord and Lady..."//
---
==>
//<font size=-1>+5 Wildcards received</font>//
(set: $queststep to 13, $quest to "Find a crossroads in the countryside, and play some music there.", $honour to it +1, $wildcards to it +5)
(set: $questmove to "none")
[[Blessed be!->Exploring]]
(set: 1st of $feature to "The Dew Drop Inn") \
(set: 2nd of $feature to "The largest and most ostentatious building in Port Gaeleach is the Town Hall. Nearly a thousand years old, it is a high gothic mansion of many pointed-arch gables and tall slender towers. Statues of several old heroes and gods flank its front entryway. Stained glass fills the windows. ") \
(set: 3rd of $feature to "no") \
(set: 1st of $encounter to "Bard The Cat" ) \
(set: 1st of $encounter to "Aunt Rosie") \
(set: 2nd of $encounter to 0) \
(set: 3rd of $encounter to "no") \
(set: $finditem to "nothing") \
\
(set: $message to (either: "Helooo! Aunt Rosie wants to give you keeesess....", "Oh I am sooo happy to see you! Come and give us keeesess..." )) \
\
(set: $opponentmoney to (random: 1,10)) \
(set: $opponenthonour to (random: 1,6) +3) \