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