[Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by FrozenWolf »

GodDragon wrote: Wed Apr 14, 2021 6:35 pm
FrozenWolf wrote: Sun Apr 04, 2021 10:40 pm @GodDragon :wave:

I've found that some parts of the script call "
BUTTPLUG_TOY.hasToy()
" and some parts call "
hasButtplugToy()
". The former gets the boolean variable "
toybuttplugs.var
" and the latter returns true if the number of buttplugs loaded from "
buttplugs.var
" > 0.

I can't find anywhere that "
BUTTPLUG_TOY.setHasToy(true)
" is called even though I have the variable "
toybuttplugs.var
" initialised correctly (with true in my case), so that's a bit of a mystery to me.

There's a part of the daily slave task that seems to mix both approaches:
    if (ANAL_LIMIT.isAllowed() && getVar(VARIABLE.ASS_LEVEL) >= 30 && BUTTPLUG_TOY.hasToy() && buttplugs.length > 2) {


It's not clear to me if one function is preferable for use under a particular circumstance, or whether they're intended to always behave the same, or if it's just evolved over time to be become a bit confusing. What's the best approach to use?
Thanks for taking care of all the bugs for me. I had some stuff in RL to deal with and still got an exam coming up so sorry about that.

I think it's just something that historically grown. Although I need to check for more than two buttplugs since it involves more than two.
Always happy to help if I can :-).
Best of luck with your exams, they're definitely the priority at the moment!
2184
Explorer
Explorer
Posts: 30
Joined: Tue May 12, 2020 12:56 pm
Gender: Male
Sexual Orientation: Straight

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by 2184 »

Encountered a new bug during my last session. The bugs are appearing further and further apart, great job! :smile:
Seems like the implementation of the position training test is broken:

Code: Select all

07:47:02 PM CHAT: 07:47 PM Caprice: I will ask you some questions.
07:47:05 PM CHAT: 07:47 PM Caprice: Get 6 right and I will reward you
07:47:09 PM CHAT: 07:47 PM Caprice: Get 3 wrong and you will be awarded with punishment points
07:47:15 PM CHAT: 07:47 PM Caprice: So let's get to it..
07:47:17 PM CHAT: 07:47 PM Caprice: Which number belongs to position come fuck me?
07:47:37 PM SEVERE: Latest loaded file was '/TAJ/Personalities/Spicy/Session/Modules/Slave/Neutral/PositionTraining.js' and error was found in line 533
Error: ReferenceError: "positionTestWrong" is not defined in <eval> at line number 533
javax.script.ScriptException: ReferenceError: "positionTestWrong" is not defined in <eval> at line number 533
	at jdk.scripting.nashorn/
Another minor issue is the BentOverOpen2.jpg is not shown as it tries to show the image using a lower case "b" (line 72 in PositionTraining.js)
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by FrozenWolf »

2184 wrote: Mon Apr 26, 2021 5:42 pm Encountered a new bug during my last session. The bugs are appearing further and further apart, great job! :smile:
Seems like the implementation of the position training test is broken:

Code: Select all

07:47:02 PM CHAT: 07:47 PM Caprice: I will ask you some questions.
07:47:05 PM CHAT: 07:47 PM Caprice: Get 6 right and I will reward you
07:47:09 PM CHAT: 07:47 PM Caprice: Get 3 wrong and you will be awarded with punishment points
07:47:15 PM CHAT: 07:47 PM Caprice: So let's get to it..
07:47:17 PM CHAT: 07:47 PM Caprice: Which number belongs to position come fuck me?
07:47:37 PM SEVERE: Latest loaded file was '/TAJ/Personalities/Spicy/Session/Modules/Slave/Neutral/PositionTraining.js' and error was found in line 533
Error: ReferenceError: "positionTestWrong" is not defined in <eval> at line number 533
javax.script.ScriptException: ReferenceError: "positionTestWrong" is not defined in <eval> at line number 533
	at jdk.scripting.nashorn/
Good catch, I'll submit a patch for that.
2184 wrote: Mon Apr 26, 2021 5:42 pm Another minor issue is the BentOverOpen2.jpg is not shown as it tries to show the image using a lower case "b" (line 72 in PositionTraining.js)
I corrected a lot of filename references recently to match what is in the official image pack. The image pack contains these files under
Spicy/Positions
:
Spoiler: show
Attention1.jpg
Attention2.jpg
BadBitch1.jpg
BadBitch2.jpg
BadBitch3.jpg
BentOver1.jpg
BentOver2.jpg
bentOver3.jpg
bentOverOpen1.jpg
bentOverOpen2.jpg
bentOverOpen3.jpg
Box1.jpg
BoxCloseup1.jpg
CFM1.jpg
CFM2.jpg
CFM3.jpg
CFM4.jpg
Dog1.jpg
Dog2.jpg
Dog3.jpg
Judgement1.jpg
Kneel1.jpg
Kneel2.jpg
Listen1.jpg
Punishment1.jpg
Punishment2.jpg
Punishment3.jpg
Punishment4.jpg
Punishment5.jpg
Rice1.jpg
Rice2.jpg
Slut1.jpg
Slut2.jpg
Spanking1.jpg
Spanking2.jpg
Stand1.jpg
Stand2.jpg
Stand3.jpg
StandOpen1.jpg
Worship1.jpg
Do you think you might have renamed the file to make it work previously, and now that the filename reference is correct, it no longer works?
2184
Explorer
Explorer
Posts: 30
Joined: Tue May 12, 2020 12:56 pm
Gender: Male
Sexual Orientation: Straight

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by 2184 »

FrozenWolf wrote: Tue Apr 27, 2021 10:16 am Do you think you might have renamed the file to make it work previously, and now that the filename reference is correct, it no longer works?
I might have, but I don't think so. As In PositionTraining.js bentOverOpen2 is the only one with a lowercase-b (only once on line 72, but with an uppercase the other spots).
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by FrozenWolf »

2184 wrote: Tue Apr 27, 2021 4:40 pm
FrozenWolf wrote: Tue Apr 27, 2021 10:16 am Do you think you might have renamed the file to make it work previously, and now that the filename reference is correct, it no longer works?
I might have, but I don't think so. As In PositionTraining.js bentOverOpen2 is the only one with a lowercase-b (only once on line 72, but with an uppercase the other spots).
Ooh, that's interesting. I've just run a grep on the latest script to find any references and found these:

TeaseAIJava/Personalities/Spicy$ grep -ri bentOverOpen

Session/Modules/Slave/Neutral/PositionTraining.js:    showPicture("Images/Spicy/Positions/bentOverOpen2.jpg", 3);
Session/Modules/Slave/Neutral/PositionTraining.js:            showImage("Images/Spicy/Positions/bentOverOpen2.jpg");
Session/Modules/Slave/Neutral/PositionTraining.js:            showImage("Images/Spicy/Positions/bentOverOpen3.jpg");
Session/Modules/Slave/Neutral/PositionTraining.js:            showImage("Images/Spicy/Positions/bentOverOpen1.jpg");
Session/Modules/Slave/Neutral/PositionTraining.js:        currentTest_position4 : function(){positionTest("4", "bent over open", "Images/Spicy/Positions/BentOverOpen1.jpg")},
Session/Modules/Slave/Neutral/PositionTraining.js:            showImage("Images/Spicy/Positions/bentOverOpen2.jpg");

This shows that there is indeed a typo in
PositionTraining.js
on line 450 where it should have a lowercase 'b'. Can you have a look at your image files to verify their case?
2184
Explorer
Explorer
Posts: 30
Joined: Tue May 12, 2020 12:56 pm
Gender: Male
Sexual Orientation: Straight

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by 2184 »

FrozenWolf wrote: Tue Apr 27, 2021 6:08 pm Can you have a look at your image files to verify their case?
All of the position images are PascalCase
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by FrozenWolf »

2184 wrote: Fri Apr 30, 2021 7:20 pm
FrozenWolf wrote: Tue Apr 27, 2021 6:08 pm Can you have a look at your image files to verify their case?
All of the position images are PascalCase
I've just downloaded the official image pack again to make sure, and not all images are PascalCase, so my original post with the list of filenames from the image pack is still correct:
FrozenWolf wrote: Tue Apr 27, 2021 10:16 am The image pack contains these files under
Spicy/Positions
:
Spoiler: show
Attention1.jpg
Attention2.jpg
BadBitch1.jpg
BadBitch2.jpg
BadBitch3.jpg
BentOver1.jpg
BentOver2.jpg
bentOver3.jpg
bentOverOpen1.jpg
bentOverOpen2.jpg
bentOverOpen3.jpg
Box1.jpg
BoxCloseup1.jpg
CFM1.jpg
CFM2.jpg
CFM3.jpg
CFM4.jpg
Dog1.jpg
Dog2.jpg
Dog3.jpg
Judgement1.jpg
Kneel1.jpg
Kneel2.jpg
Listen1.jpg
Punishment1.jpg
Punishment2.jpg
Punishment3.jpg
Punishment4.jpg
Punishment5.jpg
Rice1.jpg
Rice2.jpg
Slut1.jpg
Slut2.jpg
Spanking1.jpg
Spanking2.jpg
Stand1.jpg
Stand2.jpg
Stand3.jpg
StandOpen1.jpg
Worship1.jpg
I suggest you rename the four non-PascalCase file names to match what's in the image pack, i,e, bentOver3.jpg, bentOverOpen1.jpg, bentOverOpen2.jpg, and bentOverOpen3.jpg.
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 795
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by GodDragon »

Hey guys, quick report. In the past few days I have done quite a lot.

"Spoiler" Warning:
Spoiler: show
I have added an on board small http server into spicy that allows you to upload a picture of your chastity key combination directly via the phone to the spicy folder by visiting a page in your mobile browser (no worries, it is all local, no pictures are send to anyone except your own pc). I plan on allowing the same thing for Humiliation pictures and stuff. This makes this so much easier and quicker. It literally takes me like 10 seconds to take the photo, 15 seconds to upload it and then like 10 more to delete it off my phone. Much quicker than like connecting your phone to your pc, moving files or using google drive or something.

Additionally I have worked a lot on incoperating suggestions by a fellow user in the community (Truewilling) regarding feminization. The variety and detail you can store in panties, bras, tops, trousers and more is on a new level. These changes are work in progress so don't expect it to work flawlessly and to make use of everything yet. I have more things to come as well.

Also added a rudimentary handling of holiday and sickness. Nothing too fancy yet but we'll get there.
Additionally I tried to generify a lot and create sort of frameworks to decrease the amount of code I have to copy paste.

Hope you are all alright and I'm excited for future suggestions from the community. Thrilled to hear that the amount of bugs has been going down to a very bearable amount. My sessions also have been running butter smooth. No crashes in the past 20 sessions.
leezer3
Explorer
Explorer
Posts: 38
Joined: Sat Mar 28, 2020 10:31 am

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by leezer3 »

A suggestion:
You're spending a lot of time messing around with casing in filenames, and this can only get worse if other authors start pushing personalities.

It might be easier to just write a path insensitive combining function and use that instead.
https://github.com/leezer3/OpenBVE/blob ... em/Path.cs

Feel free to hijack these (they're C# but should be trivial to port to Java)
Ingvald_Alex
Explorer
Explorer
Posts: 70
Joined: Mon Mar 22, 2021 8:02 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Ingvald_Alex »

Suddenly, the program freeze again. I have the latest version of the program with all the new fixes.

Log:
Spoiler: show

Code: Select all

03:35:47 AM CHAT: 03:35 AM Anna: I've stored so much frustration in my agonized family jewels today
03:35:58 AM CHAT: 03:35 AM Anna: And now I get to decide what to do about that...
03:36:05 AM CHAT: 03:36 AM Anna: I love this moment *wickedly grins*
03:36:16 AM CHAT: 03:36 AM Anna: I want you to stroke now but I guess we need to make some room on that penis first *grin*
03:36:25 AM INFO: Calculating mood for 843 and strictness 2
03:36:25 AM INFO: Feel like punishing chance: 21
03:36:25 AM INFO: Daily merit change modifier: 33
03:36:25 AM INFO: Calculating mood for 843 and strictness 2
03:36:25 AM INFO: Calculating mood for 843 and strictness 2
03:36:28 AM CHAT: 03:36 AM Anna: You may remove all clamps from your prick toy
03:36:37 AM CHAT: 03:36 AM Anna: Tell me when you are ready to continue
03:37:26 AM CHAT: 03:37 AM Alex: Yes Princess
03:37:28 AM CHAT: 03:37 AM Anna: Much better isn't it?
03:37:31 AM INFO: Current orgasm points 15/53.642082744805094
03:37:31 AM INFO: Calculating mood for 843 and strictness 2
03:37:35 AM CHAT: 03:37 AM Alex: No Princess
03:37:36 AM CHAT: 03:37 AM Anna: That prick looks like it's about ready to explode lmfao
03:37:44 AM CHAT: 03:37 AM Anna: Go ahead and fetch your shoelace
03:37:50 AM CHAT: 03:37 AM Anna: Tell me when you are ready to continue.
03:38:35 AM CHAT: 03:38 AM Alex: Yes Princess
03:38:36 AM CHAT: 03:38 AM Anna: Wonderful
03:38:40 AM CHAT: 03:38 AM Anna: Now take that rope and tie up your balls
03:38:46 AM CHAT: 03:38 AM Anna: Do it real nice and tight
03:38:52 AM CHAT: 03:38 AM Anna: But don't cut off the blood flow
03:38:58 AM CHAT: 03:38 AM Anna: Tell me when you are ready to continue
03:40:19 AM CHAT: 03:40 AM Alex: I am on the edge
03:40:19 AM INFO: Calculating mood for 843 and strictness 2
03:40:19 AM INFO: Changing merits (level 0) by -21
03:40:19 AM INFO: Calculating mood for 822 and strictness 2
03:40:22 AM CHAT: 03:40 AM Alex: I am sorry Princess
03:40:24 AM CHAT: 03:40 AM Anna: Just breathe in and out, relax the muscles in that fuckstick
03:40:33 AM INFO: Calculating mood for 822 and strictness 2
03:40:33 AM CHAT: 03:40 AM Anna: Are you having trouble keeping up slave?
03:40:36 AM CHAT: 03:40 AM Alex: No Princess
03:40:38 AM CHAT: 03:40 AM Anna: Oh good *mischievous grin*
03:40:42 AM CHAT: 03:40 AM Anna: Then we can continue
03:40:47 AM CHAT: 03:40 AM Anna: If you aren't done yet don't bother me.
03:40:52 AM CHAT: 03:40 AM Alex: Yes Princess
03:40:58 AM CHAT: 03:40 AM Alex: Yes Princess
03:41:04 AM CHAT: 03:41 AM Alex: Yes Princess
03:41:16 AM CHAT: 03:41 AM Alex: Done Princess
03:41:25 AM CHAT: 03:41 AM Alex: I am on the edge
03:42:02 AM CHAT: 03:42 AM Alex: Yes Princess
03:42:03 AM CHAT: 03:42 AM Alex: No Princess
03:42:11 AM CHAT: 03:42 AM Alex: I had an orgasm
Princess
03:42:03 AM CHAT: 03:42 AM Alex: No Princess
03:42:11 AM CHAT: 03:42 AM Alex: I had an orgasm
Another Log:
Spoiler: show

Code: Select all

10:26:39 AM INFO: Loaded 68 vocabularies.
10:26:39 AM INFO: Loaded 14 responses.
10:26:41 AM CHAT: Launching Spicy 0.1.5.1
10:26:42 AM INFO: Loaded 3 rooms
10:26:42 AM INFO: Loaded 2 end games
10:26:43 AM INFO: Mood after startup routine
10:26:43 AM INFO: Lust: 28
10:26:43 AM INFO: Happiness: 18
10:26:43 AM INFO: Anger: 23
10:26:43 AM INFO: Pushed 8 to result 17
10:26:43 AM INFO: Loaded 0 e stim modes
10:26:44 AM INFO: [Dildo] Longest: none
10:26:44 AM INFO: [Dildo] Shortest: none
10:26:44 AM INFO: [Dildo] Smallest: none
10:26:44 AM INFO: [Dildo] Thickest: none
10:26:44 AM INFO: [ButtPlug] Smallest: none
10:26:44 AM INFO: [ButtPlug] Biggest: none
10:26:44 AM INFO: Loaded 0 chastity cages
10:26:44 AM INFO: Loaded 0 dildos
10:26:44 AM INFO: Loaded 0 buttplugs
10:26:44 AM CHAT: [Vivienne]: Is there anything else I can do for you?
10:26:49 AM CHAT: 10:26 AM Alex: Session
10:26:49 AM INFO: Calculating mood for 822 and strictness 2
10:26:49 AM CHAT: [Vivienne]: Establishing session with Princess
10:26:56 AM INFO: Calculating mood for 822 and strictness 2
10:26:56 AM INFO: Starting session with mood: 1
10:26:56 AM INFO: Calculating mood for 822 and strictness 2
10:26:57 AM CHAT: 10:26 AM Anna: Hello slave
10:26:59 AM CHAT: 10:26 AM Alex: Hello Princess
10:27:00 AM INFO: Executing start and adding to history
10:27:00 AM INFO: Calculating mood for 822 and strictness 2
10:27:03 AM CHAT: 10:27 AM Anna: Are you as happy to see me as I am to see you?
10:27:11 AM CHAT: 10:27 AM Alex: Yes Princess
10:27:11 AM INFO: Calculating mood for 822 and strictness 2
10:27:13 AM CHAT: 10:27 AM Anna: I'm glad to hear that slave
10:27:16 AM INFO: Random toy interact
10:27:17 AM INFO: Random toy buttplug done
10:27:17 AM INFO: Random toy collar done
10:27:17 AM INFO: Looking into redistributing clamps that have been on for too long
10:27:17 AM INFO: Random toy pain done
10:27:17 AM INFO: Calculating mood for 822 and strictness 2
10:27:17 AM INFO: Annoyed by talking chance: 10
10:27:17 AM INFO: Calculating mood for 822 and strictness 2
10:27:17 AM INFO: Calculating mood for 822 and strictness 2
10:27:17 AM INFO: Feel like punishing chance: 21
10:27:17 AM INFO: Daily merit change modifier: 22
10:27:17 AM INFO: Feels like punishing so +50 spider gag chance
10:27:19 AM CHAT: 10:27 AM Anna: Go ahead and get your ball gag
10:27:25 AM CHAT: 10:27 AM Anna: Tell me when you are ready to continue.
10:27:34 AM CHAT: 10:27 AM Alex: I am on the edge
10:27:34 AM INFO: Calculating mood for 822 and strictness 2
10:27:34 AM INFO: Changing merits (level 0) by -17
10:27:34 AM INFO: Calculating mood for 805 and strictness 2
10:27:39 AM CHAT: 10:27 AM Anna: Just breathe in and out, relax the muscles in that tiny pecker
10:27:49 AM INFO: Calculating mood for 805 and strictness 2
10:27:49 AM CHAT: 10:27 AM Anna: Are you having trouble keeping up toy?
10:27:53 AM CHAT: 10:27 AM Alex: No Princess
10:27:55 AM CHAT: 10:27 AM Anna: Oh good *swallows*
10:27:58 AM CHAT: 10:27 AM Anna: Then we can continue
10:28:01 AM CHAT: 10:28 AM Anna: Are you done yet?
10:28:03 AM CHAT: 10:28 AM Alex: Yes Princess
10:28:06 AM CHAT: 10:28 AM Alex: Yes Princess
10:28:15 AM CHAT: 10:28 AM Alex: Yes Princess
s Princess
10:28:06 AM CHAT: 10:28 AM Alex: Yes Princess
10:28:15 AM CHAT: 10:28 AM Alex: Yes Princess
As I understand it, the program freezes when you accidentally click on "Edge" and then answer "No" to the question "Are you having trouble keeping up toy?"

How do I stop "Edge a ton", but continue the session? More than 20 edges in a row is too much! Last time there were 37 edges...

And please add a "Safeword". With which you can either stop the session completely if something went wrong, or switch to another action.
machine_maker
Explorer
Explorer
Posts: 19
Joined: Sat Apr 06, 2019 11:21 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by machine_maker »

GodDragon wrote: Fri Apr 30, 2021 11:04 pm Hey guys, quick report. In the past few days I have done quite a lot.

"Spoiler" Warning:
Spoiler: show
I have added an on board small http server into spicy that allows you to upload a picture of your chastity key combination directly via the phone to the spicy folder by visiting a page in your mobile browser (no worries, it is all local, no pictures are send to anyone except your own pc). I plan on allowing the same thing for Humiliation pictures and stuff. This makes this so much easier and quicker. It literally takes me like 10 seconds to take the photo, 15 seconds to upload it and then like 10 more to delete it off my phone. Much quicker than like connecting your phone to your pc, moving files or using google drive or something.

Additionally I have worked a lot on incoperating suggestions by a fellow user in the community (Truewilling) regarding feminization. The variety and detail you can store in panties, bras, tops, trousers and more is on a new level. These changes are work in progress so don't expect it to work flawlessly and to make use of everything yet. I have more things to come as well.

Should the existing setup for clothing work if I just pull the changes from the repo? Or should I setup stuff again?

Also added a rudimentary handling of holiday and sickness. Nothing too fancy yet but we'll get there.
Additionally I tried to generify a lot and create sort of frameworks to decrease the amount of code I have to copy paste.

Hope you are all alright and I'm excited for future suggestions from the community. Thrilled to hear that the amount of bugs has been going down to a very bearable amount. My sessions also have been running butter smooth. No crashes in the past 20 sessions.
Ingvald_Alex
Explorer
Explorer
Posts: 70
Joined: Mon Mar 22, 2021 8:02 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Ingvald_Alex »

One more freeze.

Log:
Spoiler: show

Code: Select all

05:26:13 PM INFO: Trying to run module \Session\Modules\Pain\NoChastity\BallCrusherPlay.js
05:26:13 PM INFO: Trying to run module \Session\Modules\Pain\NoChastity\ParachutePlay.js
05:26:13 PM INFO: Trying to run module \Session\Modules\Pain\Neutral\EStimPlay.js
05:26:13 PM INFO: Trying to run module \Session\Modules\Pain\Dynamic\BallBusting.js
05:26:13 PM INFO: Unable to find module for category Pain to run
05:26:13 PM INFO: Stuck in module Pain loop . Trying tease now
05:26:13 PM INFO: Pushed 2 to result 2
05:26:13 PM INFO: Pushed 7 to result 9
05:26:13 PM INFO: Pushed 1 to result 10
05:26:13 PM INFO: Trying to run module \Session\Modules\Tease\NoChastity\AssWorship.js
05:26:13 PM INFO: Trying to run module AssWorship from category 6 and was in previous module is false
Exception in thread "Thread-29" java.lang.NullPointerException
	at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:88)
	at me.goddragon.teaseai.api.picture.PictureSet.getRandomPictureForTagStates(PictureSet.java:54)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$414$1020AA$\^eval\_.showDommeTaggedImageForPictureTag(<eval>:34)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$412$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$412$\^eval\_.:program(<eval>:10)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$339$2711A$\^eval\_.runModuleCategory(<eval>:72)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$411$\^eval\_.:program(<eval>:4)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$339$2711A$\^eval\_.runModuleCategory(<eval>:72)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$409$\^eval\_.:program(<eval>:6)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$339$2711A$\^eval\_.runModuleCategory(<eval>:72)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$408$\^eval\_.:program(<eval>:4)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$339$2711A$\^eval\_.runModuleCategory(<eval>:72)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$406$\^eval\_.:program(<eval>:3)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$339$2711A$\^eval\_.runModuleCategory(<eval>:72)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$289$\^eval\_.:scopeCall-9(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$289$\^eval\_.:program(<eval>:179)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$249$\^eval\_.:program(<eval>:91)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$241$5149$\^eval\_.startSession(<eval>:131)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$233$\^eval\_.:program(<eval>:38)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.evalScript(ScriptHandler.java:171)
	at me.goddragon.teaseai.api.scripts.nashorn.RunFunction.call(RunFunction.java:30)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$46$\^eval\_.:scopeCall(<eval>)
	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$46$\^eval\_.:program(<eval>:148)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:157)
	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.runScript(ScriptHandler.java:190)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:144)
	at me.goddragon.teaseai.api.scripts.ScriptHandler.startPersonality(ScriptHandler.java:126)
	at me.goddragon.teaseai.api.session.Session$1.run(Session.java:41)
