diff --git a/TODO b/TODO
index 08763b9..0b7aedd 100644
--- a/TODO
+++ b/TODO
@@ -3,4 +3,6 @@ TODO
- bug: mouseover dialogue option, multiple sounds over div's and i's
- extra sound when line ends with *italics*
- can't click outside to advance
-- favicon one-line eye
\ No newline at end of file
+- favicon one-line eye
+- hadouken not shoryken
+- Open Sans, for consistency???
\ No newline at end of file
diff --git a/index.html b/index.html
index c904391..8fb7bda 100644
--- a/index.html
+++ b/index.html
@@ -292,4 +292,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/scenes/act2_test.md b/scenes/act2_test.md
deleted file mode 100644
index 2677497..0000000
--- a/scenes/act2_test.md
+++ /dev/null
@@ -1,558 +0,0 @@
-// TODO: CUT TO 2000 words (SANS CODE)
-
-# act2
-
-`SceneSetup.act2();`
-
-n: party words party words party words
-
-n: // callback: retweet news story, or subtweet, or Tinder serial killer (or: fallback - anxiety in general)
-
-`publish("act2-out-1");`
-
-b: Yelling
-
-`publish("act2-in-2");`
-
-r: Badness
-
-`publish("act2-out-3");`
-
-b: Oh no
-
-`publish("act2-flash");`
-
-h: What the heck
-
-`publish("act2-in-4");`
-
-r: Oh ya
-
-`publish("act2-out-5");`
-
-b: Oh no
-
-# oh_no
-
-[Oh god they all hate you!](#act2a_social)
-
-[Ogling the host, you pervert?](#act2a_perv)
-
-[So let's talk about *the meaning of life*.](#act2a_meaning)
-
-# act2a_social
-
-b: They're secretly gossiping about you!
-
-`publish("act2-in-2");`
-
-b: They're talking behind your back IN FRONT OF YOUR BACK
-
-b: We're just bringing this party down by being around here. Human, we have to leave *now* before--
-
-(#act2b)
-
-# act2a_perv
-
-b: // pokemon?
-
-b: They're more attractive than you, which means if you so much as *look* at them,
-
-b: then YOU'RE A CREEP
-
-b: A creepy, crappy, pervert terrible terrible creepazoid bad bad bad cree--
-
-(#act2b)
-
-# act2a_meaning
-
-b: What can we possibly do that matters in the grand scheme of things?
-
-b: Even if we somehow change the course of humanity, all of humanity will die one day.
-
-b: Humanity dies, the sun dies, the entire universe dies, what the hell are we supposed to--
-
-(#act2b)
-
-# act2b
-
-b: ...
-
-b: Hey, can... can you hear me?
-
-b: ...
-
-b: GASP
-
-[I must warn you *louder!*](#act2b_louder)
-
-[I must warn you about a *different* moral/social danger!](#act2b_different)
-
-[Human, you're ignoring danger! That's dangerous!](#act2b_ignore)
-
-# act2b_louder
-
-b: // decide...
-
-# act2b_louder_social
-
-b: EMOTIONS ARE CONTAGIOUS! SO IF YOU DON'T LEAVE YOU'LL INFECT EVERYONE WITH YOUR MENTAL ILLNESS!
-
-b: You'll create a deadly outbreak of SAD LUMP SYNDROME
-
-b: We need to get out of here and quarantine ourselves forever in a small room with Netflix and food delivery!
-
-(#act2c)
-
-# act2b_louder_perv
-
-b: DON'T BE A CREEP. IT'S AGAINST THE LAW!
-
-b: Creep Law, Section 74.5: (1) Any Person who checks out (a) that sweet ass (b) those ripped arms (2) shall be hereby referred to as
-
-b: "A BIG DISGUSTING TRASH PERVERT"
-
-(#act2c)
-
-# act2b_louder_meaning
-
-b: BUT YOU KNOW WHAT'S WORSE THAN HAVING NO IMPACT? HAVING *ALL* THE IMPACT.
-
-b: Alfred Nobel wanted world peace, and for cultures to understand each other. So he decided to make travel easier. So he needed a way to cheaply create train tunnels. So he invented a new material called "dynamite"...
-
-b: ...which was used in World War I to KILL MILLIONS OF PEOPLE
-
-b: IT'S THE BUTTERFLY EFFECT, HUMAN! HOW MANY PEOPLE ARE YOU ACCIDENTALLY KILLING RIGHT NOW
-
-(#act2c)
-
-# act2b_different_social
-
-b: Actually, you know what's worse than no-one liking you? _Everyone_ liking you.
-
-b: That is, if you become like one of _these_ shallow party animals. A shallow life with shallow friends who only know the shallow you!
-
-b: Human, we need to get away from these dopamine zombies before they turn us into one of them!
-
-(#act2c)
-
-# act2b_different_moral
-
-b: People are dying in famines and genocides *right now* and you're just partying!
-
-b: A wise person once said, "the only thing necessary for the triumph of evil is for good folks to do nothing."
-
-b: YOU'RE DOING NOTHING.
-
-b: BY PARTYING, YOU'RE HELPING *HITLER*.
-
-(#act2c)
-
-# act2b_ignore
-
-b: You think you're safe just because you took the batteries out of the carbon monoxide detector?
-
-b: You won't smell the monoxide coming! You'll just get sleepy and then you'll--
-
-b: DIEEEEEEEEEEEEEEEEEEEEEE
-
-(#actbc)
-
-# act2c
-
-b: ...
-
-b: Oh thank goodness human, I think you can hear me again!
-
-[I'll go (even) *LOUDER!*](#act2c_louder)
-
-[I'll warn you about *(yet) another* moral/social danger!](#act2c_another)
-
-[Wait, did you check that punch before drinking it?](#act2c_punch)
-
-#act2c_louder
-
-// 6 possibilities
-
-# act2c_louder_netflix
-
-b: Actually, is Netflix and food delivery quarantined enough?! We'd still infect the delivery person!
-
-b: We need to move out to the middle of the Canadian Yukon territories, and have our food delivered to us by drone!
-
-b: And then they'd have to sterilize the drone after each use to rid it of your SAD LUMP GERMS
-
-# act2c_louder_law
-
-b: The BIG DISGUSTING TRASH PERVERT shall be sentenced to no less than five (5) years in one of those medieval public-humiliation things where people throw rotten fruit at them
-
-b: unless they're actually _into_ that sort of thing
-
-b: in which case that further proves them being a BIG DISGUSTING TRASH PERVERT
-
-# act2c_louder_butterfly
-
-b: BUTTERFLY EFFECT! Did you drive to this party in your fossil-fuel car?
-
-b: BAM, ONE KID DROWNED IN FLORIDA.
-
-b: Remember that time you said that mean thing to that stranger?
-
-b: BAM, THEY'RE PROBABLY SUICIDED BY NOW
-
-(#act2d)
-
-
-# act2c_louder_zombies
-
-b: These popularity-zombies will stumble towards you mumbling,
-
-b: LIIIIIKES. LIIIIIIIIIIKES.
-
-b: And they'll bite you and turn you into a brainless bro and/or thoughtless thot!
-
-(#act2d)
-
-# act2c_louder_hitler
-
-b: THE NAZIS ARE GOOSE-STEPPING BACK ON THE STREETS RIGHT NOW
-
-b: And they're saying:
-
-b: *Good thing those 'good folks' slacked off with crap like 'relaxing' and 'self-care'!*
-
-b: *Now our plans can go fourth, reich on schedule!*
-
-(#act2d)
-
-# act2c_louder_ignore
-
-b: Come to think about it, do we know if this building _has_ a monoxide detector?!
-
-b: What if we're all being poisoned *RIGHT NOW?*
-
-b: WE WOULDN'T EVEN KNOW. ONE MOMENT WE'RE HERE, NEXT MOMENT WE STOP EXISTING FOREVER AND EVER AND EV--
-
-(#act2d)
-
-# act2c_different_social
-
-b: What if we're just _fundamentally incapable_ of ever being loved, or loving another?
-
-b: What if something irreversibly broke inside of us a long time ago? Or what if that something never existed in us in the first place?
-
-b: Oh god we're broken! We're so broken so broken so brok--
-
-(#act2d)
-
-# act2c_different_moral
-
-b: What if we're just _fundamentally rotten?_ Other people have a strong inner drive to do goodness, but we only do "good" out of guilt or shame, if at all.
-
-b: What if it's in our nature to hurt others? What if we can't be anything _other_ than a burden to those close to us?
-
-b: Oh god we're broken! We're so broken so broken so brok--
-
-(#act2d)
-
-# act2c_punch
-
-b: Like, I'm not being irrational here. People _do_ actually drug in punch bowls. That is an actual danger.
-
-b: Human, is your head hurting? Do your limbs feel limp? I think we're dying. We need to call an ambulance RIGHT NOW.
-
-b: HUMAN, WE'RE DYING. WE'RE DYING WE'RE DYING WE'RE DYI--
-
-(#act2d)
-
-# act2d
-
-h: FUCK!
-
-h: FUCKING FUCK-FUKKITY _FUUUUUCK_
-
-b: Oh thank goodness, human! I'm so glad you can finally hear me again!
-
-b: Why did you try ignoring me?
-
-h: Holy whoring hell, you stupid sack of shit.
-
-h: You know that Native American story? "There are two wolves inside you, one is hope, one is despair. Which wolf wins? The one you feed."
-
-h: I was trying to fucking _starve_ you, you sadistic asshole.
-
-h: Fuck it, I'll do positive affirmations instead.
-
-h: *I am loved. I am good. I am smart. I am beautiful. I am special.*
-
-[You know "affirmations" were disproven, right?](#act2d_disproven)
-
-[Golly, human, you're becoming a narcissist!](#act2d_narcissist)
-
-[ohmygod you can't just credit every "wise" story to Native Americans](#act2d_racist)
-
-# act2d_disproven
-
-b: In fact, they actually _backfire_ for people with low self-esteem!
-
-b: It was a well-designed study – randomized controlled trial, experimenter was blinded as to who was in which group. Here's what they found. If you already had low self-esteem, being asked to repeat affirmations makes you feel *worse* than if you'd said nothing at all!
-
-b: Wood et al, 2009. Look it up on Google Scholar, human,
-
-b: THEN STOP SPREADING UNSCIENTIFIC FAKE NEWS
-
-(#act2e)
-
-# act2d_narcissist
-
-b: You _need_ to humbly see your own flaws in order to grow as a person!
-
-b: You can't spray air freshener over a moldy room! Covering up your flaws with these narcissistic statements will make you worse in the long-run.
-
-b: Thankfully, I, as your loyal guard-wolf, can alert you to your flaws. And right now, it's-
-
-b: EVERYTHING. EVERYTHING IS WRONG
-
-(#act2e)
-
-# act2d_racist
-
-b: Native Americans are, like, _actual people_, not a bunch of "noble savages" you can namedrop to make your fortune-cookie advice sound more _exotic_.
-
-b: You're reducing individual persons & complex cultures to a Hallmark card! That's "benevolent racism", human!
-
-b: STOP BEING RACIST YOU SQUINTY-EYED JERK
-
-(#act2e)
-
-# act2e
-
-h: FUCKDAMMIT.
-
-h: You know what? You're _irrational._
-
-h: Everyone already knows emotions are irrational! Especially fear!
-
-h: Why should I listen to a moron shitstain like you?!
-
-b: ...
-
-[...Jeez human. That's really hurtful to say.]()
-
-[Human, I'm in your brain. We're equally rational.]()
-
-[Wait, what happened to "your feelings are valid"?]()
-
-# act2e_hurtful
-
-b: I'm _part_ of you, you know. When you say that, you're hurting _yourself._
-
-b: Why are you hitting yourself, human? STOP HITTING YOURSELF.
-
-(#act2f)
-
-# act2e_rational
-
-b: Which means if _I'm_ irrational, then _you're_ irrational!
-
-b: And if we're both so dumb and stupid, we'll never figure out how to be happy! Oh god we're so lost! So lost so lost so los--
-
-(#act2f)
-
-# act2e_valid
-
-b: So "they" say that emotions are irrational, that emotions are not to be trusted.
-
-b: But "they" _also_ say that feelings are valid, that you should always accept your emotions.
-
-b: Maybe "they" are just full of crap! "They" have fed hurtful lies to you your whole life!
-
-(#act2f)
-
-# act2f
-
-h: ...
-
-h: I hate this. God, it hurts so much, I hate this.
-
-h: I can't appease you. I can't ignore you. I can't fight you.
-
-h: No matter what I do, I can't seem to get rid of yo--
-
-b: Well maybe you're NOT _SUPPOSED_ TO GET RID ME.
-
-b: Jeez, how do you think _I_ feel, human?!
-
-b: I'm trying my best to be your guard-dog, but you keep seeing me as some Big Bad Wolf!
-
-b: So I try even _harder_ to alert you to danger. More danger! Louder danger! But no matter how hard I try, you _still_ think of me as your enemy!
-
-b: Sure, I raise false alarms sometimes. Maybe even most of the time!
-
-b: But I'm _trying_, human.
-
-b: ...I'm trying.
-
-// TODO: MORE EXPLICIT LESSON. "BE PATIENT WITH ME".
-
-b: ...Would it hurt for you to just sit with me for a while, instead of running away by distracting yourself wi--
-
-r: Hey.
-
-r: It seems like you're caught up in an argument with yourself.
-
-h2: (nods)
-
-r: You're not alone, kid. Anxiety is super common.
-
-r: Heck, just yesterday, I heard someone on campus had a nervous breakdown and smashed their phone / curled up into a ball and cried!
-
-h2: ...huh imagine that.
-
-r: That's why I host all these parties. I want to help people be happy.
-
-h2: ...but my anxiety...
-
-r: Don't worry, buddy. There's actually a very simple trick to get the negative voices in your head to be quiet forever.
-
-(...2000)
-
-r: (gives bottle)
-
-r: Heads up, it's a lot stronger than... anything, really.
-
-r: Enjoy!
-
-(...2000)
-
-[Oh god.](#act2g)
-
-[Please don't do this.](#act2g)
-
-[We don't know what's in that drink.](#act2g)
-
-# act2g
-
-// interrupt
-
-h: Mmm, what an exquisite palette!
-
-h: A rich flavor of "shut your mind up", with an aftertaste of "don't feel anything ever again".
-
-b: This is bad. Human, this is really, really bad.
-
-[This is literally how addiction starts.]()
-
-[They could've put something bad in that drink.]()
-
-[I *knew* the host had some terrible neurosis.]()
-
-
-# act2h
-
-h: Not just delicious, but also cheaper than therapy!
-
-b: GOD HUMAN STOP
-
-h: Hehehe!
-
-h: And what are _you_ gonna do about it, asshole?
-
-b: I'm so sorry, human.
-
-b: I'm going to have to use my SPECIAL ATTACK
-
-[]()
-
-[]()
-
-[]()
-
-# act2h_attack
-
-h: What's this crap?
-
-h: You're gonna yap more stupid words at me again to try t--
-
-# act2i
-
-h: WHAT THE HELL WAS THAT
-
-b: I'm sorry. It was the only way.
-
-h: I COULD *SEE* IT. I COULD *FEEL* IT. // the blood, the guilt, the humiliation
-
-b: I'm sorry, human.
-
-n: [FINISH THEM]
-
-[{FIGHT: Punch that jerk host.}]()
-
-[{FLIGHT: Let's get out of here.}]()
-
-# act2j_fight
-
-// all the minor callbacks
-
-b: They were taking advantage of you, a scared vulnerable human.
-
-b: Punch that asshole. Knock their fucking lights out.
-
-b: PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THEM PUNCH THE--
-
-
-# act2j_flight
-
-// all the minor callbacks
-
-b: God, I knew it. The host and all these partygoers are full of neuroses. They dull their pain with distraction.
-
-b: And they're trying to trick you into doing the same thing! They're corrupting you! We need to get out!
-
-b: GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OUT GET OU--
-
-# act2k_fight
-
-h: (punch)
-
-r: Y-you...
-
-r: ...are *kinky*.
-
-r: I like that. You're invited to my party next weekend.
-
-h: ok thank you bye
-
-r: I wanna see you let out that *vicious* side of you more, kid!
-
-(...1000)
-
-# act2k_flight
-
-h: ok sorry i have to go
-
-r: Ah, the voice was too strong, huh?
-
-r: Come to my party next weekend. I promise I'll mix something even stronger for you.
-
-h: ok thank you bye
-
-r: I wanna see you finally let loose, kid!
-
-(...1000)
-
-# act2k_end
-
-b: Human! Are you okay?!
-
-b: God, that was *close.* We really could've--
-
-h: (slam)
-
-h: I'm going to the party next weekend.
-
-h: The next time we fight, I'm not just going to *defeat* you...
-
-h: ...I'm going to fucking *kill* you.
-
-(...5000)
\ No newline at end of file
diff --git a/scenes/act3_test.md b/scenes/act3_test.md
deleted file mode 100644
index a0fe660..0000000
--- a/scenes/act3_test.md
+++ /dev/null
@@ -1,218 +0,0 @@
-# act3
-
-`SceneSetup.act3();`
-
-h: meow
-
-r: blah blah blah blah blah blah blah blah blah blah blah blah
-
-```
-Game.clearText();
-publish("act3-out");
-music('battle_dark', {volume:0.7, fade:1});
-```
-
-(...1500)
-
-```
-publish("hp_show");
-```
-
-n: FINAL ROUND: *FIGHT!*
-
-h: Yelling
-
-b: Yelling
-
-```
-Game.clearText();
-publish("act3-in");
-publish("hp_hide");
-Game.FORCE_CANT_SKIP = true;
-music(null,{fade:1});
-```
-
-(#act3_walkaway)
-
-# act3_walkaway
-
-`publish("start-walkaway-anim");`
-
-(...2001)
-
-`publish('hong-next')`
-
-(...667)
-
-`publish('hong-next')`
-
-(...667)
-
-`publish('hong-next')`
-
-(...667)
-
-`publish('hong-next')`
-
-`Game.FORCE_CANT_SKIP = false;`
-
-r: What's the matter, kid?
-
-r: Ya *scared?*
-
-```
-publish('hong-next');
-publish('hunter-bored');
-```
-
-h2: Yes.
-
-h2: I'm scared.
-
-`publish('hong-next')`
-
-h2: And that's okay!
-
-`publish('hong-next')`
-
-h2: It's okay to be scared.
-
-`publish('hong-next')`
-
-(...500)
-
-```
-Game.clearText();
-Game.FORCE_CANT_SKIP = true;
-```
-
-(...1167)
-
-`publish('hong-next')`
-
-(...833)
-
-`publish('hong-next')`
-
-(...1333)
-
-`publish('hong-next')`
-
-(...667)
-
-`publish('hong-next')`
-
-(...667)
-
-`publish('hong-next')`
-
-(...1333)
-
-`publish('hong-next')`
-
-(...501)
-
-`publish('hong-next')`
-
-`Game.FORCE_CANT_SKIP = false;`
-
-(...1001)
-
-r: Did they just lock the door?
-
-r: ...
-
-r: shit.
-
-
-
-
-
-# act3_jump
-
-`publish("start-jump-anim");`
-
-(...2001)
-
-`publish('hong-next')`
-
-(...833)
-
-`publish('hong-next')`
-
-(...501)
-
-`publish('hong-next')`
-
-(...501)
-
-`publish('hong-next')`
-
-(...1167)
-
-`publish('hong-next')`
-
-(...1001)
-
-`publish('hong-next')`
-
-b: no...
-
-`publish('hong-next')`
-
-(...501)
-
-`Game.clearText();`
-
-(...1333)
-
-`publish('hong-next')`
-
-(...1333)
-
-`publish('hong-next')`
-
-b: no no no
-
-(...501)
-
-`Game.clearText();`
-
-`publish('hong-next')`
-
-(...2001)
-
-`publish('hong-next')`
-
-(...501)
-
-`publish('hong-next')`
-
-(...167)
-
-`publish('hong-next')`
-
-(...167)
-
-`publish('hong-next')`
-
-(...167)
-
-```
-publish('hong-next');
-publish("hunter-shock");
-```
-
-(...833)
-
-`publish('hong-next')`
-
-(...167)
-
-`publish('hong-next')`
-
-(...167)
-
-`publish('hong-next')`
-
-b: NO!
\ No newline at end of file
diff --git a/scenes/act4.md b/scenes/act4.md
index ccc00a8..9335a32 100644
--- a/scenes/act4.md
+++ b/scenes/act4.md
@@ -111,7 +111,10 @@ h: Maybe we don't have to fight.
(...2001)
-`publish("smash",[1]);`
+```
+publish("smash",[1]);
+sfx("grass_step1");
+```
(...2001)
@@ -131,6 +134,8 @@ b: I'm a battered shelter dog.
b: We've been through rough stuff, possibly trauma, so that's why sometimes I over-react and go--
+`sfx("yaps");`
+
b: YAP YAP YAP YAP YAP
b: But I don't *want* to be a cowardly dog! I want to protect you! I want to be a good dog!
@@ -538,13 +543,11 @@ b: Maybe the barista just wants to make some dang coffee, not be an *experiment*
h: Well, if it turns out we *are* being a burden...
-h: ...that's good to know, too!
+h: That's good to know, too!
-h: We can then learn how to pro-actively ask people what they're comfortable with, knowing and respecting others' boundaries...
+h: We can then learn how to pro-actively ask people what they're comfortable with, to know and respect others' boundaries.
-b: ...all that "inter-personal skills" crap we keep seeing in counselor brochures.
-
-h: Yup.
+h: Y'know, all that "inter-personal skills" crap we see in counselor brochures.
(#act4_something_else)
@@ -756,7 +759,7 @@ h: Anyway, anything else you wanna chat about?
{{/if}}
{{if _.a4_fears_discussed==2}}
-h: Anyway, anything else on your heavy heart?
+h: So, anything else on your heavy heart?
{{/if}}
{{if _.a4_fears_discussed==3}}
@@ -843,7 +846,7 @@ s: Ack, do you know how pathetic we sound? How desperate, how *needy*?
s: They were enjoying peace and quiet, then we interrupted them! We're such a burden!
{{/if}}
-a: I- I mean- it's, it's okay if you not, I just...
+a: I- I mean- it's, it's okay if not, I just...
[Wait, didn't I see you at the party?](#act4d_recognition)
@@ -970,7 +973,7 @@ b: I'm sorry! I'm a battered shelter dog! Battered dogs poop on your bed once in
b: But if you're patient with me... and just stay and sit with me...
-b: Maybe you can domesticate this wolf.
+b: Maybe you can tame this wolf.
`Game.clearText();`
@@ -1073,4 +1076,6 @@ b: AAAAA YOU'RE STILL NOT BEING PRODUCTIVE AAAAA
b: AAAAA YOU'RE EATING MORE WHITE BREAD AAAAA
{{/if}}
+`sfx("yaps");`
+b: YAP YAP YAP YAP YAP
diff --git a/scenes/act4_test.md b/scenes/act4_test.md
deleted file mode 100644
index 3311e08..0000000
--- a/scenes/act4_test.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# act4
-
-`SceneSetup.act4();`
-
-b: dadasasas
-
-`publish("act4-out-1");`
-
-b: asdassadsa
-
-`publish("act4-in-2");`
-
-h: asdassadsa
-
-`publish("act4-out-3");`
-
-r: asdassadsa
-
-[Good dog.](#act4f)
-
-[Good human.](#act4f)
-
-
-# act4f
-
-b: AAAAA YOU'RE STILL BEING ALONE FIFTEEN CIGARETTES AAAAA
-
-b: AAAAA YOU'RE STILL NOT BEING PRODUCTIVE AAAAA
-
-b: AAAAA YOU'RE EATING MORE WHITE BREAD AAAAA
\ No newline at end of file
diff --git a/scenes/intermission.md b/scenes/intermission.md
new file mode 100644
index 0000000..d0f1866
--- /dev/null
+++ b/scenes/intermission.md
@@ -0,0 +1,67 @@
+# intermission-1
+
+```
+SceneSetup.intermission(1);
+Game.FORCE_CANT_SKIP = true;
+```
+
+(...6000)
+
+```
+publish("show_stats");
+```
+
+n2: FEARS YOU USED:
+
+i: #harm# *BEING HARMED:* {{_.attack_harm}}
+
+i: #alone# *BEING UNLOVED:* {{_.attack_alone}}
+
+i: #bad# *BEING A BAD PERSON:* {{_.attack_bad}}
+
+```
+publish("set_how_many_prompts", [1]);
+Game.FORCE_CANT_SKIP = false;
+Game.CLICK_TO_ADVANCE = true;
+```
+
+n5: (game auto-saved! it's ok to quit & continue later)
+
+```
+Game.clearAll();
+sfx("yelp", {volume:0.5});
+```
+
+(...2000)
+
+(#act2)
+
+
+# intermission-2
+
+```
+SceneSetup.intermission(2);
+Game.FORCE_CANT_SKIP = true;
+```
+
+(...6000)
+
+```
+publish("show_stats");
+```
+
+n2: FEARS YOU USED:
+
+i: #harm# *BEING HARMED:* {{_.attack_harm}}
+
+i: #alone# *BEING UNLOVED:* {{_.attack_alone}}
+
+```
+publish("set_how_many_prompts", [1]);
+Game.FORCE_CANT_SKIP = false;
+Game.CLICK_TO_ADVANCE = true;
+```
+
+i: #bad# *BEING A BAD PERSON:* {{_.attack_bad}}
+
+(#act3)
\ No newline at end of file
diff --git a/scripts/act4/Act4_BG.js b/scripts/act4/Act4_BG.js
index 0318cdf..85e1cc5 100644
--- a/scripts/act4/Act4_BG.js
+++ b/scripts/act4/Act4_BG.js
@@ -12,8 +12,8 @@ Loader.addImages([
]);
Loader.addSounds([
- /*{ id:"squeak", src:"sounds/sfx/squeak.mp3" },
- { id:"record_scratch", src:"sounds/sfx/record_scratch.mp3" },
+ { id:"yaps", src:"sounds/sfx/yaps.mp3" },
+ /*{ id:"record_scratch", src:"sounds/sfx/record_scratch.mp3" },
{ id:"shoryuken", src:"sounds/sfx/shoryuken.mp3" }*/
]);
@@ -273,6 +273,7 @@ function BG_Act4(){
if(stage==0){
Game.clearText();
HP.show();
+ sfx("ui_show_choice", {volume:0.4});
}
if(stage==1){
HP.hide(true);
diff --git a/scripts/game/Game.js b/scripts/game/Game.js
index 834fddb..ba4d572 100644
--- a/scripts/game/Game.js
+++ b/scripts/game/Game.js
@@ -279,6 +279,10 @@ Game.clearText = function(){
Game.wordsDOM.innerHTML = "";
Game.updateText(true);
};
+Game.clearAll = function(){
+ Game.clearText();
+ Game.resetScene();
+};
window.clearText = Game.clearText;
// Execute text! Just add it to text DOM.
@@ -290,6 +294,7 @@ Game.FORCE_TEXT_DURATION = -1;
Game.WHO_IS_SPEAKING = null; // "h", "b", "n" etc...
Game.CURRENT_SPEAKING_SPEED = 1;
Game.FORCE_NO_VOICE = false;
+Game.NO_NARRATOR_SOUNDS = false;
Game.executeText = function(line){
return new RSVP.Promise(function(resolve){
@@ -333,9 +338,15 @@ Game.executeText = function(line){
case "n3": // narrator 3
div.className = "narrator-bubble-3";
break;
- case "n4": // narrator 3
+ case "n4": // narrator 4
div.className = "narrator-bubble-4";
break;
+ case "n5": // narrator 5
+ div.className = "narrator-bubble-5";
+ break;
+ case "i": // Intermission
+ div.className = "narrator-bubble-i";
+ break;
}
requestAnimationFrame(function(){
requestAnimationFrame(function(){
@@ -448,7 +459,7 @@ Game.executeText = function(line){
}else{
- // IF NARRATOR 1 or 2 or 4
+ // IF NARRATOR
// *Emphasize multiple words* => *Emphasize* *multiple* *words*
var regex = /\*([^\*]*)\*/g;
@@ -512,7 +523,9 @@ Game.executeText = function(line){
// SOUND
var chr = word.slice(-1);
var isEmphasis = (chr=="*");
- voice(isEmphasis ? "narrator_emphasis" : "narrator");
+ if(!Game.NO_NARRATOR_SOUNDS){
+ voice(isEmphasis ? "narrator_emphasis" : "narrator");
+ }
}, interval);
})(i, interval, word);
@@ -539,7 +552,9 @@ Game.executeText = function(line){
var icon = Library.images["fear_"+iconName];
div.children[i].appendChild(icon);
icon.style.display = "block";
- icon.style.margin = "0 auto";
+ if(speaker!="i"){
+ icon.style.margin = "0 auto";
+ }
icon.style.width = "80px";
icon.style.height = "80px";
@@ -850,7 +865,7 @@ Game.parseLine = function(line){
////////////////////////////////////////////////////////////////////////////////////////////////
Game.canvas.width = 360 * 2;
-Game.canvas.height = 450 * 2;
+Game.canvas.height = 600 * 2; //450 * 2;
Game.canvas.style.width = Game.canvas.width/2 + "px";
Game.canvas.style.height = Game.canvas.height/2 + "px";
Game.context = Game.canvas.getContext("2d");
diff --git a/scripts/game/Options.js b/scripts/game/Options.js
index c60511d..b154ec1 100644
--- a/scripts/game/Options.js
+++ b/scripts/game/Options.js
@@ -58,6 +58,9 @@ Loader.addSounds([
var cta_text1 = $("#cta_text1");
var cta_text2 = $("#cta_text2");
click_to_advance.style.display = "none";
+ subscribe("set_how_many_prompts", function(n){
+ HOW_MANY_PROMPTS = n;
+ });
subscribe("show_click_to_advance", function(){
cta_text1.style.display = (HOW_MANY_PROMPTS>0) ? "inline" : "none";
@@ -76,6 +79,9 @@ Loader.addSounds([
currentBlinkingInterval = null;
});
+ subscribe("update_text_speed", function(){
+ updateText();
+ });
var currentBlinkingInterval;
var blinkCTA = function(){
currentBlinkingInterval = setInterval(function(){
diff --git a/scripts/game/Sprite.js b/scripts/game/Sprite.js
index 555477d..ae89bd9 100644
--- a/scripts/game/Sprite.js
+++ b/scripts/game/Sprite.js
@@ -99,6 +99,9 @@ function Sprite(config){
var scaleY = self.scale / self.squash;
ctx.scale(scaleX, scaleY);
+ // Rotation
+ ctx.rotate(self.rotation);
+
// Alpha
ctx.globalAlpha = self.alpha;
diff --git a/scripts/intermission/Intermission_BG.js b/scripts/intermission/Intermission_BG.js
new file mode 100644
index 0000000..b6d45fb
--- /dev/null
+++ b/scripts/intermission/Intermission_BG.js
@@ -0,0 +1,60 @@
+Loader.addImages([
+ { id:"intermission_bg", src:"sprites/intermission/bg.png" },
+ { id:"intermission_bb", src:"sprites/intermission/bb.png" },
+ { id:"youwin", src:"sprites/intermission/youwin.png" }
+]);
+
+function BG_Intermission(STAGE){
+
+ var self = this;
+
+ // ATTACKS
+ _.attack_harm = 1;
+ _.attack_alone = 2;
+ _.attack_bad = 4;
+
+ // Sprites!
+ self.bgSprite = new Sprite({
+ image: Library.images.intermission_bg,
+ grid:{ width:1, height:1 },
+ frame:{ width:3000, height:3000 },
+ anchor:{ x:1500/2, y:1500/2 },
+ x:180, y:600
+ });
+ self.youwinSprite = new Sprite({
+ image: Library.images.youwin,
+ grid:{ width:1, height:2 },
+ frame:{ width:720, height:600 }
+ });
+ self.youwinSprite.gotoFrame( STAGE==1 ? 0 : 1 );
+ self.bbSprite = new Sprite({
+ image: Library.images.intermission_bb,
+ grid:{ width:1, height:2 },
+ frame:{ width:720, height:500 },
+ y: 410
+ });
+ self.bbSprite.gotoFrame( STAGE==1 ? 0 : 1 );
+
+ self.update = function(){
+ self.bgSprite.rotation += Math.TAU/2500;
+ };
+
+ self.draw = function(ctx){
+ ctx.save();
+ self.bgSprite.draw(ctx);
+ self.youwinSprite.draw(ctx);
+ self.bbSprite.draw(ctx);
+ ctx.restore();
+ };
+
+ var _subscriptions = [];
+ _subscriptions.push(
+ subscribe("show_stats", function(){
+ self.youwinSprite.visible = false;
+ })
+ );
+ self.kill = function(){
+ _subscriptions.forEach(unsubscribe);
+ };
+
+}
\ No newline at end of file
diff --git a/scripts/intermission/Intermission_SceneSetup.js b/scripts/intermission/Intermission_SceneSetup.js
new file mode 100644
index 0000000..b82c9f9
--- /dev/null
+++ b/scripts/intermission/Intermission_SceneSetup.js
@@ -0,0 +1,38 @@
+Loader.addSounds([
+ { id:"intermission", src:"sounds/sfx/intermission.mp3" }
+]);
+
+SceneSetup.intermission = function(STAGE){
+
+ Game.resetScene();
+
+ // RESET HP
+ HP.reset();
+
+ // Music
+ sfx('intermission', {volume:0.9});
+
+ // Background
+ var bg = new BG_Intermission(STAGE);
+ Game.scene.children.push(bg);
+
+ // HACK
+ Game.TEXT_SPEED = 0;
+ Game.FORCE_TEXT_Y = 10;
+ Game.FORCE_CANT_SKIP = true;
+ Game.NO_NARRATOR_SOUNDS = true;
+ $("#click_to_advance").style.color = "#000";
+
+ // KILL
+ Game.scene.kill = function(){
+
+ Game.clearText();
+
+ publish("update_text_speed");
+ Game.FORCE_TEXT_Y = -1;
+ Game.FORCE_CANT_SKIP = false;
+ Game.NO_NARRATOR_SOUNDS = false;
+ $("#click_to_advance").style.color = "";
+ };
+
+};
\ No newline at end of file
diff --git a/scripts/main.js b/scripts/main.js
index bec3895..c343ef8 100644
--- a/scripts/main.js
+++ b/scripts/main.js
@@ -4,8 +4,10 @@ Loader.addScenes([
//"scenes/act1.md",
//"scenes/act1_end.md",
//"scenes/PROMO.md"
- //"scenes/act2.md",
- "scenes/act4.md",
+ "scenes/act2.md",
+ //"scenes/act3.md",
+ //"scenes/act4.md",
+ "scenes/intermission.md",
]);
Loader.load(function(progress){
@@ -28,6 +30,6 @@ subscribe("START_GAME", function(){
$("#loading").style.display = "none";
Game.start();
- Game.goto("act4");
+ Game.goto("intermission-1");
});
\ No newline at end of file
diff --git a/sounds/sfx/intermission.mp3 b/sounds/sfx/intermission.mp3
new file mode 100644
index 0000000..3ab26af
Binary files /dev/null and b/sounds/sfx/intermission.mp3 differ
diff --git a/sounds/sfx/yaps.mp3 b/sounds/sfx/yaps.mp3
new file mode 100644
index 0000000..d13c9cf
Binary files /dev/null and b/sounds/sfx/yaps.mp3 differ
diff --git a/sprites/intermission/bg.png b/sprites/intermission/bg.png
index c43b669..0d86349 100644
Binary files a/sprites/intermission/bg.png and b/sprites/intermission/bg.png differ
diff --git a/sprites/intermission/youwin.png b/sprites/intermission/youwin.png
new file mode 100644
index 0000000..8d7f4cb
Binary files /dev/null and b/sprites/intermission/youwin.png differ
diff --git a/styles/game.css b/styles/game.css
index 63a9bd4..2903693 100644
--- a/styles/game.css
+++ b/styles/game.css
@@ -29,7 +29,7 @@ div{ /*, #game_words, #game_choices, #paused, #options, #loading, #gear, #about,
width: 360px;
height: 600px;
- background: #2E2E2E;
+ background: #111;
font-size: 20px;
font-family: Helvetica, Arial, sans-serif;
@@ -611,7 +611,7 @@ DIALOGUEZ
background-position: -600% 0px;
}
-.narrator-bubble, .narrator-bubble-2, .narrator-bubble-4{
+.narrator-bubble, .narrator-bubble-2, .narrator-bubble-4, .narrator-bubble-i, .narrator-bubble-5{
position: relative;
color: #FFFFFF;
text-align: center;
@@ -650,7 +650,7 @@ DIALOGUEZ
height: calc(100% + 4px);
}
-.narrator-bubble i, .narrator-bubble-2 i, .narrator-bubble-4 i{
+.narrator-bubble i, .narrator-bubble-2 i, .narrator-bubble-4 i, .narrator-bubble-i i{
font-style: normal;
color: #ff4040;
}
@@ -681,6 +681,30 @@ DIALOGUEZ
transition: all 0.3s ease-in-out;*/
}
+.narrator-bubble-i {
+ overflow: hidden;
+ text-align: left;
+ color: #000;
+ margin-bottom: 0;
+ margin-top: 0;
+ padding-top: 15px;
+ height: 65px;
+}
+.narrator-bubble-i img{
+ float:left;
+ margin: 0 20px;
+ position: relative;
+ top: -13px;
+}
+.narrator-bubble-5{
+ color: #000;
+ font-weight: bold;
+ font-size: 18px;
+ line-height: 20px;
+ width: 270px;
+ margin: 0 auto;
+ padding: 10px 0 7px 0;
+}
.hong-bubble {
position: relative;
@@ -874,7 +898,7 @@ DIALOGUEZ
position: absolute;
bottom:0;
- background: #2E2E2E;
+ /*background: #2E2E2E;*/
text-align: center;
color: #fff;
font-weight: lighter;