Add Carlos afternoon dialogue
[wgj58.git] / wgj58.js
index 2c503f0829a15065ad0859591ef4640b72353a0f..c69dcbee022d6abceebf7b6a21042cb407ae0335 100644 (file)
--- a/wgj58.js
+++ b/wgj58.js
@@ -309,52 +309,78 @@ class NPC_Clara extends GameNPC {
 class NPC_Carlos extends GameNPC {
        actionTalk() {
                if (logic.clara.alive) {
-                       switch (this.talkcount) {
-                               case 0:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "Good morning, Carlos! What's up?" },
-                                               { actor: this, text: "Hey, John! Not too much, I'm just trying to sell some shit to this new client." },
-                                               { actor: logic.player, text: "And so? Is it hard to convince them?" },
-                                               { actor: this, text: "Of course, they don't want to buy. It's shit." },
-                                               { actor: this, text: "I mean, who would want to buy shit?" },
-                                               { actor: logic.player, text: "Yeah. Relatable... But why are you trying to sell shit? I mean, why not one of our cutting edge technologies?" },
-                                               { actor: this, text: "They couldn't afford it." },
-                                               { actor: logic.player, text: "Then why are you trying to sell them... anything at all? They'd better off with a cheaper company." },
-                                               { actor: this, text: "Company policies. Plus the management instructed me to sell to them, no matter what." },
-                                               { actor: logic.player, text: "That sucks... Well... good luck!" },
-                                               { actor: this, text: "Thanks..." } ] ));
-                                       logic.closeDoor("cutedoor");
-                                       logic.openDoor("carlosdoor");
-                                       break;
-                               case 1:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "*Sigh.* I'll probably not work here for long, if I can't sell this shit to the customer." },
-                                               { actor: this, text: "These layoffs are terrifying. They let go of anyone for even the slightest mistake." },
-                                               { actor: logic.player, text: "But it's not a mistake when our client doesn't buy something they don't need." },
-                                               { actor: this, text: "Tell this to my boss..." } ] ));
-                                       break;
-                               case 2:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "You know, generally, I think it sucks being a child. One thing I miss though, if you're a child, you're allowed to be silly." },
-                                               { actor: this, text: "..." },
-                                               { actor: this, text: "For example, when my Dad told me that semen is the seed of animals, I theoretized, if I'd bury some pig semen in the garden, a pig would grow out of it..." },
-                                               { actor: this, text: "I was totally fascinated by the thought, because I really wanted to have a pet pig, but Dad wouldn't let me have one." },
-                                               { actor: this, text: "So I thought I could grow my own pig in the garden from pig seeds!" },
-                                               { actor: logic.player, text: "Interesting. Where are you going with this?" },
-                                               { actor: this, text: "I don't know... sometimes I feel like I'd rather sell pig semen to our clients, heh!" },
-                                               { actor: this, text: "Uhm..." },
-                                               { actor: this, text: "Totally don't tell this to Saiki!" } ] ));
-                                       this.pigsemen = true;
-                                       break;
-                               case 3:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Weren't you heading to the IT department to the right?" },
-                                               { actor: this, text: "You know... the green department which looks way better than blue!" },
-                                               { actor: this, text: "..." },
-                                               { actor: this, text: "Damn, why do I have to work in blue? I just feel... so blue about it." } ] ));
-                                       break;
-                               case 4:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Weren't you heading to the conveniently green department to the right? I guess Saiki is waiting for you." },
-                                               { actor: this, text: "You're so lucky that you can work with her every day!" } ] ));
-                                       break;
-                               default:
-                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Guess you'll stay here then. It's cool, you're great company anyway." } ] ));
+                       if (logic.peter.talkcount == 0) {
+                               switch (this.talkcount) {
+                                       case 0:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "Good morning, Carlos! What's up?" },
+                                                       { actor: this, text: "Hey, John! Not too much, I'm just trying to sell some shit to this new client." },
+                                                       { actor: logic.player, text: "And so? Is it hard to convince them?" },
+                                                       { actor: this, text: "Of course, they don't want to buy. It's shit." },
+                                                       { actor: this, text: "I mean, who would want to buy shit?" },
+                                                       { actor: logic.player, text: "Yeah. Relatable... But why are you trying to sell shit? I mean, why not one of our cutting edge technologies?" },
+                                                       { actor: this, text: "They couldn't afford it." },
+                                                       { actor: logic.player, text: "Then why are you trying to sell them... anything at all? They'd better off with a cheaper company." },
+                                                       { actor: this, text: "Company policies. Plus the management instructed me to sell to them, no matter what." },
+                                                       { actor: logic.player, text: "That sucks... Well... good luck!" },
+                                                       { actor: this, text: "Thanks..." } ] ));
+                                               logic.closeDoor("cutedoor");
+                                               logic.openDoor("carlosdoor");
+                                               break;
+                                       case 1:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "*Sigh.* I'll probably not work here for long, if I can't sell this shit to the customer." },
+                                                       { actor: this, text: "These layoffs are terrifying. They let go of anyone for even the slightest mistake." },
+                                                       { actor: logic.player, text: "But it's not a mistake when our client doesn't buy something they don't need." },
+                                                       { actor: this, text: "Tell this to my boss..." } ] ));
+                                               break;
+                                       case 2:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "You know, generally, I think it sucks being a child. One thing I miss though, if you're a child, you're allowed to be silly." },
+                                                       { actor: this, text: "..." },
+                                                       { actor: this, text: "For example, when my Dad told me that semen is the seed of animals, I theoretized, if I'd bury some pig semen in the garden, a pig would grow out of it..." },
+                                                       { actor: this, text: "I was totally fascinated by the thought, because I really wanted to have a pet pig, but Dad wouldn't let me have one." },
+                                                       { actor: this, text: "So I thought I could grow my own pig in the garden from pig seeds!" },
+                                                       { actor: logic.player, text: "Interesting. Where are you going with this?" },
+                                                       { actor: this, text: "I don't know... sometimes I feel like I'd rather sell pig semen to our clients, heh!" },
+                                                       { actor: this, text: "Uhm..." },
+                                                       { actor: this, text: "Totally don't tell this to Saiki!" } ] ));
+                                               this.pigsemen = true;
+                                               break;
+                                       case 3:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Weren't you heading to the IT department to the right?" },
+                                                       { actor: this, text: "You know... the green department which looks way better than blue!" },
+                                                       { actor: this, text: "..." },
+                                                       { actor: this, text: "Damn, why do I have to work in blue? I just feel... so blue about it." } ] ));
+                                               break;
+                                       case 4:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Weren't you heading to the conveniently green department to the right? I guess Saiki is waiting for you." },
+                                                       { actor: this, text: "You're so lucky that you can work with her every day!" } ] ));
+                                               break;
+                                       default:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Guess you'll stay here then. It's cool, you're great company anyway." } ] ));
+                               }
+                       }
+                       else {
+                               switch (this.talkcount) {
+                                       case 0:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Phew... long shift, I gotta go!" },
+                                                       { actor: this, text: "Why are you still here? I mean, you engineers stay here 'til late at night. Why don't you just go home at 4 pm?" },
+                                                       { actor: this, text: "This is why I can never ask out Saiki... She always works for so long..." },
+                                                       { actor: logic.player, text: "We tend to have lots of work with impossible deadlines..." },
+                                                       { actor: this, text: "I bet you get lots of money for the overtimes!" },
+                                                       { actor: logic.player, text: "No, we don't get paid for overtimes." },
+                                                       { actor: this, text: "... Then why do you stay beyond the office hours?" },
+                                                       { actor: logic.player, text: "Otherwise we're fired. That's the deal. Either we work 2 extra hours or we get replaced." },
+                                                       { actor: this, text: "Wow... and I thought we have a shortage on engineers..." } ] ));
+                                               break;
+                                       case 1:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "And how's the business going? Did you manage to shell the shit?" },
+                                                       { actor: this, text: "In a heartbeat! Now they're buying so much shit that I'm afraid we don't have enough assholes to produce that quantity." },
+                                                       { actor: this, text: "Be prepared for another month of overtimes. This deal will be huge!" },
+                                                       { actor: logic.player, text: "Well done, man!" } ] ));
+                                               break;
+                                       default:
+                                               logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "I really want to leave now." } ] ));
+                                               this.offscreenTeleportation(new Phaser.Point(0, 0), this.tpDone, this);
+                               }
                        }
                }
                else {
@@ -391,7 +417,7 @@ class NPC_Carlos extends GameNPC {
        }
 
        actionLeave() {
-               if (logic.clara.alive) {
+               if ((logic.clara.alive) && (logic.peter.talkcount == 0)) {
                        logic.gameinterface.dropNotice(this.shortname + ": Bye, John! Pass on my greetings to Saiki!");
                }
        }
@@ -403,7 +429,12 @@ class NPC_Carlos extends GameNPC {
        }
 
        endTalk() {
-               return (logic.clara.alive) || (this.talkcount < 3);
+               return ((logic.clara.alive) && (logic.peter.talkcount == 0)) || (this.talkcount < 3);
+       }
+
+       tpDone(value) {
+               console.log("Woot-woot! Teleport complete:", value);
+               value.visible = false;
        }
 }
 
@@ -545,6 +576,7 @@ class NPC_Peter extends GameNPC {
                                        logic.closeDoor("saikidoor");
                                        logic.openDoor("peterdoor");
                                        logic.openDoor("biancadoor");
+                                       logic.carlos.resetTalk();
                                        break;
                                case 1:
                                        logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "See... Would you talk to Bianca? We don't understand each other pretty well. That's why I'd rather wouldn't make a shot." } ] ));