05:28:48 PM CHAT: 05:28 PM Alex: No Mistress
05:28:52 PM CHAT: 05:28 PM Alex: Yes Mistress
05:28:53 PM CHAT: 05:28 PM Alex: I am sorry Mistress
05:28:55 PM CHAT: 05:28 PM Alex: I am on the edge
05:28:57 PM CHAT: 05:28 PM Alex: I am on the edge
ss
05:28:55 PM CHAT: 05:28 PM Alex: I am on the edge
05:28:57 PM CHAT: 05:28 PM Alex: I am on the edge
machine_maker
Explorer
Explorer
Posts: 19
Joined: Sat Apr 06, 2019 11:21 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by machine_maker »

GodDragon wrote: Fri Apr 30, 2021 11:04 pm Hey guys, quick report. In the past few days I have done quite a lot.

"Spoiler" Warning:
Spoiler: show
I have added an on board small http server into spicy that allows you to upload a picture of your chastity key combination directly via the phone to the spicy folder by visiting a page in your mobile browser (no worries, it is all local, no pictures are send to anyone except your own pc). I plan on allowing the same thing for Humiliation pictures and stuff. This makes this so much easier and quicker. It literally takes me like 10 seconds to take the photo, 15 seconds to upload it and then like 10 more to delete it off my phone. Much quicker than like connecting your phone to your pc, moving files or using google drive or something.

