Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<<if tags().includes("bbar")>>
<br><br>/*include a space for readability */
<div id="bottombar">
<div id="bbblock">
<div id="bbtext" class="textenter"> /*the textenter class means you can hit enter for textboxes in this div */
<<if tags().includes("password")>>
<<password "bob" "Start" "hilo milo">>
<</if>>
<<if tags().includes("dialogue")>>
<div style="display:flex; justify-content: center; align-items: center;">
<div id="responses"></div>
</div>
<</if>>
</div>
</div>
</div>
<</if>>http://www.gogamewise.com
<div id="volumeslider">Volume: <<volume>></div>
<span class="credits">[[Credits]]</span>
/*VERTICAL HEALTHBAR DISPLAY FOR STORY CAPTION
<div id="verticalhealthbarbkg" class="vertbarbkg">
<div id="verticalhealthbar" class="vertbar"></div>
</div>
<<run Health2($CurHP, $MaxHP, "verticalhealthbar", false)>>*/<strong>Design:</strong>
-Gilbert Walker
-Hannah Sunderland
<strong>Code:</strong>
Macros and other handy bits of code courtesty of:
-TheMadExile
-HiEv
-GreyElf
-Dan Cox
<strong>Styling:</strong>
-Hannah Sunderland (Aka my beautiful wife)
//A particular thanks to TheMadExile for the Sugarcube format, and Klembot for Twine in general. //
<<return "back">><<set $points to 5>>
<<set $textboxbutton to "Check!">> /*Default password button (if none is specified) */
<<set $reward to 3>>
<<set $emotionarray = ["happy","contented","sad","afraid","angry","disgusted"]>>
<<include [[emotion array setup]]>>
/*STOW UI BAR*/
<<script>>UIBar.stow()<</script>>
/*HEALTH*/
<<set $MaxHP to 10>> /* Maximum Hit Points */
<<set $CurHP to 5>> /* Current Hit Points */
/* MONSTER HEALTH METERS*/
<<set $monsterHP to 5>>
<<set $monsterMaxHP to 15>> /*initial setup */
<<newmeter '$healthBar'>> /*this is the (variable) name of the element */
<<animation 300ms>>
<<colors 'green' 'yellow' 'black'>>
<<label '$monsterHP/$monsterMaxHP' 'white' center>>
<</newmeter>>
/*SOUNDS - DEFAULT ERROR AND VICTORY SOUND INCLUDED!*/
<<set _sound = setup.Path + "error.mp3">>
<<cacheaudio "error" _sound>>
<<set _sound = setup.Path + "victory.mp3">>
<<cacheaudio "victory" _sound>>
/*----------------------------------------------------------CUSTOM PASSAGES------------------------------------------------------*/<span class="centerh">
<img src="assets/thumbnail.jpg" id="productImage">
</span>
<div>Before you begin, please enter your game code below:</div>
<div class="gameCode"><<password "indirect" "character setup" "Begin!">></div><h1>Drago's writing skills just levelled up!</h1>
<div class="dialogueleft">
<div id="NPCImg"><img src="assets/dragonhappy.jpg" style="max-width:300px;"></div>
</div>
<h3>Drago learned to use INDIRECT characterisation to show and not tell. He grew up to become a famous writer and remembered what you taught him for the rest of his days...</h3>
[[You're a Legend!|writing task]]<h1>Now show us just how good you are!</h1>
<h2>Your Task</h2>''Transform 2 of these DIRECT characterisation (telling) example sentences into a paragraph of INDIRECT characterisation (showing). Use paper or a device and aim for juicy detail!''
a. Don the magician felt a growing sense of dread as he looked out across the unfriendly crowd. He was very nervous.
b. At school, Brad rudely told everyone that Harry had played a terrible game of football on the weekend. Harry was filled with a desire for revenge.
c. Lucy desperately wanted a new laptop. She couldn't stop thinking about it and that night in the kitchen she pestered her dad about it.
d. Pete was so happy when April said that she'd go to the prom with him. When he got off the bus the next day he felt like a king.
e. Emma was filled with surprise and shock when her friends surprised her for her 14th birthday. She couldn't believe they'd remembered!
<h2>How to do it</h2>1) Circle or highlight the words in each sentence that are too DIRECT (telling).
2) Now think about how to communicate those DIRECT words through an action, a bit of dialogue, or sensory detail. Write down at least 1 action, dialogue line, and detail for EACH highlighted bit in step 1.
3) Highlight your juiciest ideas for actions/dialogue/detail.
4) Re-write the original sentence, but with your juiciest character actions, dialogue or details instead of those boring DIRECT words.
[[Show me the step by step guide...|writing example]]
[[I need help with step 1|writing task step 1 completed]]<h1>Now it's your turn...</h1><h3>Step 1 has been completed for you! Go get 'em cowboy.</h3>
<h2>Your Task</h2>
''Transform 2 of these DIRECT characterisation (telling) example sentences into a paragraph of INDIRECT characterisation (showing). Use paper or a device and aim for juicy detail!''
a. Don the magician felt <mark>a growing sense of dread</mark> as he looked out across <mark>the unfriendly crowd.</mark> He was <mark>very nervous.</mark>
b. At school, Brad <mark>rudely told everyone</mark> that Harry had <mark>played a terrible game</mark> of football on the weekend. Harry was <mark>filled with a desire for revenge</mark>.
c. Lucy <mark>desperately wanted</mark> a new laptop. She <mark>couldn't stop thinking about it</mark> and that night in the kitchen she <mark>pestered her dad</mark> about it.
d. Pete was <mark>so happy</mark> when April said that she'd go to the prom with him. When he got off the bus the next day he <mark>felt like a king</mark>.
e. Emma was <mark>filled with surprise and shock</mark> when <mark>her friends surprised her</mark> for her 14th birthday. She <mark>couldn't believe</mark> they'd remembered!
<h2>How to do it</h2>
1) <span style="text-decoration: line-through;">Circle or highlight the words in each sentence that are too DIRECT (telling).</span> COMPLETED!
2) Now think about how to communicate those DIRECT words through an action, a bit of dialogue, or sensory detail. Write down at least 1 action, dialogue line, and detail for EACH highlighted bit in step 1.
3) Highlight your juiciest ideas for actions/dialogue/detail.
4) Re-write the original sentence, but with your juiciest character actions, dialogue or details instead of those boring DIRECT words.
[[back|writing task]]<h1>Step by Step Guide</h1>
Let's start with example a:
//Don the magician felt a growing sense of dread as he looked out across the unfriendly crowd. He was very nervous.//
[[step 1]]<h2>1) Highlight the DIRECT (telling) bits of the example sentence.</h2>
//Don the magician felt <mark>a growing sense of dread</mark> as he looked out across <mark>the unfriendly crowd.</mark> He was <mark>very nervous.</mark> //
[[step 2]]<h2>2) Come up with some rough ideas for actions, dialogue and sensory details that //shows// each one your highlighted DIRECT bits. Basically, you're finding an INDIRECT way of communicating the same thing //without saying it.//</h2>
<mark>a growing sense of dread</mark>
*''Actions -'' Don checking his watch, rifling through his notes, swallowing, dropping his wand,
*''Dialogue -'' Maybe Don could say something that shows he's nervous? "You're a tough lot aren't you?" or "Just bear with me, I'll get there."
*''Sensory details -'' starting to sweat, feels like there's not enough air in the room, realises he's forgotten something
<mark>the unfriendly crowd</mark>
*''Actions -'' Someone laughs loudly, or throws something on to the stage, or talks over Don
*''Dialogue -'' Maybe someone hurls an insult? "Geez, he's an amatuer isn't he?", or "Is that the best you can do?"
*''Sensory details -'' Beer bottles are on the ground, noisy, stinky, lights feel too bright?
<mark>felt nervous</mark>
*''Actions -'' Don glances towards the back of the stage, drops a prop, stutters
*''Dialogue -'' Maybe someone actually notices he looks nervous? "Are you ok?", or "Look, he looks like he's about to pass out!"
*''Sensory details -'' lights feel too bright, head spin, breathing shallow
[[step 3]]<h2>3) Read over your ideas and highlight the most interesting ones. I've highlighted my favourites in green...</h2>
<mark>a growing sense of dread</mark>
*''Actions -'' Don checking his watch, rifling through his notes, <mark2>swallowing, dropping his wand</mark2>
*''Dialogue -'' Maybe Don could say something that shows he's nervous? "You're a tough lot aren't you?" or <mark2>"Just bear with me, I'll get there."</mark2>
*''Sensory details -'' <mark2>starting to sweat, feels like there's not enough air in the room,</mark2> realises he's forgotten something
<mark>the unfriendly crowd</mark>
*''Actions -'' Someone laughs loudly, or <mark2>throws something on to the stage,</mark2> or talks over Don
*''Dialogue -'' Maybe someone hurls an insult? "Geez, he's an amatuer isn't he?", or <mark2>"Is that the best you can do?"</mark2>
*''Sensory details -'' <mark2>Beer bottles are on the ground, voices babbling, smells like alcohol, nobody paying attention</mark2>
<mark>felt nervous</mark>
*''Actions -'' Don glances towards the back of the stage, <mark2>drops a prop</mark2>, stutters
*''Dialogue -'' Maybe someone actually notices he looks nervous? "Are you ok?", or <mark2>"Look, he looks like he's about to pass out!"</mark2>
*''Sensory details -'' <mark2>lights feel too bright, head spin, breathing shallow </mark2>
[[step 4]]<h2>4) Rewrite the sentence using your favourite (green) ideas //instead// of those boring DIRECT bits. You'll need to rearrange words here and there to make it fit nicely. Here's what I came up with:</h2>
<h3>BEFORE (Direct characterisation):</h3> //Don the magician felt a growing sense of dread as he looked out across the unfriendly crowd. He was very nervous.//
<h3>AFTER (Indirect characterisation)</h3> //Don swallowed. "Just bear with me," he said, starting to sweat as he fumbled for his wand. The air in the tent was thick, and the babbling voices of the crowd washed over him like a choking wave.
"Is that the best you can do?" A big man near the front of the stage laughed.
Don glanced towards the back of the stage. His head had started to spin. The lights were too bright, and his breathing came in shallow gasps.
"Look out!" boomed the big man, grinning, "the little wizard is about to pass out!"//
There! Now isn't that so much better?
[[Back to the Writing Task| writing task]]
/*----------------------------------------------------------NORMAL PASSAGES------------------------------------------------------*/<h2>Pick your Character</h2>
<div style="display: flex; flex-direction: row; justify-content: center;">
[img[Pick your Character|assets/girl1.jpg][dialogue1][$heroImg to "assets/girl1.jpg"]] [img[Pick your Character|assets/boy1.jpg][dialogue1][$heroImg to "assets/boy1.jpg"]]
</div>/* VARIABLE SETUP */
<<set _dialogueEncounter to "dialogue1">> /*setting the root name of the encounter (and related passages) change this for a diff encounter! */
<<set _heroDialoguePassage to _dialogueEncounter + " hero">> /* Setting the passage of dialogue for the hero > the hero's dialogue will come from this passage */
<<set _NPCDialoguePassage to _dialogueEncounter + " NPC">> /* Setting the passage of dialogue for the NPC > the NPC's dialogue will come from this passage */
<<set _dialogueTurn to -1>> /*counter for tracking what step the dialogue conversation is up to */
<<set _dialogueChoicePassage to _dialogueEncounter + " choices">>
<<set _forwardingpassage to "show vs tell GAME MECHANIC">> /*This is the passage players get sent to upon dialogue finish, or by pressing the 'skip' button */
<<set _NPCImg to "assets/wizard.jpg">> /*setting the img files for this particular encounter */
/*DISPLAY */
/* skip button! */
<div style="display:flex; justify-content: center;">
<span><<link "skip" _forwardingpassage>><</link>></span> /*skip button */
</div>
<br>
<br>
/* Hero dialogue zone*/
<div class="dialogueright">
<img @src="$heroImg">
<span id="hero" class="dialoguetext">...</span>
</div>
<br>
/* NPC dialogue zone*/
<div class="dialogueleft">
<img @src="_NPCImg">
<span id="NPC" class="dialoguetext"><<type 15ms>>Young Drago needs your help with some homework. Can you help him?<</type>></span>/*This first line of NPC dialogue is automatic */
</div>
<<timed 1s>>
<<include "dialogue engine">>
<</timed>>/*find out how many choices there should be and get labels for the choice links! */
<<set _dialogueTurn++>>
<<include _dialogueChoicePassage>>
/* If the dialogue is over, create a link that goes to the forwarding passage */
<<if _end is true>>
<<replace "#responses" t8n>><<link "Next" _forwardingpassage>><</link>><</replace>>
/* Otherwise start the LOOP That creates links for dialogue below... */
<<else>>
<<set _i to 0>> /*clears this variable for the loop below */
<<for _i to 0; _i lt _options.length; _i++>>
/* put choices in the response span in BBAR */
<<capture _i>>
<<append "#responses" t8n>>
<<if _i is 0>><<else>>|<</if>> /*put a nice divider line between choices if more than one choice */
<<link _options[_i]>>
<<set _choice to _i>> /* lock in the player's choice */
/*Clear choice options so players can't accidentally click a different link*/
<<replace "#responses" t8n>><</replace>>
/*START CURRENT hero SPEECH */
<<replace "#hero" t8n>>
<<include _heroDialoguePassage>>
<</replace>>
/*display NPC dialogue (note that it's now the next _dialogueturn, so the NPC will respond to the player's choice of this link) */
<<replace "#NPC" t8n>>
<<include _NPCDialoguePassage>>
<</replace>>
/*check if hero and NPC have finished speaking... if so load next bit of dialogue */
<<type 15ms>><<set _flag to true>><</type>> /*this will happen AFTER all the text has been typed */
<<repeat 1s>>
<<if _flag is true>>
<<include "dialogue engine">>/*this line reloads dialogue engine passage to get fresh choices and dialogue etc.*/
<<set _flag to false>>
<<stop>>
<<else>> /*KEEP CHECKING! */
<</if>>
<</repeat>>
<</link>>
<</append>>
<</capture>>
<</for>>
<</if>><<set _options to []>> /*initialise choice array (or clear it if is has old values)*/
<<switch _dialogueTurn>>
<<case 0>> <<set _options.push("Sure!")>> <<set _options.push("Can't you?")>> <<set _options.push("What's in it for me?")>>
<<case 1>> <<set _options.push("So what do I need to do?")>> <<set _options.push("*sigh")>>
<<case 2>> <<set _options.push("Ok…")>> <<set _options.push("Hmm…")>>
<<case 3>> <<set _options.push("What do I do?")>> <<set _options.push("Ok so…")>>
<<case 4>> <<set _options.push("Um…")>> <<set _options.push("Say what now?")>>
<<case 5>> <<set _options.push("So…")>>
<<case 6>> <<set _options.push("Wait…")>>
<<case 7>> <<set _options.push("1) is simple?")>> <<set _options.push("2) is more interesting?")>> <<set _options.push("Are they different?")>>
<<case 8>> <<set _options.push("So DIRECT characterisation is telling…")>>
<<case 9>> <<set _options.push("And INDIRECT characterisation is showing…")>>
<<case 10>> <<set _options.push("Ok. Test me out!")>>
<<case 11>> <<set _options.push("I was born ready.")>>
<<case 12>> <<set _options.push("1)")>> <<set _options.push("2)")>>
<<case 13>> <<set _options.push("I got this!")>>
<<case 14>> <<set _options.push("1)")>> <<set _options.push("2)")>>
<<case 15>> <<set _options.push("Nailed it.")>> <<set _options.push("I still don't get it")>>
<<case 16>> <<set _options.push("Finally!")>>
<</switch>><<switch _dialogueTurn>>
<<case 0>> <<switch _choice>> <<case 0>> <<type 15ms>> Sure Merlin, but where are you going? <</type>> <<case 1>> <<type 15ms>> Where are you going? Can't you help Drago? <</type>> <<case 2>> <<type 15ms>> What's in it for me? Why should I help? <</type>> <<default>> <<type 15ms>> Sure Merlin, but where are you going? <</type>> <</switch>>
<<case 1>> <<switch _choice>> <<case 0>> <<type 15ms>> So what exactly does Drago need help with? <</type>> <<case 1>> <<type 15ms>> Alright I suppose I can help. What does he need help with? <</type>> <<case 2>> <<type 15ms>> So what exactly does Drago need help with? <</type>> <<default>> <<type 15ms>> So what exactly does Drago need help with? <</type>> <</switch>>
<<case 2>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok I guess I know a thing or two. <</type>> <<case 1>> <<type 15ms>> What makes you think I'm good at writing anyway? <</type>> <<case 2>> <<type 15ms>> Ok I guess I know a thing or two. <</type>> <<default>> <<type 15ms>> Ok I guess I know a thing or two. <</type>> <</switch>>
<<case 3>> <<switch _choice>> <<case 0>> <<type 15ms>> So you didn't tell me what Drago needs help with… <</type>> <<case 1>> <<type 15ms>> Ok so how exactly am I supposed to help him? <</type>> <<case 2>> <<type 15ms>> So you didn't tell me what Drago needs help with… <</type>> <<default>> <<type 15ms>> So you didn't tell me what Drago needs help with… <</type>> <</switch>>
<<case 4>> <<switch _choice>> <<case 0>> <<type 15ms>> Um you might have to remind me about what that actually means… <</type>> <<case 1>> <<type 15ms>> What the heck does that mean? <</type>> <<case 2>> <<type 15ms>> Um you might have to remind me about what that actually means… <</type>> <<default>> <<type 15ms>> Um you might have to remind me about what that actually means… <</type>> <</switch>>
<<case 5>> <<switch _choice>> <<case 0>> <<type 15ms>> So what is INDIRECT characterisation then? <</type>> <<case 1>> <<type 15ms>> So what is INDIRECT characterisation then? <</type>> <<case 2>> <<type 15ms>> So what is INDIRECT characterisation then? <</type>> <<default>> <<type 15ms>> So what is INDIRECT characterisation then? <</type>> <</switch>>
<<case 6>> <<switch _choice>> <<case 0>> <<type 15ms>> Wait, so what's the difference exactly? <</type>> <<case 1>> <<type 15ms>> Wait, so what's the difference exactly? <</type>> <<case 2>> <<type 15ms>> Wait, so what's the difference exactly? <</type>> <<default>> <<type 15ms>> Wait, so what's the difference exactly? <</type>> <</switch>>
<<case 7>> <<switch _choice>> <<case 0>> <<type 15ms>> Example 1 seems simpler. Is that right? <</type>> <<case 1>> <<type 15ms>> Example 2 seems much more interesting. Is that right? <</type>> <<case 2>> <<type 15ms>> Hmm… I'm not sure I see any difference really? <</type>> <<default>> <<type 15ms>> Example 1 seems simpler. Is that right? <</type>> <</switch>>
<<case 8>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok so DIRECT characterisation is //telling//...and telling worse because it's boring. <br>The reader doesn't get to imagine anything or draw their own conclusions. <</type>> <<case 1>> <<type 15ms>> Ok so DIRECT characterisation is //telling//...and telling worse because it's boring. <br>The reader doesn't get to imagine anything or draw their own conclusions. <</type>> <<case 2>> <<type 15ms>> Ok so DIRECT characterisation is //telling//...and telling worse because it's boring. <br>The reader doesn't get to imagine anything or draw their own conclusions. <</type>> <<default>> <<type 15ms>> Ok so DIRECT characterisation is //telling//...and telling worse because it's boring. <br>The reader doesn't get to imagine anything or draw their own conclusions. <</type>> <</switch>>
<<case 9>> <<switch _choice>> <<case 0>> <<type 15ms>> And INDIRECT characterisation is //showing//... and showing is better because it's interesting. The reader enters the world of the character, and gets to experience what is happening. <</type>> <<case 1>> <<type 15ms>> And INDIRECT characterisation is //showing//... and showing is better because it's interesting. The reader enters the world of the character, and gets to experience what is happening. <</type>> <<case 2>> <<type 15ms>> And INDIRECT characterisation is //showing//... and showing is better because it's interesting. The reader enters the world of the character, and gets to experience what is happening. <</type>> <<default>> <<type 15ms>> And INDIRECT characterisation is //showing//... and showing is better because it's interesting. The reader enters the world of the character, and gets to experience what is happening. <</type>> <</switch>>
<<case 10>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok I think I get it now, but give me a few test questions just to make sure… <</type>> <<case 1>> <<type 15ms>> Ok I think I get it now, but give me a few test questions just to make sure… <</type>> <<case 2>> <<type 15ms>> Ok I think I get it now, but give me a few test questions just to make sure… <</type>> <<default>> <<type 15ms>> Ok I think I get it now, but give me a few test questions just to make sure… <</type>> <</switch>>
<<case 11>> <<switch _choice>> <<case 0>> <<type 15ms>> I was born ready. Ready is my middle name. You don't have to tell me twice-- <</type>> <<case 1>> <<type 15ms>> I was born ready. Ready is my middle name. You don't have to tell me twice-- <</type>> <<case 2>> <<type 15ms>> I was born ready. Ready is my middle name. You don't have to tell me twice-- <</type>> <<default>> <<type 15ms>> I was born ready. Ready is my middle name. You don't have to tell me twice-- <</type>> <</switch>>
<<case 12>> <<switch _choice>> <<case 0>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <<case 1>> <<type 15ms>> 2) is INDIRECT characterisation <</type>> <<case 2>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <<default>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <</switch>>
<<case 13>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok I've got this! Give me another one… <</type>> <<case 1>> <<type 15ms>> Ok I've got this! Give me another one… <</type>> <<case 2>> <<type 15ms>> Ok I've got this! Give me another one… <</type>> <<default>> <<type 15ms>> Ok I've got this! Give me another one… <</type>> <</switch>>
<<case 14>> <<switch _choice>> <<case 0>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <<case 1>> <<type 15ms>> 2) is INDIRECT characterisation <</type>> <<case 2>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <<default>> <<type 15ms>> 1) is INDIRECT characterisation <</type>> <</switch>>
<<case 15>> <<switch _choice>> <<case 0>> <<type 15ms>> Yep I get it now. Thanks for the help! <</type>> <<case 1>> <<type 15ms>> Hmm something about it isn't clicking for me. <</type>> <<case 2>> <<type 15ms>> Yep I get it now. Thanks for the help! <</type>> <<default>> <<type 15ms>> Yep I get it now. Thanks for the help! <</type>> <</switch>>
<<case 16>> <<set _end to true>> <<switch _choice>> <<case 0>> <<type 15ms>> I thought you'd never ask! <</type>> <<case 1>> <<type 15ms>> I thought you'd never ask! <</type>> <<case 2>> <<type 15ms>> I thought you'd never ask! <</type>> <<default>> <<type 15ms>> I thought you'd never ask! <</type>> <</switch>>
<<default>> <<set _end to true>>
<</switch>><<switch _dialogueTurn>>
<<case 0>> <<switch _choice>> <<case 0>> <<type 15ms>> Bravo! I've got some urgent business I'm afraid. <</type>> <<case 1>> <<type 15ms>> I'm afraid I'm busy today my child. I have some urgent business. <</type>> <<case 2>> <<type 15ms>> Eternal glory, my child, eternal glory. I'm afraid I'm going away so helping Drago is up to you. <</type>> <<default>> Bravo! I've got some urgent business I'm afraid. <</switch>>
<<case 1>> <<switch _choice>> <<case 0>> <<type 15ms>> Drago needs help with his writing. He needs someone with your writing skill. <</type>> <<case 1>> <<type 15ms>> Thankyou my child. Drago will not forget this. He needs help with his writing. <</type>> <<case 2>> <<type 15ms>> Drago needs help with his writing. He needs someone with your writing skill. <</type>> <<default>> Drago needs help with his writing. He needs someone with your writing skill. <</switch>>
<<case 2>> <<switch _choice>> <<case 0>> <<type 15ms>> That's the spirit! <</type>> <<case 1>> <<type 15ms>> Don't worry, Drago's writing is…how shall we put it? Very basic. I'm sure he'll appreciate any help he can get! <</type>> <<case 2>> <<type 15ms>> That's the spirit! <</type>> <<default>> That's the spirit! <</switch>>
<<case 3>> <<switch _choice>> <<case 0>> <<type 15ms>> Well… Drago needs help making his characterisation more ''INDIRECT''. Most of it is too ''DIRECT'' at the moment… <</type>> <<case 1>> <<type 15ms>> Well… Drago needs help making his characterisation more ''INDIRECT''. Most of it is too ''DIRECT'' at the moment… <</type>> <<case 2>> <<type 15ms>> Well… Drago needs help making his characterisation more ''INDIRECT''. Most of it is too ''DIRECT'' at the moment… <</type>> <<default>> Well… Drago needs help making his characterisation more ''INDIRECT''. Most of it is too ''DIRECT'' at the moment… <</switch>>
<<case 4>> <<switch _choice>> <<case 0>> <<type 15ms>> ''DIRECT characterisation'' is when you TELL the reader something about a character. <br> ''Example 1)'' John was very sad that day and wished life could be different. <</type>> <<case 1>> <<type 15ms>> ''DIRECT characterisation'' is when you TELL the reader something about a character. <br> ''Example 1)'' John was very sad that day and wished life could be different. <</type>> <<case 2>> <<type 15ms>> ''DIRECT characterisation'' is when you TELL the reader something about a character. <br> ''Example 1)'' John was very sad that day and wished life could be different. <</type>> <<default>> ''DIRECT characterisation'' is when you TELL the reader something about a character. <br> ''Example 1)'' John was very sad that day and wished life could be different. <</switch>>
<<case 5>> <<switch _choice>> <<case 0>> <<type 15ms>> ''INDIRECT characterisation'' is when you SHOW the reader something about a character. <br>''Example 2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<case 1>> <<type 15ms>> ''INDIRECT characterisation'' is when you SHOW the reader something about a character. <br>''Example 2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<case 2>> <<type 15ms>> ''INDIRECT characterisation'' is when you SHOW the reader something about a character. <br>''Example 2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<default>> ''INDIRECT characterisation'' is when you SHOW the reader something about a character. <br>''Example 2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</switch>>
<<case 6>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok let's look at them side by side... <br>'' 1) ''John was very sad that day and wished life could be different. <br> ''2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<case 1>> <<type 15ms>> Ok let's look at them side by side... <br>'' 1) ''John was very sad that day and wished life could be different. <br> ''2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<case 2>> <<type 15ms>> Ok let's look at them side by side... <br>'' 1) ''John was very sad that day and wished life could be different. <br> ''2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</type>> <<default>> Ok let's look at them side by side... <br>'' 1) ''John was very sad that day and wished life could be different. <br> ''2)'' John's breakfast was like dust in his mouth, and he stared out window with vacant eyes. <</switch>>
<<case 7>> <<switch _choice>> <<case 0>> <<type 15ms>> Exactly! <br>Example 1 simply tells you directly that John //is// sad. It's kind of boring. <br> Example 2 is more interesting to read because you see John's sadness through his actions! You're never //told// that John is sad, you can work it out from the way John is described, and the things he actually //does//. <</type>> <<case 1>> <<type 15ms>> Exactly! <br>Example 1 simply tells you directly that John //is// sad. It's kind of boring. <br> Example 2 is more interesting to read because you see John's sadness through his actions! You're never //told// that John is sad, you can work it out from the way John is described, and the things he actually //does//. <</type>> <<case 2>> <<type 15ms>> Ah not to worry my child. These things take time. <br>Example 1 simply tells you directly that John //is// sad. It's kind of boring. <br> Example 2 is more interesting to read because you see John's sadness through his actions! You're never //told// that John is sad, you can work it out from the way John is described, and the things he actually //does//. <</type>> <<default>> Exactly! <br>Example 1 simply tells you directly that John //is// sad. It's kind of boring. <br> Example 2 is more interesting to read because you see John's sadness through his actions! You're never //told// that John is sad, you can work it out from the way John is described, and the things he actually //does//. <</switch>>
<<case 8>> <<switch _choice>> <<case 0>> <<type 15ms>> Right you are! <</type>> <<case 1>> <<type 15ms>> Right you are! <</type>> <<case 2>> <<type 15ms>> Right you are! <</type>> <<default>> Right you are! <</switch>>
<<case 9>> <<switch _choice>> <<case 0>> <<type 15ms>> Couldn't have said it better myself! <</type>> <<case 1>> <<type 15ms>> Couldn't have said it better myself! <</type>> <<case 2>> <<type 15ms>> Couldn't have said it better myself! <</type>> <<default>> Couldn't have said it better myself! <</switch>>
<<case 10>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok...I'll give you two sentences and you have to tell me which one is INDIRECT characterisation (the better one). Ready? <</type>> <<case 1>> <<type 15ms>> Ok...I'll give you two sentences and you have to tell me which one is INDIRECT characterisation (the better one). Ready? <</type>> <<case 2>> <<type 15ms>> Ok...I'll give you two sentences and you have to tell me which one is INDIRECT characterisation (the better one). Ready? <</type>> <<default>> Ok...I'll give you two sentences and you have to tell me which one is INDIRECT characterisation (the better one). Ready? <</switch>>
<<case 11>> <<switch _choice>> <<case 0>> <<type 15ms>> Ok, ok! <br> ''1)'' Bob groaned.'' 2)'' Bob was sad. <br>(Which one is INDIRECT characterisation?) <</type>> <<case 1>> <<type 15ms>> Ok, ok! <br> ''1)'' Bob groaned.'' 2)'' Bob was sad. <br>(Which one is INDIRECT characterisation?) <</type>> <<case 2>> <<type 15ms>> Ok, ok! <br> ''1)'' Bob groaned.'' 2)'' Bob was sad. <br>(Which one is INDIRECT characterisation?) <</type>> <<default>> Ok, ok! <br> ''1)'' Bob groaned.'' 2)'' Bob was sad. <br>(Which one is INDIRECT characterisation?) <</switch>>
<<case 12>> <<switch _choice>> <<case 0>> <<type 15ms>> Bravo! <br>'Bob groaned' is INDIRECT characterisation (showing). You figure out that he is sad by what he //does//! <</type>> <<case 1>> <<type 15ms>> Oopsy!<br>'Bob was sad' is DIRECT characterisation because it's simply //telling// the reader that Bob is sad. <</type>> <<case 2>> <<type 15ms>> Bravo! <br>'Bob groaned' is INDIRECT characterisation (showing). You figure out that he is sad by what he //does//! <</type>> <<default>> Bravo! <br>'Bob groaned' is INDIRECT characterisation (showing). You figure out that he is sad by what he //does//! <</switch>>
<<case 13>> <<switch _choice>> <<case 0>> <<type 15ms>> ''1)'' Mary ate all the pudding before anyone else could.<br> ''2)'' Mary was an extremly selfish person at Christmas. <br>(Which one is INDIRECT characterisation?) <</type>> <<case 1>> <<type 15ms>> ''1)'' Mary ate all the pudding before anyone else could.<br> ''2)'' Mary was an extremly selfish person at Christmas. <br>(Which one is INDIRECT characterisation?) <</type>> <<case 2>> <<type 15ms>> ''1)'' Mary ate all the pudding before anyone else could.<br> ''2)'' Mary was an extremly selfish person at Christmas. <br>(Which one is INDIRECT characterisation?) <</type>> <<default>> ''1)'' Mary ate all the pudding before anyone else could.<br> ''2)'' Mary was an extremly selfish person at Christmas. <br>(Which one is INDIRECT characterisation?) <</switch>>
<<case 14>> <<switch _choice>> <<case 0>> <<type 15ms>> Excellent work!<br> 'Mary ate all the pudding before anyone else could' is INDIRECT characterisation. It //shows// you her selfishness through her actions. <</type>> <<case 1>> <<type 15ms>> Nope!<br> 'Mary was an extremely selfish person at Christmas' is boring old DIRECT characterisation (telling). <</type>> <<case 2>> <<type 15ms>> Excellent work!<br> 'Mary ate all the pudding before anyone else could' is INDIRECT characterisation. It //shows// you her selfishness through her actions. <</type>> <<default>> Excellent work!<br> 'Mary ate all the pudding before anyone else could' is INDIRECT characterisation. It //shows// you her selfishness through her actions. <</switch>>
<<case 15>> <<switch _choice>> <<case 0>> <<type 15ms>> I knew you'd pick it up quickly! Now you can help young Drago! <</type>> <<case 1>> <<type 15ms>> Not to worry! <<set _dialogueTurn -=12>> Let's go back in time and I'll try to explain it again…<br><<link "Click here to go back in time!" `passage()`>><</link>> <</type>> <<case 2>> <<type 15ms>> I knew you'd pick it up quickly! Now you can help young Drago! <</type>> <<default>> I knew you'd pick it up quickly! Now you can help young Drago! <</switch>>
<<case 16>> <<switch _choice>> <<case 0>> <<type 15ms>> *Chuckles* <</type>> <<case 1>> <<type 15ms>> *Chuckles* <</type>> <<case 2>> <<type 15ms>> *Chuckles* <</type>> <<default>> *Chuckles* <</switch>>
<<default>> <<set _end to true>>
<</switch>>/*EMOTION WIDGET THAT SETS A RANDOM Synonym EMOTION*/
<<widget "emotion">>
<<switch $args[0]>>
<<case "happy">>
<<set _happy = ["happiness","excitement","exuberance","joy","cheerful", "glee"]>>
<<set _emotion to _happy.random()>>
<<case "contented">>
<<set _contented = ["contentment","peace","serenity","calm","satisfaction"]>>
<<set _emotion to _contented.random()>>
<<case "sad">>
<<set _sad = ["sadness","sorrow","despair","mournfulness","resignation","misery","grief"]>>
<<set _emotion to _sad.random()>>
<<case "afraid">>
<<set _afraid = ["fear","anxiety","nervous","worry","fright","terror","dread","panic","horror"]>>
<<set _emotion to _afraid.random()>>
<<case "angry">>
<<set _angry = ["anger","fury","rage","annoyance","irritation","resentment","outrage"]>>
<<set _emotion to _angry.random()>>
<<case "disgusted">>
<<set _disgusted = ["disgust","discomfort","nausea","queasiness","revulsion","distaste"]>>
<<set _emotion to _disgusted.random()>>
<<case "confused">>
<<set _confused = ["confusion","bewilderment","tired","exhaustion">>
<<set _emotion to _disgusted.random()>>
<<default>>
Emotion switch error!
<</switch>>
<</widget>>Gah! Drago need help.
Drago need much help!
Help Drago yes?
Drago not a master of language yet...need help.
Drago will be like you one day. Show Drago how.
Drago learn from you.
You show Drago now?
Grr! Drago's brain explode!
Drago find this hard. Yes, very hard.
You are Drago's hero now...Ok Drago! I'll point out the INDIRECT characterisation for you...
Want me to help you find INDIRECT characterisation?
Need help finding INDIRECT characterisation?
Want me to identify INDIRECT characterisation for you?
Hey Drago, I'll show you which one is INDIRECT characterisation.
Learn from the master. I'll show you which characterisation is INDIRECT.<<audio "victory" volume 0.5 play>>
<<audio "victory" fadeoverto 1 0>><<audio "error" volume 0.5 play>>
<<audio "error" fadeoverto 1 0>><<set _NPCImg to "assets/dragonconfused.png">> /*setting the img files for this particular encounter */
<<arraymaker "drago intro lines">>
<<set _drago to _array.random()>>
<<arraymaker "hero intro lines">>
<<set _hero to _array.random()>>
/*DISPLAY */
/* skip button!
<div style="display:flex; justify-content: center;">
<span><<link "skip" _forwardingpassage>><</link>></span>
</div>
<br>
<br>*/
/* Hero dialogue zone*/
<div class="dialogueright">
<img @src="$heroImg">
<span id="hero" class="dialoguetext"><<type 15ms>>_hero<</type>></span>
</div>
<br>
/* NPC dialogue zone*/
<div class="dialogueleft">
<div id="NPCImg"><img @src="_NPCImg"></div>
<span id="NPC" class="dialoguetext"><<type 15ms>>_drago<</type>></span>/*This first line of NPC dialogue is automatic */
</div>
<<showmeter '$healthBar' `$monsterHP / $monsterMaxHP`>>
<br>
<section class="paper">
<div id="choices" class="papertext">
</div>
</section>
/*Get a random gender, a matching character and set temporary character variable*/
<<set $gender to random(1,2)>>
<<if $gender is 1>>
<<gender "female">>
<<set _character = ["Suzy","Bianca","Mum"]>>
<<else>>
<<gender "male">>
<<set _character = ["Harry","Vinny","Ben"]>>
<</if>>
<<set _x to _character.random()>>
<<set _emotiontype to $emotionarray.random()>> /*grabbing an random emotion type/category before including show and tell passage below*/
<<include [[show and tell sentence maker]]>>
/*2 choices setup*/
<<set _successlink to _show>> <<set _successoutcome to "Yep, that's INDIRECT characterisation!">>
<<set _faillink to _tell>> <<set _failoutcome to "Oopsy! Wait a second... that was DIRECT characterisation.">>
<<set _successforwardinglink to "show vs tell GAME MECHANIC">>
<<set _failforwardinglink to "show vs tell GAME MECHANIC">>
/*SHOW or TELL LINKS, goes with two choices setup^^*/
<<timed 0.1s>>
<<set _coinflip to random(1,2)>> /*random result to order buttons randomly*/
<<if _coinflip is 1>>
<<append "#choices">> /*RIGHT button*/
A) <<link _successlink>>
<<include "victory sound">>
<<replace "#hero">>
_successoutcome
<</replace>>
<<replace "#choices">><</replace>>
<<replace "#NPC">>
Drago very happy!<br>
You <<link "help Drago some more?">><<goto _successforwardinglink>><</link>>
<</replace>>
<<set _NPCImg to "assets/dragonhappy.jpg">><<replace "#NPCImg">><img @src="_NPCImg"><</replace>>
<<set $monsterHP++>>
<<updatemeter '$healthBar' `$monsterHP / $monsterMaxHP`>>
<<if $monsterHP gte $monsterMaxHP>><<timed 1s>><<goto [[victory]]>><</timed>><</if>>
<</link>>.<br><br>
<</append>>
<<append "#choices">> /*WRONG button*/
B) <<link _faillink>>
<<include "wrong sound">>
<<replace "#hero">>
_failoutcome
<</replace>>
<<replace "#choices">><</replace>>
<<replace "#NPC">>
Ah... Drago confused now...<br>
Drago show you <<link "another?">><<goto _successforwardinglink>><</link>>
<</replace>>
<<set _NPCImg to "assets/dragon.jpg">><<replace "#NPCImg">><img @src="_NPCImg"><</replace>>
<<set $monsterHP-->>
<<updatemeter '$healthBar' `$monsterHP / $monsterMaxHP`>>
<</link>>.
<</append>>
<<else>> /*put buttons in reverse order with incorrect being first this time*/
<<append "#choices">> /*WRONG button*/
A) <<link _faillink>>
<<include "wrong sound">>
<<replace "#hero">>
_failoutcome
<</replace>>
<<replace "#choices">><</replace>>
<<replace "#NPC">>Drago want to learn. But learning hard!<br>
Can you help Drago <<link "again?">><<goto _successforwardinglink>><</link>>
<</replace>>
<<set _NPCImg to "assets/dragon.jpg">><<replace "#NPCImg">><img @src="_NPCImg"><</replace>>
<<set $monsterHP-->>
<<updatemeter '$healthBar' `$monsterHP / $monsterMaxHP`>>
<</link>>.<br><br>
<</append>>
<<append "#choices">> /*RIGHT button*/
B) <<link _successlink>>
<<include "victory sound">>
<<replace "#hero">>
_successoutcome
<</replace>>
<<replace "#choices">><</replace>>
<<replace "#NPC">>
Drago happy now!<br>
Can Drago <<link "have more help?">><<goto _successforwardinglink>><</link>>
<</replace>>
<<set _NPCImg to "assets/dragonhappy.jpg">><<replace "#NPCImg">><img @src="_NPCImg"><</replace>>
<<set $monsterHP++>>
<<updatemeter '$healthBar' `$monsterHP / $monsterMaxHP`>>
<<if $monsterHP gte $monsterMaxHP>><<timed 1s>><<goto [[victory]]>><</timed>><</if>>
<</link>>.<br><br>
<</append>>
<</if>>
<</timed>>/*get random show and tell sentences from a suitable _emotiontype category above*/
<<switch _emotiontype>>
<<case "happy">>
<<if $happy.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "happy">> <<set $happy to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $happytell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "happy tell">> <<set $happytell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$happy.length-1)>> /*random number for index*/
<<set _tell to $happytell[_number]>> /*using random number to grab tell member*/
<<set _show to $happy[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $happy.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $happytell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "contented">>
<<if $contented.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "contented">> <<set $contented to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $contentedtell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "contented tell">> <<set $contentedtell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$contented.length-1)>> /*random number for index*/
<<set _tell to $contentedtell[_number]>> /*using random number to grab member*/
<<set _show to $contented[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $contented.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $contentedtell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "sad">>
<<if $sad.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "sad">> <<set $sad to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $sadtell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "sad tell">> <<set $sadtell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$sad.length-1)>> /*random number for index*/
<<set _tell to $sadtell[_number]>> /*using random number to grab member*/
<<set _show to $sad[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $sad.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $sadtell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "afraid">>
<<if $afraid.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "afraid">> <<set $afraid to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $afraidtell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "afraid tell">> <<set $afraidtell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$afraid.length-1)>> /*random number for index*/
<<set _tell to $afraidtell[_number]>> /*using random number to grab member*/
<<set _show to $afraid[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $afraid.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $afraidtell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "angry">>
<<if $angry.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "angry">> <<set $angry to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $angrytell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "angry tell">> <<set $angrytell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$angry.length-1)>> /*random number for index*/
<<set _tell to $angrytell[_number]>> /*using random number to grab member*/
<<set _show to $angry[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $angry.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $angrytell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "disgusted">>
<<if $disgusted.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "disgusted">> <<set $disgusted to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $disgustedtell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "disgusted tell">> <<set $disgustedtell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$disgusted.length-1)>> /*random number for index*/
<<set _tell to $disgustedtell[_number]>> /*using random number to grab member*/
<<set _show to $disgusted[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $disgusted.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $disgustedtell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<case "confused">>
<<if $confused.length lte 0>> /*If the array is empty, refresh it!*/
<<arraymaker "confused">> <<set $confused to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<if $confusedtell.length lte 0>> /*If the tell array is empty, refresh it!*/
<<arraymaker "confused tell">> <<set $confusedtell to _array>> /*repopulate using the arraymaker widget */
<</if>>
<<set _number to random(0,$confused.length-1)>> /*random number for index*/
<<set _tell to $confusedtell[_number]>> /*using random number to grab member*/
<<set _show to $confused[_number]>> /*this matches the _tell above because I'm using the same random number to grab array member*/
<<set $confused.deleteAt(_number)>> /*deleting that^^ show member from the array so we won't see it again soon*/
<<set $confusedtell.deleteAt(_number)>> /*deleting that^^ tell member from the array so we won't see it again soon*/
<<default>>
Suitable SHOW sentence switch error!
<</switch>>/*SEUP VARIABLES*/
<<set _emotiontype to $emotionarray.random()>> /*grabbing a random TYPE of emotion from the categories in emotionarray before including the show and tell sentence maker below*/
<<include [[emotion array setup]]>> /*sets the story variable arrays*/
<<include [[show and tell sentence maker]]>>
<<emotion _emotiontype>> /*emotion widget gets random synonym emotion called _emotion using _emotiontype as args[0]*/
/*CHARACTER/GENDER SETUP*/
/*Get a random gender, a matching character and set temporary character variable*/
<<set $gender to random(1,2)>>
<<if $gender is 1>>
<<gender "female">>
<<set _character = ["Sue","Ellen","Mary"]>>
<<else>>
<<gender "male">>
<<set _character = ["John","Phil","Tony"]>>
<</if>>
<<set _x to _character.random()>>/*CONSTRUCTING SHOW & TELL ARRAYS BASED ON EACH EMOTION*/
/* 1. call on the show/tell widget each time to draw from an array bank that matches the random emotion above^^*/
/* 2. Then grabbing the temp array that the widget outputs and saving it to a Permanent array */
<<arraymaker "happy">> <<set $happy to _array>>
<<arraymaker "contented">> <<set $contented to _array>>
<<arraymaker "sad">> <<set $sad to _array>>
<<arraymaker "afraid">> <<set $afraid to _array>>
<<arraymaker "angry">> <<set $angry to _array>>
<<arraymaker "disgusted">> <<set $disgusted to _array>>
<<arraymaker "confused">> <<set $confused to _array>>
<<arraymaker "happy tell">> <<set $happytell to _array>>
<<arraymaker "contented tell">> <<set $contentedtell to _array>>
<<arraymaker "sad tell">> <<set $sadtell to _array>>
<<arraymaker "afraid tell">> <<set $afraidtell to _array>>
<<arraymaker "angry tell">> <<set $angrytell to _array>>
<<arraymaker "disgusted tell">> <<set $disgustedtell to _array>>
<<arraymaker "confused tell">> <<set $confusedtell to _array>>_x laughed and punched $his fist into the air
_x couldn't stop grinning
_x held $his breath while $his brother unwrapped the gift
_x giggled as $he turned the pages in $his book
_x went on every ride at the theme park that day
_x ran into the lounge, skipping and dancing_x smiled happily. Victory at last.
_x was smiling joyfully
_x waited excitedly while $his brother unwrapped the gift
_x turned the pages of the $his book gleefully
_x was energised by the theme park
_x cheerfully entered the lounge. $He was full of joy_x turned to gaze at the setting sun and the sharp angles in $his face melted.
_x closed $his eyes, sipped $his chocolate milkshake and smiled
_x flopped onto the couch with a chuckle, and breathed deeply
_x watched the light on the water, humming softly
_x walked slowly, letting the smell of earth and flowers wash over $him_x turned to gaze at the setting sun, $his face the picture of peace.
_x sipped $his chocolate milkshake in satisfaction
_x flopped onto the couch contentedly
_x sat by the river and felt a serene calm.
_x always loved how peaceful the garden was_x sighed as $he watched $his laptop sink beneath the waves
_x's shoulders sank as $he heard the news
_x sniffed, and blew $his nose loudly on a tissue
_x turned towards $his friend with cold, lifeless eyes
_x's breathing came in deep, heaving gasps
_x didn't want to talk to anyone. It was too hard
_x stared out the window with sunken eyes
_x's father asked if $he was still having trouble getting out of bed
Each day, _x felt like there was a little less air in the world
_x let the flowers fall from $his grasp onto the gravestone_x was miserable when $his laptop sank
_x's felt sad as $he heard the terrible news
_x looked like $he had just been crying
_x turned towards $his friend with a look of resignation
_x's sobbed in despair
_x resigned $himself to a sorrowful silence
_x was miserable living alone. $He found it soul destroying
_x was so miserable $he couldn't get out of bed
_x grappled with a growing feeling of despair
_x placed the flowers on the gravestone mournfully_x's heart was beating rapidly in $his chest
_x's breath caught in $his throat
_x's face grew white as $he watched $his watch
_x waited until all the lights were on in the house before entering
_x tried to slow $his breathing. It's alright, $he told $himself
_x crept slowly down the stairs, freezing at every noise
_x didn't want anyone to know $he took spare torches to the woods
_x kept pacing up and down, $his eyes wide
_x wiped sweat off $his forehead
_x swallowed. $His mouth was dry_x's heart was pounding with dread
_x was terrified
_x started to panic as $his time ran out
_x was too scared to enter the house in the dark
_x tried to comfort $himself and calm $his growing sense of terror
_x went nervously down the stairs, terrified of what would happen if they woke
_x was very frightened of the woods, especially at night time
_x kept pacing up and down the room fearfully
_x's face was filled with worry
_x knew $he looked terrified_x slammed $his cards down on the table
_x walked out of the room and slammed the door
_x kicked the stuffed teddy across the room
_x punched the couch cushion and sighed
_x puffed like a bull about to charge
_x clenched and unclenched $his fists
_x said, "I need a shower to cool off"
_x screamed at the car in front, and beeped the horn 3 times_x was furious after the game
_x left the room in a fit of fury
_x felt angry, like $he wanted to hurt someone or something
_x felt rage rising within $himself and struggled to contain it
_x sniffed angrily, like a bull about to charge
_x looked mad, real mad
_x decided to leave the room and let $his anger boil down
_x was irritated easily, and turned into a raging devil behind the wheel spat into the ashtray and tried to stop $himself gagging
_x clutched $his stomach and ran to the bathroom
_x grimaced as $he bit into the olive
_x choked on the bread. It tasted like old socks dipped in manure
_x watched the toad slurp up the slime. $He had to look away
After the ride, _x held $his stomach for the next hour
_x's face was green. $He closed $his eyes and moaned a little every time the boat rocked_x spat out the cigarette in disgust
_x felt the queasiness hit him in a wave of nausea
_x thought the olive was gross
_x reeled in shock at the foul tasting bread. It was truly disgusting
_x watched the toad eating the slime. It was revolting
_x felt sick after the ride and almost puked
_x's face was green. $He was feverish, and the movement of the waves made $him feel sick5 coffees later, _x scratched $his head and stared blankly at the puzzle.
_x stifled a yawn. "It's too tricky for me"
_x held $his head in $his hands. "What's the answer!?" $he mumbled
_x went over every detail until $his head was swimming
_x lost himself in the labyrinth of possibilities
_x shook $his head and tried to clear $his thoughts
_x tried to watch the magician's hands, but it all happened so fast_x The puzzle was extremely difficult, and _x tried in vain to solve it
_x was tired and gave up easily
_x felt exhausted, but $he had to know the answer
_x struggled to piece it all together. It was such a muddle
_x was confused by the number of different options
_x felt muddled and tried to refocus $himself
_x couldn't understand how the magician did the trick
/*-----------------------------------------------------------------WIDGETS---------------------------------------------------------------- */<<widget "arraymaker">> /*the name of the widget*/
/*Get the contents of a variable passage - that is specified in the twine passage. For example, <<arraymaker "somepassage">> would run this widget and turn the contents of "somepassage" into an Array*/
<<set _passageContents to Story.get($args[0])>> /*full argument string in raw and parsed forms—accessed via the $args.raw and $args.full*/
/*Turn the contents into text*/
/* <<set _passageText to _passageContents.processText()>> used to be .text (.processText also gets macros!!!) */
/* script for replacing non-breaking spaces with normal spaces */
/* <<script>>
State.temporary.passageText = State.temporary.passageText.replace(/\u00A0/g,' ');
<</script>> */
<<set _passageText to _passageContents.text>>
/*Turn the text into an Array (split here by ENTERS)*/
<<set _array to _passageText.split("\n")>>
<</widget>><<widget "password">> /*The name of the widget */
/*setting up the failed password messages array */
<<arraymaker "failed password messages">> <<set _failmessage to _array>>
<<set _counter to 0>>
<<set _password to $args[0]>> /*setting the textbox password */
<<set _forwardingpassage to $args[1]>> /*setting the forwarding passage */
<<if $args[2]>>
<<set _buttonlabel to $args[2]>>/*setting the label for the textbox check button. If Designer hasn't included a button label it will default to "Check!" */
<<else>>
<<set _buttonlabel to "Check!">>
<</if>>
/*Creating the textbox and button */
<div class="textenter">
<<textbox "_code" "" autofocus>>
<<button _buttonlabel>>
<<set _code to _code.toLowerCase()>>
<<if _code.indexOf(_password) > -1>> /*checks code against the password set by the widget argument. If password is "brain" any instance of it will work, ie "brained" or "the brain" or "xyzsbrain"*/
<<goto _forwardingpassage>>
<<else>>
<<replace "#answerfeedback">>_failmessage[_counter]<</replace>>
<<set _counter++>>
<<if _counter gte _failmessage.length>> /*if you've seen all the fail messages, reset the counter so you start from the beginning again */
<<set _counter to 0>>
<</if>>
<</if>>
<</button>>
</div>
<br>
<span id="answerfeedback"></span>
<</widget>>
/*USAGE: <<password "The Password" "Forwarding Passage" "Button Label">> "The Password", the second is the passage to forward to if the password is correct */Oopsy! That doesn't look right...try again?
Hmm...that's not the code I was expecting...
Nope, that's not it I'm afraid! :(
Are you sure you know what you're doing here? ;)
Hmm maybe try asking your teacher?
Are you sure the spelling is correct?
Hmmm not trying to break in are you? :P
If you type that password in wrong again I think I'll cry!<<widget "gender">> /*the name of the widget*/
<<if $args[0] is "male">>
<<set $he to "he">>
<<set $him to "him">>
<<set $his to "his">>
<<set $himself to "himself">>
<<set $He to "He">>
<<set $Him to "Him">>
<<set $His to "His">>
<<set $Himself to "Himself">>
<<set $son to "daughter">>
<<set $witch to "witch">>
<<set $wife to "wife">>
<<set $wizard to "wizard">>
<<set $prince to "prince">>
<<set $boy to "boy">>
<<set $brother to "brother">>
<<set $father to "father">>
<<else>>
<<set $he to "she">>
<<set $him to "her">>
<<set $his to "her">>
<<set $himself to "herself">>
<<set $He to "She">>
<<set $Him to "Her">>
<<set $His to "Her">>
<<set $Himself to "Herself">>
<<set $son to "son">>
<<set $witch to "wizard">>
<<set $wife to "husband">>
<<set $wizard to "witch">>
<<set $prince to "princess">>
<<set $boy to "girl">>
<<set $brother to "sister">>
<<set $father to "mother">>
<</if>>
<</widget>>/* widget fuction that adds or subtracts health, plays appropriate sound and sends you to the death passage if you're dead!*/
<<widget "CurHP">>
/*LOSE HEALTH */
<<set $CurHP to $CurHP + $args[0]>> /*Gain or lose as much HP as the widget argument[0] */
/*AUDIO */
<<if $args[0] gte 0>> /*gain HP, so play victory sound */
<<audio "victory" volume 0.5 play>>
<<audio "victory" fadeoverto 1 0>>
<<timed 1s>> <<audio "victory" stop>> <</timed>>
<<else>> /* loss of HP, so play error sound */
<<audio "error" volume 0.5 play>>
<<audio "error" fadeoverto 1.5 0>>
<</if>>
/*GAME-BASED STUFF */
<<if $CurHP lte 0>> /*IF HP loss dropped player below 0 send them to the death passage! */
<<timed 1.5s>>
<<audio "error" stop>>
<<goto [[death]]>> /*change this to whatever passage you want */
<</timed>>
<</if>>
<<if $CurHP gt $MaxHP>> /*IF the HP gain puts player OVER max HP, set HP to Max HP*/
<<set $CurHP to $MaxHP>>
<</if>>
/*UPDATE HEALTHBAR! */
<<run Health2($CurHP, $MaxHP, "verticalhealthbar", false)>>
<</widget>>
/* ---------------------------------- RANDOM SHIT----------------------------- */