diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/toy.groovy | 11 | ||||
| -rw-r--r-- | scripts/toy/humiliation.groovy | 3 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/scripts/toy.groovy b/scripts/toy.groovy index 5c3ab02..16df507 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -341,8 +341,8 @@ return new Object() {  	def requestables = [  		faq: [ lbl: "FAQ (webpage)", act: showFaq ],  	]; -	final addRequestable = { String name, String label, func -> -		requestables[name] = [lbl: label, act: func]; +	final addRequestable = { String name, String label, func, cond = null -> +		requestables[name] = [lbl: label, act: func, cond: cond];  	};  	final removeRequestable = { String name ->  		requestables.remove(name); @@ -417,15 +417,14 @@ return new Object() {  				final waitTime = Math.min(cycleTime, e.event.time - getTime());  				final clickTime = showButton("Please, ${dommeTitle()}?", waitTime);  				if (clickTime < waitTime) { -					def opts = requestables.values().toList(); +					def opts = requestables.values().toList().findAll { +						it -> !it.cond || it.cond() +					};  					if (stateIs("DEBUG")) {  						opts.push([ lbl: "Status", act: setupShowState ]);  						opts.push([ lbl: "Play", act: { playEvent() }, arg: true ]);  						opts.push([ lbl: "Activity", act: playActivity ]);  					} -					if (stateIs(NAKED)) { -						opts.push([ lbl: "May I wear clothes", act: { requestClothes() } ]); -					}  					TOYTOYS.findAll { stateIs(it) }.each {  						opts.push([ lbl: "May I be un-$it".toString(), act: { requestRelease() }, arg: it ]);  					}; diff --git a/scripts/toy/humiliation.groovy b/scripts/toy/humiliation.groovy index 8050145..06e422d 100644 --- a/scripts/toy/humiliation.groovy +++ b/scripts/toy/humiliation.groovy @@ -165,4 +165,7 @@  	toy.addActivity("preStrip", { toy.preStrip() });  	toy.addActivity("playKneel", { toy.playKneel() });  	toy.addActivity("playSuck", { toy.playSuck() }); +	toy.addRequestable("clothes", "May I wear clothes", +			{ toy.requestClothes() }, +			{ toy.stateIs(toy.NAKED) });  } | 
