summaryrefslogtreecommitdiff
path: root/images
diff options
context:
space:
mode:
authorDan Goodliffe <dan.goodliffe@octal.co.uk>2026-06-18 12:47:33 +0100
committerDan Goodliffe <dan.goodliffe@octal.co.uk>2026-06-19 17:41:01 +0100
commit71c6c1e99e93607cdfb26de6e4d11a6bf52ca427 (patch)
tree1a0fbf8f4d0f9b8589c3a699fe8db682e92470ad /images
parentActually call the size method (diff)
downloadtoy-71c6c1e99e93607cdfb26de6e4d11a6bf52ca427.zip
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.
Diffstat (limited to 'images')
-rw-r--r--images/toy/ancilla/person.groovy4
-rw-r--r--images/toy/ancilla/person.json5
-rw-r--r--images/toy/domme.groovy92
3 files changed, 5 insertions, 96 deletions
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..79ec476
--- /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 humiliating 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' ]
- ]
- ]
- ]
- ]
-]