diff options
| -rw-r--r-- | images/toy/ancilla/domme.groovy | 57 | ||||
| -rw-r--r-- | scripts/toy.groovy | 5 | 
2 files changed, 61 insertions, 1 deletions
| diff --git a/images/toy/ancilla/domme.groovy b/images/toy/ancilla/domme.groovy new file mode 100644 index 0000000..71863fd --- /dev/null +++ b/images/toy/ancilla/domme.groovy @@ -0,0 +1,57 @@ +[ +	name: 'Ancilla', +	fullName: 'Ancilla Tilia', +	title: 'Mistress', +	sessions: [ +		[ +			theme: 'stroking and edging', +			require: 'toy.prop.punishment < 50', +			probability: 50, +			phases: [ +				[ +					select: 'repeat', +					number: 'toy.randRange(1, 3)', +					activities: [ 'preRelease', 'preEdge', 'preGag', 'preClamps', 'preCollar', 'preStrip' ] +				], [ +					select: 'repeat', +					number: 'toy.randRange(1, 3)', +					activities: [ 'playStrokes', 'playEdges' ], +					intervals: [ null, 'intClamps', 'intSqueeze' ] +				], [ +					select: 'take', +					number: 'toy.randRange(0, 2)', +					activities: [ 'postCum', 'postChastity' ] +				], [ +					require: '!toy.sessionAborted() && !toy.can("cum")', +					select: 'take', +					number: 1, +					activities: [ 'postPermitCum' ] +				] +			] +		], [ +			theme: 'punishment', +			require: 'toy.prop.punishment > 40', +			probability: 50, +			phases: [ +				[ +					activities: [ 'preChastity' ] +				], [ +					select: 'take', +					number: 'toy.randRange(1, 2 + ((toy.prop.punishment ?: 0) / 100))',  +					activities: [ 'preGag', 'preClamps', 'preCollar', 'preStrip' ], +					use: 'punishMultiply' +				], [ +					select: 'repeat', +					number: 'toy.randRange(1, 2 + ((toy.prop.punishment ?: 0) / 100))',  +					activities: [ 'playKneel', 'playCbt', 'playClamps', 'playNothing' ], +					use: 'punishApply' +				], [ +					select: 'take', +					number: 'toy.randRange(1, 2 + ((toy.prop.punishment ?: 0) / 100))',  +					activities: [ 'playBondage', 'playCbt', 'playClamps' ], +					use: 'punishApply' +				] +			] +		] +	] +] diff --git a/scripts/toy.groovy b/scripts/toy.groovy index 70848fc..42b78f1 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -36,6 +36,7 @@ final FRIENDS = [ "Tori", "Sophie", "Krystal" ];  // toy.position  final KNEELING = "kneeling", ALLFOURS = "allfours", STANDING = "standing";  def OWNER = null; +def DOMME = null;  final SITTER = "sarah-james";  final SOFT = "soft"; @@ -1617,6 +1618,7 @@ def setupShowCalendar = {  // GO!  setDefault("toy.owner", "ancilla");  OWNER = loadString("toy.owner"); +DOMME = Eval.me(new File("$DATAFOLDER/images/toy/$OWNER/domme.groovy").text);  def getDayNum = { Math.floorDiv(getTime() + localTimeOffset() - 14400, 86400) };  def getAvail = { dayNum -> loadInteger("toy.availability.$dayNum") ?: 0 };  def addAvail = { amount -> @@ -1690,7 +1692,7 @@ while (true) {  				opts.push([ lbl: "May I be un-$it".toString(), act: requestRelease, arg: it ]);  			};  			opts.push([ lbl: "Back", act: null ]); -			def opt = getSelectedValue("Yes, toy?", opts.collect { it.lbl }); +			def opt = getSelectedValue(is("DEBUG") ? DOMME : "Yes, toy?", opts.collect { it.lbl });  			def act = opts[opt].act;  			if (act)  				act(opts[opt].arg); @@ -1775,6 +1777,7 @@ while (true) {   * images/toy/ancilla/pink/9.jpg   * images/toy/ancilla/pink/tags   * images/toy/ancilla/lounge.jpg + * images/toy/ancilla/domme.groovy   * sounds/toy/165bpm.mp3   * sounds/toy/180bpm.mp3   * sounds/toy/240bpm.mp3 | 
