summaryrefslogtreecommitdiff
path: root/scripts/toy.groovy
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/toy.groovy')
-rw-r--r--scripts/toy.groovy28
1 files changed, 23 insertions, 5 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy
index f0a89d6..f13bfc7 100644
--- a/scripts/toy.groovy
+++ b/scripts/toy.groovy
@@ -644,16 +644,34 @@ def sessionSummon = { imageSpec ->
return false;
};
def sessionPlay = {
- def play = { amount, activities ->
+ def ph = (float)1.0;
+ def pm = { val ->
+ ph *= val;
+ };
+ def ap = { val ->
+ adjustPunish(-val * ph);
+ };
+ def play = { amount, activities, use = null ->
(getRandom(amount) + 1).times {
if (!sessionAborted) {
- activities[getRandom(activities.size())]();
+ def val = (Float)activities[getRandom(activities.size())]();
+ if (val && use) {
+ use(val);
+ }
}
};
};
- play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]);
- play(3, [playStrokes, playEdges, playNothing]);
- play(2, [postEdge, postCum, postChastity]);
+ def cp = getPunish();
+ if (cp > 50) {
+ preChastity();
+ play((int)(cp / 100), [preGag, preClamps, preCollar, preStrip], pm);
+ play(3, [playKneel/*, playCorner, playCbt*/], ap);
+ }
+ else {
+ play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]);
+ play(3, [playStrokes, playEdges, playNothing]);
+ play(2, [postEdge, postCum, postChastity]);
+ }
};
def sessionRelease = { goodToy ->
if (goodToy) {