summaryrefslogtreecommitdiff
path: root/scripts/toy.groovy
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2018-12-08 11:05:43 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2018-12-08 11:05:43 +0000
commit00ab39c170d8e5d178ba3b3193620c3a68586205 (patch)
tree7248599c0e96d7e91fdc1452ae6aac5ed161bc10 /scripts/toy.groovy
parentFix punishment value of playClamps when not already clamped (diff)
downloadtoy-00ab39c170d8e5d178ba3b3193620c3a68586205.zip
Tidy up play
Elements are either repeated randomly or as a take N
Diffstat (limited to 'scripts/toy.groovy')
-rw-r--r--scripts/toy.groovy33
1 files changed, 21 insertions, 12 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy
index 7190cfb..9594fc2 100644
--- a/scripts/toy.groovy
+++ b/scripts/toy.groovy
@@ -600,7 +600,7 @@ def playEdges = {
edge(6, [TITS]);
};
def playNothing = {
- (getRandom(5) + 4).times {
+ (getRandom(3) + 2).times {
def tags = showImage([TITS]).intersect(
[ASS, CROP, BOOTS, PUSSY, SSSH]);
Collections.shuffle(tags);
@@ -832,27 +832,36 @@ def sessionPlay = {
use(val);
}
};
- def play = { amount, activities, use = null ->
- (getRandom(amount) + 1).times {
+ def playRepeat = { amount, activities, use = null ->
+ amount.times {
if (!sessionAborted) {
apply(activities[getRandom(activities.size())], use);
}
};
};
+ def playTake = { amount, activities, use = null ->
+ Collections.shuffle(activities);
+ activities.take(amount);
+ activities.each {
+ if (!sessionAborted) {
+ apply(it, use);
+ }
+ };
+ };
def cp = getPunish();
if (cp > 50) {
+ // Punish only: bad toy
preChastity();
- play(2 + (int)(cp / 100), [preGag, preClamps, preCollar, preStrip], pm);
- play(2 + (int)(cp / 100), [playKneel, playCbt, playClamps], ap);
- def ends = [playBondage, playCbt, playClamps];
- Collections.shuffle(ends);
- ends.take((int)(cp / 100));
- ends.collect { act -> apply(act, ap); };
+ def pr = 1 + getRandom(2 + (int)(cp / 100));
+ playRepeat(pr, [preGag, preClamps, preCollar, preStrip], pm);
+ playRepeat(pr, [playKneel, playCbt, playClamps, playNothing], ap);
+ playTake(pr, [playBondage, playCbt, playClamps]);
}
else {
- play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]);
- play(3, [playStrokes, playEdges, playNothing]);
- play(2, [postEdge, postCum, postChastity]);
+ // Sub pleasure: good toy
+ playRepeat(1 + getRandom(3), [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]);
+ playRepeat(1 + getRandom(3), [playStrokes, playEdges]);
+ playTake(getRandom(3), [postCum, postChastity]);
}
};
def sessionRelease = { goodToy ->