summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/toy.groovy11
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;