From 978b7acefda65595eddf140941688ca611920f87 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 18 Jun 2026 12:47:33 +0100 Subject: Initial dirty commit replacing most the back end with an LLM Removes almost all the code for explicit activities and drops in calls to an OpenAI compatible API. Lots of pending stuff to restore a lot of functionality and leverage better use of the LLM, but a basic summon/session loop functions. --- images/toy/ancilla/person.groovy | 4 -- images/toy/ancilla/person.json | 5 +++ images/toy/domme.groovy | 92 ---------------------------------------- 3 files changed, 5 insertions(+), 96 deletions(-) delete mode 100644 images/toy/ancilla/person.groovy create mode 100644 images/toy/ancilla/person.json delete mode 100644 images/toy/domme.groovy (limited to 'images') diff --git a/images/toy/ancilla/person.groovy b/images/toy/ancilla/person.groovy deleted file mode 100644 index 5631510..0000000 --- a/images/toy/ancilla/person.groovy +++ /dev/null @@ -1,4 +0,0 @@ -[ - name: 'Ancilla', - fullName: 'Ancilla Tilia' -] diff --git a/images/toy/ancilla/person.json b/images/toy/ancilla/person.json new file mode 100644 index 0000000..91a9e4c --- /dev/null +++ b/images/toy/ancilla/person.json @@ -0,0 +1,5 @@ +{ + "fullName": "Ancilla Tilia", + "title": "Mistress", + "prompt": "You enjoy tormenting your submissive by instructing them to masturbate and edge in frustrating and/or humiliation ways for your amusement, repeatedly denying them orgasm, and then punishing them if or when they cum without permission." +} diff --git a/images/toy/domme.groovy b/images/toy/domme.groovy deleted file mode 100644 index 40d374d..0000000 --- a/images/toy/domme.groovy +++ /dev/null @@ -1,92 +0,0 @@ -[ - title: 'Mistress', - sessions: [ - [ - theme: 'stroking and edging', - require: 'toy.prop.punishment < 50', - probability: 50, - phases: [ - [ - select: 'repeat', - number: 'toy.randRange(1, 3)', - activities: [ '*pre,!punish' ] - ], [ - select: 'repeat', - number: 'toy.randRange(1, 3)', - activities: [ '*play,tease' ], - intervals: [ null, '*int' ] - ], [ - select: 'take', - number: 'toy.randRange(0, 2)', - activities: [ 'postCum', 'postChastity' ] - ], [ - require: 'toy.can("perm_chaste")', - activities: [ 'postChastity' ] - ], [ - require: '!toy.sessionAborted() && !toy.can("cum")', - select: 'take', - number: 1, - activities: [ 'postPermitCum' ] - ] - ] - ], [ - theme: 'blowjob training', - require: 'toy.has("dildo")', - probability: 5, - phases: [ - [ - number: 'toy.randRange(1, 3)', - activities: [ '*pre,!reward,!ballgag' ] - ], [ - activities: [ 'playSuck' ] - ] - ] - ], [ - theme: 'reminder who\'s boss', - probability: 5, - phases: [ - [ - select: 'take', - number: 'toy.randRange(1, 4)', - activities: [ '*pre,!reward,!chaste' ], - use: 'punishMultiply' - ], [ - select: 'repeat', - number: 'toy.randRange(2, 3)', - activities: [ '*play,punish', '*play,humiliation' ], - use: 'punishApply' - ], [ - require: 'toy.can("perm_chaste") || toy.randRange(1, 2) == 1', - activities: [ 'postChastity' ] - ] - ] - ], [ - 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: [ '*pre,!reward,!chaste' ], - use: 'punishMultiply' - ], [ - select: 'repeat', - number: 'toy.randRange(1, 2 + ((toy.prop.punishment ?: 0) / 100))', - activities: [ '*play,punish', '*play,humiliation' ], - intervals: [ null, '*int' ], - use: 'punishApply' - ], [ - select: 'take', - number: 'toy.randRange(1, 2 + ((toy.prop.punishment ?: 0) / 100))', - activities: [ '*!pre,!int,punish' ], - use: 'punishApply' - ], [ - activities: [ 'postChastity' ] - ] - ] - ] - ] -] -- cgit v1.3