From 296ffd12d2a803b40cb8fa4c29d16e762407a129 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Mon, 3 Dec 2018 14:16:09 +0000 Subject: Adds some ballbeating cbt --- scripts/toy.groovy | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/toy.groovy b/scripts/toy.groovy index f13bfc7..1f746fb 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -578,6 +578,56 @@ def playNothing = { wait(getRandom(10) + 10); }; }; +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); + present([DRESSED], [ + ["Good.", "Right."], + ["Take those balls in one hand", "In one hand, hold your balls"], + ["and in the other, get ready to beat them.", "and get ready to beat them with other."]]); + showButtonGT("Yes, mistress", "ok", 10, 1); + present([DRESSED], [ + ["You concentrate on beating,", "Don't worry,"], + ["I'll be keeping count.", "I'll count them for you."]]); + wait(3); + present(null, [["Ready"]]); + wait(1); + present(null, [["Set"]]); + wait(1); + present(null, [["Go!"]]); + def beats = 0; + (4 + getRandom(6)).times({ + def beatNo = getRandom(BEATS.size()); + def beat = BEATS[beatNo]; + def len = getRandom(beat.len - 5) + 5; + playBackgroundSound("toy/${beat.bpm}bpm.mp3"); + wait(len); + playBackgroundSound(null); + beats += (int)((beat.bpm * len) / 60.0); + present(null, [ + ["$beats.", "That's $beats.", "$beats so far."], + ["Keep going.", "Don't stop!", "Just a few more.", "Harder!"]]); + }); + present([DRESSED], [ + ["Stop!", "Ok, you can stop now."], + ["They look a little sore.", "Is that a nice tingly feeling?"]]); + showButtonG("Thank you, mistress.", "ok"); + show(null); + wait(5); + return beats / 5.0; +}; def playKneel = { present([DRESSED], [ ["Right, slut.", "Come here, toy."], @@ -665,7 +715,7 @@ def sessionPlay = { if (cp > 50) { preChastity(); play((int)(cp / 100), [preGag, preClamps, preCollar, preStrip], pm); - play(3, [playKneel/*, playCorner, playCbt*/], ap); + play(3, [playKneel/*, playCorner*/, playCbt], ap); } else { play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]); -- cgit v1.2.3