summaryrefslogtreecommitdiff
path: root/scripts/toy/pain.groovy
blob: 05c7bb1c7fd7ff04660bd7f96b7f2493d4aab602 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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() });
}