diff --git a/index.html b/index.html
index 1c337bd..c904391 100644
--- a/index.html
+++ b/index.html
@@ -288,4 +288,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/scenes/act2.md b/scenes/act2.md
index 00847c2..9998e45 100644
--- a/scenes/act2.md
+++ b/scenes/act2.md
@@ -870,7 +870,7 @@ music('party1', {volume:0.6, fade:6});
r: are *kinky*.
-r: I like that. Come to my party next weekend.
+r: I like that. Come to my party next weekend, babe.
`publish("act2-party-action", ["end_run"]);`
@@ -886,7 +886,7 @@ h2: ok sorry i have to go
r: Ah, the voice won, huh?
-r: Come to my party next weekend, bud. I'll mix something even stronger for ya.
+r: Come to my party next weekend, babe. I'll mix something even stronger for ya.
`publish("act2-party-action", ["end_run"]);`
diff --git a/scenes/act3.md b/scenes/act3.md
index 8ac4dd0..1d45355 100644
--- a/scenes/act3.md
+++ b/scenes/act3.md
@@ -14,17 +14,15 @@ h: Told you I could run a marathon!
*/
```
-r: Y'know, it's good to see you finally let loose. Let go of all those bad vibes.
-
-(#act3a)
+r: Y'know, it's good to see you finally let loose, kid. To hell with all those bad vibes.
h2: Yeah! I can't feel my own fear anymore!
-r: Hmmm, you sure about that?
+r: Hmmm, ya sure 'bout that?
-h2: What, you got *another* dare for me?
+h2: What, you've got *another* dare for me?
-r: I sure do. You see that swimming pool all the way down there?
+r: Sure do, babe. See that swimming pool *all* the way down there?
```
publish('hong-next');
@@ -35,7 +33,7 @@ h2: Yeah? Ten floors down?
r: Jump in.
-(...1000)
+(...999)
`publish('hong-next')`
@@ -47,7 +45,7 @@ r: Prove your fear is gone. Jump.
h2: um, wait, I...
-r: Come on, aren't we *friends?* Don't you trust your *friends?*
+r: C'mon, aren't we *friends?* Don't ya trust your *friends?*
r: Prove to us - and yourself - that you've conquered your fear once and for all. Jump.
@@ -90,6 +88,10 @@ b: AAAAAAAAAAAAAAAAAA
n: GOOD LUCK
+(...999)
+
+`Game.clearText();`
+
[Human, you could actually DIE here!](#act3a_harm) `Game.OVERRIDE_CHOICE_LINE=true`
[These sickos aren't really your friends!](#act3a_alone) `Game.OVERRIDE_CHOICE_LINE=true`
@@ -201,7 +203,7 @@ h: I think I saw a Russian guy do this on YouTube once.
# act3_bad_1_insult
-h: I- I'm sorry, the *thanks?*
+h: I- Excuse me, the *thanks?*
b: This is exactly why I *exist!* Because humans can't be trusted to protect themselves!
@@ -371,7 +373,7 @@ h: I don't feel anything at all.
# act3_good_2a
-b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was the one creating the hurt.
+b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was creating the hurt.
h: NO. SHIT.
@@ -379,6 +381,8 @@ h: GODDAMN. It really took you this long to finally figure it out?!
h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you realize this sooner?...
+`_.apologized_for_hurt = true;`
+
(#act3_good_2q)
@@ -400,9 +404,13 @@ h: Sorry for *what*, you big fuzzy moron?
[I'm sorry I didn't respect you.](#act3_good_3_respect)
-`// [I'm sorry.]()`
+{{if _.apologized_for_hurt}}
+[I'm sorry.](#act3_good_4)
+{{/if}}
+{{if !_.apologized_for_hurt}}
[I'm sorry I hurt you.](#act3_good_3_hurt)
+{{/if}}
@@ -436,7 +444,7 @@ b: I'm sorry.
# act3_good_3_hurt
-b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was the one hurting you.
+b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was hurting you.
b: I was a bad dog.
@@ -469,6 +477,8 @@ b: Okay.
h: Okay.
+n: *TIE*
+
`_.a3_ending = "walkaway";`
(#act3_end)
diff --git a/scenes/act4.md b/scenes/act4.md
index 93e7441..de71506 100644
--- a/scenes/act4.md
+++ b/scenes/act4.md
@@ -1,5 +1,7 @@
# act4
+h: What the hell was the moral of this story?
+
h: Welp.
h: You were right.
diff --git a/scenes/act4_test.md b/scenes/act4_test.md
new file mode 100644
index 0000000..3311e08
--- /dev/null
+++ b/scenes/act4_test.md
@@ -0,0 +1,30 @@
+# 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/scripts/act4/Act4_BG.js b/scripts/act4/Act4_BG.js
new file mode 100644
index 0000000..3196acd
--- /dev/null
+++ b/scripts/act4/Act4_BG.js
@@ -0,0 +1,233 @@
+Loader.addImages([
+
+ { id:"placeholder_act4_bg", src:"sprites/act4/placeholder_act4_bg.png" },
+ { id:"act4_callback", src:"sprites/act4/callback.png" },
+ { id:"al_shire", src:"sprites/act4/al_shire.png" },
+ { id:"outside_hong", src:"sprites/act4/hong_outside.png" },
+
+ { id:"a4_talk_1", src:"sprites/act4/talk_1.png" },
+ { id:"a4_talk_2", src:"sprites/act4/talk_2.png" },
+ { id:"a4_talk_smash", src:"sprites/act4/talk_smash.png" },
+
+]);
+
+Loader.addSounds([
+ /*{ id:"squeak", src:"sounds/sfx/squeak.mp3" },
+ { id:"record_scratch", src:"sounds/sfx/record_scratch.mp3" },
+ { id:"shoryuken", src:"sounds/sfx/shoryuken.mp3" }*/
+]);
+
+function BG_Act4(){
+
+ var self = this;
+
+ // Sprites!
+ self.bgSprite = new Sprite({
+ image: Library.images.placeholder_act4_bg,
+ grid:{ width:1, height:1 },
+ frame:{ width:720, height:1200 },
+ });
+ self.callbackSprite = new Sprite({
+ image: Library.images.act4_callback,
+ grid:{ width:2, height:1 },
+ frame:{ width:400, height:200 },
+ y: 347
+ });
+ self.alShireSprite = new Sprite({
+ image: Library.images.al_shire,
+ grid:{ width:4, height:1 },
+ frame:{ width:360, height:360 },
+ y: 192
+ });
+ self.outsideHongSprite = new Sprite({
+ image: Library.images.outside_hong,
+ grid:{ width:4, height:3 },
+ frame:{ width:720, height:720 },
+ y: 90
+ });
+ self.outsideHongSprite.gotoFrame(4);
+
+ // Anxiety BG... WHITE MODE
+ self.anxiety = new BG_Anxiety(true);
+
+ // Talking Sprites
+ self.smashSprite = new Sprite({
+ image: Library.images.a4_talk_smash,
+ grid:{ width:3, height:1 },
+ frame:{ width:720, height:600 },
+ y: 200
+ });
+ self.smashSprite.gotoFrame(2); // blank
+ self.talk1Sprite = new Sprite({
+ image: Library.images.a4_talk_1,
+ grid:{ width:3, height:1 },
+ frame:{ width:720, height:400 },
+ y: 256
+ });
+ self.talk2Sprite = new Sprite({
+ image: Library.images.a4_talk_2,
+ grid:{ width:4, height:2 },
+ frame:{ width:720, height:400 },
+ y: 256
+ });
+
+ // LAYERS
+ self.layers = [
+
+ self.bgSprite,
+ self.callbackSprite,
+ self.alShireSprite,
+ self.outsideHongSprite,
+
+ self.anxiety,
+
+ self.smashSprite,
+ self.talk1Sprite,
+ self.talk2Sprite
+
+ ];
+ var PARALLAXES = [
+
+ 0.5, // placeholder bg
+ 0.8, // callback
+ 0.6, // Al Shire
+ 1.0, // outside Hong
+
+ 0.0, // anxiety bg
+
+ 1.0, // smash sprite
+ 1.0, // talk 1 sprite
+ 1.0, // talk 2 sprite
+
+ ];
+ var ALPHAS = [
+
+ 1.0, // placeholder bg
+ 1.0, // callback
+ 1.0, // callback
+ 1.0, // outside Hong
+
+ 0.0, // anxiety bg
+
+ 1.0, // smash sprite
+ 0.0, // talk 1 sprite
+ 0.0, // talk 2 sprite
+
+ ];
+ var OFFSETS = [
+ 0,
+ 0,
+ 0,
+ 0,
+
+ 0,
+
+ -210,
+ -210,
+ -210
+ ]
+
+ var parallax = 0;
+ var parallaxTicker = 0;
+ var PARALLAXING = null;
+ var ALPHA_INDEX = 4;
+ self.update = function(){
+
+ // START PARALLAXING IN / OUT
+ if(PARALLAXING!=null){
+
+ if(PARALLAXING=="out"){
+ parallaxTicker += 1/60; // 0 to 1 in one second
+ }
+ if(PARALLAXING=="in"){
+ parallaxTicker -= 1/60; // 1 to 0 in one second
+ }
+ if(parallaxTicker>1) parallaxTicker = 1;
+ if(parallaxTicker<0) parallaxTicker = 0;
+
+ // 0 to -180 in one second, smoothed
+ var t = Math.cos(parallaxTicker*Math.TAU/2); // 1 to -1
+ t = (1-t)/2; // 0 to 1
+ parallax = -t*210;
+
+ // Anxiety Alpha
+ ALPHAS[ALPHA_INDEX] = t;
+
+ // DONE
+ if(t==1 || t==0){
+ PARALLAXING = null;
+
+ if(STAGE==1){
+ ALPHAS[6] = 1; // Talk 1
+ }
+
+ if(STAGE==3){
+ ALPHAS[7] = 1; // Talk 2
+ }
+
+ }
+
+ }
+
+ // Anxiety BG
+ if(ALPHAS[ALPHA_INDEX]>0){
+ self.anxiety.update(ALPHAS[ALPHA_INDEX]);
+ if(ALPHAS[ALPHA_INDEX]==1){ // if fully visible...
+ ALPHAS[0] = ALPHAS[1] = ALPHAS[2] = ALPHAS[3] = 0; // hide everything under
+ }else{
+ ALPHAS[0] = ALPHAS[1] = ALPHAS[2] = ALPHAS[3] = 1; // hide everything under
+ }
+ }
+
+ };
+
+ self.draw = function(ctx){
+
+ ctx.save();
+
+ for(var i=0; i0){
+ ctx.globalAlpha = ALPHAS[i];
+ layer.draw(ctx);
+ }
+ }
+
+ ctx.restore();
+
+ };
+
+ var STAGE = 0;
+ var _subscriptions = [];
+ _subscriptions.push(
+ subscribe("act4-out-1", function(){
+
+ // WHOOSH
+ STAGE = 1;
+ PARALLAXING = "out";
+ sfx("whoosh");
+
+ }),
+ subscribe("act4-in-2", function(){
+
+ // SHOW ACTION, HIDE CHARS
+ ALPHAS[6] = 0; // Bye Talk 1
+
+ // WHOOSH
+ STAGE = 2;
+ PARALLAXING = "in";
+ sfx("whoosh");
+
+ }),
+ subscribe("act4-out-3", function(){
+
+ // WHOOSH
+ STAGE = 3;
+ PARALLAXING = "out";
+ sfx("whoosh");
+
+ }),
+ );
+
+}
\ No newline at end of file
diff --git a/scripts/act4/Act4_SceneSetup.js b/scripts/act4/Act4_SceneSetup.js
new file mode 100644
index 0000000..021eb5a
--- /dev/null
+++ b/scripts/act4/Act4_SceneSetup.js
@@ -0,0 +1,32 @@
+Loader.addSounds([
+ { id:"music_party1", src:"sounds/music/party1.mp3" }
+]);
+
+SceneSetup.act4 = function(){
+
+ Game.resetScene();
+
+ // RESET HP
+ HP.reset();
+
+ // ATTACKS (TODO: ACT I, ACT II...???)
+ _.attack_harm = 0;
+ _.attack_alone = 0;
+ _.attack_bad = 0;
+
+ // Music
+ music('campus', {volume:0.5});
+
+ // Background
+ var bg = new BG_Act4();
+ Game.scene.children.push(bg);
+
+ // Hong
+ /*var hong = new Act1_Hong();
+ Game.scene.children.push(hong);
+
+ // Beebee
+ var beebee = new Act1_Beebee();
+ Game.scene.children.push(beebee);*/
+
+};
\ No newline at end of file
diff --git a/scripts/game/BG_Anxiety.js b/scripts/game/BG_Anxiety.js
index 5e7e1e7..4eb1101 100644
--- a/scripts/game/BG_Anxiety.js
+++ b/scripts/game/BG_Anxiety.js
@@ -5,10 +5,12 @@ or maybe CA?
******************************/
-function BG_Anxiety(){
+function BG_Anxiety(whiteMode){
var self = this;
+ self.whiteMode = whiteMode;
+
// Moving white boxes
var BG_WIDTH = 360;
var BG_HEIGHT = 450;
@@ -80,7 +82,7 @@ function BG_Anxiety(){
};
self.drawBox = function(box, ctx){
- ctx.fillStyle = "rgba(255,255,255,0.03)";
+ ctx.fillStyle = self.whiteMode ? "rgba(255,255,255,0.1)" : "rgba(255,255,255,0.03)";
ctx.fillRect(box.x, box.y, box.w, box.h);
};
for(var i=0; i<40; i++){
@@ -99,7 +101,7 @@ function BG_Anxiety(){
self.draw = function(ctx){
// A big ol' black box
- ctx.fillStyle = "#111111";
+ ctx.fillStyle = self.whiteMode ? "#dddddd" : "#111111";
ctx.fillRect(0,0, BG_WIDTH, BG_HEIGHT);
// All-box alpha
diff --git a/scripts/game/Game.js b/scripts/game/Game.js
index 4434d84..6515963 100644
--- a/scripts/game/Game.js
+++ b/scripts/game/Game.js
@@ -701,7 +701,7 @@ Game.executeWait = function(line){
var lastDigit = waitTimeString[waitTimeString.length-1];
var cantSkip = (lastDigit!="0"); // CAN'T SKIP.
- if(!cantSkip && Game.CLICK_TO_ADVANCE && waitTime<999){ // hack: unless the wait is long.
+ if(!cantSkip && Game.CLICK_TO_ADVANCE && waitTime<=999){ // hack: unless the wait is long.
waitTime = 0;
}
diff --git a/scripts/main.js b/scripts/main.js
index 3a2ff62..5f7a888 100644
--- a/scripts/main.js
+++ b/scripts/main.js
@@ -5,7 +5,7 @@ Loader.addScenes([
//"scenes/act1_end.md",
//"scenes/PROMO.md"
//"scenes/act2.md",
- "scenes/act3.md",
+ "scenes/act4_test.md",
]);
Loader.load(function(progress){
@@ -28,6 +28,6 @@ subscribe("START_GAME", function(){
$("#loading").style.display = "none";
Game.start();
- Game.goto("act3");
+ Game.goto("act4");
});
\ No newline at end of file
diff --git a/sprites/act4/al_shire.png b/sprites/act4/al_shire.png
new file mode 100644
index 0000000..426e114
Binary files /dev/null and b/sprites/act4/al_shire.png differ
diff --git a/sprites/act4/callback.png b/sprites/act4/callback.png
new file mode 100644
index 0000000..309c2ad
Binary files /dev/null and b/sprites/act4/callback.png differ
diff --git a/sprites/act4/hong_outside.png b/sprites/act4/hong_outside.png
new file mode 100644
index 0000000..1f1b2e9
Binary files /dev/null and b/sprites/act4/hong_outside.png differ
diff --git a/sprites/act4/placeholder_act4_bg.png b/sprites/act4/placeholder_act4_bg.png
new file mode 100644
index 0000000..e4c5993
Binary files /dev/null and b/sprites/act4/placeholder_act4_bg.png differ
diff --git a/sprites/act4/talk_1.png b/sprites/act4/talk_1.png
new file mode 100644
index 0000000..f08b122
Binary files /dev/null and b/sprites/act4/talk_1.png differ
diff --git a/sprites/act4/talk_2.png b/sprites/act4/talk_2.png
new file mode 100644
index 0000000..70f3b1a
Binary files /dev/null and b/sprites/act4/talk_2.png differ
diff --git a/sprites/act4/talk_smash.png b/sprites/act4/talk_smash.png
new file mode 100644
index 0000000..436eebc
Binary files /dev/null and b/sprites/act4/talk_smash.png differ