Add Peter & Clara afternoon dialogue master
authorMegaBrutal <code+git@megabrutal.com>
Tue, 9 Mar 2021 02:45:00 +0000 (03:45 +0100)
committerMegaBrutal <code+git@megabrutal.com>
Tue, 9 Mar 2021 02:45:00 +0000 (03:45 +0100)
modified:   wgj58.js

wgj58.js

index e07d397115e539817aaeac94138660d01d511ab7..71b0484725d4b015551a0053e6a9b5cc1d8b3626 100644 (file)
--- a/wgj58.js
+++ b/wgj58.js
@@ -606,6 +606,14 @@ class NPC_Saiki extends GameNPC {
 
 class NPC_Peter extends GameNPC {
        actionTalk() {
+               /* If Peter is happy, she's already teleported to Clara. */
+               if (!this.happy)
+                       this.actionTalk_morning();
+               else
+                       this.actionTalk_afternoon();
+       }
+
+       actionTalk_morning() {
                if (logic.saiki.alive) {
                        switch (this.talkcount) {
                                case 0:
@@ -680,6 +688,49 @@ class NPC_Peter extends GameNPC {
                super.actionTalk();
        }
 
+       actionTalk_afternoon () {
+               if (logic.bianca.alive) {
+                       switch (this.talkcount) {
+                               case 0:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Hey John!" },
+                                               { actor: logic.player, text: "Hey, what's up?" },
+                                               { actor: this, text: "I just asked Clara out on a date!" },
+                                               { actor: logic.clara, text: "Shhhsh, don't brag about it! I'm a person, not a prize." },
+                                               { actor: this, text: "Sorry..." },
+                                               { actor: logic.clara, text: "It's OK... Uhm... Sorry, John... I always liked Peter... but when you asked me out, I felt intimidated and a little uncomfortable." } ] ));
+                                       break;
+                               case 1:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "I'm sorry, Clara, I didn't mean to be inappropriate... situations like this are always so complicated..." },
+                                               { actor: logic.clara, text: "Never mind, John. I didn't handle it properly either. Apology accepted." },
+                                               { actor: this, text: "Everyone's happy, I guess." },
+                                               { actor: logic.player, text: "Not really. Maybe I'm gonna be fired." },
+                                               { actor: this, text: "Haha, you're a joker!" } ] ));
+                                       break;
+                               case 2:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "*Whispers.* Khm, no offense, but it would be nice if you excused yourself and leave. You know how it is..." } ] ));
+                                       break;
+                               case 3:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "Oh, time goes so fast... I have to go. Bye!" } ] ));
+                                       break;
+                               default:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "..." } ] ));
+                       }
+               }
+               else {
+                       switch (this.talkcount) {
+                               case 0:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "..." },
+                                               { actor: logic.clara, text: "..." },
+                                               { actor: logic.player, text: "Hey there!... Uhm... Don't you have anything better to do?" },
+                                               { actor: this, text: "Yeah, I would totally have if you weren't been blocking the meeting room!" } ] ));
+                                       break;
+                               default:
+                                       logic.gameinterface.talk(new Dialogue( [ { actor: logic.player, text: "Get back to work! Don't make me say it again!" } ] ));
+                       }
+               }
+               super.actionTalk();
+       }
+
        actionTake() {
                logic.closeDoor("saikidoor");
                logic.openDoor("peterdoor");
@@ -690,12 +741,13 @@ class NPC_Peter extends GameNPC {
        }
 
        endTalk() {
-               return (logic.saiki.alive) && (this.talkcount < 3);
+               return (logic.saiki.alive) && (this.talkcount < 3) && (!this.happy);
        }
 
        tpDone(value) {
                console.log("Woot-woot! Teleport complete:", value);
                value.makeHappy();
+               value.resetTalk();
                logic.clara.makeHappy();
                // FIXME: Need to find a prettier way than this.
                logic.clara.update = function() { };            // Disable Clara's interaction. (Peter will talk for him.)