diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-20 21:12:05 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-20 21:12:05 +0100 |
commit | 401d0dc7528b260aacb2af78030e65bd93f436e6 (patch) | |
tree | 2253504fed9805a2d9983549d456d83a68a09847 /scripts/toy.groovy | |
parent | Extract imagery into a module (diff) | |
download | toy-401d0dc7528b260aacb2af78030e65bd93f436e6.zip |
Extract confession into a module
Diffstat (limited to 'scripts/toy.groovy')
-rw-r--r-- | scripts/toy.groovy | 93 |
1 files changed, 1 insertions, 92 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy index 529f5e0..0fc31ae 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -1549,97 +1549,6 @@ return new Object() { showButtonG("Thank you, ${dommeTitle()}", "ok"); showLounge(); }; - // Confession - def confessChastityRelease = { - adjustPunish(75); - present([DRESSED, nTEASE], [ - ["Bad toy!", "Naughty little slut."], - ["I don't keep it locked for nothing.", "It's locked for a reason."], - ["It better have been a good reason.", "I'll presume you had a valid excuse."], - ["Is it locked again now?", "Are you back in chastity now?"]]); - if (getBoolean(null)) { - present([DRESSED, nTEASE], [ - ["Good!", "There's that at least."]]); - showButtonG("Yes, ${dommeTitle()}", "ok"); - } - else { - adjustPunish(300); - present([DRESSED, nTEASE], [ - ["disobedient", "dirty", "cheeky"], - ["little"], - ["slut!", "whore!", "brat!"], - ["Get it locked back up", "Back in chastity"], - ["right now!", "this instant!"]]); - showButtonGT("Locked, ${dommeTitle()}. Here's the key.", "locked", 180, 1); - } - if (getBoolean("Did you get erect whilst out?")) { - adjustPunish(50); - if (getBoolean("Did you cum!?")) { - adjustPunish(200); - } - } - adjustPunish(getInteger("How many hours were you out?", 1) * 10); - }; - def confessStroked = { - adjustPunish(40); - present([DRESSED,nTEASE], [ - ["Awww, poor little toy.", "Naught little toy!"], - ["You know you aren't allowed.", "You get to stroke only when I say."]]); - showButtonG("Sorry, ${dommeTitle()}", "sorry"); - if (getBoolean("Did you get to the edge?")) { - adjustPunish(40); - adjustPunish(getInteger("How many times?", 1) * 5); - if (getBoolean("Did you cum!?")) { - adjustPunish(200); - } - } - }; - def confess = { - // 5 points just for feeling the need to confess - def op = getPunish(); - adjustPunish(5); - dress([[DRESSED,nTEASE], [MEAN]]); - while (true) { - present([DRESSED, nTEASE], [ - ["I'm not going to like this, am I?", "There is no way this ends well for you."], - ["Out with it.", "Let me hear it."]]); - def opts = [ ]; - if (stateIs(CHASTE)) { - opts.push([lbl: "Freed from chastity", act: confessChastityRelease]); - } - if (!stateIs(CHASTE)) { - opts.push([lbl: "Stroked", act: confessStroked]); - } - opts.push([ lbl: "Nothing listed (phew!)", act: null ]); - def opt = getSelectedValue(null, opts.collect { it.lbl }); - def act = opts[opt].act; - if (!act) { - showLounge(); - return; - } - act(); - if (!getBoolean("Anything else?")) break; - } - // If sufficient points accrued, punish immediately.. with a bonus - if (getPunish() > 150 + op) { - present([MEAN], [ - ["I'm very disappointed in you.", "You've been a very bad toy!"], - ["Immediate punishment!", "So you will suffer... right now!"]]); - adjustPunish(100); - showButtonG("Yes, ${dommeTitle()}", "ok"); - removeEvent(PLAY); - sessionPlay(); - sessionRelease(sessionAborted == null); - playSchedule(); - } - else { - present([DRESSED, nTEASE], [ - ["Good!", "There better not be!"]]); - showButtonG("Yes, ${dommeTitle()}", "ok"); - showLounge(); - } - }; - // Setup def setupEvents = { playSchedule(); @@ -1684,7 +1593,6 @@ return new Object() { } def requestables = [ faq: [ lbl: "FAQ (webpage)", act: showFaq ], - confess: [ lbl: "Confess", act: confess ], ]; final addRequestable = { String name, String label, func -> requestables[name] = [lbl: label, act: func]; @@ -1793,6 +1701,7 @@ return new Object() { /* * Resources * scripts/toy.groovy + * scripts/toy/confession.groovy * scripts/toy/imagery.groovy * scripts/toy/intro.groovy * scripts/toy/sleep.groovy |