diff options
Diffstat (limited to 'scripts/toy.groovy')
-rw-r--r-- | scripts/toy.groovy | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy index b2d3283..18d31bd 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -278,6 +278,7 @@ def expose = { imageSpec -> wait(10); } }; +// Return whether toy came or not def mightCum = { time, reason = "without permission" -> if (showButtonG("Sorry, mistress, I'm cumming $reason", "cumming", time) < time) { playBackgroundSound(null); @@ -295,6 +296,7 @@ def mightCum = { time, reason = "without permission" -> } return false; }; +// Return whether toy came or not, despite being denied def cumChanceDenied = { present([TEASE], [ ["Stop!", "Nope!", "Haha! No!"], @@ -329,7 +331,7 @@ def cumChanceWindow = { ["OK, toy, I'm going to give you a chance to cum.", "Would you like a small chance to cum, toy?"], ["Get stroking!", "Stroke it, you'll need to be close!"], ["You won't get long.", "You might not get long.", "Wait for my say so..."]]); - if (mightCum(15 + getRandom(60), "too soon")) return; + if (mightCum(15 + getRandom(60), "too soon")) return true; if (getRandom(5) > 0) { return cumChanceDenied(); } @@ -356,7 +358,7 @@ def cumChanceRuin = { present([TEASE], [ ["Stroke!", "Jerk it."], ["Get close to the edge, toy...", "Get yourself close..."]]); - if (mightCum(5 + getRandom(10), "too soon")) return; + if (mightCum(5 + getRandom(10), "too soon")) return true; for (def n = 3 + getRandom(6); n >= 0; n--) { present([TITS], [ ["Try to cum!"]]); @@ -628,7 +630,10 @@ def postCum = { return; } def ways = [cumChanceRuin, cumChanceWindow, cumChanceCountdown]; - ways[getRandom(ways.size())](); + if (ways[getRandom(ways.size())]()) { + // Once toy has cum, revoke permission for a while + revokePermission(CUM); + } }; def chastity = { pre -> if (is(CHASTE)) return; |