summaryrefslogtreecommitdiff
path: root/scripts/toy/pain.groovy
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/toy/pain.groovy')
-rw-r--r--scripts/toy/pain.groovy88
1 files changed, 88 insertions, 0 deletions
diff --git a/scripts/toy/pain.groovy b/scripts/toy/pain.groovy
new file mode 100644
index 0000000..05c7bb1
--- /dev/null
+++ b/scripts/toy/pain.groovy
@@ -0,0 +1,88 @@
+{ toy ->
+
+ toy.metaClass.clamps {
+ if (stateIs(CLAMPED)) return;
+ if (!has(CLAMPS)) return;
+ present([DRESSED],
+ likes(PAIN) ? [
+ ["We both like to see you suffer.", "Pain is fun."],
+ ["Isn't that right, toy?", "Don't you agree?"]]
+ : [
+ ["I'm sorry, toy,"],
+ ["but seeing you suffer is too much fun.", "but I need to find my amusement somewhere."]]);
+ pause(10);
+ present([DRESSED],[
+ ["Go put your nipple clamps on...", "I want those nipples clamped..."],
+ ["but on your way back...", "no walking though..."],
+ ["crawl, down on all fours.", "on your knees."]]);
+ showButtonG("Yes, ${dommeTitle()}", "ok");
+ show(null);
+ pause(10);
+ set(CLAMPED, true);
+ showButtonGT("Back, ${dommeTitle()}", "back", 60, 1);
+ sessionToys[CLAMPS] = getTime();
+ present([DRESSED], [
+ ["On your knees,", "Kneel before me"],
+ ["let me see.", "hands behind your back."]]);
+ pause(getRandom(10) + 5);
+ };
+
+ toy.metaClass.clampsShow {
+ present([DRESSED,TEASE], [
+ ["Let me see", "Show me"],
+ ["those nipple clamps,", "those nasty clamps,"],
+ ["they look painful.", "and jiggle them about for me!"]]);
+ pause(10);
+ };
+
+ toy.metaClass.preClamps {
+ if (!has(CLAMPS)) return;
+ if (stateIs(CLAMPED)) {
+ clampsShow();
+ }
+ else {
+ clamps();
+ }
+ clampPulls(getRandom(4));
+ return 1.8;
+ };
+
+ toy.metaClass.playClamps {
+ if (!has(CLAMPS)) return;
+ if (!stateIs(CLAMPED)) clamps();
+ clampsShow();
+ return clampPulls(3 + getRandom(10));
+ };
+
+ toy.metaClass.intClamps {
+ if (!has(CLAMPS)) return;
+ if (!stateIs(CLAMPED)) return;
+ clampsShow();
+ return clampPulls(getRandom(5));
+ };
+
+ toy.metaClass.intSqueeze {
+ (2 + getRandom(4)).times { n ->
+ if (n > 0) {
+ present([DRESSED,TEASE], [
+ ["And again,", "Again,", "Once more,"],
+ ["harder!", "tighter!"]]);
+ }
+ else {
+ present([DRESSED,TEASE], [
+ ["Squeeze yours balls", "Grab your balls and squeeze them"],
+ ["good and tight", "firm and hard"],
+ ["until they hurt a little.", "as if I was doing it."]]);
+ }
+ pause(3 + getRandom(6));
+ present(null, [
+ ["Let them go.", "Hands off."]]);
+ pause(3 + getRandom(6));
+ };
+ };
+
+ toy.addActivity('preClamps', { toy.preClamps() });
+ toy.addActivity('playClamps', { toy.playClamps() });
+ toy.addActivity('intSqueeze', { toy.intSqueeze() });
+ toy.addActivity('intClamps', { toy.intClamps() });
+}