=><=
''(print: $player's name)''
vs.
''(print: $opponent's name)''
<==
($healthText: $opponent) ($healthText: $player)
(set: _healthRatio to $opponent's health / $opponent's maxHealth - $player's health / $player's maxHealth)\
(if: _healthRatio < -0.2 and $opponent's losingText is not (a:))[\
(move: $opponent's losingText's 1st into _t)(print: _t)
](else-if: _healthRatio > 0.2 and $opponent's winningText is not (a:))[\
(move: $opponent's winningText's 1st into _t)(print: _t)
]\
($poseText: $opponent)
=><=
|==
(t8n-arrive:"instant")+(link-reveal-goto: "Convince", "Combat Move")[(set:$player's move to "A")]
=|=
(t8n-arrive:"instant")+(link-reveal-goto: "Deflect", "Combat Move")[(set:$player's move to "P")]
==|
(t8n-arrive:"instant")+(link-reveal-goto: "Confront", "Combat Move")[(set:$player's move to "G")]
|==|
(set:_shake to (animate:?passage,'rumble'))\
($moveText: $player)
(click:?page)[=\
($moveText: $opponent)
(click:?page)[=\
(if: ($move:$player) is "A")[\
(if: ($move:$opponent) is "A")[\
Both attacks hit!
_shake\
(set:
$opponent's health to it - $player's attack,
$player's health to it - $opponent's attack,
)](else-if: ($move:$opponent) is "P")[\
Your attack was deflected!
(print:$opponent's attackText)
You take the hit!
_shake\
(set:$player's health to it - $opponent's attack)\
](else-if: ($move:$opponent) is "G")[\
You score a hit, stopping (print:$opponent's them) in (print:$opponent's their) tracks!
_shake\
(set:$opponent's health to it - $player's attack)\
]](else-if: ($move:$player) is "P")[\
(if: ($move:$opponent) is "A")[\
You deflect (print:$opponent's their) attack!
(print: $player's attackText)
You score a hit!
_shake\
(set: $opponent's health to it - $player's attack)\
](else-if: ($move:$opponent) is "P")[\
Neither of you attack.
](else-if: ($move:$opponent) is "G")[\
You get knocked back!
(print:$opponent's attackText)
You take the hit!
_shake\
(set:$player's health to it - $opponent's attack)\
]](else-if: ($move:$player) is "G")[\
(if: ($move:$opponent) is "A")[\
You get hit!
_shake\
(set:$player's health to it - $opponent's attack)\
](else-if: ($move:$opponent) is "P")[\
You knock (print:$opponent's them) back!
(print: $player's attackText)
You score a hit!
_shake\
(set: $opponent's health to it - $player's attack)\
](else-if: ($move:$opponent) is "G")[\
You knock each other back!
]]
(if: $opponent's health < 1)[\
(print: $opponent's loseText)
(click-goto:?page, $winCombatPassage)
](else-if: $player's health < 1)[\
(print: $player's loseText)
(click-goto:?page, $loseCombatPassage)
](else:)[
(set:$opponent's pattern to (str: ...(rotated: -1, ...it)))
(t8n-arrive:"instant")(click-goto:?page, "Combat Menu")
](set:
$move to (macro: dm-type _x, [
This produces "A", "G", or "P" based on the move of the passed-in fighter. Because opponents choose their move from the first character in their pattern, and players choose their move manually, two different approaches are needed here.
(set:_out to '')
(if:_x contains "pattern")[
(set:_out to _x's pattern's 1st)
](else:)[
(set: _out to _x's move)
]
(out-data:_out)
]),
$poseText to (macro: dm-type _x, [
This produces the appropriate text for the passed-in fighter's current pose, which is based on their current move. Note that player fighters do not have poses.
(out-data: _x's ((cond:
($move:_x) is "A", "attackPose",
($move:_x) is "P", "parryPose",
"grapplePose",
)))
]),
$moveText to (macro: dm-type _x, [
This produces the appropriate text for the passed-in fighter's current move.
(out-data: _x's ((cond:
($move:_x) is "A", "attackText",
($move:_x) is "P", "parryText",
"grappleText",
)))
]),
$healthText to (macro: dm-type _x, [
This produces the appropriate text for the passed-in fighter's current health, based on their maximum health. This chooses between the five entries in the array using the following method:
100% - 1st
99% to 75% - 2nd
75% to 50% - 3rd
50% to 25% - 4th
25% to 0% - 5th
(out-data: _x's healthText's (
(ceil: (1 - (_x's health / _x's maxHealth)) * 4) + 1
))
]),
$turnBasedCombat to (macro: dm-type _player, dm-type _opponent, str-type _winCombat, str-type _loseCombat, [
This macro begins turn-based combat, with the player fighting the opponent, and then sending the player to one of two different rooms based on whether they won or lost the battle.
(set:
$player to _player,
$opponent to _opponent,
$winCombatPassage to _winCombat,
$loseCombatPassage to _loseCombat)
(out-data:(goto:"Combat Menu"))
])
)Oh my! It seems that you have fallen to ''(print: $opponent's name)'' and the convoluted nonsensical "logic."
Alas, you have failed.
[[Learning Check]]
Truly excellent! When faced with your strong communication skills, ''(print: $opponent's name)'' has been caught off guard.
"Wow, you're right... I didn't realize... Thank you for setting me straight!" ''(print: $opponent's name)'' reels from this ultimate paradigm shift.
Although you know this conversation will likely be had again, you have survived another Thanksgiving!
[[Learning Check]]
You are a public health major at the University of California Berkeley. You are visting your family at home in Fort Lauderdale, Florida, for Thanksgiving.
Around the table sit your mother, father, brother, aunt, cousin, grandma, grandpa, and you. The meal has progressed smoothly, minimal fights, ongoing questions about when you'll settle down, and comments that cause you to cringe but are otherwise easy to ignore.
But then.
**It happens.**
The dreaded topic, the number one **AVOID AT ALL COSTS** topic, comes up.
[[Politics.]]"Ya know, I saw a pretty interesting article my friend shared on Facebook about how the climate has always been changing, so this whole climate change hullabaloo isn't really a big deal", your brother, John (click:"John")[(one of those people who loves to *cherry pick* information)] mentions in between forkfuls of mashed potatoes.
You try to remember.
(click-replace: "You try to remember.")[Wait, what is (link-reveal:"cherry picking?")[(live: 2s)[ <p> Oh, yeah, carefully selecting data that appear to confirm one position while ignoring other data that contradicts that position instead of looking at all the whole picture. </p> Back to John...(stop:)]]]
Do you:
[[Say nothing]]
[[ "Actually..."]]
You challenge his fervor by eating your pile of potatoes even faster.
"It was saying that humans aren't responsible for any of it because the climate's always been changing, it's really caused by solar shifts. And all of the issues people mention, like about temperature and whatever, is a completely normal part of it." John continues.
"Well, no, there is tons and tons of data out there about how—" You get cut off again.
"That sounds much more reasonable than what all the news is saying. I've been around for a long time and can tell you that things are fine, sometimes it's hotter, sometimes it's colder, that's just how it works." Grandpa interjects, setting his fork down. He leans across the table towards John. "Mind sending that to me?"
"Yeah, I'll do it after dinner. Glad you want to read it!"
[[You jump up, knocking over your plate and the nearby glass. "No, no, no!"]]
[[You scream incoherently.]]
[["John, you're a Grade A Idiot."]]
[["What facts in the article stuck out to you, John?"]]"Actually", you interject, "that's verifiably false."
"No, the article, it was saying that humans aren't responsible for any of it because the climate's always been changing, it's really caused by solar shifts. And all of the issues people mention, like about temperature and whatever, is a completely normal part of it." John continues.
"Well, no, there is tons and tons of data out there about how—" You get cut off again.
"That sounds much more reasonable than what all the news is saying. I've been around for a long time and can tell you that things are fine, sometimes it's hotter, sometimes it's colder, that's just how it works." Grandpa interjects, setting his fork down. He leans across the table towards John. "Mind sending that to me?"
"Yeah, I'll do it after dinner. Glad you want to read it!"
[[You jump up, knocking over your plate and the nearby glass. "No, no, no!"]]
[[You scream incoherently.]]
[["John, you're a Grade A Idiot."]]
[["What facts in the article stuck out to you, John?"]]You open your mouth and scream, a long, loud note. You scream and scream and scream. Your mother's birds join in from the other room. There is nothing but the scream.
Good luck getting anyone in your family to listen to you now.
[[End->Intro]]"John," you say, folding your hands in front of you. "Has anyone ever told you that you're a Grade A Idiot?"
"That's not nice. Honey, just stop." Your mother states from the end of the table.
[[Lay off.]]
[[INITIATE A BATTLE OF WITS.]]"What facts in the article stuck out to you, John?" you politely ask your brother.
"Well, uh, it talked about how the climate is always changing and it really stopped in 1998, like, things have been the same from then." He stutters, unsure now that you've directly confronted him.
Your mother looks frantically between the two of you.
[[Lay off.]]
[[INITIATE A BATTLE OF WITS.]]"You fool!" You shriek, shaking you head and arms wildly. "How can you be so stupid? Did no one teach you how to critically think and analyze data and the news?!"
"Please, stop." Your mother asks from the end of the table.
[[Lay off.]]
[[INITIATE A BATTLE OF WITS.]]You drop it, for your mother's sake if not the planet's, and tune out the rest of the dinner conversation.
Oh well, you can always try again next year. If it's not too late!
[[End->Intro]](set:
_allOpponents to (dm:
"John", (dm:
"name", "John",
"they", "he",
"them", "him",
"their", "his",
"health", 7,
"maxHealth", 7,
"attack", 2,
"pattern", "AAAGP",
"attackPose", 'John scoffs "Oh yeah, well what about..."',
"attackText", "John says (either:'climate science can not be trusted because scientists are biased','over thirty thousand Americans with science degrees signed a petition saying this is not human caused','climate change is fake news','this November has been too cold for global warming to be real','global warming stopped in the 90s')!",
"parryPose", 'John rolls his eyes.',
"parryText", "John takes a bite of turkey.",
"grapplePose", 'John raises his voice.',
"grappleText", "John talks over you, trying to change the subject!",
"healthText", (a:
"John is grinning.",
"John is scowling.",
"John is frowning, corners of his mouth turned far downard.",
"John's eyes dart side-to-side, seeking help.",
"John is holding back tears of confusion.",
),
"winningText", (a:
'John chortles, "Ha ha! Why even get that degree?"',
'John mutters "Lets move on so we can get to the pie."',
),
"losingText", (a:
'John wails "Wait, why does that make sense?"',
'John gasps "But, but the article..."',
),
"loseText", 'John yells, "UGH, forget it" and shovels potatoes into his mouth.',
),
),
_playerBaseStats to (dm:
"name", "Climate Defender",
"attack", 2,
"health", 8,
"maxHealth", 8,
"attackText", "You use (either:'clear and accessible scientific evidence','transdisciplinary framing','a holistic map of planetary climate')!",
"parryText", "You take a refreshing drink of water, amazed at its life-giving strength.",
"grappleText", "You (either: 'recognize potential uncertainties','share a hopeful vision for the future','make empathetic connections')!",
"healthText", (a:
"Your brow furrows.",
"Your composure is shaken.",
"You feel a sharp pain in your temples.",
"Your vision begins to tunnel.",
"You are losing your sense of reality.",
),
"loseText", "You... can't think. This tomfoolery has really taken you for a ride and you can no longer find your bearings.",
)
)\
It always would end up here. You came prepared for this moment, preparing your responses on the plane. Time to convince your family that climate change is real...
* (link:"Battle your brother")[($turnBasedCombat: _playerBaseStats, _allOpponents's John, "Win Room", "Lose Room")]
key: false
--
Rooms:
[[Front Room]]
[[Back Room]][if key == true]
[[Unlock the door->Exit]]
[else]
*Locked Door*
[continued]
Rooms:
[[Back Room]][if key == false]
Items:
{reveal link: 'Pick up key', passage: 'Key'}
[else]
There is nothing here.
[continued]
Rooms:
[[Front Room]] You found the key and went through the door!key: true
--
You picked up the key!Knowledge check:
Which of the following strategies did John use in his argument? Take a moment to write down which stategies were used, how they were used, and a brief description before reviewing.
(link-reveal: "Ad Hominem")[(show: ?AdHominem)]
|AdHominem)[Attacking a person or group instead of addressing their arguments.]
(link-reveal: "Ambiguity")[(show: ?Ambiguity)]
|Ambiguity)[Used to confuse people. Using ambiguous language in order to lead to a misleading conclusion.]
(link-reveal: "Anchoring")[(show: ?Anchoring)]
|Anchoring)[Depending too heavily on an initial piece of information when making subsequent judgments.]
(link-reveal: "Anecdote")[(show: ?Anecdote)]
|Anecdote)[Using personal experience or isolated examples instead of sound arguments or compelling evidence.]
(link-reveal: "Blowfish")[(show: ?Blowfish)]
|Blowfish)[Focusing on an inconsequential aspect of scientific research, blowing it out of proportion in order to distract from or cast doubt on the main conclusions of the research.]
(link-reveal: "Bulk Fake Experts")[(show: ?BulkFakeExperts)]
|BulkFakeExperts)[Citing large numbers of seeming experts to argue that there is no scientific consensus on a topic.]
(link-reveal: "Conspiracy Theories")[(show: ?Conspiracytheories)]
|Conspiracytheories)[Involve the suggestion of a secret plan to implement various theories]
(link-reveal: "False Balance")[(show: ?FalseBalance)]
|FalseBalance)[Science and pseudoscience presented together as a debate.]
(link-reveal: "False Equivalence")[(show: ?FalseEquivalence)]
|FalseEquivalence)[Comparing two things as if they’re equal, when they are not equal at all.]
(link-reveal: "Impossible Expectations")[(show: ?ImpossibleExpectations)]
|ImpossibleExpectations)[Demand unrealistic standards of scientific proof. Exploits the nature of science (i.e. probability)]
(link-reveal: "Logical Fallacies")[(show: ?LogicalFallacies)]
|LogicalFallacies)[Appear in arguments where the conclusion does not logically follow the premise.]
(link-reveal: "Lowered Expectations")[(show: ?LoweredExpectations)]
|LoweredExpectations)[Extra low standards of proof for arguments individuals like]
(link-reveal: "Magnified Minority")[(show: ?MagnifiedMinority)]
|MagnifiedMinority)[Amplifying significance of contrarians to convey impression of scientific disagreement.]
(link-reveal: "Oversimplification")[(show: ?Oversimplification)]
|Oversimplification)[Simplifying a situation so much it distorts the science and leads to a false conclusion]
(link-reveal: "Red Herring")[(show: ?RedHerring)]
|RedHerring)[Irrelevant points to distract from a more important point]
(link-reveal: "Strawman")[(show: ?Strawman)]
|Strawman)[Misrepresenting your opponent’s position by making it weaker.]
[[Intro<-Try again?]]#Thanksgiving Dinner (TEST)
=><=
(button:)[[Begin->Intro]]
<==