From b4d5b3124cdc033b016e4f4eea1c7cb3d905d12f Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 30 Dec 2018 15:21:03 +0000 Subject: Maintain list of toys to hand in session Used to avoid repeating instructions to fetch them again etc --- scripts/toy.groovy | 50 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/scripts/toy.groovy b/scripts/toy.groovy index 1deaf3c..8bb614b 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -16,6 +16,7 @@ final soonFormatter = java.time.format.DateTimeFormatter.ofPattern("EEEE 'at' h: // Notes // toys. ankle_cuffs, ballgag, blindfold, chastity_belt, clothespins, cockring, dog_collar, handcuffs, hood, nipple_clamps, ring_gag final BALLGAG = "ballgag", COLLAR = "dog_collar", CLAMPS = "nipple_clamps", CHASTITY = "chastity_belt", HANDCUFFS = "handcuffs"; +final SPOON = "spoon"; // fetish. final BONDAGE = "bondage", CBT = "cbt", CHORES = "chores", PAIN = "pain"; // toy.permission. @@ -220,6 +221,7 @@ def execEvents = { rt -> } }; def sessionAborted = null; +def sessionToys = [:]; def gagText = { t, p -> if (!is(GAGGED)) return t; return t.split(/\s+/) @@ -717,11 +719,20 @@ def chastity = { pre -> ["But...", "I just like to be sure."]]); } wait(getRandom(5) + 10); - present([DRESSED,TEASE], [ - ["Go to your room,", "Run along now,"], - ["get your chastity device and"], - ["lock it on.", "get that cock secured away."], - ["Bring back the key.", "I want the key of course."]]); + if (sessionToys.containsKey(CHASTITY)) { + present([DRESSED,TEASE], [ + ["Time to", "Get your chastity device and"], + ["lock my cock away again now.", "get that cock back in its cage."], + ["And for you to", "And then"], + ["hand over the key", "give me the key back."]]); + } + else { + present([DRESSED,TEASE], [ + ["Go to your room,", "Run along now,"], + ["get your chastity device and"], + ["lock it on.", "get that cock secured away."], + ["Bring back the key.", "I want the key of course."]]); + } wait(10); show(null); showButtonGT("Locked, mistress. Here's the key.", "locked", 180, 1); @@ -794,20 +805,31 @@ def playNothing = { }; }; def playCbt = { - present([DRESSED], [ - ["Go to the kitchen...", "From the kitchen..."], - ["bring me", "get yourself"], - ["a wooden spoon or similar."]]); - showButtonG("Yes, mistress", "ok"); - wait(5); final BEATS = [ // bpm:30, len:60 ], [ bpm:90, len:45 ], [ bpm:165, len:30 ], [ bpm:180, len:30 ], [ bpm:240, len:20 ], - ]; - showButtonGT("Back, mistress", "back", 20, 1); + ]; + if (sessionToys.containsKey(SPOON)) { + present([DRESSED], [ + ["Pick up", "Grab"], + ["your", "that"], + ["wooden spoon"], + ["again."]]); + wait(10); + } + else { + present([DRESSED], [ + ["Go to the kitchen...", "From the kitchen..."], + ["bring me", "get yourself"], + ["a wooden spoon or similar."]]); + showButtonG("Yes, mistress", "ok"); + wait(5); + showButtonGT("Back, mistress", "back", 20, 1); + sessionToys[SPOON] = getTime(); + } present([DRESSED], [ ["Good.", "Right."], ["Take those balls in one hand", "In one hand, hold your balls"], @@ -1013,6 +1035,7 @@ def sessionSummon = { imageSpec -> return false; }; def sessionPlay = { + if (is(CHASTE)) sessionToys[CHASTITY] = getTime(); def ph = (float)1.0; def pm = { val -> if (val) { @@ -1130,6 +1153,7 @@ def sessionRelease = { goodToy -> wait(10); showLounge(); sessionAborted = null; + sessionToys = [:]; if (goodToy) { adjustPunish(-20); } -- cgit v1.2.3