Additionally I have worked a lot on incoperating suggestions by a fellow user in the community (Truewilling) regarding feminization. The variety and detail you can store in panties, bras, tops, trousers and more is on a new level. These changes are work in progress so don't expect it to work flawlessly and to make use of everything yet. I have more things to come as well.

Also added a rudimentary handling of holiday and sickness. Nothing too fancy yet but we'll get there.
Additionally I tried to generify a lot and create sort of frameworks to decrease the amount of code I have to copy paste.

Hope you are all alright and I'm excited for future suggestions from the community. Thrilled to hear that the amount of bugs has been going down to a very bearable amount. My sessions also have been running butter smooth. No crashes in the past 20 sessions.
Will the personality work fine with the clothing changes if I just pull the latest from the repo? Or do I have to re-setup toys again?
User avatar
Helequin
Experimentor
Experimentor
Posts: 1095
Joined: Sat Sep 09, 2006 11:59 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Location: Canada

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by Helequin »

Finally had some time to get around to playing with Spicy and I'm definitely impressed! The stability of the TAI Java platform is much appreciated. I'm just two sessions in, but have a few question and a couple points of possible feedback.

First question is what is the functional difference between the personality strictness (the 0-2) and the the type (0 or 1)? As presented in the intro it's not super clear how these two settings are different from each other. I started off with 1 strictness and type 1, and not sure it feels quite right, although it's too early to know for sure. In general I enjoy a domme type which can be very demanding but still fair, and caring in the end even in the act of working me over :lol: . What differences would I notice if I were to set it to something like strictness 2 and type 0?

