diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2018-12-30 15:21:03 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2018-12-30 15:21:03 +0000 |
commit | b4d5b3124cdc033b016e4f4eea1c7cb3d905d12f (patch) | |
tree | a1cc4f4bdf382a5ba26c7a412c6dccd63722a20a /scripts | |
parent | Don't exit when owner goes to bed, just drop back to the lounge (diff) | |
download | toy-b4d5b3124cdc033b016e4f4eea1c7cb3d905d12f.zip |
Maintain list of toys to hand in session
Used to avoid repeating instructions to fetch them again etc
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/toy.groovy | 50 |
1 files 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.<name> 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.<name> final BONDAGE = "bondage", CBT = "cbt", CHORES = "chores", PAIN = "pain"; // toy.permission.<name> @@ -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); } |