summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-06-23 16:43:10 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2019-06-23 21:18:22 +0100
commit2e109311ce7038fc340dafb46ff2af963ca82ba5 (patch)
tree6e0efe514ae0142122eadcca5a5054d8e1af3da8
parentFix cum chances (diff)
downloadtoy-2e109311ce7038fc340dafb46ff2af963ca82ba5.zip
Extract pain into a module
-rw-r--r--scripts/toy.groovy80
-rw-r--r--scripts/toy/pain.groovy88
2 files changed, 89 insertions, 79 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy
index 9601e82..019c0c1 100644
--- a/scripts/toy.groovy
+++ b/scripts/toy.groovy
@@ -323,50 +323,6 @@ return new Object() {
sessionToys[BALLGAG] = getTime();
return 1.2;
};
- def 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."]]);
- wait(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);
- wait(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."]]);
- wait(getRandom(10) + 5);
- };
- def clampsShow = {
- present([DRESSED,TEASE], [
- ["Let me see", "Show me"],
- ["those nipple clamps,", "those nasty clamps,"],
- ["they look painful.", "and jiggle them about for me!"]]);
- wait(10);
- };
- def preClamps = {
- if (!has(CLAMPS)) return;
- if (stateIs(CLAMPED)) {
- clampsShow();
- }
- else {
- clamps();
- }
- clampPulls(getRandom(4));
- return 1.8;
- };
def preCollar = {
if (stateIs(COLLARED)) return 1.1;
if (!has(COLLAR)) return;
@@ -625,37 +581,6 @@ return new Object() {
save("toy.deepthroat.completed", completed);
wait(10);
};
- def playClamps = {
- if (!has(CLAMPS)) return;
- if (!stateIs(CLAMPED)) clamps();
- clampsShow();
- return clampPulls(3 + getRandom(10));
- };
- def intClamps = {
- if (!has(CLAMPS)) return;
- if (!stateIs(CLAMPED)) return;
- clampsShow();
- return clampPulls(getRandom(5));
- };
- def 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."]]);
- }
- wait(3 + getRandom(6));
- present(null, [
- ["Let them go.", "Hands off."]]);
- wait(3 + getRandom(6));
- };
- };
def stateToyName = { state ->
switch (state) {
case CUFFED:
@@ -716,14 +641,10 @@ return new Object() {
return false;
};
final activityList = [
- 'intSqueeze': intSqueeze,
- 'intClamps': intClamps,
'preGag': preGag,
'preStrip': preStrip,
'preCollar': preCollar,
- 'preClamps': preClamps,
'playKneel': playKneel,
- 'playClamps': playClamps,
'playNothing': playNothing,
'playBondage': playBondage,
'playSuck': playSuck,
@@ -1173,6 +1094,7 @@ return new Object() {
* scripts/toy/imagery.groovy
* scripts/toy/intro.groovy
* scripts/toy/orgasmControl.groovy
+ * scripts/toy/pain.groovy
* scripts/toy/sleep.groovy
* scripts/toy/social.groovy
* scripts/toy/tease.groovy
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() });
+}