I am also seeing black images when the domme reaches for URL files at times. I began with the Spicy starter pack, so the url files are reddit based and set-up right. What I'm noticing in the downloaded pictures files there are a number of mp4 files, likely due now to the prevalence of "gifs" which are not at all actual gifs. Also quite a few broken imgur images, but not sure there's anything which can be done about that.

Last point, I said yes to the domme asking for verbal humiliation and she immediately took it to a more intense level than I thought she meant. Limits in these areas can always be really hard to quantify as there is a huge range of what might be considered humiliation, but is there a way to set this back to 'Maybe' instead of 'Yes'?

A few feedback points have come to mind, I'll spoiler them so there are no surprises ruined for other players:
Spoiler: show
1. The pussy licking task is an interesting concept but a bit boring IMHO. It's hard to stay as interested or immersed in the fantasy of it when the whole screen is just a big colour coded arrow as it goes on for 7 or 8 minutes. Not sure how to improve this, unless TAI is capable of overlaying the arrow on another image or something like that.

2. The intro is a neat concept and I like the immersion of it. But it's also pretty slow to get through, especially if something goes wrong and it needs to be redone. A 'quick set up' option might be a nice to have for players who want or need to restart, but are familiar with Spicy. It also felt a bit odd that the set up counted as a session, leaving the domme not available to play later in the day.

