Skip to content

Instantly share code, notes, and snippets.

@theVDude
Created May 27, 2012 15:20
Show Gist options
  • Save theVDude/2814689 to your computer and use it in GitHub Desktop.
Save theVDude/2814689 to your computer and use it in GitHub Desktop.
sad game from reddit
//http://adventure.gamism.org/gamer_mom/gm.js
var canvas = document.getElementById("stagecanvas");
var stage = canvas.getContext("2d");
var mother=new Array(); //These are the actual image files loaded into memory.
var father=new Array();
var daughter=new Array();
var m=1, f=1, d=1; //I'm treating the selected images as queues rather than specific filenames,
var mqueue = new Array(); //so that the images in the queue (I know, I'm misusing the word. Sue me.)
var fqueue = new Array(); //can cycle randomly when needed. This way you never get the sense that the
var dqueue = new Array(); //game is paused while you're pressing buttons. You see that time has passed.
var imagesources=3, imageloads=0; plays=0;
var set=new Image();
var laptop=new Image();
var photo=new Image();
var shownbuttons = new Array(); //Keeping track of what's shown should make hiding all of it easier.
var dialogue = new Array();
var spoken = 0;
var textY;
var textLimits = [470,390,175,175]; //This is how much space will be allowed for each character's dialogue. (Ignore the first value.)
CanvasTextFunctions.enable(stage);
var choices = new Object(); //If all the player's variables are stored in one object, it's easier to reset the game.
function resizepage() {
var gamediv = document.getElementById("game");
var interfacediv = document.getElementById("interface");
var newwidth=0, newheight=0;
if (window.innerHeight / window.innerWidth > 1.375) {
newwidth = window.innerWidth*0.98;
newheight = newwidth*1.375;
}
else {
newheight = window.innerHeight*0.98;
newwidth = newheight/1.375;
}
gamediv.style.width = newwidth+"px";
gamediv.style.height = newheight+"px";
gamediv.style.marginTop = (window.innerHeight-newheight)/2+"px";
canvas.style.width = newwidth+"px";
canvas.style.height = (newheight/2)+"px";
interfacediv.style.width = newwidth+"px";
interfacediv.style.height = (newheight/2)+"px";
interfacediv.style.top = window.innerHeight/2+"px";
gamediv.style.fontSize = (newwidth/35)+"px";
}
window.onresize = resizepage;
resizepage();
document.body.addEventListener('touchmove', function(event) {event.preventDefault();}, false);
var fsmode, fson, wholepage=document.documentElement;
if (wholepage.requestFullscreen) {fsmode=1;} else if (wholepage.mozRequestFullScreen) {fsmode=2;} else if (wholepage.webkitRequestFullScreen) {fsmode=3;}
if(fsmode>0){document.getElementById("fstoggle").style.display="inline";}
function startfullscreen(){
if(fson){
switch(fsmode){
case 1:
document.exitFullscreen()
break;
case 2:
document.mozCancelFullScreen();
break;
case 3:
document.webkitCancelFullScreen();
break;
}
fson=0;
}
else {
switch(fsmode){
case 1:
document.body.requestFullscreen();
break;
case 2:
document.body.mozRequestFullScreen();
break;
case 3:
document.body.webkitRequestFullScreen();
break;
}
fson=1;
}
}
function flipq() {
var n;
if (mqueue.length == 1) {m = mqueue[0];}
else if (mqueue.length > 1) {
m = getframe(mqueue, m);
}
if (fqueue.length == 1) {f = fqueue[0];}
else if (fqueue.length > 1) {
f = getframe(fqueue, f);
}
if (dqueue.length == 1) {d = dqueue[0];}
else if (dqueue.length > 1) {
d = getframe(dqueue, d);
}
}
function getframe(framearray, notthis) {
var firsttry = Math.floor(Math.random()*framearray.length);
if (framearray[firsttry] != notthis) {return framearray[firsttry];}
else {
var secondtry = Math.floor(Math.random()*(framearray.length-1));
if (secondtry >= firsttry) {secondtry++;};
return framearray[secondtry];
}
}
function setq(newmother, newfather, newdaughter) {
if (newmother instanceof Array) {mqueue = newmother;} else {mqueue = [newmother];};
if (newfather instanceof Array) {fqueue = newfather;} else {fqueue = [newfather];};
if (newdaughter instanceof Array) {dqueue = newdaughter;} else {dqueue = [newdaughter];};
}
function drawscene() {
stage.clearRect(0,0,480,330);
stage.drawImage(set,0,60,480,270);
try {stage.drawImage(mother[m],0,60,480,270)} catch(e){};
try {stage.drawImage(father[f],0,60,480,270)} catch(e){};
try {stage.drawImage(daughter[d],0,60,480,270)} catch(e){};
if(choices.laptopclosed==1){stage.drawImage(laptop,0,60);}
}
function addimage(character, filenum){
imagesources++;
var filename;
switch(character) {
case 1:
filename = "mother";
break;
case 2:
filename = "father";
break;
case 3:
filename = "daughter";
break;
};
if (filenum < 100){filename+="0"};
if (filenum < 10){filename+="0"};
filename+=filenum+".png";
switch(character) {
case 1:
mother[filenum] = new Image();
mother[filenum].onload = function(){imageloads++;};
mother[filenum].src = filename;
break;
case 2:
father[filenum] = new Image();
father[filenum].onload = function(){imageloads++;};
father[filenum].src = filename;
break;
case 3:
daughter[filenum] = new Image();
daughter[filenum].onload = function(){imageloads++;};
daughter[filenum].src = filename;
break;
};
}
set.onload = function(){imageloads++;};
set.src = "Background0001.png";
laptop.onload = function(){imageloads++;};
laptop.src = "laptopClose001.png";
photo.onload = function(){imageloads++;};
photo.src = "Title005.png";
var n;
//The 900s are me messing around with Kyler's images in The GIMP, to reduce the amount of work he has to do.
for (n=901;n<=910;n++) {
addimage(1,n);
}
for (n=901;n<=904;n++) {
addimage(2,n);
}
addimage(3,901);
addimage(3,902);
addimage(1,0);
for (n=1;n<=3;n++) {
addimage(1,n);
addimage(2,n);
addimage(3,n);
}
for (n=5;n<=9;n++) {
addimage(1,n);
}
for (n=11;n<=20;n++) {
addimage(1,n);
}
addimage(2,12);
for (n=24;n<=28;n++){
addimage(1,n);
}
for (n=36;n<=186;n++){
addimage(1,n);
}
for (n=190;n<=197;n++){
addimage(1,n);
}
for (n=199;n<=241;n++){
addimage(1,n);
}
for (n=36;n<=39;n++){
addimage(2,n);
}
addimage(2,42);
addimage(2,47);
addimage(2,49);
addimage(2,54);
addimage(2,64);
addimage(2,65);
addimage(2,69);
addimage(2,80);
for (n=85;n<=90;n++){
addimage(2,n);
}
for (n=92;n<=94;n++){
addimage(2,n);
}
addimage(2,100);
addimage(2,102);
addimage(2,103);
for (n=106;n<=108;n++){
addimage(2,n);
}
for (n=113;n<=115;n++){
addimage(2,n);
}
addimage(2,117);
for (n=119;n<=147;n++){
addimage(2,n);
}
for (n=153;n<=157;n++){
addimage(2,n);
}
for (n=160;n<=164;n++){
addimage(2,n);
}
for (n=169;n<=173;n++){
addimage(2,n);
}
for (n=177;n<=189;n++){
addimage(2,n);
}
for (n=192;n<=194;n++){
addimage(2,n);
}
addimage(2,198);
addimage(2,199);
for (n=207;n<=211;n++){
addimage(2,n);
}
for (n=218;n<=220;n++){
addimage(2,n);
}
addimage(2,227);
for (n=26;n<=28;n++){
addimage(3,n);
}
addimage(3,50);
addimage(3,53);
addimage(3,54);
addimage(3,64);
addimage(3,66);
addimage(3,68);
addimage(3,69);
for (n=72;n<=76;n++){
addimage(3,n);
}
addimage(3,83);
addimage(3,85);
addimage(3,86);
for (n=93;n<=98;n++){
addimage(3,n);
}
addimage(3,102);
addimage(3,103);
addimage(3,105);
addimage(3,106);
for (n=119;n<=122;n++){
addimage(3,n);
}
addimage(3,124);
addimage(3,125);
for (n=133;n<=135;n++){
addimage(3,n);
}
for (n=192;n<=211;n++){
addimage(3,n);
}
addimage(3,219);
addimage(3,221);
addimage(3,222);
addimage(3,223);
addimage(3,227);
function loadingscreen() {
stage.clearRect(0,0,480,360);
stage.fillStyle="#000";
stage.textAlign="center";
stage.textBaseline="middle";
stage.font="15pt arial";
stage.fillText("Loading... ("+Math.floor(100*imageloads/imagesources)+"%)", 240,135);
stage.fillStyle="#D3CFC4";
stage.fillRect(60,180,360*imageloads/imagesources,5);
if (imageloads >= imagesources) {titlescreen();} else {setTimeout(loadingscreen, 100)};
}
loadingscreen();
function titlescreen() {
/*Is there anything more banal than the family photo? Everyone stands around giving an identical pose, devoid of personality or context. What are
the relationships between these people? How are they feeling on that day, and in that period of their lives? What is the experience of being these
people like? These are just a few of the questions which a family portrait may never touch. During a photo, I am not to look at my family members
with resentment. I am not to stand apart from them, playing on a handheld game system, to give an indication of how I actually see the relationship
between us. And I am not to look at my watch, to indicate that I have better things to be doing than standing around with a goofy smile. Heck, they
don't even want irony. To take a family portrait, you first give plenty of notice so that everyone can prepare. Everyone stops their activities and
the normal patterns of their lives. Without those patterns and behaviors, the people in the picture are not people at all during those seconds, but
merely mindless mannequins mimicking stereotypes of The Happy Family. The state of any family in any given moment in time is an entire world to be
explored, and we have barely been skimming the surface. The reality tends to be messier, uglier, and -I think- more interesting.*/
stage.clearRect(0,0,480,360);
stage.drawTextCenter(20, 240, 55, "Gamer Mom");
stage.drawTextCenter(13, 240, 80, "A character adventure game");
stage.drawText(12,25,195,"script");
stage.drawText(14,25,211,"Mordechai Buckman");
stage.drawText(12,70,250,"art");
stage.drawText(14,70,266,"Kyler Kelly");
stage.drawImage(photo,0,60,480,270);
if(choices.fadeout){ //The game is being reset.
hide("lEnd");
hide("lSorry");
choices.fadeout--;
stage.fillStyle="rgba(0,0,0,"+(0.02*choices.fadeout)+")";
stage.fillRect(0,0,480,360);
setTimeout(titlescreen,25);
}
else {show("bItMightJustFixEverything"); show("links");}
}
function say(character, line) {
if (spoken == 1) {
dialogue = [];
spoken = 0;
}
var newLine = new Object();
newLine.character = character;
newLine.line = line;
dialogue.push(newLine);
}
function runlines(size, startY, real) {
var c1, c2; //These define the string segment that I'm dealing with.
textY = startY;
for (var thisline = 0; thisline < dialogue.length; thisline++) {
lastTextY = textY; //This is for letting the father and the daughter talk at the same time.
var stylearray = new Array(); //This part manages italics, which are indicated in the string by underscores.
var parsedline = dialogue[thisline].line;
for(var c0=0;c0<parsedline.length;c0++){
if (parsedline.charAt(c0)=="_"){
stylearray[c0]=true;
parsedline = parsedline.slice(0,c0)+parsedline.slice(c0+1);
}
else{stylearray[c0]=false;}
}
c1 = 0;
c2 = 0;
while (c1 < parsedline.length && (textY <= 90 || (size==12 && real==1)) ) {
while (c2+1 <= parsedline.length && stage.measureText(size, parsedline.slice(c1,c2)) < textLimits[dialogue[thisline].character]) {c2++;} //Find the maximum length that doesn't exceed the space available.
if (c2 < parsedline.length) {c2 = parsedline.lastIndexOf(" ", c2+1);}
if (real == 1) {
switch(dialogue[thisline].character) {
case 0:
stage.drawTextCenter2(size, 240, textY, parsedline.slice(c1,c2), stylearray.slice(c1,c2));
break;
case 1:
stage.drawTextCenter2(size, 240, textY, parsedline.slice(c1,c2), stylearray.slice(c1,c2));
break;
case 2:
stage.drawTextCenter2(size, 385, textY, parsedline.slice(c1,c2), stylearray.slice(c1,c2));
break;
case 3:
stage.drawTextCenter2(size, 95, textY, parsedline.slice(c1,c2), stylearray.slice(c1,c2));
break;
};
}
textY = textY+(stage.fontAscent(size)+stage.fontDescent(size));
c1 = c2+1; c2 = c1;
}
if (textY > 90 && real==0) {return 0};
if (thisline+1 == dialogue.length) {textY = textY-(stage.fontAscent(size)+stage.fontDescent(size));}
if (thisline+1 < dialogue.length && dialogue[thisline].character*dialogue[thisline+1].character==6) {
textY = lastTextY;
}
else if (thisline+1 < dialogue.length && dialogue[thisline].character!=dialogue[thisline+1].character) {
textY = textY + (stage.fontAscent(size)+stage.fontDescent(size))/2;
}
}
return 1;
}
function speak() {
var ignorelimits=0;
for (var currentSize = 15; currentSize > 11; currentSize = currentSize - 1) {
if (runlines(currentSize,stage.fontAscent(currentSize),0) == 1) {break;} else if (currentSize==12) {ignorelimits=1}
}
stage.fillStyle = "rgba(0,0,0,0.9)";
if(ignorelimits==1){runlines(12,12,1);}else{runlines(currentSize, 90-textY, 1);}
spoken = 1;
}
function hide(b){
document.getElementById(b).style.display="none";
for (var buttoncheck = 0; buttoncheck < shownbuttons.length; buttoncheck++) {if(shownbuttons[buttoncheck]==b){shownbuttons.splice(buttoncheck, 1);}}
}
function show(b){
document.getElementById(b).style.display="block";
shownbuttons.push(b);
}
function hideall(){
for (var buttoncheck = 0; buttoncheck < shownbuttons.length; buttoncheck++) {document.getElementById(shownbuttons[buttoncheck]).style.display="none";}
shownbuttons = [];
}
function bABreakFromItAll(){
choices.clxABreakFromItAll=1;
setq(79,[1,2,3],[1,2,3]);
say(1,"You work so hard all the time. It might be nice sometimes to just stop, take a break from it all, relax.");
hideall(); show("bTellHim"); show("bSetItUpABitMore");
flipq();drawscene();speak();
}
function bActHurt(){
/* I suspect some people will ask whether this character is realistic. Certainly her actions and thoughts are extreme, especially when you take a
step back and consider that what she is pushing for so obstinately is what most people would call a silly time-waster. Is it plausible that a woman
who by all social standards should know better would get so wound up over World of Warcraft? My answer is that she can definitely exist in the real
world, because I exist and this is how I think. That I am a 24-year-old man living in his parents' house, rather than a married woman, does not
matter - the details may be slightly different, but the experience I am expressing here is real. Whenever I reached a node where I was unsure of
what the player should be allowed to do next, I sat down at our dining room table, pictured the husband and daughter sitting across from me, said
whatever my last line was, and asked myself what I was thinking. The reason I emphasize my identification with the title character is to make a
point: If I were not her, this game would be a meaningless gimmick. But because I am her, there is an emotional truth. This is the promise of the
character adventure game - to let you inhabit the head of someone else, someone very different from yourself. If I had not put an emotional truth
into the lines and choices and situations, they would all mean nothing. There would be some novelty in the oddness, and charm in the drawings, but
no real point. The point is that she is a person of the real world, in spirit if not in fact. That gives her life value. */
hide("ReactionOffensive");
show("ReactionDefensive");
document.getElementById("bActHurt").className="pressedbutton";
document.getElementById("bLashOut").className="";
}
function bAfterWork(){
if(!choices.clxTime){
setq(89,47,69);
say(1,"Sure, but I bet you have time _a_f_t_e_r work."); say(2,"Not really.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(67,87,[1,2,3]);
say(1,"How about _a_f_t_e_r work?"); say(2,"No.");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"After work?"); say(2,"No.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"After work?");
break;
}
}
hide("bAfterWork");
flipq();drawscene();speak();
}
function bAgreeToHisTerms(){
if(!choices.clxAgreeToHisTerms){
setq(14,86,133);
say(0,"You know what? Fine. All three of us can do something productive together. Would that make you happy?");
say(3,"What?!");say(2,"What? No. Maybe. I don't know, that's not the point!");
flipq();drawscene();speak();
hide("bBackDown4");hide("bKeepTrying2");
choices.clxAgreeToHisTerms=1;
}
else {
setq(-1,113,200);
flipq();drawscene();
m=79;stage.drawImage(mother[79],0,60,480,270);stage.drawImage(mother[907],0,60,480,270);
say(1,"What productive thing will we do?");
say(2,"I.. didn't say...");
say(3,"You guys are way too");say(3,"crazy. I'm out of ");say(3,"here. ");
speak();
hideall();show("bDontGoYet2");
}
}
function bAndThatsThat(){
setq(905,65,200);
say(3,"You suck, ");say(3,"both of ");say(3,"you! ");say(3," ");
flipq();drawscene();speak();
hideall();show("bDoISuck");show("bJustEat6");show("bLayOnTheGuilt");
}
function bApologize(){
setq(83,36,2);
say(1,"Sorry. That was stupid of me."); say(2,"Yes it was.");
hide("bApologize");
flipq();drawscene();speak();
}
function bApologize2(){
if(!choices.clxApologize2){
choices.clxApologize2=1;
setq(192,192,[192,193,194]);
say(1," Sorry, sorry.");
flipq();drawscene();speak();
}
else{
choices.clxApologize2++;
switch(choices.clxApologize2){
case 2:
setq(193,193,[192,193,194]);
say(1," I'm so sorry,");say(1," did I hurt you?");
flipq();drawscene();speak();
break;
case 3:
setq(-1,194,[192,193,194]);
say(1," I don't know why I did that,");say(1," I really don't.");
flipq();drawscene();speak();
m=194;stage.drawImage(mother[194],0,60,480,270);
break;
case 4:
setq(-1,164,[192,193,194]);
say(1," I... didn't...");
flipq();drawscene();speak();
m=195;stage.drawImage(mother[195],0,60,480,270);
break;
case 5:
setq(-1,164,[192,193,194]);
say(1," I really didn't.");
hide("bApologize2");show("bGetOut");
flipq();drawscene();speak();
m=196;stage.drawImage(mother[196],0,60,480,270);
}
}
}
function bArgue(){
/* My favorite game series is The Legend of Zelda, and it happens to have consistently brilliant music. In each game, the composers take hints of
the themes from previous games, twist them around in new ways, and end up with something that serves completely different purposes. I imitate this
attitude by playing my own versions of all the Zelda themes, where the original is recognizable but I've made it my own. I have dozens of little
bits of piano music which I consider to be "Zelda music", even though sometimes they're original themes which just happen to be the sort of music
that could fit into a Zelda game. I play these pieces regularly, so that I should never forget them. Often my mother hears me playing something and
compliments me on it, whereupon I tell her proudly that it's a particularly clever variation on something from The Legend of Zelda and she tries to
pretend she's trying to hide her disapproval. (It mainly just comes off as disapproval.) At one point I played something pretty and she asked me:
"Is that yours, or is it Zelda?". I told her it was mine. "Good for you!", she exclaimed. She doesn't get it. Aspiring to be in a Zelda game is the
highest ambition my music can have. When I'm playing Zelda music, I'm connected to something bigger than myself. I'm adding, in my own small way, to
a legacy and an ongoing story. But someone who's not a fan of anything can't understand that. */
if(!choices.clxCompromise){
if(!choices.clxArgue){
choices.clxArgue=1;
setq(49,69,68);
flipq();drawscene();
stage.drawText(12,100,18,"I do actual things.");
stage.drawText(12,100,34,"Just not... just on");
stage.drawText(12,100,50,"the computer, that's");
stage.drawText(12,100,66,"all. You do things on the");
stage.drawText(12,185,82,"computer too.");
stage.drawTextRight(12,477,16,"Yeah, but this is for actual");
stage.drawTextRight(12,477,29,"people, who are expecting");
stage.drawTextRight(12,477,42,"me to do things for them.");
stage.drawTextRight(12,462,55,"It's not a game, it's");
stage.drawTextRight(12,450,68,"work. I don't have");
stage.drawTextRight(12,445,81.5,"time for games.");
}
else if(choices.clxArgue==1){
choices.clxArgue=2;
setq(48,87,[1,2,3]);
flipq();drawscene();
stage.drawTextCenter(11,175,34,"I play with people.");
stage.drawTextCenter(11,175,52,"With other people,");
stage.drawTextCenter(11,190,70,"actual people.");
stage.drawTextCenter(11,210,88,"We play together.");
stage.drawTextRight(12,468,14,"I really don't have time to");
stage.drawTextRight(12,470,28,"play. Maybe a few decades");
stage.drawTextRight(12,479,42,"ago, when I was younger and");
stage.drawTextRight(12,471,55,"could waste time on things");
stage.drawTextRight(12,470,68,"like that. But I have other");
stage.drawTextRight(12,460,81,"things to do now.");
}
else{
setq(37,42,[1,2,3]);
flipq();drawscene();
stage.drawText(12,126,23,"How is it a waste of");
stage.drawText(12,125,40,"time?");
stage.drawObliqueText(12,173,40,"I'm");
stage.drawText(12,204.68,40, "there, and");
stage.drawText(12,132,57,"I'm... I like it there");
stage.drawText(12,175,74,"and it's not...");
stage.drawText(11,305,10,"I'm sorry, I didn't mean");
stage.drawText(11,300,22.5,"it's a waste of time. It's");
stage.drawText(11,295,35,"cute that you think it's so");
stage.drawText(11,306,47.5,"important and that you");
stage.drawText(11,304,60,"want to tell me about it");
stage.drawText(11,307,72.5,"for some reason, but I");
stage.drawText(11,305,85,"really have to get back");
stage.drawText(11,402,97.5,"to work so");
stage.drawText(11,410,110,"could we");
stage.drawText(11,400,122.5,"please wrap");
stage.drawText(11,415,135, "this up?");
hide("bCompromise");hide("bArgue");
}
}
else{
setq(39,86,[1,2,3]);
say(1,"You're not making this easy."); say(2,"I didn't say anything.");
flipq();drawscene();speak();
hide("bArgue");
}
}
function bArgue2(){
setq(904,127,[1,2,3]);
say(0,"I can't stand how you're always working! You're always working, and you never do anything with me. I can't stand it. You should stop working right now and play with me."); say(2,"Now, you're being ridiculous. I need to get this done.");
hideall();show("bDefensive");show("bOffensive");
flipq();drawscene();speak();
choices.clxFensive=0;
}
function bArgue3(who){
if(who==3 && choices.clxDontListen+choices.clxArgueWithHim+choices.clxArgueWithHer==0){
mqueue=[224];
say(1,"You're playing!");
}
else if(who==3){
mqueue=[239];
say(1,"You could at least give it");say(1,"a try!");
hide("bArgueWithHer");
}
else if(who==2 && choices.clxArgueWithHim+choices.clxArgueWithHer==0){
mqueue=[169];
say(1,"You've got _p_l_e_n_t_y of time! You're working nonstop, all the time! You could work a little less, and have some fun with _m_e_!");say(1," ");
}
else if(who==2){
mqueue=[152];
say(1,"Where do you think _y_o_u_'_r_e going?");
hide("bArgueWithHim");
}
else if(who==0){
if(choices.lastbtn=="Argue with her"){mqueue=[240];}
else if(choices.lastbtn=="Argue with him"){mqueue=[146];}
else if(choices.lastbtn=="Don't listen"){
mqueue=[162];
hideall();show("bForgetIt3");
}
else {mqueue=[132];}
}
if(who==0 && choices.clxDontListen+choices.clxArgueWithHim+choices.clxArgueWithHer==0){fqueue=[108];choices.firstbtn="Don't listen";}
else if(who==0 && choices.clxDontListen==1 && choices.clxArgueWithHim+choices.clxArgueWithHer==0){fqueue=[1,2,3];}
else{
switch(choices.clxArgueWithHim+choices.clxArgueWithHer+choices.clxDontListen-(choices.firstbtn=="Don't listen")){
case 0:
fqueue=[162];
break;
case 1:
if(who==2){
fqueue=[161];
say(2,"Away from this");say(2," craziness.");
}
else {fqueue=[163];}
break;
case 2:
if(choices.lastbtn=="Argue with him"){fqueue=[163];} else {fqueue=[164];}
break;
default:
fqueue=[164];
break;
}
}
if(who==3 && choices.clxDontListen+choices.clxArgueWithHim+choices.clxArgueWithHer==0){
dqueue=[221];
say(3,"No I'm not!");say(3," ");
choices.firstbtn="Argue with her";
}
else if(who==3){dqueue=[97];}
else if(choices.clxArgueWithHer-(choices.firstbtn=="Argue with her")>0){dqueue=[0];}
else if(who==0 && choices.lastbtn=="Don't listen" && choices.clxArgueWithHer-(choices.firstbtn=="Argue with her")==0){dqueue=[103];}
else {
dqueue=[222,223];
}
if(who==2){choices.clxArgueWithHim++; choices.lastbtn="Argue with him";}
if(who==3){choices.clxArgueWithHer++; choices.lastbtn="Argue with her";}
if(who==0){choices.clxDontListen++; choices.lastbtn="Don't listen"}
flipq();drawscene();if(spoken==0){speak();}
}
function bAssertAuthority(){
setq(75,903,28);
choices.laptopclosed=0;
say(1,"You know, you really shouldn't talk to me that way.");say(3,"Whatever.");
flipq();drawscene();speak();
hideall();show("bForgetIt4");
}
function bAvoidThemUntilThursday(){
stage.fillStyle="#3A2F1F";
stage.fillRect(0,0,480,330);
stage.fillStyle="#FFF";
stage.textAlign="center";
stage.textBaseline="middle";
stage.font="20pt monospace";
stage.fillText("Thursday",235,165);
hideall();show("bStartGame4");
set.src="mother103.png";
choices.effect=0;
}
function bBackDown(){
setq(72,[1,2,3],[1,2,3]);
say(1,"Nothing.");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bBackDown2(){
setq(9,113,[1,2,3]);
say(1,"Never mind.");say(1,"It was just something I was");say(1,"thinking. It's silly.");say(2,"Okay.");
hideall();show("bMaybeSomeOtherTime");
flipq();drawscene();speak();
}
function bBackDown3(){
choices.clxBackDown3++;
dqueue=[1,2,3];
switch(choices.clxBackDown3+choices.clxStandUpForTheGame){
case 1:
fqueue=[187];
break;
case 2:
fqueue=[188];
break;
case 3:
fqueue=[189];
break;
default:
fqueue=[1,2,3];
break;
}
switch(choices.clxBackDown3){
case 1:
mqueue=[72];
say(1,"I guess it doesn't matter.");
hideall();show("bItDoesntMatter2");
flipq();drawscene();speak();
break;
case 2:
mqueue=[131];
flipq();drawscene();
break;
case 3:
mqueue=[116];
flipq();drawscene();
hideall();show("bJustEat4");
break;
}
}
function bBackDown4(){
choices.laptopclosed=0;
setq(53,903,119);
say(1,"Oh, that's kind of... hm.");
say(2,"Yeah. So let me work.");
flipq();drawscene();speak();
hideall();show("bIOnlyNeedHer");show("bForgetTheWholeThing2");
}
function bBeClearer(){
/* My last two years of high school were endured in the Jerusalem Academy of Music and Dance. To my geek mind, all the conversations my classmates
had seemed like they were concerned with absolute trivialities: studying, partying, dating, living.... Where were the conversations about
videogames, or movies, or science fiction, or psychology, or anything that remotely interested me? Exacerbating matters, my Hebrew sucked. (It's
worse now.) I felt like if I somehow managed to start a conversation with someone in my class, and didn't stumble all over my words, I could make a
connection of some sort. So I listened to their talking, waiting for an opportunity that never came, and then at every possible opportunity I'd go
to the class piano and play one of my compositions (or improvise something). No one ever reacted at all to my music, as I did not have the greatest
technique and technique was all the musicians were interested in. (And the dancers only liked hip-hop. Groan.) I kept seeing these massive groups of
friends and peers sitting together, and I'd wonder what I'd have to do to sit there with them. I would have done it, too, whatever it was. Halfway
through the final year, we went on a three-day class trip. I could have gotten out of it, but I saw it as a great opportunity. Finally I'd see what
these people were like outside of a school environment. I'd have the time and position to get closer to them, maybe make some friends. By the second
day of the trip, I was literally banging my head against walls. They were so goddamned boring! It wouldn't matter if I were hanging around with them
for a decade, I'd never find a real opportunity to socialize with any of them because they simply weren't the sort of people that I could enjoy
socializing with. On that day, I decided that it's better to be lonely on your own than it is to be lonely in a crowd, and I resolved to stick with
people I was "compatible" with. It is downright unhealthy to hold out hope for connections with incompatible people. */
setq(161,127,0);
say(1,"I'm saying that I would go.");say(1,"For good.");
say(2,"I heard you.");
hide("bBeClearer");
flipq();drawscene();speak();
}
function bBeDirect(){
if(!choices.clxBeDirect){
choices.clxBeDirect=1;
setq(89,87,[1,2,3]);
say(1,"You're not at all interested?");
say(2,"In what?");
hideall(); show("bBackDown2"); show("bBeDirect");
}
else{
setq(86,113,93);
say(1,"In World of Warcraft.");
say(2, "No, sorry.");
hideall(); show("bGiveUp11");
}
flipq();drawscene();speak();
}
function bBeforeWork(){
if(!choices.clxTime){
setq(89,47,69);
say(1,"Sure, but I bet you have time _b_e_f_o_r_e work."); say(2,"Not really.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(67,87,[1,2,3]);
say(1,"Maybe _b_e_f_o_r_e work?"); say(2,"No.");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"Before work?"); say(2,"No.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"Before work?");
break;
}
}
hide("bBeforeWork");
flipq();drawscene();speak();
}
function bBeg(){
if (!choices.clxFindALoophole && !choices.clxItWouldBeFun && !choices.clxBeg && !choices.clxInsist2){
choices.clxBeg=1;
mqueue=[37];
if(choices.annoyed){
fqueue=[94];dqueue=[94];
flipq();drawscene();
stage.drawTextCenter(12,242,17,"Oh, please, would you? It means so much to me.");
stage.drawTextCenter(12,109,41,"Why do you think anyone");
stage.drawTextCenter(12,109,55,"but you cares about your");
var stylearray=new Array();for(var c=21;c<=27;c++) {stylearray[c]=true;}
stage.drawTextCenter2(12,109,69,"stupid game? We have lives.", stylearray);
hideall(); show("bConvinceHer"); show("bGiveUp2");
}
else {
say(1,"Oh, please, would you? It means so much to me.");
fqueue=[87];dqueue=[1,2,3];
say(2,"No! No, look, I really");say(2," ");say(2," ");say(2,"like a game. They need me all the time.");
flipq();drawscene();speak();
stage.drawTextRight(12,480,51,"can't find time to get away");
stage.drawTextRight(12,476,65.5,"from work for something");
hide("bFindALoophole");show("bFindAGoodTime2");
}
}
else{
setq(68,64,50);
say(1,"What do I need to do to get you to play? I'll do it, I'll do anything.");
say(2,"Why?");
hideall();show("bHellUnderstand");show("bHeCantUnderstand");
flipq();drawscene();speak();
}
}
function bBeGood(){
choices.laptopclosed=0;
setq(99,132,[1,2,3]);
say(1,"Yeah.");say(1,"I'm great.");
say(2,"Good.");
flipq();drawscene();speak();
hideall();show("bEat");
}
function bBeGood2(){
if(!choices.clxBeGood2){
choices.clxBeGood2=1;
setq(215,132,[1,2,3]);
say(1,"Nothing. I'm fine."); say(2,"Are you sure?");
hide("bBeHonest2");
flipq();drawscene();speak();
}
else if(choices.clxBeGood2==1){
choices.clxBeGood2++;
setq(216,49,[1,2,3]);
say(1,"Yeah, I'm great.");say(1,"Don't worry."); say(2,"Okay.");
flipq();drawscene();speak();
}
else {
setq(217,[1,2,3],[1,2,3]);
hideall();show("bForgetIt3");
flipq();drawscene();
}
}
function bBeHonest(){
choices.laptopclosed=0;
setq(54,131,[1,2,3]);
say(0," ");say(0," ");
say(1,"No, not really.");say(1,"But don't worry about me.");
flipq();drawscene();speak();
hideall();show("bEat");
}
function bBeHonest2(){
choices.laptopclosed=1;
setq(218,218,[1,2,3]);
say(1,"This isn't how it's supposed to work. We're supposed to live together, and I want to do that in World of Warcraft.");
say(2,"Why can't we live in the _r_e_a_l world?");
hideall();show("bWhy");show("bHow");show("bTheRealWorldIsBoring");show("bAzerothIsBetter");
choices.clxWhy=0;choices.clxHow=0;choices.clxTheRealWorldIsBoring=0;choices.clxAzerothIsBetter=0;choices.clxArgueThePoint=0;
flipq();drawscene();speak();
}
function bBeQuietNow(){
setq(908,220,901);
flipq();drawscene();
hideall();show("bDontTalkAgain2");
}
function bBeSubtle(){
var conditionsmet=0;
hideall();
if(choices.clxSchool>=4 || choices.clxWork >=2) {show("bTheyNeedMoreFun"); conditionsmet=1;} else{hide("bTheyNeedMoreFun");}
if(!choices.clxFood){choices.clxFood=0;}
if(!choices.clxEmptyHouse){choices.clxEmptyHouse=0;}
if(!choices.clxDirtyLaundry){choices.clxDirtyLaundry=0;}
//If I don't do this, I'll be adding numbers and nonexistent objects. Javascript doesn't like that.
if(choices.clxFood+choices.clxEmptyHouse+choices.clxDirtyLaundry>=2) {show("bWhatAboutMe"); conditionsmet=1;} else{hide("bWhatAboutMe");}
if(choices.clxFamily){show("bWeOughtToBeMoreLikeAFamily"); conditionsmet=1;} else{hide("bWeOughtToBeMoreLikeAFamily");}
if(choices.qWhatDoesSheLike==1) {show("bItsGoodToSocialize"); conditionsmet=1;} else{hide("bItsGoodToSocialize");}
if(choices.qWhatDoesSheLike==2) {show("bItsGoodToGetNewThings"); conditionsmet=1;} else{hide("bItsGoodToGetNewThings");}
if(choices.qWhatDoesHeLike==1) {show("bItsGoodToHaveThingsToDo"); conditionsmet=1;} else{hide("bItsGoodToHaveThingsToDo");}
if(choices.qWhatDoesHeLike==2) {show("bItsGoodToHaveWaysOfMovingUp"); conditionsmet=1;} else{hide("bItsGoodToHaveWaysOfMovingUp");}
if(conditionsmet==0){
setq(2,12,50);
say(1,"I want you to come join me in World of Warcraft.");
show("bThatWasNotSubtle");
flipq(); drawscene(); speak();
}
else{
shownbuttons = new Array();
show("Subtle");
setq(58,[1,2,3],[1,2,3]);
flipq(); drawscene();
}
}
function bBlameHerFather(){
setq(65,108,68);
say(1,"Your father seems to have a problem with you being happy, so you can't have one.");
flipq();drawscene();speak();
hide("bBlameHerFather"); show("bAndThatsThat");
}
function bBlank(){
setq(905,164,120);
flipq();drawscene();
hide("bBlank");show("bWhatAreYouLookingAt");
}
function bCalmDown(){
setq(140,108,[1,2,3]);
hideall();show("bSit");show("bLeave3");
flipq();drawscene();
}
function bChapter(chapter){
/* My passion for The Legend of Zelda: Ocarina of Time has bewildered many. I try to get other people to play it with the kind of determination with
which some people pursue sex. With everyone I've ever been friends with since I first played the 1998 masterpiece, I either got them to play the
game, tried and failed to get them to play the game, or fantasized about getting them to play the game. Ocarina of Time was a transformative
experience in my life, because while I'd played other games involving exploration, I'd never yet visited a world that gave me such a multitude of
things worth doing. And I played it at a point in my life when the real world didn't seem to contain anything of the sort. In Zelda I could choose
where to go and what to do -whether to fight monsters or wander around aimlessly or tackle some tricky puzzle or just waste time on minigames- and
this gave my time in the game a hint of realness. Meanwhile everything outside of the game seemed monotonous and sad. So I decided that reality is
just one world of many that a person might choose to live in. I want to share that revelation with others. I eventually acquired a Nintendo 64
entirely for this game -partially to be able to play the ocarina properly, but mostly so that some day I'd be able to share the game as it was
originally envisioned. With who? Haven't figured that part out yet. The people I show it to don't have nearly as intense a reaction as I did. How
could they? But still I try, and I'm happy when I get to witness even a tiny bit of the game being enjoyed and know that I had something to do with
that experience happening. */
if(!choices.clxBookOfAzeroth){
choices.clxBookOfAzeroth = 1;
switch(chapter){
case 0:setq(14,[1,2,3],[1,2,3]);say(1,"You know that I play World of Warcraft, right?");break;
case 1:setq(15,[1,2,3],[1,2,3]);say(1,"There are these really cool people I hang out with in World of Warcraft, we do everything together.");break;
case 2:setq(16,[1,2,3],[1,2,3]);say(1,"I've been playing World of Warcraft a lot, and I think it's a great way to socialize with people you meet over the internet.");break;
case 3:setq(17,[1,2,3],[1,2,3]);say(1,"I don't know if you know what World of Warcraft is like. You go on quests and get experience, which you can then use to get things that'll help you later. It's really fun, and it's especially fun because there are other people with you.");break;
case 4:setq(18,[1,2,3],[1,2,3]);say(0,"I was playing World of Warcraft today, and there was this one boss that we'd heard about that seemed like it was really far off, but then I found another quest which would give us a really cool weapon, so we played it and it was harder than we expected so we thought maybe we'd come back later but we stuck with it and we beat it and we were able to then go");break;
}
}
else if(choices.clxBookOfAzeroth==3){
choices.clxBookOfAzeroth++;
setq(24,12,[1,2,3]);
say(2,"The food was very good.");
choices.foodinterruption=1;
hide("bRethinkApproach1");show("bRethinkApproach2");
flipq();drawscene();speak();return;
}
else{
if (++choices.clxBookOfAzeroth==2){show("bRethinkApproach1");}
switch(chapter){
case 0:setq(19,[1,2,3],[1,2,3]);say(1,"You _d_o know that I've been playing World of Warcraft, right?");break;
case 1: setq(20,[1,2,3],[1,2,3]);say(1,"So there are a bunch of really cool people in my party. We do everything together.");break;
case 2: setq(16,[1,2,3],[1,2,3]);say(1,"You probably won't believe me when I say this, but there's nothing that brings people together quite like the game.");break;
case 3: setq(17,[1,2,3],[1,2,3]);say(1,"It's always really satisfying to go on quests with other people, and work together to beat the quests and decide how to move forward. What kinds of weapons and items you should try to get, and which quests will get you closer to getting those things.");break;
case 4:setq(18,[1,2,3],[1,2,3]);say(0,"What was cool today was that there was this one boss");say(0,"that we'd heard about that seemed like it was really far off, but then I found another quest which would give us a really cool weapon, so we played it and it was harder than we expected so we thought maybe we'd come back later but we stuck with it and we beat it and we were able to then go");break;
}
}
flipq();drawscene();speak();hide("bChapter"+chapter);
if(chapter==4){stage.drawText(12,0,103,"and beat that");stage.drawText(12,132,103,"other boss");stage.drawText(12,268,103,"much earlier");stage.drawText(12,392,103,"than we");stage.drawText(11,8,115,"thought we");stage.drawText(11,150,115,"could.");stage.drawText(11,280,115,"And it was");stage.drawText(11,390,115,"basically because");stage.drawText(11,-6,126,"we had really");stage.drawText(11,152,126,"good");stage.drawText(11,284,126,"teamwork");stage.drawText(11,284,127,"teamwork");stage.drawText(11,400,126,"the whole");stage.drawTextRight(11,480,138,"time.");}
}
function bCompromise(){
choices.clxCompromise=1;
hide("bCompromise");
say(1,"You don't need to spend a whole day, just a few minutes would be nice.");
setq(-1,3,[1,2,3]);//The laptop overlay was covering the mother's hand, so I'm ignoring the mother at first, and then drawing her on top.
flipq();drawscene();
m=43;stage.drawImage(mother[43],0,60,480,270);
speak();
}
function bCorrectHim(){
setq(45,0,[198,201]);
say(0,"No, see, W goes forward, and S goes backward,");say(0,"and A and D turn. See how it works? And then");say(0,"the space bar jumps, but that's not so");say(0,"useful. ");
hideall();show("bJump");show("bShowHimHowToUseTheMouse");
flipq();drawscene();speak();
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bCry(){
setq(172,177,73);
say(2,"Jesus. What's the matter?");
say(3,"That's the phoniest crying I've ever seen.");
hideall();show("bHeCanGuess");show("bHeWontUnderstand");
flipq();drawscene();speak();
}
function bCutItOut(){
setq(72,903,28);
choices.laptopclosed=0;
say(1,"Right. Sure.");
flipq();drawscene();speak();
hideall();show("bForgetIt4");
}
function bDarn(){
choices.laptopclosed=0;
setq(204,903,0);
flipq();drawscene();
hide("bDarn");show("bDarn2");
}
function bDarn2(){
setq(140,108,0)
flipq();drawscene();
hide("bDarn2");show("bSitDown");
}
function bDefendTheGame(){
if(!choices.clxDefendTheGame){
setq(93,93,93);
choices.clxDefendTheGame=1;
say(1,"World of Warcraft is a _g_r_e_a_t game! The people who've made it, Blizzard, they've really _m_a_s_t_e_r_e_d the medium!"); say(2,"It's great that");say(2,"you're so into it.");
flipq();drawscene();speak();
hideall();show("bDefendTheGame");show("bGetBackOnTrack");
}
else {
setq(94,12,73);
say(1,"Because it's great! Do you think I'd be this invested in something that wasn't worthwhile?");say(3,"Yes.");say(2,"No, of course not.");
hideall();show("bINeedToCalmDownOrIllBlowIt");show("bTheyreTalkingThisIsMyChance");
flipq();drawscene();speak();
}
}
function bDirect(){
if(choices.clxYell<3){
if(!choices.clxSarcastic){
setq(903,89,0);
say(1,"It's the truth!");
hide("bDirect");
}
else if(!choices.clxDirect){
setq(48,127,0);
say(1,"You spend all day every day working, and then when you come home you won't do anything with me!");
say(2,"Is there something _r_e_a_l_i_s_t_i_c you'd like me to do?");
}
else{
setq(903,125,0);
say(1,"I want you to try playing World of Warcraft! Maybe you'd even like it!");
hide("bDirect");
}
}
choices.clxDirect=1;
flipq();drawscene();speak();
}
function bDirtyLaundry(){
choices.PlanningTarget=0;
choices.clxDirtyLaundry=1;
if(choices.planinprocess!=""){hide(choices.planinprocess)}
setq(50,[1,2,3],50); say(1,"By the way, I washed your clothes earlier."); say(3,"Okay.");
flipq();drawscene();speak();
hide("bDirtyLaundry");hide("PlanningGuilt");choices.selectedPlan=0;document.getElementById("bPlanning2").className="";
bPlanning(-1);
}
function bDitchWork(){
if(!choices.clxTime){
setq(39,42,69);
say(1,"So don't go to work for one day, it won't kill you. This is more important."); say(2,"It's _r_e_a_l_l_y not.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(88,87,[1,2,3]);
say(1,"So skip some work for this."); say(2,"No!");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"Instead of work?"); say(2,"No.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"Instead of work?");
break;
}
}
hide("bDitchWork");
flipq();drawscene();speak();
}
function bDoesHeAgreeWithThis(){
setq(67,36,[1,2,3]);
say(1,"What do _y_o_u think");say(1,"of World of Warcraft?"); say(2, "What's that?");
hideall();show("bReally");
flipq();drawscene();speak();
}
function bDoesSheHearMe(){
setq(133,54,133);
flipq();drawscene();
stage.drawText(13,90,60,"Can you?");
stage.drawObliqueText(13,90+stage.measureText(13,"Can you? "),60,"Can you?");
hide("bDoesSheHearMe");show("bWaitForAnAnswer");
choices.clxDoesSheHearMe=1;
}
function bDoISuck(){
setq(126,1,0);
flipq();drawscene();
hide("bDoISuck");
}
function bDontCalmDown(){
setq(139,86,[1,2,3]);
flipq();drawscene();
stage.drawTextRight(12,259,12,"Why should I calm down? This is");
stage.drawText(12,5,25,"the only way I can tell you about");
stage.drawTextRight(12,252,38,"anything! If I just try to talk to");
stage.drawTextRight(12,253,51,"you, you pretend you don't");
stage.drawTextRight(12,254,64,"understand what I'm");
stage.drawTextRight(12.5,253,78,"talking about!");
stage.drawTextCenter(12.5,368,16,"You are talking about a");
stage.drawTextCenter(12,373,29,"computer game, and you");
stage.drawTextCenter(12,371,43,"are blowing this way out of");
stage.drawTextCenter(12,370,56,"proportion. It is a computer");
stage.drawTextCenter(12,371,69,"game. Stop acting like it's");
stage.drawTextCenter(12,376,82,"the end of the world.");
hide("bDontCalmDown");
}
function bDontGoYet(){
setq(201,114,0);
flipq();drawscene();
stage.drawText(14,140,70,"Wait!");
hide("bDontGoYet");show("bMakeHimFeelGuilty");show("bForgetTheWholeThing");
}
function bDontGoYet2(){
setq(201,114,0);
say(3,"Wait!");
flipq();drawscene();speak();
hide("bDontGoYet2");show("bDarn");
}
function bDontHoldBack(){
setq(191,0,133);
hideall();show("bApologize2");
flipq();drawscene();
}
function bDontMakeThisWorse(){
setq(98,[1,2,3],95);
flipq();drawscene();
hideall();show("bDontTalkAgain");
}
function bDontSlowDown(){
setq(105,80,133);
say(1,"We'll be the greatest family _e_v_e_r_!");
say(2,"I didn't-");
flipq();drawscene();speak();
hideall();show("lDontSlowDown");show("bWord1");show("bWord2");show("bWord3");show("bWord4");show("bWord5");
}
function bEasyDoesIt(){
/* There is, of course, a difference between socializing in person and socializing in an online setting. But one is not inherently better than the
other. Sometimes the people you really want to talk to are on the other side of the world, and you'll only meet them if you're willing to take a web
site as seriously as a physical place. There was a year or two in high school where internet forums kept me sane. My first forum was the official
forum for the Legend of Zelda series, and I started hanging around there because I was interested in how the Legend of Zelda games fit together
chronologically. Believe it or not there were many heated debates on the question, and many days in school while I was supposed to be doing
something or other I'd instead be wandering around considering my counter-argument to whatever the last person said. Did I make friends on that
forum? No, I did not. A few rivals, perhaps. But it was as real a social setting as any I've been in, for better or for worse. The internet allowed
me to connect with people who had the same bizarre interests that I did, and the mode of communication fit the group. In the real world there were
no social opportunities that appealed to me. So when I hear people spout inanities like "The internet will never be a substitute for real people!",
I take comfort in the knowledge that they're very wrong. Day by day more people come to the understanding that online relationships serve their
needs better than whatever random situation they've been thrown into in the real world. This is why you'll see so many people using Facebook on
their smartphones when they're expected to be talking to someone in the same room. The real world just isn't doing it for them. */
setq(63,[1,2,3],[1,2,3]);
say(1,"Take World of Warcraft, for instance. I've got lots of friends who I'm really close with, because we do more than just talk with voice chat. We also go and do quests together, and you can form real friendships like that.");
hide("bEasyDoesIt");show("bGoInForTheKill");
flipq();drawscene();speak();
choices.clxEasyDoesIt=1;
}
function bEat(){
setq(167,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); show("bItWasAStupidIdeaAnyway");
}
function bEat2(){
setq(167,164,135);
hideall();show("bWhatever");
flipq();drawscene();
}
function bEat3(){
choices.laptopclosed=0;
setq(165,108,210);
flipq();drawscene();
hideall();show("bItWasAStupidIdeaAnyway");
}
function bEmptyHouse(){
choices.PlanningTarget=0;
if(!choices.clxEmptyHouse){choices.clxEmptyHouse=1;} else{choices.clxEmptyHouse++;}
if(choices.planinprocess!="" && choices.planinprocess!="bEmptyHouse"){hide(choices.planinprocess)}
choices.planinprocess="bEmptyHouse";
switch(choices.clxEmptyHouse){
case 1:
setq(47,47,[1,2,3]);say(1,"World of Warcraft is great, but it does get lonely around here sometimes.");say(2,"So go somewhere.");break;
case 2:
setq(48,12,[1,2,3]);say(1,"Where?");say(2,"I don't know. Make some friends.");break;
case 3:
setq(49,49,[1,2,3]);say(1,"I _h_a_v_e friends, on World of Warcraft.");say(2,"Good.");hide("bEmptyHouse");hide("PlanningGuilt");choices.selectedPlan=0;document.getElementById("bPlanning2").className="";break;
}
flipq();drawscene();speak();
bPlanning(-1);
}
function bEvenSo(){
setq(86,88,[1,2,3]);
say(1,"Could you try it anyway?"); say(2,"I don't know, I'm awfully busy with work.");
flipq(); drawscene(); speak();
hideall(); show("bItsOnlyWorkHoldingHimBack"); show("bWorkIsJustAnExcuse");
}
function bEverythingsFine(){
setq(132,[1,2,3],[1,2,3]);
if(choices.laptopclosed==1){
fqueue=[131];
choices.laptopclosed=0;
}
flipq();drawscene();
hideall();show("bJustEat3");
}
function bExplainHowItWillWork(){
if(!choices.clxExplainHowItWillWork){
setq(15,69,[1,2,3]);
hideall();show("bIllNeedHer"),show("bExplainHowItWillWork");show("bGiveUp14");
choices.clxExplainHowItWillWork=1;
flipq();drawscene();
stage.drawTextRight(12,255,12,"I've already set up a character");
stage.drawTextRight(12,257,28,"for you, he's a night-elf druid.");
stage.drawTextRight(12,255,44,"I'll go with you on the quests;");
stage.drawTextRight(12,255,60,"I've been playing for");
stage.drawTextRight(12,255,76,"a while, so-");
stage.drawTextCenter(12,370,11,"I'm sorry, I'm sorry. This");
stage.drawTextCenter(12,372,24,"all sounds very... and you");
stage.drawTextCenter(12,371,37,"seem really excited, but I");
stage.drawTextCenter(12,370,50,"really don't think I'd have");
stage.drawTextCenter(12,370,63,"time for something like");
stage.drawTextCenter(12,370,76,"that. So don't go getting");
stage.drawTextCenter(12,370,89,"your hopes up.");
}
else{
setq(19,86,[1,2,3]);
say(1,"But I haven't finished telling you yet. I was going to say that I'm a higher level, so-");say(2,"I'm trying to work.");say(2,"Let me work.");
flipq();drawscene();speak();
hide("bExplainHowItWillWork");
}
}
function bExplainTheQuest(){
setq(179,140,198);
hideall();show("bPushHimAlong");
flipq();drawscene();
stage.drawText(13,10,14,"Right. So you're going to have to kill four boars");
stage.drawText(13,8,30,"and four nightsabers, and then you get a reward");
stage.drawText(13,25,46,"for it. That's how it works. You always");
stage.drawText(13,60,62,"get a reward for what you");
stage.drawText(13,160,78,"do.");
stage.drawTextCenter(12,274,90,"If only");
stage.drawTextCenter(12,274,104,"the real world");
stage.drawTextCenter(12,274,118,"worked like");
stage.drawTextCenter(12,274,132,"that.");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bExplainToHer(){
setq(73,[1,2,3],73);
say(1,"You know, it's really not dumb at all."); say(3,"Yes it is! Oh my god!");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bExplainWhatsGoingOn(){
setq(38,135,[198,201]);
flipq();drawscene();
stage.drawTextCenter(13,215,14,"Okay, so this is Shadowglen, which is where night");
stage.drawTextCenter(13,215,29,"elves start. Eventually you'll be moving on to lots");
stage.drawTextCenter(13,215,44,"of other places, but this is an easy place to learn");
stage.drawTextCenter(13,215,59,"how to do things. So you'll want to move forward");
stage.drawText(13,70,74,"by pressing W.");
stage.drawTextCenter(13,267,90,"What, like for");
stage.drawTextCenter(14,267,108,"\"walk\"?");
hideall();show("bLetHimThinkThat");show("bCorrectHim");show("bHeShouldUseTheMouse");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bFamily(){
choices.PlanningTarget=0;
if(!choices.clxFamily){choices.clxFamily=1;} else{choices.clxFamily++;}
if(choices.planinprocess!="" && choices.planinprocess!="bFamily"){hide(choices.planinprocess)}
choices.planinprocess="bFamily";
switch(choices.clxFamily){
case 1:
setq(51,47,[1,2,3]); say(1,"It's so nice to have supper as a family, all of us here. Don't you think so?"); say(2, "Yeah, very nice."); break;
case 2:
setq(52,[1,2,3],[1,2,3]);say(1,"We spend all our time apart, it's just good to feel like we're a whole family that eats supper together.");break;
case 3:
setq(53,[1,2,3],[1,2,3]);say(1,"I just like that, is all. I don't know why.");break;
case 4:
setq(54,[1,2,3],[1,2,3]);say(1,"That's all I'm saying.");hide("bFamily");hide("PlanningGuilt");choices.selectedPlan=0;document.getElementById("bPlanning2").className="";break;
}
flipq();drawscene();speak();
bPlanning(-1);
}
function bFensive(btn){
choices.clxFensive++;
switch(choices.clxFensive){
case 1:
if(btn==0){setq(902,87,[1,2,3]);say(1,"Right, I'm ridiculous. Everything I like is ridiculous."); say(2,"I never said that!");} else {setq(94,12,[1,2,3]);say(1,"So prove it. Come play World of Warcraft with me."); say(2,"I... what? No.");}
flipq();drawscene();speak();
break;
case 2:
if(btn==0){setq(11,126,[1,2,3]);say(1,"Just ignore me, I'm just your wife, go do your job which is much more important."); say(2,"I'm working _f_o_r you! I'm working so you have the money to do this game");say(2," of yours or whatever else!");
flipq();drawscene();speak();
stage.drawText(12,294,81,"money");} else {setq(88,153,[1,2,3]);say(1,"Why won't you play with me?"); say(2,"I just don't have");say(2,"_t_i_m_e to play with you!");flipq();drawscene();speak();}
break;
case 3:
if(btn==0){setq(83,123,[1,2,3]);say(1,"But you never have any time! You're never here, with me, doing things with me."); say(2,"I'm here, having dinner, I don't know what you want.");} else {setq(903,88,[1,2,3]);say(0,"I think, if you really wanted to play World of Warcraft with");say(0,"me, you'd put your job aside for a few minutes and play.");say(0,"You wouldn't keep arguing about it."); say(2,"_Y_o_u_'_r_e the one arguing, I'm just trying to do my work!");}
flipq();drawscene();speak();
break;
case 4:
if(btn==0){setq(86,127,[1,2,3]);say(1,"Am I such a bad person, to want to spend time with you?"); say(2,"You are putting words in my mouth.");} else {setq(94,107,[1,2,3]);say(1,"Stop working already!");}
flipq();drawscene();speak();
break;
case 5:
if(btn==0){setq(92,86,[1,2,3]);say(1,"Are you going to tell me that you won't do anything with me?"); say(2,"This is... not right now! I don't... stop that. Just stop. Please. Stop.");} else {setq(169,38,[1,2,3]);say(1,"Come on, I'm waiting for you to play with me."); say(2,"No you're not, because I'm _w_o_r_k_i_n_g_.");}
flipq();drawscene();speak();
break;
case 6:
if(btn==0){setq(170,160,[1,2,3]);say(1,"Okay, I get it. I see how it is."); say(2,"It's not anything.");} else {setq(171,160,[1,2,3]);say(1,"What do I have to do, to get you to play?"); say(2,"I don't know.");}
flipq();drawscene();speak();
break;
case 7:
setq(132,161,68);
flipq();drawscene();
stage.drawTextCenter(12,350,15,"I need to work, and you're not");
stage.drawTextCenter(12,350,30,"letting me work. So I'm going to");
stage.drawTextCenter(12,350,45,"go somewhere where I can work");
stage.drawTextCenter(12,350,60,"without you telling me I can't");
stage.drawText(12,390,75,"work.");
break;
case 8:
if(btn==0){setq(162,162,[1,2,3]);say(1,"Of course you will.");} else {setq(152,162,85);say(1,"You don't even listen! You should listen to me once in a while, maybe you'll have some fun once in a while!");}
flipq();drawscene();speak();
break;
case 9:
setq(98,163,901);
flipq();drawscene();
hideall();show("bBlank");
break;
}
}
function bFindAGoodTime(){
setq(58,108,[1,2,3]);
hideall();
show("bToday");show("bTomorrow");show("bInAFewDays");show("bNextWeek");
flipq();drawscene();
}
function bFindALoophole(){
choices.clxFindALoophole=1;
mqueue=[67];
if(choices.annoyed){
fqueue=[94];dqueue=[94];
flipq();drawscene();
var stylearray = new Array();
for(var c=34;c<=38;c++){stylearray[c]=true};
stage.drawTextCenter2(12,242,12,"Well, it doesn't need to be right now. I could wait until you", stylearray);
stage.drawText(12,170,26,"have some time, whenever that is.");
stage.drawTextCenter(12,109,41,"Why do you think anyone");
stage.drawTextCenter(12,109,55,"but you cares about your");
stylearray = new Array();
for(var c=21;c<=27;c++){stylearray[c]=true};
stage.drawTextCenter2(12,109,69,"stupid game? We have lives.", stylearray);
hideall(); show("bConvinceHer"); show("bGiveUp2");
}
else {
say(1,"Well, it doesn't need to be right _n_o_w. I could wait until you have some time, whenever that is.");
fqueue=[69];dqueue=[1,2,3];
say(2,"I don't know, it's going to be a pretty busy month.");
flipq();drawscene();speak();
hide("bFindALoophole");show("bFindAGoodTime2");
}
}
function bFindAWayThatsMoreLikelyToWork(btn){
setq([113,202],[65,211],[1,2,3]);
show("LikelyWays");
hide(btn);
flipq();drawscene();
}
function bFindAWayToArgue(){
setq(211,188,211);
hideall();
show("bSitDown3");show("bSaySomething");
say(3,"You suck.");
flipq();drawscene();speak();
choices.clxFindAWayToArgue=1;
}
function bFinishEating(){
if(!choices.clxFinishEating){
setq(165,[1,2,3],0);
flipq();drawscene();
show("bPlease"); hide("bIDontWantToGo");
choices.clxFinishEating=1;
}
else {
setq(167,[1,2,3],0);
hideall();
show("bWhatever");
flipq();drawscene();
}
}
function bFinishEating2(){
setq(104,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bFinishEating2");show("bItDoesntMatter3");
}
function bFinishFood(){
if(!choices.clxFinishFood){
setq(165,[1,2,3],[1,2,3]);
choices.clxFinishFood=1;
flipq();drawscene();
}
else{EndGame();}
}
function bFollowThrough(){
setq(168,89,0);
hideall();show("bSlamDoor");
flipq();drawscene();
}
function bFood(){
choices.PlanningTarget=2;
if(!choices.clxFood){choices.clxFood=1;} else{choices.clxFood++;}
if(choices.planinprocess!="" && choices.planinprocess!="bFood"){hide(choices.planinprocess)}
choices.planinprocess="bFood";
switch(choices.clxFood){
case 1:
setq(5,42,[1,2,3]);if(choices.foodinterruption){say(1,"So you like the food?");} else {say(1,"Do you like the food?");};say(2,"Um, yes. Good food.");break;
case 2:
setq(2,[1,2,3],[1,2,3]);say(1,"I'm glad to hear you like it. It's nice to be able to do something for the family.");hide("bFood");hide("PlanningGuilt");choices.selectedPlan=0;document.getElementById("bPlanning2").className="";break;
}
flipq();drawscene();speak();
bPlanning(-1);
}
function bForgetHerLetsJustPlay(){
setq(77,[1,2,3],[1,2,3]);
hideall(); show("bJustTheTwoOfUs"); show("bABreakFromItAll"); show("bJustAskAlready");
flipq();drawscene();
}
function bForgetIt(){
setq(137,65,73);
say(1,"It doesn't matter, look, I just really really really want to play with both of you, okay?");
say(3,"Yeah, we can see that. Stop.");
hideall();show("bKeepExplaining");show("bStop");
flipq();drawscene();speak();
}
function bForgetIt2(){
setq(214,117,[1,2,3]);
say(2,"What's the matter?");
flipq();drawscene();speak();
hideall();show("bBeHonest2");show("bBeGood2");
}
function bForgetIt4(){
setq(98,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bForgetIt4");show("bFinishFood");
}
function bForgetTheWholeThing(){
choices.laptopclosed=0;
setq(204,903,0);
flipq();drawscene();
hideall();
show("bSitDown");
}
function bForgetTheWholeThing2(){
if(!choices.clxIOnlyNeedHer){
setq(54,106,50);
say(1,"I just wanted to play World of Warcraft with you, but it's not worth this.");
say(3,"So what about getting me an accordion?");
hideall();show("bBlameHerFather");
}
else {
setq(54,901,105);
say(1,"Fine.");say(1,"No accordion, then.");
hideall();show("bAndThatsThat");
}
flipq();drawscene();speak();
}
function bGaugeInterestLevel(){
say(1,"By the way, _d_o you want to?");
say(2,"No, dear.");
if(choices.annoyed){
setq(67,36,66);
say(3,"No!");
}
else {
setq(67,36,26);
say(3, "No.");
}
hideall(); show("bNo");
flipq(); drawscene(); speak();
}
function bGaugeInterestLevelFirst(){
setq(63,[1,2,3],[26,28]);
say(1, "Tell me, what do you think of World of Warcraft?"); say(3, "It's kinda dumb.");
hideall();show("bSheDoesntMeanIt");show("bTryToUnderstandHerPosition");show("bDefendTheGame");
flipq();drawscene();speak();
}
function bGetBackOnTrack(){
setq(3,[1,2,3],[1,2,3]);
hideall(); show("bBeSubtle"); show("bGoAllIn");
flipq(); drawscene();
}
function bGetOut(){
if(!choices.clxGetOut){
choices.clxGetOut=1;
setq(-1,164,[192,193,194]);
flipq();drawscene();m=197;stage.drawImage(mother[197],0,60,480,270);
}
else {
setq(0,164,125);
hideall();show("bStartGame3");
flipq();drawscene();
}
}
function bGetOutNow(){
setq(241,54,192);
flipq();drawscene();
hideall();show("bRun");
}
function bGiveHimTheSilentTreatment(){
hide("ReactionOffensive");hide("ReactionDefensive");
document.getElementById("bLashOut").className="";
document.getElementById("bActHurt").className="";
if(!choices.clxGiveHimTheSilentTreatment){
setq(146,[1,2,3],[1,2,3]);
hide("bGiveHimTheSilentTreatment");show("bGiveHimTheSilentTreatment2");
choices.clxGiveHimTheSilentTreatment=1;
}
else if(choices.clxGiveHimTheSilentTreatment==1){
choices.clxGiveHimTheSilentTreatment++;
setq(147,[1,2,3],[1,2,3]);
hide("bGiveHimTheSilentTreatment2");show("bGiveHimTheSilentTreatment3");
}
else{
setq(148,[1,2,3],[1,2,3]);
hideall();
show("bTrySomethingElse");show("bSendHimATelepathicMessage");
}
flipq();drawscene();
}
function bGiveUp(){
hideall();
setq(12,12,[1,2,3]);
say(2,"That's nice, honey.");
flipq();drawscene();speak();
show("bThisCouldWork");
//Three days ago (I am writing this on 23/2/2012.), I went on a date with a delightfully quirky woman. I was interested in her because her
//personality seemed to be very much like mine, and I told her so in a long and precisely-crafted e-mail. My reasoning for the letter was as
//follows: If she was like me, she might want to know where she stood without ambiguity, because that is how I would always prefer people treat me.
//And if she was not like me, then my reason for being interested in her was in error and I would want to know that as soon as possible. I was
//careful to word the letter such that if I was mistaken about her, she could say "no" comfortably and that would be that. Instead, she said we were
//on the same page. So we went on a date, and all my suspicions about her personality were proven true. Fundamentally she is very much like me.
//However, she aspires to fit into the "real world", while I see it as my life's mission to make gamistic alternatives to it. We had some wonderful
//discussion and argumentation, and then she said goodbye with little enthusiasm for seeing me again. So I asked her whether we could meet up again,
//and she responded that that might be nice. At present I am convinced that that was merely a tactful answer, and that she did not want to ever see
//me again. But that is not what she said. Her tact left the possibility of a relationship on the table, maybe because I was so aggressively
//interested in her that she did not want to hurt my feelings. Since then I am ashamed to say I have written her ten e-mails, some of them quite
//long. She has barely responded, and when she did respond she did not tell me that I was bothering her, again maybe to not hurt my feelings. So I
//figured she was very busy, or wanted to take the time to respond properly, or any of a million other perfectly reasonable explanations for not
//writing the four words "I don't like you." that would tell me where I stand. Finally a friend of mine told me that I needed to stop writing, and
//that I was so eager to pursue a relationship that I was ignoring the tone of what this woman had been saying. Understand, this intervention came
//only after two days of my obsessing about uncertainty as to whether or not she was at all interested in me. And when I realized my friend was
//right after those two days of build-up, it pained me to the point of feeling physically ill. If the woman I'd gone out with had told me in clear
//terms that she was not interested in me, and that she was not interested in working to bridge the subtle differences in our worldviews, I would
//have been disappointed but I would have moved on with my life and I would quickly have been fine. But because she chose tact over honesty, I was
//left in a state of confusion and false hope which has made it very difficult to focus on anything for the past two days. "Tact" is simply a tactful
//word for deception. The earlier a feeling is hurt, the less time that feeling has had to grow deep roots. Even when painful, the entire truth
//revealed at once is always preferable to pleasant lies that fester over time.
}
function bGiveUp12(){
setq(24,113,[1,2,3]);
say(2,"It's a nice thought, though.");
hideall(); show("bHesInterested"); show("bHesNotInterested");
flipq();drawscene();speak();
}
function bGiveUp14(){
setq(110,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall();show("bStay");show("bLeave2");
}
function bGiveUp15(){
setq(95,117,[1,2,3]);
say(1,"Yeah, I get it. Why would you want to be in a world with me? That's fine.");
say(2,"_A_r_e you fine?");
flipq();drawscene();speak();
hideall();
show("bBeHonest");show("bBeGood");
}
function bGiveUp2(hope){
if(hope==1){
setq(95,80,72);
hideall(); show("bImNotCrazy");
}
else {
setq(72,80,72);
hideall(); show("bPretendItDoesntMatter"); show("bLeave");
}
flipq();drawscene();
if(choices.clxFindALoophole){
say(2,"Look, maybe-");say(0," ");say(0," ");say(0," ");
}
else {
say(2,"I guess I could-");say(0," ");say(0," ");say(0," ");
}
stage.drawText(14,25,40,"No, don't do that. You don't need to");stage.drawText(14,40, 59,"go along with Mom's craziness.");
speak();
}
function bGiveUp3(){
if(!choices.clxThatWasRude || choices.clxThatWasRude==2){
bGiveUp448();
}
else {
setq(54,54,54);
say(1,"World of Warcraft.");
flipq();drawscene();speak();
hide("bThatWasRude"); choices.clxThatWasRude=2;
}
}
function bGiveUp4(){
if(!choices.clxGiveUp4){choices.clxGiveUp4=0;};
if((choices.clxGiveUp4==2 && !choices.clxKeepGoing) || (d==0 && m>=97 && m<=98)){
EndGame();
return;
}
else {
choices.clxGiveUp4++;
}
setq([97,98],[1,2,3],[1,2,3]);
if(choices.clxKeepGoing){
choices.clxGiveUp4orKeepGoing++;
switch(choices.clxGiveUp4orKeepGoing){
case 2: dqueue=[95];break;
case 3: dqueue=[97];break;
case 4: dqueue=[0];hide("bKeepGoing");break;
case 5: dqueue=[0];fqueue=[65];break;
}
}
flipq();drawscene();
}
function bGiveUp448(){
setq(130,[64,65],[1,2,3]);
flipq();drawscene();
hideall();show("bFindAWayThatsMoreLikelyToWork");show("bForgetIt2");
show("bLikelyWay1");show("bLikelyWay2");show("bLikelyWay3");show("bLikelyWay4");show("bLikelyWay5");show("bLikelyWay6");show("bLikelyWay7");
}
function bGiveUp5(){
setq(48,[1,2,3],[1,2,3]);
say(1,"That's okay.");
hide("bGiveUp5");show("bGiveUp6");
flipq();drawscene();speak();
}
function bGiveUp6(){
setq(47,[1,2,3],[1,2,3]);
hide("bGiveUp6");show("bGiveUp7");
flipq();drawscene();
}
function bGiveUp7(){
setq(9,[1,2,3],[1,2,3]);
hide("bGiveUp7");show("bJustEat");
flipq();drawscene();
}
function bGoAllIn(){
var conditionsmet=0;
setq(51,86,50);
say(1,"Both of you should join me");say(1,"in World of Warcraft.");
hide("bYouNeedMoreFun");hide("bYouOweItToMe");hide("bWeCouldBeLikeARealFamily");hide("bItsJustLikeHangingOut2");hide("bItsJustLikeShopping2");hide("bTheresLotsToDo");hide("bWedAlwaysBeMovingForward");hide("bPresentTheVision");hide("bRetreat");
hideall();
if(choices.clxSchool>=4 || choices.clxWork >=2) {show("bYouNeedMoreFun"); conditionsmet=1;}
if(!choices.clxFood){choices.clxFood=0;}
if(!choices.clxEmptyHouse){choices.clxEmptyHouse=0;}
if(!choices.clxDirtyLaundry){choices.clxDirtyLaundry=0;}
//If I don't do this, I'll be adding numbers and nonexistent objects. Javascript doesn't like that.
if(choices.clxFood+choices.clxEmptyHouse+choices.clxDirtyLaundry>=2) {show("bYouOweItToMe"); conditionsmet=1;}
if(choices.clxFamily){show("bWeCouldBeLikeARealFamily"); conditionsmet=1;}
if(choices.qWhatDoesSheLike==1) {show("bItsJustLikeHangingOut2"); conditionsmet=1;}
if(choices.qWhatDoesSheLike==2) {show("bItsJustLikeShopping2"); conditionsmet=1;}
if(choices.qWhatDoesHeLike==1) {show("bTheresLotsToDo"); conditionsmet=1;}
if(choices.qWhatDoesHeLike==2) {show("bWedAlwaysBeMovingForward"); conditionsmet=1;}
shownbuttons = new Array();
if(conditionsmet==0){show("bPresentTheVision"); show("bRetreat");}
show("AllIn");
flipq(); drawscene(); speak();
}
function bGoBack(){
setq(0,173,0);
flipq();drawscene();
stage.drawTextCenter(15,345,75,"Come back");
stage.drawTextCenter(15,345,97,"already?");
stage.drawTextCenter(11,464,80,"Shut");
stage.drawTextCenter(11,464,93,"up.");
hide("bGoBack");show("bStartGame3");
}
function bGoForIt(){
mqueue=[2];
hideall();
say(1, "You know, I had a");say(1,"great day today!");
flipq();drawscene();speak();
show("bRepeat");show("bWaitForResponse");
}
function bGoInForTheKill(){
setq(17,[1,2,3],93);
if(!choices.clxStayOnCourse && !choices.clxEasyDoesIt){
say(1,"What I'm thinking is, we");
}
else {
say(1,"So what I'm thinking is, we");
}
say(1,"need to play World of Warcraft");say(1,"together. As a family activity.");
flipq();drawscene();speak();
hideall();show("bMakeItEasyToStart2");show("bReassureThem");
}
function bGoodTime(time){
setq(234,12,74);
switch(time){
case 1:
say(1,"We could play right now!");
break;
case 2:
say(1,"I think we're all free on Thursday, aren't we?");
break;
case 3:
say(1,"When do you wanna start?");
break;
}
say(2,"You know, nobody agreed to play this game of yours.");
hideall();show("bThatDoesntMatter");
flipq();drawscene();speak();
}
function bGuiltHim(){
setq(117,127,[1,2,3]);
say(1,"It's always work, isn't it? You never have any time for _m_e_! Are you married to me, or your job?");
say(2,"Now, you're being ridiculous.");
hideall();show("bDefensive");show("bOffensive");
flipq();drawscene();speak();
choices.clxFensive=0;
}
function bHeart(){
/*Kyler entirely changed the meaning of this ending: I had intended it as one of the most depressing endings, and he turned it into the most hopeful.
The way I pictured it, the husband and daughter are just stunned at her sudden energy. The running, the whisper and the kiss all seem from their
perspective to be coming from out of nowhere. So there would be this dissonance between an adorably cute little heart-button, and the visual of them
holding blank expressions on their faces. She runs out of the room thinking she's managed to pull the family together, and actually no such thing
has happened. But Kyler chose to take the cuteness at face value, and I'm not arguing with him because it's a valid interpretation and god knows the
game could use some cheering up. As an amateur actor myself, I respect the pursuit of personal interpretations. Maybe there's hope for this family
after all! */
if (choices.clxSetUpTheGame==2){EndGame()}
else if(!choices.clxHeart){
choices.clxHeart=1;
setq(0,120,120);
flipq();drawscene();
stage.drawObliqueText(12,458,174,"I");
stage.drawObliqueText(12,443,184,"love");
stage.drawObliqueText(12,443,194,"you.");
stage.fillStyle="rgba(254,253,252,0.3)";
stage.fillRect(456,158,18,15);
stage.fillRect(442,173,32,30);
}
else {
setq(0,121,121);
flipq();drawscene();
hide("bHeart");
}
}
function bHeCanGuess(){
if(!choices.clxHeCanGuess){
choices.clxHeCanGuess=1;
setq(173,178,[1,2,3]);
if(f==100){fqueue=[177];}
say(1,"Nothing's the matter.");
say(2,"Are you sure?");
say(2," ");
hide("bHeWontUnderstand"); show("bIShouldntHaveToTellHim"); show("bTellHimAnyway");
}
else{
choices.clxHeCanGuess++;
switch(choices.clxHeCanGuess){
case 2:
setq(174,179,[1,2,3]);
say(2,"What?");
break;
case 3:
setq(175,180,[1,2,3]);
say(2,"Forget I asked. I don't want you to be angry with me."); say(2," ");
hide("bHeCanGuess");
break;
case 4:
EndGame();
return;
}
}
flipq();drawscene();speak();
}
function bHeDoesntMeanIt(){
setq(84,[1,2,3],[1,2,3]);flipq();drawscene();
hideall(); show("bDefendTheGame"); show("bGetBackOnTrack");
}
function bHeDoesntKnowThat(){
setq(40,136,197);
flipq();drawscene();
stage.drawTextCenter(13,140,13,"Here, so this is the character");
stage.drawTextCenter(13,143,28,"you'll be playing. He's a night");
stage.drawTextCenter(13,140,43,"elf called Rennilard. He's a");
stage.drawTextCenter(13,140,58,"hunter. Yeah, click there.");
stage.drawTextCenter(13,170,75,"Okay.");
hideall();show("bExplainWhatsGoingOn");show("bSeeHowHeReacts");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHellFigureItOut(){
setq(40,129,196);
hideall();show("bExplainTheQuest");
flipq();drawscene();
stage.drawTextCenter(13,130,16,"Over to the right, over there.");
stage.drawTextCenter(13,130,34,"Yeah. Now so just");
stage.drawTextCenter(13,130,52,"right-click on the guy and");
stage.drawTextCenter(13,130,70,"he'll give you the first quest.");
stage.drawText(14,230,105,"Okay.");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHellUnderstand(trust){
switch(trust){
case 1:
setq(37,80,28);
flipq();drawscene();
stage.drawText(12,57,14,"Because it's important to");
stage.drawText(12,91,28,"me that you should");
stage.drawText(12,140,42,"play with me.");
stage.drawText(12,181,60,"Will you?");
break;
case 0:
setq(36,80,28);
flipq();drawscene();
stage.drawText(13,102,20,"No reason, I just");
stage.drawText(13,105,38,"want you to play.");
stage.drawText(13,182,58,"Will you?");
break;
}
hideall();show("bTryAgain3");show("bGiveUp13");
stage.drawTextCenter(12,377,13,"Why would I want anything");
stage.drawTextCenter(12,377,26.5,"else from you? I already");
stage.drawTextCenter(12,377,40,"have everything I need. So");
stage.drawTextCenter(12,377,53.5,"you don't need to play");
stage.drawTextCenter(12,377,67,"games with me... I mean");
stage.drawTextCenter(12,377,80.5,"mind games.");
stage.drawTextRight(10,460,80.5,"You");
stage.drawTextRight(10,475,91.5,"know what I");
stage.drawTextRight(10,458,102.5,"mean.");
}
function bHeMeansIt(){
setq(70,[1,2,3],[1,2,3]);
hideall();show("bIStillNeedToConvinceHer");show("bForgetHerLetsJustPlay");
flipq();drawscene();
}
function bHeNeedsMe(){
setq(178,139,201);
flipq();drawscene();
stage.drawTextCenter(14,200,24,"Here, so I'm talking to this guy");
stage.drawTextCenter(14,200,41,"by right-clicking on him.");
stage.drawTextCenter(14,200,58,"That's how you talk to him.");
stage.drawTextCenter(14,200,75,"And then I'm accepting this");
stage.drawTextCenter(14,200,92,"quest.");
hideall();show("bExplainTheQuest");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHesInterested(){
if(!choices.clxHesInterested){
choices.clxHesInterested=1;
setq(90,115,[1,2,3]);
say(1,"You think so?");
say(2,"Um.");
hide("bHesNotInterested");show("bLeaveItAtThat");
}
else{
setq(118,94,50);
say(1,"Oh it's so cool that you're into the game!");
hide("bHesInterested"); show("bSetUpTheGame");
}
flipq();drawscene();speak();
}
function bHesNotGoingToSeeTheIntro(){
setq(40,129,197);
flipq();drawscene();
stage.drawTextCenter(12,215,14,"I made you a character already, is that okay? I mean,");
stage.drawTextCenter(12,217,29,"maybe you want to make your own character? Generally");
stage.drawTextCenter(12,195,44,"people make their own characters, but I wanted");
stage.drawTextCenter(12,195,59,"him to be just right for you and you don't know");
stage.drawText(12,80,74,"the game yet.");
stage.drawTextCenter(13,267,83,"I don't care");
stage.drawTextCenter(13,267,99,"one way or");
stage.drawTextCenter(13,266,116,"the other.");
hideall();show("bExplainWhatsGoingOn");show("bSeeHowHeReacts");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHesNotInterested(){
setq(901,901,[1,2,3]);
hideall(); show("bNeverMind");
say(1,"Oh.");
flipq();drawscene();speak();
}
function bHereItGoes(){
setq(113,12,94);
say(3,"No one wants to play your game, okay?");say(3,"_N_o_ _o_n_e_.");
flipq();drawscene();speak();
stage.drawTextCenter(11,375,54,"It's not like I've");
stage.drawTextCenter(11,375,67,"got all the time");
stage.drawTextCenter(11,375,80,"in the world.");
hide("bHereItGoes");show("bArgueWithHer");show("bDontListen");show("bArgueWithHim");
choices.clxArgueWithHer=0; choices.clxDontListen=0; choices.clxArgueWithHim=0;
}
function bHerLifeIsBoring(){
setq(74,[1,2,3],74);
say(1,"It's more fun than the stuff _y_o_u do.");say(1,"World of Warcraft, I mean."); say(3,"Mom, you have no _i_d_e_a what I do.");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bHeShouldStartPlayingNow(){
setq(44,138,[195,204]);
flipq();drawscene();
stage.drawTextCenter(13,130,16,"Okay, now you should");
stage.drawTextCenter(13,130,34,"go start the first quest.");
stage.drawTextCenter(13,130,52,"It's back where we");
stage.drawTextCenter(13,130,70,"started out.");
stage.drawText(13,200,100,"Where was that?");
hideall(); show("bHellFigureItOut");show("bHeNeedsMe");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHeShouldUseTheMouse(){
setq(163,0,[198,201]);
hideall();show("bLetHimTry");
flipq();drawscene();
stage.drawTextCenter(13,205,14,"Here, maybe I'll just show you how to use the");
stage.drawTextCenter(13,205,30,"mouse. See, you move it around to look around.");
stage.drawTextCenter(13,205,46,"You can also click on things, and right-click on");
stage.drawTextCenter(13,197,62,"things. And you can move forward by holding");
stage.drawTextCenter(13,184,78,"down the two mouse buttons together.");
stage.drawTextCenter(13,184,99,"See how I'm moving around?");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bHeUnderstandsWhatImSaying(){
setq(36,902,93);
if(choices.clxDoesSheHearMe==1){dqueue=[134];}
say(2,"I'm sorry, I'm not going to be spending all day in that game of yours."); say(2,"I have things to do, actual things to do.");
hideall();show("bArgue");show("bCompromise");show("bGiveUp15");
flipq();drawscene();speak();
stage.drawText(13,140,13, "So I'd really like");
stage.drawText(13,143,30,"to start playing,");
stage.drawText(13,159,47,"whenever you");
stage.drawText(13,223,64,"can.");
}
function bHowShouldWeStart(){
/* My sister Miriam doesn't seem very interested in much. Occasionally she decides she's interested in something random, then changes her mind a few
months later. That's just the sort of person she is. So every time I get excited about an apparent opportunity to give her something I like, I need
to take it with a grain of salt. If she seems like she cares, it's conceivable that she may actually care -but ten minutes later she probably won't.
When she was a little girl, she liked to play the Commander Keen series of platformers, but only with all the cheats on. I kept trying to convince
her that that wasn't a good hobby, but she really liked it as a mindless way to kill time. At some point maybe a decade ago, I got her to play
Yoshi's Island on a Super Nintendo emulator. I believe (though my memory of this is rusty) she actually got farther in that game than I did, despite
a somewhat glitchy emulator. Ever since then, I've had the occasional attempt to get her to play a game of some sort. And I never can. She just
doesn't play games anymore. I resent her for this. It's gotten to the point that we are barely civil to each other. She avoids me and I avoid her. */
if(!choices.clxHowShouldWeStart){
choices.clxHowShouldWeStart=1;
setq(14,[1,2,3],73);
say(1,"I was thinking maybe we could start slow, just a few hours together and see how it goes, and then if you really enjoy it we could-");
say(3,"No one's interested.");
hideall();show("bHowShouldWeStart");show("bNoOnesInterested");
}
else{
setq(76,65,83);
say(1,"What I was saying was that we could see how it goes after-");
say(3,"No one's interested!");
hideall();show("bNoOnesInterested2");
}
flipq();drawscene();speak();
}
function bHowTheFamilyWillWork(){
/* My youngest sister Dena has on occasion spent entire days sitting right next to me without any interaction taking place at all. The idea of
sitting next to each other is an optical illusion brought on by the presence of two computers in one room. If she's watching a TV show on her
computer, and I'm doing something on my computer, what difference does it make that the two computers are next to each other? If I talk, I interrupt
her and she gets angry. Not that there's that much to talk about. Still, I have always looked for ways to bond with her, because she often went
along with it. She's a very sociable person, and she always makes an effort to like whatever the people around her like. Some of the things I shared
with her, she kept going with for years. I got her to play the Mario Party games with her friends (first with a Nintendo 64 emulator, then with a
Gamecube). I got her to read the comic books "Fables", "Runaways" and "Spider-Man Loves Mary Jane" for a while, all of them quality storytelling. (I
download comics off the internet illegally, so I'd just copy the files to her computer and bug her about it until she read them.) I got her to play
through maybe a third of The Legend of Zelda: The Wind Waker. And there were a bunch of TV shows that we'd watch together: LOST, Buffy the Vampire
Slayer, Gilmore Girls, Being Erica, the first season of The Voice. Writing up this whole list, it strikes me that over the years we did quite a lot
together. But for some reason it was never enough for me. If she was reading comics, I took it as a sign that maybe I could get her to read other
comics. If she was playing games, I took it as a sign that maybe she'd play other games. But there was only so much room in her life for whatever
silly things I wanted to push onto her. She has a life now, with lots of socializing and responsibilities and a fair amount of respect from others.
There is no longer anything I can talk to her about, because the things I was sharing were the only connection we ever had. */
if(!choices.clxHowTheFamilyWillWork){
choices.clxHowTheFamilyWillWork=1;
setq(15,86,68);
say(1,"I'll be in charge, because I have the most experience. The two of you will be night elves, like me. I've already made your characters, so you don't need to worry about that.");
hideall();show("bHowShouldWeStart");show("bHowTheFamilyWillWork");
}
else{
setq(52,115,69);
say(1,"We'll be inseparable. People will tell stories about how cool we are, the family who plays World of Warcraft together as a team!");
hide("bHowTheFamilyWillWork");
}
flipq();drawscene();speak();
}
function bHeWontUnderstand(){
if(!choices.clxHeWontUnderstand){
choices.clxHeWontUnderstand=1;
setq(173,178,[1,2,3]);
if(f==100){fqueue=[177];}
say(1,"Nothing's the matter.");
say(2,"Are you sure?");
say(2," ");
hide("bHeCanGuess"); show("bIShouldntHaveToTellHim"); show("bTellHimAnyway");
}
else if(choices.clxHeWontUnderstand==1){
setq(176,181,[1,2,3]);
say(1,"It's nothing you'd understand."); say(2,"Well, tell me and I'll try.");
choices.clxHeWontUnderstand++;
}
else {
setq(113,182,[1,2,3]);
say(1,"Forget it, it's nothing."); say(2,"Okay.");
hideall(); show("bHeWouldntHaveUnderstood");
}
flipq();drawscene();speak();
}
function bIDontNeedHelp(){
setq(11,132,[1,2,3]);
choices.laptopclosed=0;
say(1,"Never mind. It was just something I was thinking. It's silly.");
say(2,"Okay.");
hideall();show("bDontTalkAgain2");
flipq();drawscene();speak();
}
function bIDontWantToGo(){
if(!choices.clxIDontWantToGo){
setq(159,89,0);
flipq();drawscene();
choices.clxIDontWantToGo=1;
}
else{
choices.clxIDontWantToGo++;
switch(choices.clxIDontWantToGo){
case 2:
setq(160,106,0);
flipq();drawscene();
break;
case 3:
setq(162,107,0);
flipq();drawscene();
stage.drawTextCenter(12,240,60,"I don't know");
stage.drawTextCenter(12,240,72,"why I said that,");
stage.drawTextCenter(12,240,84,"I'm sorry.");
hide("bFollowThrough"); hide("bBeClearer"); show("bFinishEating");
break;
case 4:
setq(164,36,0);
say(1,"I said I'm sorry."); say(2,"Good.");
hide("bIDontWantToGo");
flipq();drawscene();speak();
break;
}
}
}
function bIgnore(){
setq(231,12,96);
say(1,"But when can we start?");
say(2,"You know, nobody agreed to play this game of yours.");
flipq();drawscene();speak();
hideall();
show("bWellStartNow2");show("bWellStartOnThursday2");show("bWellStartWhenItsConvenient2");show("bThatDoesntMatter");
}
function bIgnoreHer(){
setq(36,86,135);
say(1,"So maybe tomorrow we could start?"); say(2,"No, I've got work.");
hideall();show("bBeforeWork");show("bAfterWork");show("bDitchWork");show("bTheNextDay");show("bRightNow");show("bWheneversConvenient");
flipq();drawscene();speak();
}
function bIllJustAsk(){
setq(62,[1,2,3],[1,2,3]);
hideall();show("bGaugeInterestLevelFirst");show("bBeSubtle");show("bGoAllIn");
flipq();drawscene();
}
function bIllNeedHer(){
setq(125,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall();show("bNoSheDoesntCare");
}
function bImNotCrazy(){
setq(9,42,96);
say(1,"Never mind. It was just something I was thinking.");say(1,"It's silly.");
hideall();
show("bDontMakeThisWorse");
flipq();drawscene();speak();
stage.drawText(15,350,70,"Okay.");
}
function bImNotSoSureAboutThis(){
hide("bImNotSoSureAboutThis");hide("bIllJustAsk");
show("Planning");
mqueue=[25,87];
flipq();drawscene();
}
function bInAFewDays(){
setq([37,43],36,[1,2,3]);
say(1,"Any time this week would be cool.");
say(2,"Maybe, I don't know.");
if(!choices.clxGoodTime){
choices.clxGoodTime=1;
hide("bToday"); hide("bInAFewDays"); show("bExplainHowItWillWork");
}
else{
hide("bToday");hide("bTomorrow");hide("bInAFewDays");hide("bNextWeek");show("bInsist3");
}
flipq();drawscene();speak();
}
function bINeedBothOfThem(){
//This is my favorite part of the game, and only a tiny fraction of players will ever see it. This is by design.
//The player who finds this section will find it only once, and by accident. It will be real for him.
setq(17,107,122);
say(1,"I really want for _e_v_e_r_y_o_n_e to play."); say(3,"And _I really want an accordion.");
hideall(); show("bMakeADeal");
flipq();drawscene();speak();
stage.moveTo(43,43);
stage.lineTo(53,43);
stage.stroke();
stage.moveTo(39,56);
stage.lineTo(49,56);
stage.stroke();
}
function bINeedMoreOptionsHere(){
setq(127,127,119);
flipq();drawscene();
stage.drawText(11,275,65,"We ought");
stage.drawText(11,278,77,"to have");
stage.drawText(11,265,89,"more kids.");
stage.drawTextRight(13,470,66,"We can talk");
stage.drawTextRight(13,470,81,"about this");
stage.drawTextRight(13,445,96,"later.");
hide("bINeedMoreOptionsHere");show("bGiveUp14");
}
function bINeedToCalmDownOrIllBlowIt(){
setq(48,[1,2,3],3);
say(1,"All I'm saying is, it's a really good game. That's all.");
hideall();show("bGetBackOnTrack");
flipq();drawscene();speak();
}
function bInsist(){
setq(78,92,[1,2,3]);
say(1,"Yeah, but after that.");say(2,"After that I'm");say(2,"going to bed. I've had a long day.");
hide("bInsist"); show("bFindAGoodTime");
flipq();drawscene();speak();
}
function bInsist2(){
choices.clxInsist2=1;
setq(51,88,68);
say(1,"No, really! You two need more fun, and I know just how you can get it. You should join me in World of Warcraft.");
say(2,"No time, like I said.");
hideall(); show("bBeg");
flipq();drawscene();speak();
}
function bInsist3(){
setq(117,117,[1,2,3]);
say(1,"I really want you to come with me.");say(1,"I'm sick of how things are.");
say(2,"What's the problem?");
hideall(); show("bThinkAboutThis"); show("bJustBeHonest");
flipq();drawscene();speak();
choices.laptopclosed=1;
}
function bInteract(btn){
var stylearray=new Array();var c;
var lastmother=m; //This is entirely for the "wait" option. It's not elegant, but it works.
if(!choices.clxSideWithHer && !choices.clxGetBackOnTopic && !choices.clxWaitAndSeeHowItGoes){
setq(-1,198,105);
flipq();drawscene();
stage.drawTextCenter(14,350,15,"Because it's expensive and");
stage.drawTextCenter(14,350,30,"you don't even know how to");
stage.drawTextCenter(14,370,45,"play it!");
stage.drawTextCenter(14,350,15,"Because it's expensive and");
stage.drawTextCenter(14,350,30,"you don't even know how to");
stage.drawTextCenter(14,370,45,"play it!");
for(c=8;c<=12;c++){stylearray[c]=true;}
stage.drawTextCenter2(14,70,70,"I could learn",stylearray);
stage.drawTextCenter(14,70,85,"to play it!");
choices.clxSideWithHer=0;
choices.clxGetBackOnTopic=0;
choices.clxWaitAndSeeHowItGoes=0;
choices.clxTheyreNotListening=0;
choices.laptopclosed=1;
}
else{
switch(choices.clxSideWithHer+choices.clxGetBackOnTopic+choices.clxWaitAndSeeHowItGoes+choices.clxTheyreNotListening){
case 1:
setq(-1,87,83);
flipq();drawscene();
stage.drawTextRight(12,475,11,"No you wouldn't, because you don't really want to play");
stage.drawTextRight(12,475,24,"accordion. It's hard to play accordion. It takes years to even");
for(c=0;c<=5;c++) {stylearray[c]=true;}
stage.drawTextRight2(12,475,37,"begin to do something like that, and by the time you learn",stylearray);
stage.drawTextRight(12,473,50,"how to play music you'll already have forgotten all about");
stage.drawTextRight(12,400,63,"this.");
stage.drawText(12,25,67,"I don't care! I");
stage.drawText(12,27,80,"want to play");
stage.drawText(12,37,93,"accordion!");
stage.drawText(12,25,66,"I don't care! I");
stage.drawText(12,27,79,"want to play");
stage.drawText(12,37,92,"accordion!");
break;
case 2:
setq(-1,199,199);
flipq();drawscene();
stage.drawTextRight(15,481,15,"You. Are not. Playing. Accordion.");
stage.drawText(14,20,45,"You're so annoying!");
break;
case 3:
setq(-1,69,85);
flipq();drawscene();
stage.drawTextRight(14,460,35,"Then I'm annoying. Fine.");
break;
case 4:
if(btn=="her"){
setq(-1,124,98);
flipq();drawscene();
}
else{
setq(200,89,200);
say(3,"Augh!");
flipq();drawscene();speak();
hideall();show("bDontGoYet");
return;
}
break;
}
}
if(btn=="back" && choices.clxGetBackOnTopic==0){
stage.drawImage(mother[95],0,60,480,270);
stage.drawTextCenter(11,240,82,"The point is that I");
stage.drawTextCenter(11,240,96,"really want you to play");
stage.drawTextCenter(11,240,110,"World of Warcraft.");
}
else if(btn=="back" && choices.clxGetBackOnTopic==1){
stage.drawImage(mother[76],0,60,480,270);
stage.drawTextCenter(11,240,77,"Maybe we could have some");
stage.drawTextCenter(11,240,91,"sort of arrangement, between");
stage.drawTextCenter(11,240,105,"the two of us...");
}
else if(btn=="back"){
stage.drawImage(mother[28],0,60,480,270);
stage.drawTextCenter(11,240,79,"I really do think you'll");
stage.drawTextCenter(11,240,94,"enjoy World of Warcraft.");
hideall();show("bTheyreNotListening");
}
else if(btn=="not"){
stage.drawImage(mother[54],0,60,480,270);
stage.drawTextCenter(11,240,92,"Sure, ignore me.");
stage.drawTextCenter(11,240,105,"Why would I care.");
}
else if(btn=="wait"){
if(lastmother==202){
m=113;
}
else if(lastmother==113){
m=202;
}
else {
m=113+(Math.random()>=0.5)*(202-113);
}
stage.drawImage(mother[m],0,60,480,270);
}
else if(btn=="her"){
stage.drawImage(mother[36],0,60,480,270);
stage.drawTextRight(11,330,73,"I think we should try");
stage.drawTextRight(11,340,86,"to understand what it is");
stage.drawTextRight(11,335,99,"that she likes doing.");
hideall();show("bTieItBackToTheGameNow");show("bNotJustYetWaitForTheRightMoment");
}
if(btn=="her"){choices.clxSideWithHer++;}
if(btn=="back"){choices.clxGetBackOnTopic++;}
if(btn=="wait"){choices.clxWaitAndSeeHowItGoes++;}
if(btn=="not"){choices.clxTheyreNotListening++;}
}
function bInteract2(btn){
/* Most of the time, my father doesn't seem too interested in anything. I always see him running around from place to place, doing a lot as though
it were all important -but all of it seeming completely mundane from my (admittedly limited) perspective. I tend to wonder whether we're the same
species. He's never played videogames; for that matter, he doesn't seem particularly enthusiastic about art or entertainment in general. But every
now and then, he'll show some potential for passion. Generally this involves the TV show "The Amazing Race", which he talks about with such
socially-oblivious excitement that it makes me feel like we're related after all. That is the one and only TV show he watches, and he watches it
religiously with my mother, who probably wouldn't care if she never saw it again but lets herself get invested for his benefit. Something about my
father being so interested in a TV show does not compute in my mind, but I'm not complaining. When he takes some flimsy excuse to bring up the show,
I feel like maybe on some level he can relate to me. But maybe not - I don't know how aware he is of how he acts when it comes to that series. He
wishes he could be one of those people, travelling the world and showing off all the ordinary skills he might have acquired in a lifetime. It's
never going to happen, if only for the religious issues. Which means he spends some of his time in a fantasy world, just like me. */
var stylearray=new Array();var c;
if(!choices.clxNotJustYetWaitForTheRightMoment){
setq(-1,38,53);
flipq();drawscene();
for (c=17;c<=20;c++){stylearray[c]=true;}
stage.drawTextRight2(13,460,24,"She doesn't even know if she likes it! She's",stylearray);
stage.drawTextRight(13,472,40,"never played any musical instrument in her life!");
stage.drawTextRight2(13,460,24,"She doesn't even know if she likes it! She's",stylearray);
stage.drawTextRight(13,472,40,"never played any musical instrument in her life!");
stage.drawText(13,32,70,"I like how it");
stage.drawText(13,26,84,"sounds, okay?");
}
else{
setq(-1,85,135);
flipq();drawscene();
for(c=15;c<=22;c++){stylearray[c]=true;}
stage.drawTextRight2(13,460,24,"But accordion? Really?",stylearray);
stage.drawTextRight(13,458,42,"Who plays accordion?!");
}
if(btn=="back"){
stage.drawImage(mother[199],0,60,480,270);
stage.drawText(12,152,78,"If I get you an accordion,");
stage.drawText(12,229,92,"will you play");
stage.drawText(12,262,106,"World of");
stage.drawText(12,262,120,"Warcraft");
stage.drawText(12,265,134,"with");
stage.drawText(12,264,148,"me?");
hideall();show("bPleasePleasePlease");
}
else{
if(!choices.clxNotJustYetWaitForTheRightMoment){
stage.drawImage(mother[39],0,60,480,270);
stage.drawTextCenter(12,255,74,"She can do whatever");
stage.drawTextCenter(12,255,87,"she wants.");
choices.clxNotJustYetWaitForTheRightMoment=1;
}
else{
stage.drawImage(mother[142],0,60,480,270);
stage.drawTextCenter(12,236,65,"Our daughter will.");
stage.drawTextCenter(12,230,81,"I think it's a very");
stage.drawTextCenter(12,230,97,"good idea.");
hideall();show("bThisIsMyChance");
}
}
}
function bIOnlyNeedHer(){
setq(73,126,120);
flipq();drawscene();
stage.drawTextCenter(11,200,40,"I'll get you an");
stage.drawTextCenter(11,200,52,"accordion.");
say(1," ");say(2,"With _m_y money? I don't think so! My god, it's like I don't even _e_x_i_s_t here!"); speak();
hide("bIOnlyNeedHer");
choices.clxIOnlyNeedHer=1;
}
function bIOnlyNeedHim(){
setq(5,[1,2,3],93);
hideall();show("bFindAGoodTime2");
say(1,"What, then you'd play?");
flipq();drawscene();speak();
}
function bIsEverythingFine(){
setq(131,131,[1,2,3]);
choices.laptopclosed=0;
say(1,"But, um...");
flipq();drawscene();speak();
hide("bIsEverythingFine");
}
function bIShouldntHaveToTellHim(){
if(choices.clxHeCanGuess==3){
setq(114,182,[1,2,3]);
flipq();drawscene();
hideall();show("bHeCanGuess");
}
else if(!choices.clxIShouldntHaveToTellHim && !(choices.clxHeWontUnderstand==2)){
setq(164,183,[1,2,3]);
say(1,"Do you know me at _a_l_l_?_!"); say(2,"Will you please tell me what you want from");say(2,"me? ");drawscene();speak();
hide("bHeCanGuess");hide("bHeWontUnderstand");
flipq();drawscene();speak();
choices.clxIShouldntHaveToTellHim=1;
}
else if(!(choices.clxIShouldntHaveToTellHim>=2)){
choices.clxIShouldntHaveToTellHim=2;
setq(177,184,[1,2,3]);
say(1,"No.");
flipq();drawscene();speak();
}
else if(choices.clxIShouldntHaveToTellHim==2) {
choices.clxIShouldntHaveToTellHim=3;
setq(185,185,93);
flipq();drawscene();
}
else {EndGame();}
}
function bIStillNeedToConvinceHer(){
setq(71,[1,2,3],50);
say(3,"What?");
hideall();
show("bBackDown");show("bExplainToHer");
if(choices.clxSchool>=4){show("bHerLifeIsBoring");}
if(choices.clxDirtyLaundry){show("bSheOwesMe");}
if(choices.clxFamily>=2){show("bWeNeedFamilyTime");}
if(choices.qWhatDoesSheLike==1){show("bItsJustLikeHangingOut");}
if(choices.qWhatDoesSheLike==2){show("bItsJustLikeShopping");}
flipq();drawscene();speak();
}
function bIThinkItMightBeSafeToAsk(){
hide("Planning");
if(choices.planinprocess!=""){hide(choices.planinprocess);}
bPlanning(-1);
if(choices.selectedPlan && choices.selectedPlan>0){bPlanning(choices.selectedPlan);}
show("bImNotSoSureAboutThis");show("bIllJustAsk");
setq(61,[1,2,3],[1,2,3]);
flipq();drawscene();
}
function bItMightJustFixEverything(){
setq(1,[1,2,3],[1,2,3]);
hide("bItMightJustFixEverything");show("bGoForIt");show("bThinkThisThrough");
flipq();drawscene();
choices = new Object();
dialogue = new Array();
hide("links");
}
function bItsGoodToGetNewThings(){
setq(142,[1,2,3],106);
say(1,"Hey, do you like shopping?");say(3,"Uh, I guess...");
hideall();show("bOhGood");
flipq();drawscene();speak();
}
function bItsGoodToHaveThingsToDo(){
setq(37,49,[1,2,3]);
hideall(); show("bYesItIs"); show("bStayCalmAndContinue");
flipq();drawscene();
stage.drawTextRight(12,253,12,"It must get monotonous");
stage.drawTextRight(12,250,26,"sometimes, always just");
stage.drawTextRight(12,246,40,"doing your work. You");
stage.drawTextRight(12,248,54,"probably wish you had");
stage.drawTextRight(12,249,68,"more kinds of things");
stage.drawTextRight(12,256,82,"to do.");
stage.drawTextCenter(12,372,15,"No, I'm doing lots of");
stage.drawTextCenter(12,372,28.5,"different kinds of things as");
stage.drawTextCenter(12,372,42,"part of work, so that's not");
stage.drawTextCenter(12,372,55.5,"really an issue. It's probably");
stage.drawTextCenter(12,373,69,"the same way with you and");
stage.drawTextCenter(12,372,82.5,"your game.");
}
function bItsGoodToHaveWaysOfMovingUp(){
setq(53,[1,2,3],53);
flipq(); drawscene();
stage.drawTextCenter(12,240,13,"Sometimes it seems like it's too hard to get ahead in the");
stage.drawTextCenter(12,240,26,"real world. You can work all day, but at the end you're still");
stage.drawTextCenter(12,240,39,"pretty much where you started.");
stage.drawTextCenter(12,100,57,"That's because you");
stage.drawTextCenter(12,100,70,"spend all day in that");
if(choices.annoyed){stage.drawTextCenter(12,100,83,"stupid game.");} else {stage.drawTextCenter(12,100,83,"game.");}
hideall(); show("bStayOnCourse");
}
function bItsGoodToSocialize(){
setq(50,[1,2,3],[1,2,3]);
say(1,"You know, sending text messages is kind of funny. You can't really do anything with each other. Nowadays there's so much that people can");say(1,"do with each other without actually being in");say(1,"the same room.");
hideall();show("bEasyDoesIt");show("bGiveUp10");
flipq();drawscene();speak();
}
function bItsJustLikeHangingOut(){
setq(73,[1,2,3],74);
say(1,"You know, really World of Warcraft-"); say(3,"Did you not hear me when I said it's dumb and I don't want to hear about it?");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bItsJustLikeHangingOut2(){
/* I am ashamed to say I completely fell for the Nintendo Wii's marketing. The promotional videos showed families sitting and enjoying playing with
each other, and I thought: "That could be my family!". In interviews, the system's designers explained that they found the conventional game
controller too intimidating for non-gamers. But a remote, everyone understood and was willing to pick up. And motion controls were the sort of thing
that would just look fun, so that people would see it and think "I want to try that!". There was some logic to this. I had gotten my siblings to
occasionally play Nintendo's game Wario Ware: Twisted, for instance, because it was simple to understand and involved fun motion controls. But that
was a single-player game, and multiplayer would surely be much more appealing to them. If they could play games with their friends, then maybe
they'd get more comfortable with playing games in general. So Wii Sports, which came bundled with the Wii, seemed like the game I'd been waiting for
for years. I couldn't get my family to play through a long Legend of Zelda game, but certainly I could get them to play bowling. They'd get sucked
in by the novelty, and then I could get other games which appealed to their social needs and before I knew it they'd be gamers. Well, obviously
that's not how it went. I got everyone in my family to play a few rounds of Wii Sports, and then they promptly lost interest. After that I kept
timing my gaming so that I'd be casully playing games (usually with motion controls) that might conceivably appeal to my family just as they
happened to be in the vicinity. Occasionally I'd get a "What's that?", which would always get me really excited, but by the time I delivered the
answer the interest would have dried up. Nintendo tricked me again with Wii Fit, which I actually got my family to buy, but by the time it was in
the house they had no interest in it anymore. I made a regular routine of Wii Fit, so that the others might follow me, and that didn't happen. But
I've continued exercising daily just because it seems like it's good for me. In the end I'm just left with a system of few quality games, which I
play on my own same as the Nintendo Gamecube before it. I'd say I'd never again try something like this, but I know myself too well. */
setq(28,[107,108],122);
say(1,"You know, when you think about it it's not so different from when you hang out with your friends.");say(3,"_E_x_c_u_s_e me?");hideall();show("bItsJustLikeHangingOut3");
choices.clxItsJustLikeHangingOut2=1;
flipq();drawscene();speak();
}
function bItsJustLikeHangingOut3(){
choices.clxItsJustLikeHangingOut2++;
switch(choices.clxItsJustLikeHangingOut2){
case 2:
setq(27,106,106);
say(1,"I mean, you're with friends in World of Warcraft too, except you're not just sitting around and gossiping. I mean, you could if you wanted to, but there's more that you can do together as a team.");
show("bOkayItsNotLikeHangingOut");
break;
case 3:
setq(63,108,26);
say(1,"What's the difference, really? If you're spending time with other people, isn't that the main thing?");
hideall();
show("bMakeItEasyToStart");show("bWaitForResponse3");
break;
}
flipq();drawscene();speak();
}
function bItsJustLikeHangingOut4(){
setq(142,108,135);
say(1,"You'll love it- there are lots of people there to hang out with, I'll bet you can even find people your age!");
flipq();drawscene();speak();
hideall();show("bHowShouldWeStart");show("bWaitForResponse3");
}
function bItsJustLikeShopping2(){
setq(28,[107,108],122);
say(1,"You know, when you think about it it's not so different from going around shopping.");say(1,"You like that, right?");say(3,"_E_x_c_u_s_e me?");hideall();show("bItsJustLikeShopping3");
choices.clxItsJustLikeShopping2=1;
flipq();drawscene();speak();
}
function bItsJustLikeShopping3(){
choices.clxItsJustLikeShopping2++;
switch(choices.clxItsJustLikeShopping2){
case 2:
setq(27,106,106);
say(1,"Sure! You're always getting new things. See, I'm like that, I always like looking for quests that'll give me new gear, it's just such a simple little thing.");
show("bOkayItsNotLikeShopping");
flipq();drawscene();speak();
break;
case 3:
setq(74,108,26);
say(1,"It _i_s the same kind of thing. It's _e_x_a_c_t_l_y the same thing!");
hideall();
show("bMakeItEasyToStart");show("bWaitForResponse3");
flipq();drawscene();speak();
break;
}
}
function bItsJustLikeShopping4(){
setq(142,108,135);
say(1,"You'll love it- there are lots of gear and items to buy and shop around for.");
flipq();drawscene();speak();
hideall();show("bHowShouldWeStart");show("bWaitForResponse3");
}
function bItsJustLikeWork(){
setq(143,124,[1,2,3]);
say(1,"You'll fit right in- you work at things and get better and there are lots of things to get done, it's just in a fantasy world,");say(1,"that's all.");
flipq();drawscene();speak();
hideall();show("bHowShouldWeStart");show("bWaitForResponse3");
}
function bItsOnlyWorkHoldingHimBack(){
setq(90,90,[1,2,3]);
say(1,"Whenever you're free, we can play.");say(1,"We could play right now, if you wanted!"); say(2,"I'm _b_u_s_y right now."); say(2,"I have work.");
hideall(); show("bInsist"); show("bExplainHowItWillWork");
flipq();drawscene();speak();
stage.drawText(13,392.3,77,"work");
}
function bItWouldBeFun(){
if (!choices.clxFindALoophole && !choices.clxItWouldBeFun && !choices.clxBeg){
choices.clxItWouldBeFun=1;
mqueue=[5];
if(choices.annoyed){
fqueue=[94];dqueue=[94];
flipq();drawscene();
stage.drawTextCenter(12,242,12,"You know, you really would like it. Both of you");
stage.drawText(12,180,26,"would really like it.");
stage.drawTextCenter(12,109,41,"Why do you think anyone");
stage.drawTextCenter(12,109,55,"but you cares about your");
var stylearray=new Array();
for(var c=21;c<=27;c++){stylearray[c]=true;}
stage.drawTextCenter2(12,109,69,"stupid game? We have lives.", stylearray);
hideall(); show("bConvinceHer"); show("bGiveUp2");
}
else {
say(1,"You know, you really would like it. Both of you would really like it.");
fqueue=[36];dqueue=[1,2,3];
say(2,"Even if I would, there's no time for things like that.");
flipq();drawscene();speak();
hide("bFindALoophole");show("bFindAGoodTime2");
}
}
else {
setq(39,2,26);
say(1,"You don't know what you're missing."); say(3,"Mom, we're not interested.");
hideall();show("bGiveUp3");show("bWellHaveLotsOfFunTogether");
if(choices.qWhatDoesSheLike==1){show("bShellLikeSpendingTimeWithPeople");}
if(choices.qWhatDoesSheLike==2){show("bShellLikeGettingNewGear");}
if(choices.qWhatDoesHeLike==1){show("bHellLikeHowMuchThereIsToDo");}
if(choices.qWhatDoesHeLike==2){show("bHellLikeTheGrinding");}
flipq();drawscene();speak();
}
}
function bIveNoticed(){
setq(89,[1,2,3],[1,2,3]);
say(1,"You could do both!");
flipq(); drawscene(); speak();
hideall(); show("bItsOnlyWorkHoldingHimBack"); show("bWorkIsJustAnExcuse");
}
function bJump(){
if(!choices.clxJump){
setq(46,0,202);
choices.clxJump=1;
}
else {
setq(96,-1,203);
hide("bJump");
}
flipq();drawscene();
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bJustAskAlready() {
setq(92,80,[1,2,3]);
say(1,"When you're done with this boring work, I want to show you around World of Warcraft."); say(2,"Honey, I really can't.");say(2,"I've got tons of work");say(2,"to do.");
hideall(); show("bInsist"); show("bExplainHowItWillWork");
flipq();drawscene();speak();
}
function bJustBeHonest(){
setq(83,123,98);
say(1,"I just want to live with you guys, with both of you, not.. like this. I don't know, is that selfish?");
if(choices.annoyed){
dqueue=[66];
say(3,"Yeah, you _a_r_e selfish!");
}
say(2,"We're right here. We're having dinner together.");
flipq();drawscene();
stage.fillStyle="rgb(254,253,252)";
stage.beginPath();
stage.moveTo(330,170);
stage.lineTo(352,170);
stage.lineTo(369,180);
stage.lineTo(365,195);
stage.lineTo(339,192);
stage.lineTo(330,195);
stage.fill();
speak();
hideall();show("bThisIsntAFamily");show("bMaybeHesRight");
}
function bJustEat(){
setq(104,[1,2,3],[1,2,3]);
hide("bJustEat"); show("bThisIsEnough");
flipq();drawscene();
}
function bJustEat2(){
setq(104,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); show("bItWasAStupidIdeaAnyway");
}
function bJustEat3(){
if(!choices.clxJustEat3){
choices.clxJustEat3=1;
setq(104,[1,2,3],[1,2,3]);
flipq();drawscene();
}
else{EndGame();}
}
function bJustEat4(){
setq(104,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bJustEat4");show("bItDoesntMatter");
}
function bJustEat5(){
setq(165,[1,2,3],0);
flipq();drawscene();
hideall();show("bWhatever");
}
function bJustEat6(){
setq(167,[1,2,3],0);
flipq();drawscene();
hideall();show("bItWasWorthAShot");
}
function bJustGoForItAlready(){
setq(27,[1,2,3],86);
if(!choices.clxThinkThisThroughABitMore && !choices.clxStallForTime){say(1,"You know, in World of Warcraft-");} else {say(1,"See, you must have gotten that gene from me! Because in World of Warcraft, I'm always-");}
say(3,"Not interested.");
flipq();drawscene();speak();
hideall();show("bKeepTrying");show("bGiveUp9");
}
function bJustStop(){
setq(130,901,[1,2,3]);
flipq();drawscene();
hideall();show("bDontTalkAgain2");
}
function bJustStop2(){
if(!choices.clxJustStop2){
setq(209,0,209);
choices.clxJustStop2=1;
flipq();drawscene();
stage.drawImage(father[209],0,60,480,270);
}
else {
setq(207,188,105);
hideall();show("bSitDown2");
flipq();drawscene();
}
}
function bJustTheTwoOfUs() {
choices.clxJustTheTwoOfUs=1;
setq(78,36,[1,2,3]);
say(1,"I think it's been too long since we did something just the two of us. You know, something romantic?");
say(2, "What did you have in mind?");
hideall(); show("bTellHim"); show("bSetItUpABitMore");
flipq();drawscene();speak();
}
function bKeepExplaining(){
/* When we were little, I used to sit and watch my older brother Benjy play the game Commandos. I was terrible at the game, but I liked watching
him. I think my presence may have annoyed him. At social gatherings I'd follow Benjy around like a puppy, listening to his conversations, and he'd
either begrudgingly tolerate my existence or try to get rid of me. In his late teenage years, he would stay in his room all day and made web sites
for people on his laptop. Occasionally I'd see him when he needed to use the bathroom. And so, though we were technically living together, we had
minimal interaction. On the rare occasions that I had any excuse to spend time with Benjy, I got the sense that we could have been closer. There
were, in fact, similarities to how we saw the world. But his life, which was entirely disconnected from mine, was not anchored in any one place. So
he moved to America, and I saw him only every few years. He lives in Argentina now, and I think he's been doing well for himself. I have no
animosity toward my brother for leaving; in fact, I admire his willingness to construct a life and let go of anything that doesn't fit into it. */
if(!choices.clxKeepExplaining){
setq(135,80,135);
say(1,"We're in the same room, but we're not in the same room, you know what I mean? I mean, we're not _r_e_a_l_l_y in the same room, are we?"); say(2,"You're not making any sense. We're in the");say(2,"same room. ");
hideall(); show("bKeepExplaining");show("bForgetIt");
choices.clxKeepExplaining=1;
flipq();drawscene();speak();
}
else {
setq(136,87,69);
say(0,"Aaag! How can you just go on like there's nothing wrong? It's always with those stupid toys of yours, and when I try to bring you in to something that actually _m_a_t_t_e_r_s you act like I'm spreading a disease!");
say(2,"Calm down. Right now.");
flipq();drawscene();speak();
hideall();show("bCalmDown");show("bDontCalmDown");
}
}
function bKeepGoing(){
if(!choices.clxKeepGoing){
choices.clxKeepGoing=1;
choices.clxGiveUp4orKeepGoing=1;
}
else {
choices.clxKeepGoing++;
choices.clxGiveUp4orKeepGoing++;
}
switch(choices.clxGiveUp4orKeepGoing){
case 1: dqueue=[68];break;
case 2: dqueue=[95];break;
case 3: dqueue=[97];break;
case 4: dqueue=[0];hide("bKeepGoing");break;
}
switch(choices.clxKeepGoing){
case 1:
mqueue=[85];
fqueue=[64];
say(1,"In case you _d_o want to start playing, I've already made characters for you on new accounts.");
break;
case 2:
mqueue=[99];
fqueue=[54];
say(1,"They're night elves, like me. I'm a higher-level warrior, so if you stick with me I'll be able to look after you.");
break;
case 3:
mqueue=[100];
fqueue=[64];
say(1,"We could have lots of fun, if you're interested. We could be like a real family.");
break;
case 4:
mqueue=[101];
fqueue=[1,2,3];
say(1,"If you're not interested right now, you can always change your mind!");
break;
}
flipq();drawscene();speak();
}
function bKeepTrying(){
setq(64,133,64);
say(1,"But you don't even know what I was going to say!");
say(3,"Mom! Not. Interested.");
flipq();drawscene();speak();
hide("bKeepTrying");
}
function bKeepTrying2(){
choices.laptopclosed=0;
setq(-1,903,85);
flipq();drawscene();
m=67;stage.drawImage(mother[67],0,60,480,270);
say(1,"Okay. Anything else?"); say(2,"No accordion.");
speak();
say(1," "); say(2,"No accordion.");
speak();speak();
hideall(); show("bIOnlyNeedHer"); show("bForgetTheWholeThing2");
}
function bKeepWalking(){
if(!choices.clxKeepWalking){
setq(0,103,103);
choices.clxKeepWalking=1;
}
else {
setq(0,64,93);
hide("bKeepWalking"); show("bStartGame");
}
flipq();drawscene();
}
function bKnot(btn){
if (btn=="real" && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring == 0 && choices.clxAzerothIsBetter <= 1) {
say(1,"What's so great about the real world?");
say(2,"Um, it's real. Games aren't.");
setq(67,12,[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="why" && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter == 0) {
say(1,"What's the difference?");
say(3,"Figures that you wouldn't know.");
say(2,"Um, it's real. Games aren't.");
setq(48,12,122);
flipq();drawscene();speak();
}
else if (btn=="how" && choices.clxHow == 0 && choices.clxWhy+choices.clxTheRealWorldIsBoring<2) {
say(1,"What would we do in the real world together?");
say(2,"We'd, I dunno, eat dinner together and not argue about silly things.");
setq([37,54],127,[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="game" && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter == 0) {
say(1,"I _l_i_k_e World of Warcraft.");
say(2,"I understand that.");
setq(48,87,[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="why" && choices.lastbtn == "Azeroth is better." && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter==1) {
say(1,"So why can't we all be _t_h_e_r_e, instead of at this table?");
say(2,"It's not real, honey. Your game isn't real.");
setq(49,[12,86],[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="why" && (choices.lastbtn == "Why?" || choices.lastbtn == "The real world is boring.") && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring == 1 && choices.clxAzerothIsBetter<2) {
say(1,"Yeah, but so what?");
say(2,"What do you _m_e_a_n, so what? Where do you think I have the time to play games?");
setq([59,902],[86,902],[1,2,3]);
flipq();drawscene();speak();
hide("bWhy");show("bArgueThePoint");
}
else if (btn=="game" && choices.clxArgueThePoint == 0 && choices.clxHow < 2 && choices.clxTheRealWorldIsBoring < 2 && choices.clxAzerothIsBetter < 2 && !(choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter==0) && !((choices.lastbtn == "The real world is boring." || choices.lastbtn == "Azeroth is better.") && choices.clxWhy == 1) && !(choices.clxAzerothIsBetter==1 && choices.firstbtn!="Azeroth is better.")) {
setq(-1,85,[1,2,3]);
flipq();drawscene();
m=220;stage.drawImage(mother[220],0,60,480,270);
stage.drawTextRight(12,280,13,"Who cares if it's in this room,");
stage.drawTextRight(12,268,26,"or at your work, or on the");
stage.drawTextRight(12,270,39,"internet? I just want all of");
stage.drawTextRight(12,272,52,"us to go on an adventure");
stage.drawTextRight(12,272,52,"adventure");
stage.drawTextRight(12,270,65,"together, and we can do");
stage.drawTextRight(12,260,78,"that better in the");
stage.drawTextRight(12,245,91,"game.");
stage.drawTextCenter(12,385,26.5,"Yeah, I think we've all");
stage.drawTextCenter(12,385,40,"gotten a bit too old");
stage.drawTextCenter(12,385,53.5,"to be thinking about");
stage.drawTextCenter(12,385,67,"adventures, okay? Silly");
stage.drawTextCenter(12,385,80.5,"little adventures don't");
stage.drawTextCenter(12,385,94,"pay the bills.");
}
else if (btn=="how" && choices.lastbtn == "Why?" && choices.clxArgueThePoint == 1) {
say(1,"How is it you have time to work?");
say(2,"Because it's work.");
setq([88,903],[47,80],[1,2,3]);
flipq();drawscene();speak();
choices.clxArgueThePoint++;
}
else if (btn=="why" && choices.lastbtn == "Why?" && choices.clxArgueThePoint == 1) {
say(1,"You have time to be _w_o_r_k_i_n_g now."); say(2,"So?");
hide("bHow");
setq(146,87,[1,2,3]);
if(f==87){fqueue=[86];}
flipq();drawscene();speak();
}
else if (btn=="game" && choices.clxArgueThePoint > 0 && choices.clxAzerothIsBetter == 0) {
say(1,"Well, World of Warcraft is more fun than working.");
setq(89,89,[1,2,3]);
flipq();drawscene();speak();
hide("bHow");
if (choices.clxArgueThePoint < 3) {choices.clxArgueThePoint = 2}
}
else if (btn=="why" && choices.clxArgueThePoint == 2) {
if (choices.lastbtn == "Azeroth is better.") {say(1,"But other than that, what's the difference?");setq([48,88],[36,47],[1,2,3]);}
else {say(1,"So what's the difference?");setq([49,902],[36,47],[1,2,3]);}
say(2,"It's work.");say(2,"I _h_a_v_e to do it.");
hide("bTheRealWorldIsBoring");
if(f==902){fqueue=[47]};
flipq();drawscene();speak();
}
else if (btn=="why" && choices.clxArgueThePoint == 3) {
say(1,"So I'm telling you you _h_a_v_e");say(1,"to play World of Warcraft.");
say(2,"I was trying to be considerate, but this is just silly. Stop bothering ");say(2," me now.");
setq([19,94],903,[1,2,3]);
choices.laptopclosed=0;
flipq();drawscene();speak();
hideall();show("bStopBotheringThem");
}
else if ((btn=="why" || btn=="real") && choices.lastbtn == "How?" && choices.clxWhy+choices.clxTheRealWorldIsBoring<2 && choices.clxHow == 1) {
if (btn=="why") {say(1,"That's what we do already.");say(1,"What's so great about it?");setq([53,902],[153,154],[1,2,3]);}
if (btn=="real") {say(1,"That's what we do already.");say(1,"I'm sick of it.");setq([94,903],[153,154],[1,2,3]);}
say(2,"What do you want? Why do you keep going on about this game of yours? ");
hideall(); show("bQuestionMark");
flipq();drawscene();speak();
}
else if (btn=="real" && choices.clxWhy+choices.clxHow+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter == 1 && (choices.lastbtn == "Why?" || choices.lastbtn == "The real world is boring.") && choices.clxArgueThePoint == 0) {
say(1,"That doesn't make it any more satisfying.");
say(2,"So figure out how to be satisfied.");
setq(54,37,[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="game" && ((choices.lastbtn == "How?" && choices.clxHow == 2) || (choices.lastbtn == "The real world is boring." && choices.clxWhy+choices.clxTheRealWorldIsBoring == 2))) {
say(1,"There's not going to be anything here that's as good as what happens every day in Azeroth.");
say(2,"I don't understand how you can say that.");
setq(-1,[12,80],[1,2,3]);
flipq();drawscene();speak();
m=79;stage.drawImage(mother[79],0,60,480,270);
stage.drawImage(mother[907],0,60,480,270);
}
else if (btn=="game" && choices.clxArgueThePoint == 0 && choices.clxAzerothIsBetter-(choices.firstbtn=="Azeroth is better.")>=1) {
setq(93,[153,154],85);
flipq();drawscene();
stage.drawTextCenter(13,200,13,"I'm telling you, if you");
stage.drawTextCenter(13,205,28,"both just joined the");
stage.drawTextCenter(13,200,42,"game with me... it");
stage.drawTextCenter(13,200,56,"would be really great!");
stage.drawTextCenter(13,210,70,"Just give me a");
stage.drawTextCenter(13,220,85,"chance!");
stage.drawTextCenter(13,390,35,"Enough! I don't want");
stage.drawTextCenter(13,390,50,"to hear another word");
stage.drawTextCenter(13,390,65,"out of you until you");
stage.drawTextCenter(13,390,80,"stop acting crazy.");
hideall();show("bStopActingCrazy");
}
else if (btn=="how" && choices.lastbtn == "How?" && choices.clxHow == 1 && choices.clxWhy+choices.clxTheRealWorldIsBoring+choices.clxAzerothIsBetter/2 < 2) {
say(1,"And then what?");
say(2,"What do you mean, and then what?");
setq([37,48],[12,113],[1,2,3]);
flipq();drawscene();speak();
}
else if (choices.clxHow == 2 && btn!="game" && choices.lastbtn == "How?") {
say(2,"So we'll do something. But I'm not going to think about that right now, because I'm busy.");
var stylearray=new Array();
if (btn=="how") {
setq([53,83],[69,90],[1,2,3]);
flipq();drawscene();speak();
stage.drawTextCenter(13,190,17,"How do we live in this");
stage.drawTextCenter(13,190,33,"\"real world\" of yours,");
stage.drawTextCenter(13,195,49,"if there's nothing we");
stylearray[13]=true;stylearray[14]=true;
stage.drawTextCenter2(13,210,65,"ever want to do",stylearray);
stage.drawTextCenter(13,225,81,"together in it?");
}
if (btn=="why") {
setq([88,94],[69,90],[1,2,3]);
flipq();drawscene();speak();
stage.drawTextCenter(13,185,17,"Why should we live in");
stage.drawTextCenter(13,180,33,"this \"real world\" of yours,");
stage.drawTextCenter(13,195,49,"if there's nothing we");
stylearray[13]=true;stylearray[14]=true;
stage.drawTextCenter2(13,210,65,"ever want to do",stylearray);
stage.drawTextCenter(13,225,81,"together in it?");
}
if (btn=="real") {
setq([49,94],[69,90],[1,2,3]);
flipq();drawscene();speak();
stage.drawTextCenter(13,180,17,"What's so special about");
stage.drawTextCenter(13,180,33,"this \"real world\" of yours,");
stage.drawTextCenter(13,185,49,"if there's never anything");
stylearray[7]=true;stylearray[8]=true;
stage.drawTextCenter2(13,185,65,"we can do together",stylearray);
stage.drawTextCenter(13,225,81,"in it?");
}
hideall();show("bWait2");
}
else if (btn=="real" && choices.lastbtn == "The real world is boring." && choices.clxWhy+choices.clxTheRealWorldIsBoring == 2) {
say(1,"With this?! I'm supposed to be happy that we're just sitting in a room together?");
say(2,"Look, if you don't want to sit in a room together, we don't");say(2," have to.");
setq([48,902],[12,902],[1,2,3]);
flipq();drawscene();speak();
}
else if (btn=="real" && choices.clxArgueThePoint>0) {
say(1,"If you can make time for all that tedious work you do, you can play a game.");
say(2,"I _h_a_v_e to work. I don't have to play Warcraft.");
setq(19,[86,87],[1,2,3]);
flipq();drawscene();speak();
hide("bHow"); hide("bTheRealWorldIsBoring");
choices.clxArgueThePoint = 3;
}
else if (btn=="real" && choices.clxTheRealWorldIsBoring+choices.clxWhy == 3 && choices.clxArgueThePoint == 0 && choices.lastbtn == "The real world is boring.") {
say(1,"But is that it? Is that all I can get?");
say(3,"Mom, cut it out.");say(3,"This is getting really annoying to listen to.");
setq([84,117],125,75);
flipq();drawscene();speak();
hideall();show("bCutItOut");show("bAssertAuthority");
}
else if (btn=="real") {
say(1,"Why is this so hard. Look, it's just that life isn't, real life isn't giving me... what I thought I'd get.");
say(2,"Hmm. What can I do?");
setq(86,122,[1,2,3]);
flipq();drawscene();speak();
hideall();show("bYouCanPlay");show("bYouCantDoAnything");
}
else if (btn=="how") {
say(1,"Okay, fine. Forget World of Warcraft. Why don't you give me an idea, any idea, of how we can do something together, as a family, that's half as good as World of Warcraft.");
say(3," I don't want");say(3," any part of this.");
setq(88,903,64);
choices.laptopclosed=0;
flipq();drawscene();speak();
hideall();show("bReact");show("bWaitForResponse5");
}
else if (btn=="game") {
say(1,"Outside of World of Warcraft, there isn't any meaningful interaction. Not like in-");
say(2,"You need help.");say(2,"Do you need help?");say(2," ");
say(3," She needs help.");
setq(67,100,124);
flipq();drawscene();speak();
hideall();show("bIDontNeedHelp");
}
else if (btn=="why") {
say(0,"Why are you clinging on so hard to a world that's already broken? Move on with me! None of this matters here, but in the game, _t_h_a_t_'_s what's going to matter a few years from now. This is for your own good!"); //I do believe this. Or at least, I want to. Why should everyone be forced to live the same sort of existence? Reality isn't the best option for everyone.
say(3,"wow.");
setq(219,219,219);
flipq();drawscene();speak();
hideall();show("bBeQuietNow");
}
if (btn=="why") {
choices.clxWhy++;
if (document.getElementById("bArgueThePoint").style.display=="block") {choices.clxArgueThePoint++;}
if (choices.clxArgueThePoint == 1) {choices.clxAzerothIsBetter = 0;}
choices.lastbtn = "Why?";
}
if (btn=="how") {
choices.clxHow++;
choices.lastbtn = "How?";
}
if (btn=="real") {
choices.clxTheRealWorldIsBoring++;
choices.lastbtn = "The real world is boring.";
}
if (btn=="game") {
choices.clxAzerothIsBetter++;
choices.lastbtn = "Azeroth is better.";
}
if (!choices.firstbtn){choices.firstbtn=choices.lastbtn;}
}
function bLashOut(){
hide("ReactionDefensive");
show("ReactionOffensive");
document.getElementById("bLashOut").className="pressedbutton";
document.getElementById("bActHurt").className="";
}
function bLayOnTheGuilt(){
if(!choices.clxLayOnTheGuilt){
choices.clxLayOnTheGuilt=1;
hide("bDoISuck");
setq(88,69,0);
say(1,"Was that really necessary?"); say(2,"I'm working.");
}
else{
choices.clxLayOnTheGuilt++;
switch(choices.clxLayOnTheGuilt){
case 2:
setq(37,87,0);
say(1,"Yes, I see that. Why can't you just give her what she wants?");
say(2,"Because what she wants is expensive and silly.")
break;
case 3:
setq(43,125,0);
say(1,"And what I want? Is that silly too?");
show("bLeave5");
break;
case 4:
setq(123,127,0);
say(1,"Hmm?"); say(2,"You can spend your time however you like.");
break;
case 5:
setq(86,88,0);
say(1,"But you won't play with me."); say(2,"I have more important things to be doing.");
break;
case 6:
setq(83,[1,2,3],0);
say(1,"I see.");
hide("bJustEat");hide("bLayOnTheGuilt");
break;
}
}
flipq();drawscene();speak();
}
function bLeave(){
setq(102,102,102);
flipq();drawscene();
hideall();show("bKeepWalking");
}
function bLeave2(){
if(!choices.clxLeave2){
choices.clxLeave2=1;
setq(128,114,[1,2,3]);
hide("bStay");
}
else if(choices.clxLeave2==1){
choices.clxLeave2=2;
setq(129,901,125);
}
else {
setq(0,[1,2,3],54);
hide("bLeave2");
show("bStartGame");
}
flipq();drawscene();
}
function bLeave3(){
if(!choices.clxLeave2){
choices.clxLeave2=1;
setq(129,106,28);
hide("bSit");
}
else {
setq(0,131,[1,2,3]);
choices.laptopclosed=0;
hideall();show("bStartGame");
}
flipq();drawscene();
}
function bLeave4(){
if(!choices.clxLeave4){
choices.clxLeave4=0;
setq(906,901,68);
}
else if(choices.clxLeave4==1){
setq(102,36,[1,2,3]);
hide("bStay2");
}
else{
setq(0,[1,2,3],[1,2,3]);
hideall();show("bStartGame");
}
choices.clxLeave4++;
flipq();drawscene();
}
function bLeave5(){
if(!choices.clxLeave5){
choices.clxLeave5=1;
setq(205,108,0);
flipq();drawscene();
stage.drawTextCenter(14,290,57,"I don't want to");
stage.drawTextCenter(14,290,75,"eat here.");
hideall();show("bLeave5");
}
else {
setq(206,[1,2,3],0);
flipq();drawscene();
hide("bLeave5");show("bStartGame");
}
}
function bLeave6(){
if(!choices.clxLeave6){
setq(910,[1,2,3],[1,2,3]);
flipq();drawscene();
stage.drawTextRight(13,475,80,"Fine, then.");
hide("bSit2");
choices.clxLeave6=1;
}
else{
mqueue=[0];
flipq();drawscene();
hide("bLeave6");show("bStartGame");
}
}
function bLeaveItAtThat(){
if(!choices.clxLeaveItAtThat){
hide("bHesInterested");
choices.clxLeaveItAtThat=1;
setq(115,64,[1,2,3]);
if(m==118){mqueue=[106];}
flipq();drawscene();
}
else if(choices.clxLeaveItAtThat==1) {
choices.clxLeaveItAtThat=2;
setq(116,[1,2,3],[1,2,3]);
show("bIllGetHimToPlay");
hide("bSetUpTheGame");
flipq();drawscene();
}
else {EndGame()}
}
function bLetHimThinkThat(){
setq(44,128,[198,201]);
hide("bLetHimThinkThat");hide("bHeShouldUseTheMouse");show("bShowHimHowToUseTheMouse");
flipq();drawscene();
stage.drawText(15,120,60,"Sure.");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bLetHimTry(){
if(!choices.clxLetHimTry){
setq(38,137,[196,197]);
choices.clxLetHimTry=1;
flipq();drawscene();
stage.drawTextCenter(14,130,40,"Here, I want to see");
stage.drawTextCenter(14,130,59,"you do it.");
}
else if(choices.clxLetHimTry==1){
setq(41,136,195);
flipq();drawscene();
show("bHeShouldStartPlayingNow");
choices.clxLetHimTry++;
}
else{
setq(40,128,204);
hide("bLetHimTry");
flipq();drawscene();
stage.drawTextCenter(14,145,50,"Right.");
}
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bLetThemAsk(){
setq(112,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); show("bTheyllAsk");
}
function bListen(){
setq(232,12,96);
say(2,"You know, nobody agreed to play this game of yours.");
flipq();drawscene();speak();
hideall();show("bThatDoesntMatter");
}
function bLookForLoophole(){
if(!choices.clxLookForLoophole){
choices.clxLookForLoophole=1;
setq(67,113,[1,2,3]);
say(1,"Yeah, but there's got to be some time when you'll be able to play.");say(2,"I can't imagine when that would be.");
}
else{
setq(36,86,[1,2,3]);
say(1,"How about tomorrow? I have time."); say(2,"You _k_n_o_w I have work tomorrow.");
hideall();show("bBeforeWork");show("bAfterWork");show("bDitchWork");show("bTheNextDay");show("bRightNow");show("bWheneversConvenient");
}
flipq();drawscene();speak();
}
function bMakeADeal(){
setq(55,153,66);
flipq();drawscene();
stage.drawTextCenter(14,240,13,"Well, okay, maybe I could get you an accordion...");
stage.drawTextCenter(13,350,32,"We are not getting her");
stage.drawTextCenter(13,350,46,"an accordion!");
stage.drawTextCenter(13,350,32,"We are not getting her");
stage.drawTextCenter(13,350,46,"an accordion!");
stage.drawTextCenter(13,100,85,"Why not?");
hideall();show("bSideWithHer");show("bGetBackOnTopic");show("bWaitAndSeeHowItGoes");
}
function bMakeHimFeelGuilty(){
choices.laptopclosed=0;
setq(203,903,0);
say(1,"Great. Are you happy? ");
say(2,"Don't even talk.");
hideall();show("bSitDown");
flipq();drawscene();speak();
}
function bMakeItEasyToStart(){
setq(90,89,[68,93]);
say(1,"You don't have to worry about how to start, because I've already made free accounts for both of you and given you characters to play. You're night elves, like me.");
flipq();drawscene();speak();
hideall();show("bHowShouldWeStart");show("bWaitForResponse"+(4-!choices.clxWaitForResponse3));
}
function bMaybeHesRight(){
setq(53,65,[1,2,3]);
say(1,"Right. That's true.");
hideall();show("bEverythingsFine");show("bIsEverythingFine");
flipq();drawscene();speak();
}
function bMaybeTheresAMisunderstanding(){
setq(125,[1,2,3],122);
say(1,"\"Yes\" you'll try it?");say(3,"Just leave me alone, will you?");
hideall();show("bWhatAboutHim");show("bTryToFixThis");show("bGiveUp13");
flipq();drawscene();speak();
}
function bMoveOn(){
if(f>=169 && f<=171){setq(0,903,0);}else{setq(0,106,0);}
flipq();drawscene();
hideall();show("bStartGame2")
}
function bNeverMind(){
setq(110,[1,2,3],[1,2,3]);
hideall(); show("bEat");
flipq();drawscene();
}
function bNextWeek(){
setq([37,43],125,[1,2,3]);
say(1,"If you're too busy now, I mean, I could wait a week, I guess.");
hide("bToday");hide("bTomorrow");hide("bInAFewDays");hide("bNextWeek");show("bInsist3");show("bExplainHowItWillWork");
flipq();drawscene();speak();
}
function bNo(){
setq(86,[1,2,3],[1,2,3]);
say(1,"Oh.");
hide("bNo");show("bGiveUp5");
flipq();drawscene();speak();
}
function bNo2(){
setq(180,142,203);
flipq();drawscene();
stage.drawTextCenter(15,266,18,"I have to");
stage.drawTextCenter(15,266,38,"get this.");
stage.drawTextCenter(13,140,54,"But the");
stage.drawTextCenter(13,142,70,"boar is attacking you!");
stage.drawTextCenter(13,139,86,"You need to fight back!");
hide("bNo2");show("bKillBoar");show("bWait3");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bNoOnesInterested(){
if(!choices.clxNoOnesInterested){
choices.clxNoOnesInterested=1;
setq(905,[1,2,3],901);
flipq();drawscene();
}
else{
setq(73,[1,2,3],75);
say(1,"Are you sure you couldn't give it a try?");
say(3,"Yes! God, yes.");
hideall(); show("bIgnoreHer"); show("bMaybeTheresAMisunderstanding"); show("bWhatAboutHim");
flipq();drawscene();speak();
}
}
function bNoSheDoesntCare(){
setq(126,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bNoSheDoesntCare");show("bINeedMoreOptionsHere");
}
function bNoWait(){
setq(161,901,[1,2,3]);
flipq();drawscene();
hide("bNoWait");show("bNoWait2");show("bNoWait3");show("bNoWait4");show("bNoWait5");show("bNoWait6");show("bNoWait7");show("bNoWait8");show("bNoWait9");
}
function bNoWait2(btn){
if(!choices.clxNoWait2){
choices.clxNoWait2=1;
hide(btn);
setq(164,[1,2,3],[1,2,3]);
flipq();drawscene();
}
else{EndGame();}
}
function bOh(){
setq(3,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bOh");show("bGiveUp8");
if(document.getElementById("bTheyNeedMoreFun").style.display=="block" || document.getElementById("bWhatAboutMe").style.display=="block" || document.getElementById("bWeOughtToBeMoreLikeAFamily").style.display=="block" || document.getElementById("bItsGoodToSocialize").style.display=="block" || document.getElementById("bItsGoodToGetNewThings").style.display=="block"){show("bTryAgain2");}
}
function bOhGood(){
setq(58,[1,2,3],901);
flipq();drawscene();
hide("bOhGood");show("bThinkThisThroughABitMore"); show("bStallForTime");show("bJustGoForItAlready");
}
function bOkayItsNotLikeHangingOut(){
setq(20,108,26);
say(1,"Fine, so maybe it's a little bit different. But this is something fun too, right? That could be the fun you have with your friends, and this could be the fun you have with your family!");
flipq();drawscene();speak();
hideall();show("bMakeItEasyToStart");show("bWaitForResponse3");
}
function bOkayItsNotLikeShopping(){
setq(125,108,28);
say(1,"I'm not saying you can't still go shopping all the time. This is something different, but it's something I know you'd like.");
flipq();drawscene();speak();
hideall();show("bMakeItEasyToStart");show("bWaitForResponse3");
}
function bPartyDynamics(){
choices.clxPartyDynamics++;
switch(choices.clxPartyDynamics){
case 1:
mqueue=[229];
say(1,"I'll be the one who decides where we go.");
break;
case 2:
mqueue=[230];
say(1,"It's just that I've got the most experience, so I know what I'm doing and I can help you out.");
break;
}
if(choices.clxYourCharacters+choices.clxPartyDynamics == 2){
say(3,"We are not playing");say(3,"your stupid game!");say(3," ");
dqueue=[94];
fqueue=[124];
hideall();
show("bIgnore");show("bListen");
}
else {
fqueue=[125];
dqueue=[68];
}
flipq();drawscene();speak();
}
function bPlanning(whichbtn){
if(whichbtn<0){ //This is where I'm putting the code for cleaning up after the user's choices.
if(document.getElementById("bSchool").style.display=="none" && document.getElementById("bWork").style.display=="none"){hide("bPlanning1");}
if(document.getElementById("bFood").style.display=="none" && document.getElementById("bEmptyHouse").style.display=="none" && document.getElementById("bDirtyLaundry").style.display=="none" && document.getElementById("bFamily").style.display=="none"){hide("bPlanning2");}
if((document.getElementById("lSheLikesHangingOut").style.display=="block" || document.getElementById("lSheLikesShopping").style.display=="block") && (document.getElementById("lHeLikesBeingBusy").style.display=="block" || document.getElementById("lHeLikesGettingAheadAtWork").style.display=="block")){hide("bPlanning3");}
if(whichbtn==-1){
document.getElementById("bIThinkItMightBeSafeToAsk").style.fontSize=parseFloat(document.getElementById("bIThinkItMightBeSafeToAsk").style.fontSize)+1+"%";document.getElementById("bIThinkItMightBeSafeToAsk").style.padding=parseFloat(document.getElementById("bIThinkItMightBeSafeToAsk").style.paddingLeft)+0.08+"%";
}
return;
}
var btn = document.getElementById("bPlanning"+whichbtn);
if(!choices.selectedPlan){choices.selectedPlan=0;}
document.getElementById("bPlanning"+choices.selectedPlan).className="";
switch(choices.selectedPlan){
case 1:
hide("PlanningEngage");break;
case 2:
hide("PlanningGuilt");break;
case 3:
hide("PlanningInterest");break;
}
if (whichbtn > 0 && choices.selectedPlan != whichbtn) {btn.className = "pressedbutton"; choices.selectedPlan=whichbtn;} else {choices.selectedPlan=0;}
switch (choices.selectedPlan){
case 0:
if(whichbtn==0){
btn.style.left=parseFloat(btn.style.left)+parseFloat(btn.style.width)*0.1+"%";
btn.style.width=parseFloat(btn.style.width)*0.8+"%";
btn.style.top=parseFloat(btn.style.top)+parseFloat(btn.style.minHeight)*0.1+"%";
btn.style.minHeight=parseFloat(btn.style.minHeight)*0.8+"%";
btn.style.fontSize=parseFloat(btn.style.fontSize)*0.74+"%";
flipq();drawscene();
}
break;
case 1:
show("PlanningEngage");break;
case 2:
show("PlanningGuilt");break;
case 3:
show("PlanningInterest");
if(choices.clxWhatDoesSheLike!=2){choices.clxWhatDoesSheLike=0;hide("bSheLikesHangingOut");hide("bSheLikesShopping");show("bWhatDoesSheLike");}
if(choices.clxWhatDoesHeLike!=2){choices.clxWhatDoesHeLike=0;hide("bHeLikesBeingBusy");hide("bHeLikesGettingAheadAtWork");show("bWhatDoesHeLike");}
break;
}
if (m!=25 && m!=87 && m!=55 && m!=56 && m!=58 && m!=59) {
switch(choices.PlanningTarget){
case 1: setq([55,56],[1,2,3],[1,2,3]);flipq();drawscene();break;
case 2: setq([58,59],[1,2,3],[1,2,3]);flipq();drawscene();break;
default:
setq([25,87],[1,2,3],[1,2,3]); flipq(); drawscene();
}
}
}
function bPlayGame(){
if(!choices.clxPlayGame){
choices.clxPlayGame=1;
if(choices.clxStayHere){hide("bStayHere");}
setq(226,[1,2,3],[1,2,3]);
flipq();drawscene();
}
else{EndGame();}
}
function bPlayTheVictim(){
setq(161,100,[1,2,3]);
say(1,"I don't know why you treat me like this!");
say(2,"What? I.. I don't understand, what's the matter?");
flipq();drawscene();speak();
hideall();show("bHeCanGuess");show("bHeWontUnderstand");
}
function bPlease(){
setq(166,42,0);
say(1,"Will you play World of Warcraft, though?"); say(2,"No.");
hide("bPlease");
flipq();drawscene();speak();
}
function bPleasePleasePlease(){
setq(207,207,207);
flipq();drawscene();
stage.drawTextCenter(14,370,34,"Where do you think this");
stage.drawTextCenter(14,370,53,"money is coming from?");
stage.drawTextCenter(14,370,72,"From thin air?");
stage.drawTextCenter(14,370,34,"Where do you think this");
stage.drawTextCenter(14,370,53,"money is coming from?");
stage.drawTextCenter(14,370,72,"From thin air?");
stage.drawTextCenter(13,100,70,"Really?");
stage.drawTextCenter(13,100,84,"Sure, okay.");
hideall();show("bTellHerTheDeal");show("bTalkAboutAccordions");
}
function bPresentTheVision(){
setq(142,94,120);
say(1,"Just the three of us, out in the wilds of Azeroth, working together as a team and a family and with no work and no cellphones and none of this boring stuff. We're going, and don't bother arguing.");
flipq();drawscene();speak();
hideall();show("bWaitForResponse3");show("bHowShouldWeStart");show("bDontSlowDown");
}
function bPretendItDoesntMatter(){
setq(53,[1,2,3],95);
say(1,"Yeah, that's okay. I don't really care, I just thought it might be nice. I really do think you'd like it.");
hideall();show("bKeepGoing"); show("bGiveUp4");
flipq();drawscene();speak();
}
function bPushHimAlong(){
setq(40,141,202);
flipq();drawscene();
hide("bPushHimAlong");show("bNo2");
stage.drawTextCenter(13,170,16,"So go over to those boars over there.");
stage.drawTextCenter(13,150,37,"Okay.");
stage.drawTextCenter(13,170,58,"Now, you want to click on the boar and");
stage.drawTextCenter(13,170,73,"then pick the attack from the bottom");
stage.drawText(13,178,88,"left. Or you can use");
stage.drawText(13,197,103,"the keyboard-");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bQuestionMark(){
setq(221,38,[1,2,3]);
say(1,"I don't know.");say(2,"Okay!");say(2,"Then stop acting like there's a problem.");
hide("bQuestionMark");show("bQuestionMark2");show("bQuestionMark3");
choices.clxQuestionMark=1;
flipq();drawscene();speak();
}
function bQuestionMark2(at){
if(choices.clxQuestionMark==1){
choices.clxQuestionMark=2;
setq(at+5,903,[1,2,3]);
choices.laptopclosed=0;
}
else {
setq(at+5,[1,2,3],[1,2,3]);
show("bPeriod");
}
flipq();drawscene();
hide("bQuestionMark"+at);
}
function bReact(){
setq(224,106,[1,2,3]);
say(1,"Shut your mouth!");
hide("bReact");
flipq();drawscene();speak();speak();
}
function bReally(){
setq(68,47,68);
say(1,"World of Warcraft."); say(1,"The MMO I always play."); say(2, "Oh, yeah, sure.");
hide("bReally"); show("bWhatDoesThatMean");
flipq();drawscene();speak();
}
function bReassureThem(){
if(!choices.qWhatDoesSheLike && !choices.qWhatDoesHeLike){
setq(15,124,135);
say(1,"Don't worry, both of you will love it!");
flipq();drawscene();speak();
hideall();show("bHowShouldWeStart");show("bWaitForResponse3");
}
else if(!choices.qWhatDoesSheLike){bItsJustLikeWork();}
else if(!choices.qWhatDoesHeLike){
if(choices.qWhatDoesSheLike==1){bItsJustLikeHangingOut4();} else {bItsJustLikeShopping4();}
}
else {
setq(87,125,[1,2,3]);
flipq();drawscene();
hideall();
show("bItsJustLikeWork");
if(choices.qWhatDoesSheLike==1){show("bItsJustLikeHangingOut4");} else {show("bItsJustLikeShopping4");}
}
}
function bRepeat(){
hideall();
mqueue=[11];
say(1, "So today I had");say(1,"a really nice day!");
flipq();drawscene();speak();
show("bContinue");show("bGiveUp");
}
function bRethinkApproach(){
hideall();
setq([25,87],[1,2,3],[1,2,3]);
flipq();drawscene();
//All the showing and hiding needs to be done here because we might be restarting the game at the end.
choices.planinprocess="";
show("Planning");
show("bPlanning0");
var wftrm = document.getElementById("bPlanning0").style; wftrm.width="22%"; wftrm.top="11%"; wftrm.minHeight="15%"; wftrm.left="3%"; wftrm.fontSize="100%";
document.getElementById("bPlanning1").className="";
document.getElementById("bPlanning2").className="";
document.getElementById("bPlanning3").className="";
show("bPlanning1"); show("bPlanning2"); show("bPlanning3"); hide("PlanningEngage"); hide("PlanningGuilt"); hide("PlanningInterest"); show("bSchool"); show("bWork"); show("bFood"); show("bEmptyHouse"); show("bDirtyLaundry"); show("bFamily"); show("bWhatDoesSheLike"); show("bWhatDoesHeLike"); hide("bSheLikesHangingOut"); hide("bSheLikesShopping"); hide("lSheLikesHangingOut"); hide("lSheLikesShopping"); hide("bHeLikesBeingBusy"); hide("bHeLikesGettingAheadAtWork"); hide("lHeLikesBeingBusy"); hide("lHeLikesGettingAheadAtWork");
show("bIThinkItMightBeSafeToAsk");
document.getElementById("bIThinkItMightBeSafeToAsk").style.fontSize="70%";document.getElementById("bIThinkItMightBeSafeToAsk").style.padding="0%";
document.getElementById("bIThinkItMightBeSafeToAsk").style.display = "inline"; //This is necessary to get around a glitch with centered buttons in Google Chrome.
}
function bRetreat(){
setq(91,12,68);
say(0,"");say(0,"");say(0,"");say(1,"...if you wanted to, I mean.");say(1,"It doesn't matter.");
flipq();drawscene();speak();
hideall();show("bTryAgain");show("bGaugeInterestLevel");
}
function bRightNow(){
if(!choices.clxTime){
setq(78,12,69);
say(1,"Fine, so let's not wait until then. Let's play right this minute. Stop working now and we'll go in together."); say(2,"I can't.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(82,87,[1,2,3]);
say(1,"So now. Let's play now."); say(2,"No.");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"Right now?"); say(2,"No.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"Right now?");
break;
}
}
hide("bRightNow");
flipq();drawscene();speak();
}
function bRun(){
setq(0,103,193);
flipq();drawscene();
hide("bRun");show("bAvoidThemUntilThursday");
}
function bSarcastic(){
if(choices.clxYell < 3){
if(!choices.clxDirect){
setq(902,87,0);
say(1, "Yeah, where _m_i_g_h_t I have gotten the idea that you're only interested in work? I have no idea!"); say(2,"Well, I _d_o_n_'_t!");
choices.clxSarcastic=1;
}
else{
setq(49,38,0);
say(1,"Oh, right, I forgot. You're the greatest husband ever.");
say(2,"What's that supposed to mean?");
}
hide("bSarcastic");
flipq();drawscene();speak();
}
}
function bSaySomething(){
setq(212,903,[1,2,3]);
choices.laptopclosed=0;
hide("bSaySomething");hide("bEat4");
show("lSomething");show("bSomething1");show("bSomething2");show("bSomething3");
flipq();drawscene();
}
function bSchool(){
choices.PlanningTarget=1;
if(!choices.clxSchool){choices.clxSchool=1;} else{choices.clxSchool++;}
if(choices.planinprocess!="" && choices.planinprocess!="bSchool"){hide(choices.planinprocess);} choices.planinprocess="bSchool";
switch(choices.clxSchool){
case 1:
setq(26,[1,2,3],26);say(1,"So, how was school today?");say(3,"It was school.");break;
case 2:
setq(27,[1,2,3],27);say(1,"Did you learn anything?");say(1," ");break;
case 3:
setq(28,[1,2,3],28);say(1,"Is anything going on with your friends?");say(3,"Nothing you");say(3,"care about.");break;
case 4:
setq(26,[1,2,3],26);say(1,"Oh? Like what?");say(3,"Like stuff.");break;
case 5:
setq(27,[1,2,3],[1,2,3]);say(1,"I see you're texting a lot.");break;
case 6:
setq(28,[1,2,3],28);say(1,"What an exciting life!"); say(3,"Yeah.");break;
case 7:
setq(27,[1,2,3],26); say(1,"Are you doing anything");say(1,"after supper?"); say(3,"Maybe.");break;
case 8:
setq(26,[1,2,3],28);say(1,"So you might be free?");say(3,"I dunno."); break;
case 9:
setq(28,[1,2,3],[1,2,3]);say(1,"Are you going to be hanging out with your friends?"); break;
case 10:
setq(27,[1,2,3],[1,2,3]);say(1,"What are you going to be doing later?"); hide("bSchool"); hide("PlanningEngage"); choices.selectedPlan=0; document.getElementById("bPlanning1").className=""; break;
}
flipq();drawscene();speak();
bPlanning(-1);
}
function bSeeHowHeReacts(){
if(!choices.clxSeeHowHeReacts){
choices.clxSeeHowHeReacts=1;
setq(41,130,198);
flipq();drawscene();
}
else {
setq(42,134,[198,201]);
flipq();drawscene();
stage.drawTextCenter(15,260,80,"What do I do?");
hide("bSeeHowHeReacts");
}
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bSendHimATelepathicMessage(){
setq([149,150,151],[1,2,3],[1,2,3]);
flipq();drawscene();
}
function bSetItUpABitMore() {
if(!choices.clxSetItUpABitMore){
choices.clxSetItUpABitMore=1;
if(choices.clxJustTheTwoOfUs){
setq(80,80,[1,2,3]);
flipq();drawscene();
stage.drawTextRight(12,315,13,"Well, you remember how");
stage.drawTextRight(12,310,27,"we always used to spend lots of");
stage.drawTextRight(12,313,41,"time together? I'd like something");
stage.drawTextRight(12,310,55,"like that, where we see");
stage.drawTextRight(12,316,69,"each other more.");
stage.drawTextCenter(12,392,20,"The problem");
stage.drawTextCenter(12,392,35,"is I've got a lot");
stage.drawTextCenter(12,392,50,"of work these");
stage.drawTextCenter(12,392,65,"days, so there's");
stage.drawTextCenter(12,392,80,"really no time.");
hide("bSetItUpABitMore"); show("bWellWorkItOut");
}
else if(choices.clxABreakFromItAll){
setq(81,[1,2,3],[1,2,3]);
say(1,"I mean, sure, work's fine and all, you know?");
flipq();drawscene();speak();
}
}
else if(choices.clxSetItUpABitMore==1){
choices.clxSetItUpABitMore=2;
setq(82,36,[1,2,3]);
say(1,"I just mean that you can't work _a_l_l the time, because that would be kind of, I dunno, repetitive."); say(2,"I'm fine, really.");
flipq();drawscene();speak();
}
else if(choices.clxSetItUpABitMore==2){
setq(83,[1,2,3],[1,2,3]);
say(1,"Okay, but still.");
hide("bSetItUpABitMore");
flipq();drawscene();speak();
}
}
function bSetUpTheGame(){
if(!choices.clxSetUpTheGame){
choices.clxSetUpTheGame=1;
setq(119,119,119);
hide("bLeaveItAtThat"); show("bHeart");
flipq();drawscene();
}
else{
choices.clxSetUpTheGame=2;
hideall();show("bHeart");
setq(0,103,120);
flipq();drawscene();
}
}
function bSetUpTheIdeaABitBetter(){
if(!choices.clxSetUpTheIdeaABitBetter){
choices.clxSetUpTheIdeaABitBetter=1;
setq(88,69,125);
flipq();drawscene();
var stylearray=new Array();
for(var c=22;c<=26;c++){stylearray[c]=true;}
stage.drawTextCenter2(12,240,13,"Well, what I'd really like is if you could come", stylearray);
stage.drawTextCenter(12,240,26.5,"join me for a little bit with what I do, so that");
stage.drawTextCenter(12,205,40,"we're all doing the same thing and");
stage.drawTextCenter(12,205,52.5,"for a few minutes maybe we could get");
stage.drawTextCenter(12,210,66,"to know each other apart from this");
stage.drawTextCenter(12,240,79.5,"dinner table. Because this");
stage.drawTextCenter(12,250,93,"doesn't count.");
stage.drawTextCenter(12,420,55,"I don't know");
stage.drawTextCenter(12,420,68,"what you're");
stage.drawTextCenter(12,420,81,"talking about.");
hide("bGoInForTheKill");show("bGoInForTheKill2");
}
else {
setq(94,127,54);
say(1,"What I'm talking about is that you don't listen to _m_e, and I don't listen to _y_o_u, and I have the perfect thing to fix that."); say(2,"Oh?");
hideall();show("bGoInForTheKill3");
flipq();drawscene();speak();
}
}
function bSheDoesntMeanIt(){
setq(64,[1,2,3],[26,28]);
say(1,"Well, you haven't played it yourself so you don't really know one way or the other yet."); say(3,"Whatever.");
hide("bSheDoesntMeanIt"); hide("bTryToUnderstandHerPosition"); show("bGetBackOnTrack");
flipq();drawscene();speak();
}
function bSheOwesMe(){
setq(75,[1,2,3],75);
say(1,"You know, all day I'm doing stuff for you. You could reciprocate sometimes."); say(3,"Go away.");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bShowHimHowToUseTheMouse(){
setq(163,0,[196,197]);
hideall();show("bLetHimTry");
flipq();drawscene();
stage.drawTextCenter(13,205,30,"You can move the mouse to look around.");
stage.drawTextCenter(13,205,46,"You can also click on things, and right-click on");
stage.drawTextCenter(13,197,62,"things. And you can move forward by holding");
stage.drawTextCenter(13,184,78,"down the two mouse buttons together.");
stage.drawTextCenter(13,184,99,"See how I'm moving around?");
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bSit2(){
setq(110,[1,2,3],[1,2,3]);
say(1,"Fine, then.");
flipq();drawscene();speak();
hideall();show("bFinishEating2");
}
function bSitDown(){
setq(141,[1,2,3],0);
flipq();drawscene();
hideall(); show("bTryAgain4");show("bJustEat5");
}
function bSitDown2(){
choices.laptopclosed=0;
setq(110,903,50);
flipq();drawscene();
hide("bSitDown2");show("bEat3");
}
function bSitDown3(){
if(!choices.clxFindAWayToArgue){bFindAWayToArgue();}
else{
setq(130,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall();show("bEat4");
}
}
function bSitDown4(){
hideall();
setq(130,[1,2,3],[1,2,3]);
show("bIBlewItSomehow");
flipq();drawscene();
}
function bSitDown5(){
setq(112,125,66);
say(3,"I don't _b_e_l_i_e_v_e you!");
flipq();drawscene();speak();
hideall();show("bHereItGoes");
}
function bSitDownIdiot(){
setq(110,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); show("bGiveUp9");
}
function bSlamDoor(){
setq(0,902,0);
flipq();drawscene();
hideall();show("bSlamDoorAgain");show("bMoveOn");
var rndY = Math.random()*50+30;
var rndX = Math.random()*5;
stage.drawText(18,425-rndX,rndY,"SLAM");
stage.drawText(18,425-rndX,rndY-1,"SLAM");
choices.clxSlamDoorAgain=0;
}
function bSlamDoorAgain(){
choices.clxSlamDoorAgain++;
if(choices.clxSlamDoorAgain<4){
setq(0,[169,170,171],0);
flipq();drawscene();
}
else {
setq(0,172,0);
flipq();drawscene();
hide("bSlamDoorAgain");
stage.drawTextCenter(15,290,100,"Would");
stage.drawTextCenter(15,290,120,"you cut that");
stage.drawTextCenter(15,290,140,"out already?");
}
var rndY = Math.random()*50+30;
var rndX = Math.random()*5;
stage.drawText(18,425-rndX,rndY,"SLAM");
stage.drawText(18,425-rndX,rndY-1,"SLAM");
}
function bSomething(){
setq(213,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bSomething1");hide("bSomething2");hide("bSomething3");hide("lSomething");
if(choices.clxSitDown3){show("bEat4");}
}
function bStallForTime(){
setq(125,[1,2,3],120);
if(d==120){dqueue=[119];}
say(1,"Uhhh...");
flipq();drawscene();speak();
hide("bStallForTime");
choices.clxStallForTime=1;
}
function bStandUpForTheGame(){
choices.clxStandUpForTheGame++;
switch(choices.clxStandUpForTheGame){
case 1:
setq(88,187,[1,2,3]);
say(1,"I like it, okay?");
break;
case 2:
mqueue=[90];
fqueue=[188];
say(1,"I think you'd like it too.");
if(choices.annoyed){
dqueue=[75];
say(3,"No, mom.");
}
break;
case 3:
setq(54,189,54);
say(1,"Why can't anyone give it a chance?");
break;
case 4:
setq(67,[1,2,3],[1,2,3]);
say(1,"It's not such a big deal, to try it out for a few minutes.");
break;
case 5:
mqueue=[83];
say(1,"I think it would be really nice if you did. I'd really appreciate it. I need that.");
if(choices.annoyed){
dqueue=[124];
say(3,"No, mom. You don't.");
}
break;
case 6:
hide("bBackDown3");
setq(105,87,[1,2,3]);
say(1,"It's a really good game. It is.");
say(2,"So what?");
break;
case 7:
setq(69,117,[1,2,3]);
say(1,"So it wouldn't kill you to play it!");
say(2,"I don't want to play it. I want to do my work without you talking to");say(2,"me about your game!");
hideall();show("bStay2");show("bLeave4");
}
flipq();drawscene();speak();
}
function bStartGame2(){
setq(0,[1,2,3],0);
flipq();drawscene();
hide("bStartGame2");
show("bTheComputersInside");
}
function bStartGame4(){
setq(38,128,196);
hideall();show("bHesNotGoingToSeeTheIntro");show("bHeDoesntKnowThat");
flipq();drawscene();
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bStay(){
setq(130,[1,2,3],[1,2,3]);
hideall();show("bJustEat2");
flipq();drawscene();
}
function bStay2(){
if(!choices.clxStay2 && !choices.clxLeave4){
setq(123,108,[1,2,3]);
choices.clxStay2=0;
}
else if(choices.clxLeave4){
setq(190,[1,2,3],[1,2,3]);
hide("bStay2");
}
else{
setq(98,[1,2,3],[1,2,3]);
hideall();show("bJustEat");
}
choices.clxStay2++;
flipq();drawscene();
}
function bStayCalmAndContinue(){
setq(82,69,[1,2,3]);
say(1,"But wouldn't it be nice if you had even _m_o_r_e things you could do?");
say(2,"No, my life's full.");
hideall(); show("bOh");
flipq();drawscene();speak();
}
function bStayHere(){
if(!choices.clxStayHere){
choices.clxStayHere=1;
if(choices.clxPlayGame){hide("bPlayGame");}
setq(225,[1,2,3],[1,2,3]);
flipq();drawscene();
}
else{EndGame();}
}
function bStayOnCourse(){
setq(111,65,68);
say(1,"But see, that's the thing! In the game, I'm _a_l_w_a_y_s moving forward. With everything you do, you see exactly how much experience you're getting and how much you have left to go, and each time you beat a quest there are new things you can do. It's like the _a_n_t_i_d_o_t_e to how sluggish real life is!");
flipq();drawscene();speak();
hideall(); show("bGoInForTheKill"); show("bLetThemAsk");
choices.clxStayOnCourse=1;
}
function bStop(branch){
if(!choices.clxStop && branch==1){
choices.clxStop=1;
setq(138,133,[1,2,3]);
}
else {
if(choices.clxStop==2){
setq(130,[1,2,3],[1,2,3]);
hideall();show("bJustEat4");
}
else{
choices.laptopclosed=0;
setq(141,131,[1,2,3]);
hideall();
if(branch==1){show("bStop");} else {show("bSit");}
choices.clxStop=2;
}
}
flipq();drawscene();
}
function bStopActingCrazy(){
/* Everyone used to tell me I was antisocial. When there were lots of people around, I'd sit in the corner and hope everyone left me alone. There
were years where I had no friends at all, and the earlier friendships had generally ended with me deciding I no longer cared. I didn't care what
people told me to do, or whether my weirdness bothered people. When I was 19 I entered the Jerusalem English-speaking amateur theater scene, and
was given many opportunities to act weird without being ostracized for it. Actors don't care if you're abnormal; in fact, it's kind of expected. The
lead actor, a man of my father's generation, shared my home city of Beit Shemesh, which was a half hour ride away, and I don't drive, so I'd often
get rides with him. During these rides we'd talk continually, about everything under the sun. He is an odd man with an odd family, and he respects
oddness. During one ride, he mentioned his own antisocial tendencies. I said to him that he wasn't nearly as antisocial as me. He looked at me, a
bit confused, and said: "You're not antisocial.". Well, of course you don't think so, I thought. You've only seen me in a group with people I don't
mind! And then I thought, wait a minute. If I'm not being antisocial around these people, then maybe I'm not antisocial at all, but just was always
around the wrong people. Certainly I have always needed to socialize. I have put so much effort into trying to socialize with people; it just rarely
went well. After the tenth or twentieth dozen times you're rejected for being different, isn't it only natural to stop trying to be sociable? */
setq(128,903,[1,2,3]);
choices.laptopclosed=0;
flipq();drawscene();
hide("bStopActingCrazy");show("bWhatNow");
}
function bStopBotheringThem(){
setq(7,108,[1,2,3]);
flipq();drawscene();
hideall();show("bDontTalkAgain2");
}
function bTellHerTheDeal(){
setq(208,0,208);
flipq();drawscene();
stage.drawImage(father[208],0,60,480,270);
stage.drawTextCenter(12,241,10,"Do you have any idea how hard my day was? How much work");
stage.drawTextCenter(12,241,22,"I have to do? Everyone looks at me, and I'm the one who");
stage.drawTextCenter(12,241,34,"gets everyone out of their problems and moving forward, and");
stage.drawTextCenter(12,241,46,"then I come home and I have to deal with this! Why do I have");
stage.drawTextCenter(12,241,58,"to deal with this? Why couldn't I have just stayed at the office,");
stage.drawTextRight(12,350,70,"where I wouldn't need to hear about your");
stage.drawText(12,370,70,"game and");
stage.drawText(12,18,82,"your accordion and your new temporary");
stage.drawTextRight(12,460,82,"obsessions");
stage.drawText(12,22,94,"while I'm the");stage.drawText(12,133,94,"one being reliable and");
stage.drawTextRight(12,420,94,"doing");
stage.drawText(12,240,108,"something");
stage.drawText(12,265,123,"that");
stage.drawText(12,268,138,"matters!");
stage.drawTextCenter(12,241,10,"Do you have any idea how hard my day was? How much work");
stage.drawTextCenter(12,241,22,"I have to do? Everyone looks at me, and I'm the one who");
stage.drawTextCenter(12,241,34,"gets everyone out of their problems and moving forward, and");
stage.drawTextCenter(12,241,46,"then I come home and I have to deal with this! Why do I have");
stage.drawTextCenter(12,241,58,"to deal with this? Why couldn't I have just stayed at the office,");
stage.drawTextRight(12,350,70,"where I wouldn't need to hear about your");
stage.drawText(12,370,70,"game and");
stage.drawText(12,18,82,"your accordion and your new temporary");
stage.drawTextRight(12,460,82,"obsessions");
stage.drawText(12,22,94,"while I'm the");stage.drawText(12,133,94,"one being reliable and");
stage.drawTextRight(12,420,94,"doing");
stage.drawText(12,240,108,"something");
stage.drawText(12,265,123,"that");
stage.drawText(12,268,138,"matters!");
hideall();show("bWillShePlay");show("bJustStop2");
}
function bTellHim(){
if(choices.clxJustTheTwoOfUs){
setq(85,85,[1,2,3]);
say(1,"I was just thinking maybe you could join me in World of Warcraft, and we could play together a little."); say(2,"That's not my idea of romantic."); hideall(); show("bEvenSo"); show("bWhatIs");
}
else if(choices.clxABreakFromItAll){
setq(85,86,[1,2,3]);
say(1,"See, here's the thing. I want you to come join me in World of Warcraft some time."); say(2,"I've got work to do.");
hideall(); show("bIveNoticed");
}
flipq();drawscene();speak();
}
function bTellHimAnyway(){
setq(91,186,[1,2,3]);
say(1,"Well, I want you to play World of Warcraft. That's all.");
hideall();show("bStandUpForTheGame");show("bBackDown3");
flipq();drawscene();speak();
choices.clxStandUpForTheGame=0;choices.clxBackDown3=0;
}
function bThatDoesntMatter(){
setq(235,106,28);
if(d==96){dqueue=[902]};
say(1,"Yeah, but you'll like it.");say(1,"I swear, you'll like it."); say(3,"No, mom.");
hideall();show("bWaitForSympathy");show("bSitDown4");
flipq();drawscene();speak();
}
function bThatWasNotSubtle(){
setq(53,65,68);
say(1,"Sorry.");
hideall();show("bTheyreLookingAtMe");
flipq();drawscene();speak();
}
function bThatWasRude(){
if(!choices.clxThatWasRude){
setq(64,64,64);
say(1,"How do you know I was going to talk about World of Warcraft? You cut me off! I could have been talking about anything!"); say(3,"Okay, then what were you going to talk about?");
choices.clxThatWasRude=1;
}
else {
choices.clxThatWasRude=2;
setq(65,65,93);
say(1,"I don't know, I might have been talking about anything!");
hide("bThatWasRude");
}
flipq();drawscene();speak();
}
function bTheComputersInside(){
flipq();drawscene();
hide("bTheComputersInside"); show("bGoBack");
}
function bTheNextDay(){
if(!choices.clxTime){
setq(43,42,69);
say(1,"Okay, so what about the");say(1,"day _a_f_t_e_r tomorrow?"); say(2,"I'm working then too.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(117,36,[1,2,3]);
say(1,"How about the day after tomorrow?");say(2,"No.");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"Day after tomorrow?");say(2,"No.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"Day after tomorrow?");
break;
}
}
hide("bTheNextDay");
flipq();drawscene();speak();
}
function bTheresLotsToDo(){
if(!choices.clxTheresLotsToDo){
choices.clxTheresLotsToDo=1;
setq(16,54,68);
hide("AllIn");show("bTheresLotsToDo2");
say(0,"I know how you always like being busy and doing things. The thing is, you literally never run out of things to do in World of Warcraft, it's just such a big world and there are so many quests and it would take a really long time to get through all of it, even with a big party. Plus there's PvP and dailies, and that's without even getting into the details of all the expansions!");
}
else if(choices.clxTheresLotsToDo==1){
choices.clxTheresLotsToDo=2;
setq(24,80,[1,2,3]);
say(2,"I have a job.");say(2,"Why would I want a fake one?");
show("bTheresNotThatMuchToDo");
}
else {
setq(19,12,[1,2,3]);
say(1,"C'mon, if there's enough fun stuff to do you find the time, am I right?");
hideall(); show("bMakeItEasyToStart"); show("bWaitForResponse3");
}
flipq();drawscene();speak();
}
function bTheresNotThatMuchToDo(){
setq(48,125,[1,2,3]);
say(1,"You know, you could just play for a little bit, you don't have to play like your job, it's a game. It's a game. You can do what you want in it.");
hideall();show("bMakeItEasyToStart"); show("bWaitForResponse3");
flipq();drawscene();speak();
}
function bTheyDontUnderstandYet(){
setq(67,106,[1,2,3]);
say(1,"No, of course. How could you understand what I'm talking about. You've never experienced anything more than... this.");say(1,"We'll change that.");
hideall();show("bHowShouldWeStart");show("bHowTheFamilyWillWork");
flipq();drawscene();speak();
}
function bTheyllAsk(){
setq(113,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); show("bWhyArentYouAsking"); show("bGiveUp10");
}
function bTheyllUnderstand(){
setq(18,12,[1,2,3]);
say(1,"Isn't that a great idea?");
if(choices.annoyed==1){
dqueue=[73];
say(3,"No.");
}
say(2,"Um...");
hideall(); show("bTheyUnderstand"); show("bTheyDontUnderstandYet");
flipq();drawscene();speak();
}
function bTheyNeedMoreFun(){
setq(14,90,26);
say(1,"You know, you all need more fun in your lives. It's always the same boring routine, you should take a break once in a while.");
say(3,"My life is fun.");
say(2,"Don't have the time.");
hideall();show("bInsist2");show("bGiveUp12");
flipq();drawscene();speak();
}
function bTheyreLookingAtMe(){
setq(54,[1,2,3],69);
say(1,"I just think, if you wanted to, it could be cool. I don't care.");
hideall();show("bTryAgain");show("bGaugeInterestLevel");
flipq();drawscene();speak();
}
function bTheyreTalkingThisIsMyChance(){
setq(14,49,68);
say(1,"So what would you two think about joining me in the game?"); say(2,"You know I'm really busy with work.");
hideall(); show("bFindALoophole"); show("bItWouldBeFun"); show("bBeg");
flipq();drawscene();speak();
}
function bTheyUnderstand(){
setq(19,107,[1,2,3]);
say(1,"Sure, you know what I'm talking about.");say(1,"I'm sure it's the same for you");say(1,"as it is for me.");
hideall();show("bHowShouldWeStart");show("bHowTheFamilyWillWork");
flipq();drawscene();speak();
}
function bThinkAboutThis(){
/* I hate the phrase "Asperger's Syndrome". First off, it's named after a guy who wrote a paper on what he called "autistic psychopathy". Yes, he
was referring to people like me in that paper. So I don't particularly enjoy having to refer to myself through the name of some intolerant asshole.
And secondly, I don't feel like Asperger's Syndrome is something I "have" so much as something I am. Or if I have to use the word "have", it's in
the sense of "That person has a Type-A personality!" or "You have a lot of patience.". It's a personality type, not a disorder. But I can see why
you'd think it's a problem - it does become a problem when people like me need to interact with people who are quote-unquote Normal. God, how they
bore me, all those silly little people who are more concerned with other people and with socially-mandated roles than they are with their own
interests. I understand what they expect from me in most situations; I just don't see any reason to care. Maybe other people just act how they're
pressured into acting on instinct, so people who act differently are going against some natural order of things that they've never questioned. But
whatever the reason, the fact that I've always refused to do what other people wanted me to do, and be the sort of person that other people wanted
me to be, made me an outcast from childhood. There was something Wrong with me. And it took me years to realize, no, the problem isn't me. The
problem is them. The problem is intolerance and coercion throughout our enlightened society. And I changed from thinking about Normals as my
superiors, to thinking of them as my inferiors. I suppose by definition that is bigotry. Probably the only reason I'm not more antagonistic in my
behavior toward Normals is that I understand they're the majority on this planet, and pissing them off is a sure-fire way to lose everything. But I
don't want to mingle with them, to subject myself to their disinterested chitchat, to expect them to understand why I do what I do. Now I hang out
with other strange people with strange passions. I talk about what I'm interested in. They talk about what they're interested in. It's great. But
what if I had not met such people? What if I had been in socially-mandated communities past high school, for instance if I had gone to college and
then straight into some career path, and all my life I only knew people who weren't like me? I once met someone with Asperger's Syndrome so ground
down by the people in his life that he was unwilling to speak. That could have been me. */
if(!choices.clxThinkAboutThis){
setq(3,80,53);
say(3,"The problem is Mom's insane."); say(2,"Now, that's not nice.");
choices.annoyed=1;
hide("bJustBeHonest");show("bBackDown2");
choices.clxThinkAboutThis=1;
flipq();drawscene();speak();
}
else{
choices.clxThinkAboutThis++;
switch(choices.clxThinkAboutThis){
case 2:
setq(48,100,64);
say(1,"I'm not insane.");say(1,"I have an actual");say(1,"problem.");
say(3," ");say(3,"A problem. Yes. I agree. You have a problem.");
flipq();drawscene();speak();
stage.drawText(13,350,48,"Oh?");
break;
case 3:
setq(64,12,54);
say(1,"No, not a _p_r_o_b_l_e_m a problem. I just mean that there's something wrong with the way we do things around here.");say(2,"Really?");
flipq();drawscene();speak();
hide("bBackDown2");show("bJustBeHonest");
break;
case 4:
setq(3,65,3);
flipq();drawscene();
hideall();show("bTheProblemIsMe");show("bTheProblemIsThem");show("bTheProblemIsTheWorld");show("bTheProblemIsComplicated");show("bIsThereAProblem");
break;
case 5:
setq(7,85,[1,2,3]);
hideall();show("bWereOkay");
flipq();drawscene();
var stylearray=new Array();
for(c=10;c<=14;c++){stylearray[c]=true}
stage.drawTextRight2(12,472,12,"Because I like the way we have",stylearray);
stage.drawTextRight(12,475,26,"things. We've got a nice house,");
stage.drawTextRight(12,475,40,"we've got enough money, we're");
stage.drawTextRight(12,475,54,"healthy. I'm not out of work,");
stage.drawTextRight(12,475,68,"like a lot of other people.");
stage.drawTextRight(12,470,82,"Everything else doesn't");
stage.drawTextRight(12,455,96,"matter.");
//In the script, I wrote that "I" should be italicized, not "like". But since this font doesn't add serifs to the capital I's, it just looked like a slash.
//So I moved the emphasis over. In retrospect, I should have added an alternate capital I into the font. Ah well, live and learn.
}
}
}
function bThinkThisThrough(){
mqueue=[3];
hideall();show("bSureGoForIt");
flipq();drawscene();
}
function bThinkThisThroughABitMore(){
setq(126,[1,2,3],120);
if(d==120){dqueue=[119];}
flipq();drawscene();
hide("bThinkThisThroughABitMore");
choices.clxThinkThisThroughABitMore=1;
}
function bThisCouldWork(){
setq(13,[1,2,3],[1,2,3]);
hide("bThisCouldWork");
show("BookOfAzeroth");
show("bChapter0");show("bChapter1");show("bChapter2");show("bChapter3");show("bChapter4");
flipq();drawscene();
}
function bThisIsMyChance(){
setq(19,12,120);
flipq();drawscene();
stage.drawText(12,1,12,"In fact, I think it's always a good idea to do");
stage.drawText(12,10,25,"new things and to try to appreciate what");
stage.drawText(12,8,38,"the rest of the family is interested in. So");
stage.drawText(12,6,51,"we'll let her play accordion, and we'll play");
stage.drawText(12,2,64,"World of Warcraft together, and maybe we");
var stylearray=new Array();
stylearray[22]=true;stylearray[23]=true;stylearray[24]=true;
stage.drawText2(12,1,77,"can do something that you like some time.",stylearray);
stage.drawText(12,150,90,"What is it that you like?")
stage.drawTextCenter(12,412,17,"I like being");
stage.drawTextCenter(12,412,30,"productive and");
stage.drawTextCenter(12,412,43,"not wasting my");
stage.drawTextCenter(12,412,56,"time. I would like");
stage.drawTextCenter(12,412,69,"to do my work");
stage.drawTextCenter(12,412,82,"without these");
stage.drawTextRight(11,481,95,"interruptions.");
hide("bThisIsMyChance");show("bBackDown4");show("bAgreeToHisTerms");show("bKeepTrying2");
}
function bThisIsntAFamily(){
setq(94,64,74);
say(1,"No, we're not! You're on your laptop, she's on her cellphone-");
say(3,"Hey. Right here. Can hear you.");
flipq();drawscene();speak();
hideall();show("bDoesSheHearMe");show("bKeepExplaining");show("bHeUnderstandsWhatImSaying");
}
function bToday(){
setq(36,88,[1,2,3]);
say(1,"I just want to show you for a few minutes.");
say(2,"I don't have a few minutes. I really do have a lot of work.");
hide("bToday"); show("bExplainHowItWillWork");
choices.clxGoodTime=1;
flipq();drawscene();speak();
}
function bTomorrow(){
setq(37,47,[1,2,3]);
say(1,"So maybe tomorrow...?");
say(2,"I don't know if that'd work out.");
if(!choices.clxGoodTime){
choices.clxGoodTime=1;
hide("bToday"); hide("bTomorrow"); show("bExplainHowItWillWork");
}
else{
hide("bToday");hide("bTomorrow");hide("bInAFewDays");hide("bNextWeek");show("bInsist3");
}
flipq();drawscene();speak();
}
function bTryAgain(){
setq(85,86,85);
say(1,"But if you _d_i_d want to play, it's all set up already. I made two free accounts with characters for you. It'll be great. You're night elves, like me, and I'm a higher-level warrior so I'll be able to look after you and we can do things together!");
hideall();show("bHowShouldWeStart");show("bWaitForResponse3");
flipq();drawscene();speak();
stage.drawText(10,415,110,"um");
}
function bTryAgain2(){
setq(87,[1,2,3],[1,2,3]);
flipq();drawscene();
hideall(); hide("bItsGoodToHaveThingsToDo"); show("Subtle");
}
function bTryAgain3(){
setq([36,37],122,[1,2,3]);
say(1,"Isn't there anything I could possibly get you, to make it worth you playing World of Warcraft?");
hideall();show("bWait");
flipq();drawscene();speak();
}
function bTryAgain4(){
setq(99,36,0);
say(1,"Could I get you to play World of Warcraft..?");
say(2,"No.");
hide("bTryAgain4");
flipq();drawscene();speak();
}
function bTrySomethingElse(){
setq(59,[1,2,3],[1,2,3]);
hideall();show("bLashOut");show("bActHurt");
flipq();drawscene();
}
function bTryToFixThis(){
choices.clxTryToFixThis=1;
setq(65,47,66);
hide("bTryToFixThis");
flipq();drawscene();
stage.drawText(12,80,15,"Is the problem that you're both just too");
stage.drawText(12,78,30,"busy right now? Maybe we could all play");
stage.drawText(12,220,45,"later!");
stage.drawText(12,2,53,"I don't want to play your");
stage.drawText(12,7,68,"game! For the millionth");
stage.drawText(12,9,83,"time, I don't want to play");
stage.drawText(12,90,98,"your game!");
stage.drawText(11,340,65,"I don't know...");
}
function bTryToUnderstandHerPosition(){
if(!choices.clxTryToUnderstandHerPosition){
choices.clxTryToUnderstandHerPosition=1;
setq(65,[1,2,3],[26,28]);
say(1,"Why do you think there's something wrong with World of Warcraft?"); say(3, "I don't know, it's just dumb, okay?");
show("bDoesHeAgreeWithThis");
}
else {
setq(76,[1,2,3],76);
say(1,"No, seriously, I want to know."); say(3,"I don't know!"); say(3,"Leave me alone.");
hide("bTryToUnderstandHerPosition");
choices.annoyed=1;
}
flipq();drawscene();speak();
}
function bWait(){
setq(123,123,[1,2,3]);
say(2,"No, I'm good.");
hide("bWait");show("bGiveUp13");
flipq();drawscene();speak();
}
function bWait2(){
if(!choices.clxWait2){
setq(222,131,[1,2,3]);
choices.laptopclosed=0;
choices.clxWait2=1;
}
else if(choices.clxWait2==1){
setq(223,[1,2,3],[1,2,3]);
choices.clxWait2++;
}
else{EndGame();return;}
flipq();drawscene();
}
function bWait3(active){
if(!choices.clxWait3){choices.clxWait3=0; choices.clxAct=0;}
if(choices.clxWait3<7){
stage.clearRect(0,0,480,330);
stage.drawImage(set,0,60,480,270);
}
switch(choices.clxWait3){
case 0:
setq(42,143,205);
stage.drawTextCenter(13,310,19,"Hello? Yeah, it's");
stage.drawTextCenter(13,310,37,"almost... look, I'm");
stage.drawTextCenter(13,310,55,"still waiting for...");
stage.drawTextCenter(13,310,73,"yeah.");
break;
case 1:
setq(181-choices.clxAct*139,144,206);
stage.drawText(13,300,50,"Uh huh.");
break;
case 2:
setq(183-choices.clxAct*2,145,0);
stage.drawTextCenter(13,370,30,"Right.");
stage.drawTextCenter(13,370,48,"I know that.");
break;
case 3:
setq(182,146,0);
stage.drawTextCenter(13,320,17,"No, but that's not");
stage.drawTextCenter(13,320,35,"what we agreed on!");
stage.drawTextCenter(13,320,53,"They can't do");
stage.drawTextCenter(13,320,71,"that!");
hide("bKillBoar");
break;
case 4:
setq([184,186],147,0);
stage.drawText(12,325,48,"That's not what");
stage.drawText(12,335,63,"they said.");
break;
case 5:
setq([184,186],0,0);
break;
case 6:
setq([184,186],0,0);
break;
case 7:
set.src = "Background0001.png"; EndGame();
return;
}
choices.clxWait3++;
flipq();
if(d>0){stage.drawImage(daughter[d],0,60,480,270);}
if(f>0){stage.drawImage(father[f],0,60,480,270);}
if(active){
stage.drawImage(mother[178],0,60,480,270);
hide("bKillBoar");
choices.clxAct=1;
}
else {
stage.drawImage(mother[m],0,60,480,270);
}
choices.effect=getframe([0,1,2],choices.effect); stage.drawImage(mother[120+choices.effect],0,60,480,270);
}
function bWaitForAnAnswer(){
setq(134,133,134);
flipq();drawscene();
hide("bWaitForAnAnswer");
choices.clxDoesSheHearMe=2;
}
function bWaitForResponse(){
if(!choices.clxWaitForResponse){choices.clxWaitForResponse=1}else{choices.clxWaitForResponse++};
mqueue=[choices.clxWaitForResponse+5];
flipq();drawscene();
if(choices.clxWaitForResponse==4){hide("bWaitForResponse");};
}
function bWaitForResponse2(){
if(!choices.clxWaitForResponse2){
choices.clxWaitForResponse2=1;
setq(106,106,106);
say(3,"You're");say(3,"embarrassing yourself.");
show("bSitDownIdiot");
flipq();drawscene();speak();
}
else {
choices.clxWaitForResponse2++;
switch(choices.clxWaitForResponse2){
case 2:
setq(107,107,50);
flipq();drawscene();
break;
case 3:
setq(108,108,3);
flipq();drawscene();
stage.drawTextCenter(12,240,50,"You might like it.");
break;
case 4:
setq(109,1,[1,2,3]);
flipq();drawscene();
hide("bWaitForResponse2");
break;
}
}
}
function bWaitForResponse3(){
if(!choices.clxWaitForResponse3){
setq(144,133,[1,2,3]);
flipq();drawscene();
hide("bDontSlowDown");hide("bWaitForResponse3");show("bWaitForResponse4");
choices.clxWaitForResponse3=1;
}
else{
setq(98,127,[1,2,3]);
hideall();show("bLookForLoophole");
flipq();drawscene();
stage.drawTextCenter(12,365,14,"I think you should, um, it's");
stage.drawTextCenter(12,365,28,"nice that you have this game");
stage.drawTextCenter(12,365,42,"for yourself. And I have a lot");
stage.drawTextCenter(12,365,56,"of work, I'm just buried under");
stage.drawTextCenter(12,365,70,"mountains and piles of work");
stage.drawTextCenter(12,365,84,"and I have a lot of work.");
stage.drawText(12,410,98,"So.");
}
}
function bWaitForResponse5(){
if(!choices.clxWaitForResponse5){
choices.clxWaitForResponse5=1;
setq(123,108,[1,2,3]);
say(1,"Hm?");
flipq();drawscene();speak();
hide("bReact");
}
else if(choices.clxWaitForResponse5==1){
choices.clxWaitForResponse5++;
setq(909,[1,2,3],[1,2,3]);
flipq();drawscene();
}
else{EndGame();return;}
}
function bWaitForSympathy(){
if(!choices.clxWaitForSympathy){
setq(236,108,[1,2,3]);
choices.clxWaitForSympathy=1;
}
else{
setq(237,3,[1,2,3]);
hide("bWaitForSympathy");
}
flipq();drawscene();
}
function bWeCouldBeLikeARealFamily(){
/* One year, after the rest of my siblings had all moved out of the house, my family agreed to celebrate my birthday by sitting around and playing
games. I was hoping for a whole day where I'd get each member of the family for a few hours and get them to play really good single-player
videogames that they'd otherwise never touch. But they gave me just a few hours in one evening, with everyone at the same time. I have no suitable
multiplayer videogames (Strange how few of those there are.), so I went next door and borrowed some board games. They were carefully chosen to fit
the occasion: games which created a sense of place and encouraged teamwork, and where the weaker players could still have a good time. First we
played Clue: The Great Museum Caper, which I knew they'd let their guard down for because it's called "Clue", even though it really has nothing to
do with the popular game. The rounds were short and lively, and everyone got comfortable with the idea of playing board games. Next we played
Shadows Over Camelot, without the traitor rules because I believed it would create too much tension in a first-time game. I didn't explain all the
rules up front, so that they'd figure it out as they went and have a more interesting experience all the way through. (I explained the rules as they
became relevant, of course.) Each of those two games had someone sitting out, unfortunately. But in the end we played Robo Rally, with all five
players, two teams of two vs. me. My family had a good time during that evening, but they're never going to do anything like it again. Still, I'm
glad I did it. In that evening I felt more like part of a family with them than at any other time in my life. */
setq(16,42,[1,2,3]);
say(1,"Won't it be great, to just be a family, like a family, and we could just go and have fun together!");say(2,"Um...");
hideall();show("bTheyllUnderstand");show("bReassureThem");show("bHowShouldWeStart");show("bHowTheFamilyWillWork");
flipq();drawscene();speak();
}
function bWedAlwaysBeMovingForward(){
hide("bWedAlwaysBeMovingForward");hide("AllIn"); show("bWedAlwaysBeMovingForward2");
choices.clxWedAlwaysBeMovingForward=1;
setq(16,54,68);
flipq();drawscene();
stage.drawTextCenter(12,240,12,"In the game, there's always this sense that you're moving");
stage.drawTextCenter(12,240,25,"forward and you'll be able to do more things later. I mean,");
var stylearray=new Array();
for(c=10;c<=14;c++){stylearray[c]=true}
stage.drawTextCenter2(12,240,38,"there are sooo many different stats to work on, you've got", stylearray);
stage.drawTextCenter(12,240,51,"basic experience and talents and tradeskills and proficiencies.");
stage.drawTextCenter(12,240,64,"You could keep building up a character for years, and even");
stage.drawTextCenter(12,240,77,"if you somehow got bored you could just start over as a");
stage.drawTextCenter(12,240,90,"different race or class, because each one's totally different.");
}
function bWedAlwaysBeMovingForward2(){
choices.clxWedAlwaysBeMovingForward++;
switch(choices.clxWedAlwaysBeMovingForward){
case 2:
setq(24,12,93);
say(2,"What?");
show("AllIn");
break;
case 3:
setq(19,87,1);
say(1,"I'm just saying that you're never stuck in one place in the game, like you would be sometimes in the real world.");
say(2,"That's a silly thing");say(2,"to say.");
hide("bWedAlwaysBeMovingForward2"); show("bWedAlwaysBeMovingForward3");
break;
case 4:
setq(11,[1,2,3],[1,2,3]);
say(1,"I'm just saying.");
hideall();show("bMakeItEasyToStart2");show("bWaitForResponse3");
}
flipq();drawscene();speak();
choices.lastbtn="We'd always be moving forward!";
}
function bWellHaveLotsOfFunTogether(talkingto){
if(talkingto==2){setq(36,12,83);} else {setq(26,[1,2,3],83);}
say(1,"You know, there are-"); say(3,"Mom! What part of \"not interested\" don't you understand?");
flipq();drawscene();speak();
hideall();show("bThatWasRude");show("bGiveUp3");
}
function bWellStartNow(){
if(!choices.clxWellStartNow){
setq(234,90,69);
say(1,"Let's play right now!");
say(2,"This is ridiculous.");say(2,"I'm busy and you're interrupting my work.");
hideall();show("bWellStartNow");
choices.clxWellStartNow=1;
}
else{
setq(238,[1,2,3],73);
say(1,"Are you doing anything now?");
say(3,"Yeah. Tons.");say(3,"Go away.");
hideall();show("bSit2");show("bLeave6");
}
flipq();drawscene();speak();
}
function bWellStartOnThursday(){
setq(231,904,134);
say(1,"You know what, Thursday's perfect.");say(1,"It's settled then.");say(1,"Great!");say(1," ");
flipq();drawscene();speak()
stage.drawText(11,355,85,"but");
hideall();show("bSitDown5");show("bGetOutNow");
}
function bWellStartWhenItsConvenient(){
setq(233,64,209);
say(1,"When's a good time?");
hideall(); show("bNowIsGood");show("bThursdayIsGood");show("bWhen");
flipq();drawscene();speak();
}
function bWellWorkItOut(){
setq(84,[1,2,3],[1,2,3]);
say(1,"Yeah, but later.");
flipq();drawscene();speak();
hide("bWellWorkItOut");
}
function bWeNeedFamilyTime(){
setq(76,[1,2,3],73);
say(1,"Don't you ever wish we did things, as a family?"); say(3,"Nope!");
flipq();drawscene();speak();
hideall();show("bSoMuchForThat");
}
function bWeOughtToBeMoreLikeAFamily(){
setq(53,42,[1,2,3]);
say(1,"Somehow it seems like even though we're all sitting around the same table, sometimes it seems like we're not really communicating. We ought to do something as a family.");
say(2,"What did you have in");say(2," mind?");
hideall();show("bGoInForTheKill");show("bSetUpTheIdeaABitBetter2");
flipq();drawscene();speak();
}
function bWereOkay(){
if(!choices.clxWereOkay){
choices.clxWereOkay=1;
setq(99,901,[1,2,3]);
say(1,"Oh. Right. Yeah, it's nice.");
flipq();drawscene();speak();
}
else{
setq(97,114,[1,2,3]);
flipq();drawscene();
hide("bWereOkay");show("bImOkay");
}
}
function bWereOnTheSameSide(){
if (!choices.clxWereOnTheSameSide) {
setq(115,114,[1,2,3]);
flipq();drawscene();
choices.clxWereOnTheSameSide=1;
}
else{
choices.clxWereOnTheSameSide++;
switch(choices.clxWereOnTheSameSide){
case 2:
setq(116,115,[1,2,3]);
flipq();drawscene();
break;
case 3:
setq(117,[1,2,3],[1,2,3]);
say(1,"It's nice to have family dinners.");say(1,"This is what I thought it would");say(1,"be like to have a family.");
hide("bBeDirect");
flipq();drawscene();speak();
break;
case 4:
setq(9,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bWereOnTheSameSide");show("bJustEat");
}
}
}
function bWhat(){
setq(158,37,0);
say(1,"You.. you're not serious, are you?"); say(2,"I'll sure miss these scintillating conversations.");
flipq();drawscene();speak();
hideall();show("bFollowThrough");show("bBeClearer");show("bIDontWantToGo");
}
function bWhatAboutHim(){
say(1,"You're being very quiet. What do _y_o_u think?");
say(2,"I'm sorry, I have a lot of work to do.");
setq(69,88,93);
flipq();drawscene();speak();
hideall();
show("bGiveUp13");
if(!choices.clxTryToFixThis){show("bTryToFixThis");}
}
function bWhatAboutMe(){
setq(11,49,[1,2,3]);
say(0,"I feel like I'm always doing things for the family, but");say(0,"no one ever does anything for me. It would be nice if");say(0,"someone did something that would make _m_e happy.");
say(2,"What did you");say(2,"have in mind?");
hideall();show("bGoInForTheKill");show("bSetUpTheIdeaABitBetter");
flipq();drawscene();speak();
}
function bWhatAreYouLookingAt(){
setq(74,164,86);
say(1,"What?");
flipq();drawscene();speak();
hideall(); show("bEat2");
}
function bWhatDoesHeLike(answer){
choices.PlanningTarget=2;
if(choices.planinprocess!=""){hide(choices.planinprocess);} choices.planinprocess="";
switch(answer){
case 0:
choices.clxWhatDoesHeLike=1;
hide("bWhatDoesHeLike");hide("bWhatDoesSheLike");show("bHeLikesBeingBusy");show("bHeLikesGettingAheadAtWork");
setq([58,59],[1,2,3],[1,2,3]);
break;
case 1:
choices.clxWhatDoesHeLike=2;
hide("bHeLikesBeingBusy");hide("bHeLikesGettingAheadAtWork");show("lHeLikesBeingBusy");
choices.qWhatDoesHeLike=1;
if(choices.clxWhatDoesSheLike<2){show("bWhatDoesSheLike")};
setq(60,[1,2,3],[1,2,3]);
break;
case 2:
choices.clxWhatDoesHeLike=2;
hide("bHeLikesBeingBusy");hide("bHeLikesGettingAheadAtWork");show("lHeLikesGettingAheadAtWork");
choices.qWhatDoesHeLike=2;
if(choices.clxWhatDoesSheLike<2){show("bWhatDoesSheLike")};
setq(60,[1,2,3],[1,2,3]);
break;
}
flipq();drawscene();
bPlanning(choices.clxWhatDoesHeLike-3);
}
function bWhatDoesSheLike(answer){
choices.PlanningTarget=1;
if(choices.planinprocess!=""){hide(choices.planinprocess);} choices.planinprocess="";
switch(answer){
case 0:
choices.clxWhatDoesSheLike=1;
hide("bWhatDoesSheLike");hide("bWhatDoesHeLike");show("bSheLikesHangingOut");show("bSheLikesShopping");
setq([55,56],[1,2,3],[1,2,3]);
break;
case 1:
choices.clxWhatDoesSheLike=2;
hide("bSheLikesHangingOut");hide("bSheLikesShopping");show("lSheLikesHangingOut");
choices.qWhatDoesSheLike=1;
if(choices.clxWhatDoesHeLike<2){show("bWhatDoesHeLike")};
setq(57,[1,2,3],[1,2,3]);
break;
case 2:
choices.clxWhatDoesSheLike=2;
hide("bSheLikesHangingOut");hide("bSheLikesShopping");show("lSheLikesShopping");
choices.qWhatDoesSheLike=2;
if(choices.clxWhatDoesHeLike<2){show("bWhatDoesHeLike")};
setq(57,[1,2,3],[1,2,3]);
break;
}
flipq();drawscene();
bPlanning(choices.clxWhatDoesSheLike-3);
}
function bWhatDoesThatMean(){
setq(69,69,69);
say(1,"Sure, what?"); say(2,"Um, sure. Sounds nice.");
hideall(); show("bHeMeansIt"); show("bHeDoesntMeanIt");
flipq();drawscene();speak();
}
function bWhatIs(){
setq(88,88,[1,2,3]);
say(1,"Do you have a better idea?"); say(2,"No, I've just got too much work to think about doing anything.");
flipq(); drawscene(); speak();
hideall(); show("bItsOnlyWorkHoldingHimBack"); show("bWorkIsJustAnExcuse");
}
function bWhatNow(){
setq(195,[1,2,3],[1,2,3]);
flipq();drawscene();
hide("bWhatNow");show("bStayHere");show("bPlayGame");
}
function bWheneversConvenient(){
if(!choices.clxTime){
setq(37,47,69);
say(1,"We could do it whenever you have a little bit of time free. When are you free?"); say(2,"I don't know.");
choices.clxTime=1;
}
else{
choices.clxTime++;
switch(choices.clxTime){
case 2:
setq(37,36,[1,2,3]);
say(1,"When will you be free?"); say(2,"I don't know.");
show("bWorkIsJustAnExcuse");
break;
case 3:
setq(36,86,[1,2,3]);
say(1,"Some other time?"); say(2,"Maybe.");
break;
default:
setq([85,86,88,89,90,99],[106,108,124,125],[1,2,3]);
if(choices.clxTime==6){fqueue=[54,106,107,108,124];}
say(1,"Some other time?");
break;
}
}
hide("bWheneversConvenient");
flipq();drawscene();speak();
}
function bWhyArentYouAsking(){
setq(114,80,[1,2,3]);
say(2,"What?");
flipq();drawscene();speak();
hideall(); show("bWereOnTheSameSide"); show("bBeDirect");
}
function bWillShePlay(){
setq(210,0,106);
flipq();drawscene();
stage.drawImage(father[210],0,60,480,270);
stage.drawObliqueText(11,150,26,"So, if I get you");
stage.drawObliqueText(11,150,41,"the accordion-");
stage.drawTextCenter(13,370,28,"No! No accordion, no");
stage.drawTextCenter(13,370,41,"Warcraft, I am trying");
stage.drawTextCenter(13,375,54,"to do my work and we're");
stage.drawTextCenter(12,370,64,"done talking about this.");
hideall();show("bFindAWayToArgue");show("bMaybeALittleLater");show("bSitDown3");
}
function bWord(btn){
setq(227,227,227);
switch(btn){
case 1:
say(1,"It's really exciting, being there.");
break;
case 2:
say(1,"The game is so big you wouldn't believe!");
break;
case 3:
say(1,"Once you get into it you'll be");say(1,"really hooked.");
break;
case 4:
say(1,"It's just really fun, every day.");
break;
case 5:
say(1,"It's not just a game, it's a");say(1,"whole experience.");
break;
}
flipq();drawscene();speak();
hide("bWord1");hide("bWord2");hide("bWord3");hide("bWord4");hide("bWord5");
show("bWellStartNow");show("bWellStartOnThursday");show("bWellStartWhenItsConvenient");show("bYourCharacters");show("bPartyDynamics");
choices.clxYourCharacters=0;
choices.clxPartyDynamics=0;
}
function bWork(){
/* My parents are always working on one thing or another. Either they're working on one of their actual jobs, or they're volunteering for the
community, or they're fixing up the house. My father's idea of relaxation is a two hour bike ride to work. My mother's idea of relaxation is two
hours of sleep. They don't understand why anyone would "waste time" on entertainment when there are so many productive things one might be doing
instead. During the day my father goes off to work, but my mother works at home so the two of us (and the dog) are sharing the house most days. We
rarely see each other, and even more rarely speak on subjects that aren't utterly mundane. I'm usually on my computer on the second floor, and my
mother is usually on the computer on the third floor. Sometimes my father comes home and sets up his work laptop on the ground floor. If my father
ever makes a little noise of disapproval while working, it means he wants to talk about whatever it is he's dealing with. I always respond
inquisitively, not because I have any interest in what he's working on but because it makes me feel good to see him interested in anything. I have
learned not to act that way in the other direction - me talking about videogames is more likely to be met with offhand dismissal than anything
approximating interest. At least I know where I stand with him. My mother, by contrast, always pretends to want to listen to everything. I recently
saw a geeky neighbor try to talk to her about Angry Birds, and I felt really sorry for her - she clearly did not understand how patronizing my
mother was being. When I talk to my mother, I'm more often amusing myself with her predictable responses than I am actually talking to her. */
choices.PlanningTarget=2;
if(!choices.clxWork){choices.clxWork=1;} else{choices.clxWork++;}
if(choices.planinprocess!="" && choices.planinprocess!="bWork"){hide(choices.planinprocess)}
choices.planinprocess="bWork";
switch(choices.clxWork){
case 1:
setq(36,36,[1,2,3]);say(1,"How was work?");say(2,"It's really hectic.");break;
case 2:
setq(37,37,[1,2,3]);say(1,"What have you been doing?");say(2,"It's like no one but me is capable of doing anything. I have to do it all myself!");break;
case 3:
setq(36,38,[1,2,3]);say(1,"That sounds terrible.");say(2,"They're all just lazy. They sit around all day and then wait for me to bail them out.");break;
case 4:
setq(39,39,[1,2,3]);say(1,"You shouldn't work nonstop like that. You're home now!");say(1,"You should relax a little!");break;
case 5:
setq(36,37,[1,2,3]);say(1,"It's not good to burn yourself out."); say(2,"Well, yeah, that's what it is."); break;
case 6:
setq(37,36,[1,2,3]);say(1,"Maybe you could stop working at some point-"); say(2,"This really needs to get done.");break;
case 7:
setq(36,12,[1,2,3]); say(1,"Maybe later we could do something together?");say(2,"I'm kind of busy.");break;
case 8:
setq(43,42,[1,2,3]);say(1,"Yeah, but you won't be busy");say(1,"_f_o_r_ _t_h_e_ _r_e_s_t_ _o_f_ _y_o_u_r_ _l_i_f_e_.");say(2,"Some days I wonder."); break;
case 9:
setq(36,36,[1,2,3]);say(1,"I know what you need.");say(2,"What I need is to get this work done so that my boss doesn't fire me."); hide("bWork");hide("PlanningEngage");choices.selectedPlan=0;document.getElementById("bPlanning1").className=""; break;
}
flipq();drawscene();speak();
bPlanning(-1);
}
function bWorkIsJustAnExcuse(){
setq(145,[1,2,3],[1,2,3]);
hideall();
document.getElementById("bLashOut").className="";
document.getElementById("bActHurt").className="";
show("bLashOut");show("bActHurt");show("bGiveHimTheSilentTreatment");
flipq();drawscene();
}
function bYell(){
if(!choices.clxYell){
setq(152,94,133);
say(1,"You're just using work as an excuse! That's what I think!");
hideall();show("bYell2");
choices.clxYell=1;
flipq();drawscene();speak();
}
else{
choices.clxYell++;
switch(choices.clxYell){
case 2:
setq(153,153,97);
say(1,"Even if you didn't have any work, you'd never play with me anyway! It's just something you hide behind when you don't want to have to spend any time with me!");
say(2,"Where the hell did you get that idea?");
hide("bYell2"); show("bYell3"); show("bSarcastic");show("bDirect");
flipq();drawscene();speak();
break;
case 3:
setq(154,154,0);
say(1,"How dare you act like that!");
say(2,"I don't know what the hell you're talking about!");
hide("bYell3"); show("bYell4");
flipq();drawscene();speak();
break;
case 4:
setq(155,155,0);
say(1,"Sure you don't!");
say(2,"I don't! I swear I don't!");
hide("bYell4"); show("bYell5");
flipq();drawscene();speak();
break;
case 5:
setq(156,156,0);
say(1,"You listen to me, if you don't play World of Warcraft I'm going to walk out that door and I don't know if I'll come back!");
say(2,"Fine! Maybe I'll get some _w_o_r_k done for a change!");
show("bWhat");
flipq();drawscene();speak();speak();speak();
break;
case 6:
setq(157,157,0);
flipq();drawscene();
stage.drawText(16,270,40,"Fine!");
stage.drawText(16,270,40,"Fine!");
hideall();show("bFollowThrough");show("bBeClearer");show("bIDontWantToGo");
}
}
}
function bYesItIs(){
setq(105,94,105);
say(0,"You're right, World of Warcraft is _e_x_a_c_t_l_y like the sorts of things you do. There's so much to do it's like you could");say(0,"spend your entire life in it! It would be so much fun if you'd both join me, there's so much we'd do together!");say(0," ");
flipq();drawscene();speak();
hideall();show("bWaitForResponse2");
}
function bYouCanPlay(){
setq(68,903,[1,2,3]);
choices.laptopclosed=0;
say(1, "Play World of Warcraft with me.");
say(2,"There's more to life");say(2,"than that game. You need to figure that out.");
hideall();show("bNoWait");
flipq();drawscene();speak();
}
function bYouCantDoAnything(){
setq(162,903,[1,2,3]);
choices.laptopclosed=0;
say(1, "I don't know. Nothing, I guess.");say(1,"Don't worry about me.");
say(2,"..okay. If you don't want any help, I can't give you any.");
hideall();show("bNoWait");
flipq();drawscene();speak();
}
function bYouNeedMoreFun(){
if(!choices.clxYouNeedMoreFun){choices.clxYouNeedMoreFun=1;}
else{choices.clxYouNeedMoreFun++;}
if(!choices.clxWedAlwaysBeMovingForward || choices.alternateFun==1){
if(choices.clxYouNeedMoreFun==1){
setq(124,124,124);
say(1,"I mean, you have really boring, um, and sometimes it could be fun to play World of Warcraft with me! I have fun all the time! I always have fun playing World of Warcraft.");
say(3,"Well, we wouldn't.");
flipq(); drawscene(); speak();
}
else if(choices.clxYouNeedMoreFun==2 && choices.lastbtn!="We'd always be moving forward!"){
setq(64,106,66);
say(1,"You don't know that.");
say(3,"Yeah, I do.");
hide("bWeCouldBeLikeARealFamily");
flipq(); drawscene(); speak();
}
else {
setq(81,86,68);
flipq(); drawscene();
stage.drawText(12,32,12.5,"The only reason either of you thinks you wouldn't");
stage.drawText(12,20,26,"absolutely find that World of Warcraft is the missing");
stage.drawText(12,13,39.5,"piece of your lives is because you have");
stage.drawText(12,10,53,"absolutely no idea because you're being");
stage.drawText(12,16,66.5,"so close-minded about it. You've both");
stage.drawText(12,55,80,"got such terrible lives, and I could");
stage.drawText(12,165,93.5,"help fix that-");
stage.drawText(12,337,49,"Stop talking now.");
stage.drawText(12,357,63,"Please stop");
stage.drawText(12,357,77,"talking now.");
hideall();show("bApologize");show("bJustStop");
}
}
else {
setq(49,108,73);
say(1,"Look, it's exactly the sort of thing both of you need in your lives. You need fun. You need to do stuff other than the stuff you normally do."); say(3,"Let me think, is that what I want to do? No.");
choices.alternateFun=1;
flipq(); drawscene(); speak();
}
choices.lastbtn="You need more fun!";
}
function bYouOweItToMe(){
var line="Oh, come onnnn... it would make me really happy. And I'm always making you guys happy, aren't I?";
if(choices.clxFood){line+=" I give you food...";}
if(choices.clxDirtyLaundry){line+=" I do your clothes...";}
say(1,line+" So this is something that _I_'_d like.");
say(3,"No.");
say(2,"Maybe if I had time...");
setq(68,80,64);
flipq();drawscene();speak();
if(!choices.clxFood && !choices.clxDirtyLaundry){
stage.drawText(13,81.5,77.5,"No.");
}
else if(choices.clxFood && !choices.clxDirtyLaundry){
stage.drawText(12,82,77.5,"No.");
}
else {
stage.drawText(12,82,81.5,"No.");
}
hideall();show("bINeedBothOfThem");show("bIOnlyNeedHim");
}
function bYourCharacters(){
choices.clxYourCharacters++;
switch(choices.clxYourCharacters){
case 1:
mqueue=[228];
say(1,"By the way, you both have characters already.");
break;
case 2:
mqueue=[230];
say(1,"You're both night elves, like me.");
break;
}
if(choices.clxYourCharacters+choices.clxPartyDynamics == 2){
say(3,"We are not playing");say(3,"your stupid game!");say(3," ");
dqueue=[94];
fqueue=[124];
hideall();
show("bIgnore");show("bListen");
}
else {
fqueue=[125];
dqueue=[68];
}
flipq();drawscene();speak();
}
function EndGame(){
plays++;
hideall();
show("lEnd");
choices={};
choices.fadeout=0;
setTimeout(FadeOut, 90);
if(plays!=4){setTimeout(titlescreen, 6500);}
else{setTimeout(function(){hide("lEnd"); show("lTip");}, 6000);}
}
function FadeOut(){
choices.fadeout++;
stage.fillStyle="rgba(0,0,0,0.05)";
stage.fillRect(0,0,480,360);
if(choices.fadeout<50){setTimeout(FadeOut, 25);}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment