diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/toy.groovy | 33 |
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 -> |