3. I'd recommend letting users set how long they should have to wait between sessions, especially for part time mode. Schedules differ and it's not out of line to have 4 sessions in say a weekend when there is more free time.

4. Thematically the intro is at odds with the domme so far. The intro sets up this immersive matchmaking service to introduce me to the domme, then the domme immediately begins talking as if she's been in control of me for some time. Obviously this is still Alpha and this doesn't hinder any of the functional parts of Spicy, so just a minor point.

5. Some way to pause the session while dealing with any RL interruptions would definitely be handy.
Playing Help Me Cum Please!
Choosing a Goddess - a set for anyone to play
The 1000th Reply Celebration Challenge and it's Finale - an ongoing challenge to try
Co-author of Kyla's Party - webtease based on Help me Cum Please.


Miss Elyna's Cum Challenge Winner
User avatar
FrozenWolf
Explorer At Heart
Explorer At Heart
Posts: 434
Joined: Tue Oct 30, 2018 7:50 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch
Dom/me(s): None
Sub/Slave(s): None
Location: UK

Re: [Tease AI Java] Spicy (Open Alpha | 16.12 | v0.1.5.1)

Post by FrozenWolf »

GodDragon wrote: Fri Apr 30, 2021 11:04 pm Hey guys, quick report. In the past few days I have done quite a lot.

