diff --git a/index.html b/index.html
index b4deaa9..dc5a13e 100644
--- a/index.html
+++ b/index.html
@@ -50,7 +50,12 @@
diff --git a/scenes/act1.md b/scenes/act1.md
index 59eb2ed..ec63618 100644
--- a/scenes/act1.md
+++ b/scenes/act1.md
@@ -233,7 +233,7 @@ b: Don't you know loneliness is associated with premature death as much as smoki
`bb({mouth:"normal", eyes:"normal_right"})`
-b: (Holt-Lunstad et al, 2010, PLoS Medicine)
+b: (Holt-Lunstad 2010, PLoS Medicine)
`hong({eyes:"0_annoyed"})`
diff --git a/scenes/act2.md b/scenes/act2.md
index 8b2dd5d..2da6136 100644
--- a/scenes/act2.md
+++ b/scenes/act2.md
@@ -358,7 +358,7 @@ b: At the end of it all, what can we possibly do that really matters?
`bb({body:"normal", eyes:"sad"})`
-b: Contribute to humanity? All great works fade away the way of Ozymandias. Love? Death will always do that part.
+b: Contribute to humanity? All great works decay the way of Ozymandias. Love? Death will always do it part.
`bb({eyes:"sad_r"})`
@@ -370,7 +370,7 @@ b: Heck, the Second Law of Thermodynamics means even our *universe* will die!
`bb({eyes:"suspect", body:"normal"})`
-b: Oh, "death makes us appreciate life"? That's like saying we need to keep slaves to appreciate freedom!
+b: Oh, "death makes us appreciate life"? That's like saying slavery is good because it makes us appreciate freedom!
`bb({body:"one_up"})`
@@ -957,7 +957,7 @@ b: Results: if you already had low self-esteem, being asked to repeat affirmatio
`bb({body:"point", mouth:"normal", eyes:"closed"})`
-b: Wood et al, 2009, Psychological Science. Look it up on Google Scholar, human,
+b: Wood 2009, Psychological Science. Look it up on Google Scholar, human,
`bb({body:"scream_b_1"})`
diff --git a/scenes/act3.md b/scenes/act3.md
index a562344..35951fc 100644
--- a/scenes/act3.md
+++ b/scenes/act3.md
@@ -331,6 +331,16 @@ bb({ eyes:"sad" });
# act3_fork
```
+Game.clearText();
+bb({body:"special_attack"});
+sfx("charging");
+Game.FORCE_CANT_SKIP = true;
+```
+
+(...1001)
+
+```
+Game.FORCE_CANT_SKIP = false;
hong({body:"drink"});
bb({body:"attacked"});
attackBB("32p");
@@ -344,7 +354,7 @@ hong({ body:"normal" });
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
```
-h: You already tried that too.
+h: You tried that too.
b: human, please...
diff --git a/scenes/intro.md b/scenes/intro.md
index 2cdde61..246b1ca 100644
--- a/scenes/intro.md
+++ b/scenes/intro.md
@@ -15,7 +15,7 @@ _.PLAYED_BEFORE = !!window.localStorage.continueChapter;
{{/if}}
{{if !_.PLAYED_BEFORE}}
-[PLAY!](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
+[#play1# PLAY! #play2#](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
{{/if}}
{{if _.PLAYED_BEFORE && window.localStorage.continueChapter=="act2"}}
@@ -35,7 +35,7 @@ _.PLAYED_BEFORE = !!window.localStorage.continueChapter;
{{/if}}
{{if _.PLAYED_BEFORE && window.localStorage.continueChapter=="replay"}}
-[REPLAY!](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
+[#play1# REPLAY! #play2#](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
{{/if}}
{{if _.PLAYED_BEFORE}}
@@ -100,7 +100,7 @@ n3: So before we start, how would *you* like to read?
# intro-start-2
-n3: Great! Note: you can always change text/audio options with the ⚙ icon below.
+n3: Great! Note: you can always change options with the ⚙ icon below. Also, game auto-saves at each chapter!
n3: Now, let's begin our story...
diff --git a/scripts/act3/Act3_Beebee.js b/scripts/act3/Act3_Beebee.js
index fb13076..20d1cdf 100644
--- a/scripts/act3/Act3_Beebee.js
+++ b/scripts/act3/Act3_Beebee.js
@@ -47,6 +47,7 @@ function Act3_Beebee(){
"eyes_ignore_oh_crap",
"body_attacked*",
"body_dead*",
+ "body_special_attack*",
//"eyes_blank", // BLANK
//"mouth_blank", // BLANK
diff --git a/scripts/game/Game.js b/scripts/game/Game.js
index f9b7f8e..ad79eaa 100644
--- a/scripts/game/Game.js
+++ b/scripts/game/Game.js
@@ -749,6 +749,10 @@ Game.executeChoice = function(line){
preChoiceCodeIfAny = line.match(/\`(.*)\`/)[0]; // 0, with backticks
}
+ // SUPER HACK: #play1# and #play2#
+ choiceText = choiceText.replace("#play1#", "");
+ choiceText = choiceText.replace("#play2#", "");
+
// Choice text, add italics where *word word words*
var originalChoiceText = choiceText;
var italicsRegex = /\*([^\*]*)\*/g;
@@ -822,27 +826,32 @@ Game.executeChoice = function(line){
// If it's too big, shrink font size
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "18px";
+ if(choiceHeight>40) div.style.fontSize = "18px";
// And if still too much???
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "16px";
+ if(choiceHeight>40) div.style.fontSize = "17px";
// And if still too much???
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "15px";
+ if(choiceHeight>40) div.style.fontSize = "16px";
// And if still too much???
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "14px";
+ if(choiceHeight>40) div.style.fontSize = "15px";
// And if still too much???
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "13px";
+ if(choiceHeight>40) div.style.fontSize = "14px";
// And if still too much???
setTimeout(function(){
var choiceHeight = div.getBoundingClientRect().height;
- if(choiceHeight>40) div.style.fontSize = "12px";
+ if(choiceHeight>40) div.style.fontSize = "13px";
+ // And if still too much???
+ setTimeout(function(){
+ var choiceHeight = div.getBoundingClientRect().height;
+ if(choiceHeight>40) div.style.fontSize = "12px";
+ },1);
},1);
},1);
},1);
@@ -1090,4 +1099,24 @@ window.addEventListener("keydown", function(e){
e.preventDefault();
e.stopPropagation();
}
+ if(e.keyCode==32){ // SPACE TO ADVANCE
+ _unpauseOrSkip();
+ }
});
+
+// CUSSING
+var queryParams = {};
+if(window.location.search){
+ window.location.search.substr(1).split("&").forEach(function(item){
+ var split = item.split("=");
+ queryParams[split[0]] = split[1];
+ });
+}
+if(queryParams.c){
+ window.NO_CUSS_MODE = true;
+}else{
+ var doCuss = document.createElement("style");
+ doCuss.innerHTML = ".hide-if-cuss-free{ display:inline; }";
+ document.body.appendChild(doCuss);
+}
+
diff --git a/scripts/game/Sounds.js b/scripts/game/Sounds.js
index eb97296..8c316d3 100644
--- a/scripts/game/Sounds.js
+++ b/scripts/game/Sounds.js
@@ -38,7 +38,7 @@ window.voice = function(name, options){
var delta = now - window._lastPlayedVoice[name];
// If too soon, DON'T PLAY.
- if(delta < 5/60*1000) return; // 5 frames
+ if(delta < 8/60*1000) return; // 8 frames
// Otherwise, play
options = options || {};
diff --git a/scripts/lib/helpers.js b/scripts/lib/helpers.js
index af19f51..3bf2e36 100644
--- a/scripts/lib/helpers.js
+++ b/scripts/lib/helpers.js
@@ -12,4 +12,12 @@ function flushElementTransitions(element){
element.classList.add('clear_transition')
element.clientHeight;
element.classList.remove('clear_transition');
+}
+
+// Is On Mobile?
+window.IS_ON_MOBILE = false;
+if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
+ window.IS_ON_MOBILE = true;
+ $("#instructions_if_not_mobile").style.display = "none";
+ $("#instructions_if_mobile").style.display = "inline";
}
\ No newline at end of file
diff --git a/sounds/voices/beebee.mp3 b/sounds/voices/beebee.mp3
index 871387e..573c28f 100644
Binary files a/sounds/voices/beebee.mp3 and b/sounds/voices/beebee.mp3 differ
diff --git a/sounds/voices/beebee_long.mp3 b/sounds/voices/beebee_long.mp3
new file mode 100644
index 0000000..871387e
Binary files /dev/null and b/sounds/voices/beebee_long.mp3 differ
diff --git a/sprites/act1/act1_beebee.png b/sprites/act1/act1_beebee.png
index b273a1e..6dfbe43 100644
Binary files a/sprites/act1/act1_beebee.png and b/sprites/act1/act1_beebee.png differ
diff --git a/sprites/act1/act1_hong.png b/sprites/act1/act1_hong.png
index 0aa2e2c..d3dd59f 100644
Binary files a/sprites/act1/act1_hong.png and b/sprites/act1/act1_hong.png differ
diff --git a/sprites/act3/fight_bb.png b/sprites/act3/fight_bb.png
index 52fd03f..1c700d5 100644
Binary files a/sprites/act3/fight_bb.png and b/sprites/act3/fight_bb.png differ
diff --git a/sprites/act4/bb_closer.png b/sprites/act4/bb_closer.png
index f400815..143ee0a 100644
Binary files a/sprites/act4/bb_closer.png and b/sprites/act4/bb_closer.png differ
diff --git a/sprites/credits/screens.png b/sprites/credits/screens.png
index 83b75c9..239e55b 100644
Binary files a/sprites/credits/screens.png and b/sprites/credits/screens.png differ
diff --git a/sprites/credits/thanks.png b/sprites/credits/thanks.png
index 01a4db8..284e851 100644
Binary files a/sprites/credits/thanks.png and b/sprites/credits/thanks.png differ
diff --git a/styles/game.css b/styles/game.css
index d3d4c1c..d0913f3 100644
--- a/styles/game.css
+++ b/styles/game.css
@@ -7,9 +7,10 @@
body {
width: 100%;
- height: 100vh;
+ /*height: 100vh;
display: grid;
- place-items: center;
+ place-items: center;*/
+ height: 100%;
overflow: hidden;
margin:0;
background: #111;
@@ -61,11 +62,23 @@ MAIN GAME
}
#game_container{
+
+ /*
position: relative;
display: inline-block;
width: 360px;
height: 600px;
background: #000;
+ overflow: hidden;*/
+
+ position: absolute;
+ top:0; left:0; bottom:0; right:0;
+ margin: auto;
+
+ width: 360px;
+ height: 600px;
+ background: #000;
+
overflow: hidden;
}
@@ -1055,3 +1068,8 @@ CORNER TEXT
display: none;
}
}
+
+.hide-if-cuss-free{
+ display: none;
+}
+