aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/companion/Mood.js
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/companion/Mood.js')
-rw-r--r--desktop/companion/Mood.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/desktop/companion/Mood.js b/desktop/companion/Mood.js
index a3bc8cb..c4df50b 100644
--- a/desktop/companion/Mood.js
+++ b/desktop/companion/Mood.js
@@ -28,6 +28,9 @@ var T = {
monologueCooldown: 3600000,
destruct: 1000, // the glow and the flash; the sprite is hidden under it
scorched: 3000,
+ admireLook: 1500, // turned to the wallpaper, before the blush
+ admireBlush: 3000,
+ admireCooldown: 180000,
skirtless: 60000,
};
@@ -62,6 +65,8 @@ function pick(s) {
if (s.now - s.repliedAt < T.waveHold) return st("wave", "wave");
if (s.clicks.count > 0 && s.now - s.clicks.at < T.clickHold)
return st("clicks", clickFrame(s.clicks.count));
+ if (s.now - s.admireAt < T.admireLook + T.admireBlush)
+ return st("admire", s.now - s.admireAt < T.admireLook ? "watch" : "blush3");
if (s.now - s.mockAt < T.mockHold)
return st("mock", s.now - s.mockAt < T.mockHold / 2 ? "point" : "smirk");
if (s.now - s.typingAt < T.typingHold) return st("watch", "watch");
@@ -84,6 +89,8 @@ function outfit(destructAt, now) {
function mockAllowed(lastMockAt, now) { return now - lastMockAt >= T.mockCooldown; }
+function admireAllowed(lastAt, now) { return now - lastAt >= T.admireCooldown; }
+
function canSpeak(lastLineAt, now) { return now - lastLineAt >= T.lineCooldown; }
// Whether the opening monologue plays: a chance per trigger, and never