"Spoiler" Warning:
Spoiler: show
I have added an on board small http server into spicy that allows you to upload a picture of your chastity key combination directly via the phone to the spicy folder by visiting a page in your mobile browser (no worries, it is all local, no pictures are send to anyone except your own pc). I plan on allowing the same thing for Humiliation pictures and stuff. This makes this so much easier and quicker. It literally takes me like 10 seconds to take the photo, 15 seconds to upload it and then like 10 more to delete it off my phone. Much quicker than like connecting your phone to your pc, moving files or using google drive or something.

Additionally I have worked a lot on incoperating suggestions by a fellow user in the community (Truewilling) regarding feminization. The variety and detail you can store in panties, bras, tops, trousers and more is on a new level. These changes are work in progress so don't expect it to work flawlessly and to make use of everything yet. I have more things to come as well.

Also added a rudimentary handling of holiday and sickness. Nothing too fancy yet but we'll get there.
Additionally I tried to generify a lot and create sort of frameworks to decrease the amount of code I have to copy paste.

Hope you are all alright and I'm excited for future suggestions from the community. Thrilled to hear that the amount of bugs has been going down to a very bearable amount. My sessions also have been running butter smooth. No crashes in the past 20 sessions.
Great to hear! Looking forward to trying out some of your new enhancements. I'll hold off making any further pull requests (other than the tiny one, #44, that I made last week) while you're doing any refactoring or big additions.
Post Reply