diff options
| -rw-r--r-- | scripts/toy.groovy | 28 | 
1 files changed, 23 insertions, 5 deletions
| diff --git a/scripts/toy.groovy b/scripts/toy.groovy index f0a89d6..f13bfc7 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -644,16 +644,34 @@ def sessionSummon = { imageSpec ->  	return false;  };  def sessionPlay = { -	def play = { amount, activities -> +	def ph = (float)1.0; +	def pm = { val -> +		ph *= val; +	}; +	def ap = { val -> +		adjustPunish(-val * ph); +	}; +	def play = { amount, activities, use = null ->  		(getRandom(amount) + 1).times {  			if (!sessionAborted) { -				activities[getRandom(activities.size())](); +				def val = (Float)activities[getRandom(activities.size())](); +				if (val && use) { +					use(val); +				}  			}  		};  	}; -	play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]); -	play(3, [playStrokes, playEdges, playNothing]); -	play(2, [postEdge, postCum, postChastity]); +	def cp = getPunish(); +	if (cp > 50) { +		preChastity(); +		play((int)(cp / 100), [preGag, preClamps, preCollar, preStrip], pm); +		play(3, [playKneel/*, playCorner, playCbt*/], ap); +	} +	else { +		play(3, [preRelease, preEdge, preGag, preClamps, preCollar, preStrip]); +		play(3, [playStrokes, playEdges, playNothing]); +		play(2, [postEdge, postCum, postChastity]); +	}  };  def sessionRelease = { goodToy ->  	if (goodToy) { | 
