Patch 54, where are you? Right here! (Fuck, I'm old

)
Reminder: If you've been using Patch 53 and had session image saving turned off, please check your root folder (C:, F:, G: etc.) because a bug caused all blog images to be saved to the root folder. That has been fixed for this patch.
Patch 54 Updated with 54.4
Here:
https://mega.nz/#!HIM2xbTK!TsBhikBvRube ... KeQyu0NGRg
Important Note: Tease AI's assembly version will now reflect the current patch (so this is Tease AI version 0.54). This means your current settings will not be immediately accessible. To import your current settings to this version, use the Import button in the upper right hand corner of the General Settings menu, and navigate to the Tease AI folder in your Local AppData directory (If you need help finding this directory, click the Start button in Windows and search for %LocalAppData%Tease_AI). Select your most resent user.config and Tease AI will restart with those settings which will then be saved.
As of Patch 54, Stefaf's code duplicates this config file and saves it to "[Tease AI root folder]SystemSettings[version].user.config". So the importing process will be much easier for future versions, as you will simply be able to import from this location.
If you need further assistance importing previous settings, please let me know and I'll walk you through it in more detail.
Patch Notes:
Critical Bugfixes -
Stefaf: BugFix and Cause... Remote Images where stored to the RootDirectory, if Save Blog Images From Session was deactivated
Improvements -
Major overhaul to the Tasks system (The daily task letters the domme can create using the @SendDailyTasks Command)
Tasks should now function as originally intended
Multiple uses of the same #Keyword will now produce different results
Tasks are now filtered through the new routine which should greatly improve stability
Task-related #Keywords should no longer return 0 as a value
@RandomText() and @RT() can now be used in Task lines
"Domme is sending you a file" window now displays correctly when Lazy Sub AV is active
Task letters are now able to process the following Commands during their creation:
@SetFlag(), @TempFlag(), @DeleteFlag(), @SetVar[], @ShowVar[], @ChangeVar[], @RoundVar[], @DeleteVar[], @SetDate()
@UpdateOrgasm, @UpdateRuined, @ChastityOn, @ChastityOff, @RestrictOrgasm(), @RestrictOrgasm, @PornAllowedOff, @PornAllowedOn
@DecreaseOrgasmChance, @IncreaseOrgasmChance, @DecreaseRuinChance, @IncreaseRuinChance,
@AddTokens(), @RemoveTokens(), all other Token related Commands
@Morning, @Afternoon and @Night Command Filters now filter more accurately relative to user's Daily Wake Up Time
Task-related Ranges added to Ranges tab, corresponding to the following #KeyWords: #TaskStrokes, #TaskStrokingTime, #TaskEdges, #TaskHoldTheEdgeTime, #TaskCBTTime
Linear scripts now parse Command Filters using the new system, which should provide much greater stability
Side Chat now functions independently of other Apps. If Side Chat was active when another app was opened, then Side Chat will return on its own once that app is closed
Enhanced
@CustomTask() Command and added Session Tasks settings in Ranges settings tab - Session tasks (
@CBT, @CBTBalls, @CBTCock and @CustomTask()) no longer run for a random number of times. The number of times tasks run is now determined by the new settings in the Ranges settings tab for Session Tasks. For Custom Tasks, you may specify a specific amount of times to run the task using a comma. For example:
@CustomTask(Spanking, 5) - This would run the Custom Task "Spanking" 5 times. This number includes the first instruction taken from "_First.txt
Implemented Daragorn's Timed Writing Tasks feature. Timed Writing Tasks can be activated/deactivated in the Ranges settings tab
Added "Display Progress in Chat Window" option to Writing Tasks app. This setting provides feedback on how many lines/mistakes are remaining in chat during the writing task
Added Button to WritingTasks panel that allows the user to open Side Chat directly from that panel
Decreased the amount of time it takes for the domme to make her first Edging taunt by 15 seconds
BugFixes -
Tease AI will now move to the next script type in the cycle if the current script has run out of lines
Fixed bug where Glitter Contacts would drop the last word of their sentences when the domme was out of the room
Fixed bug where Playlists did not move on to Link scripts after running Modules
Fixed bug where Responses would get locked to [After Tease] lines if the domme continued a session after the orgasm decision
"Edging Ends Taunts" is no longer checked after the Taunt Cycle ends. This bug occurred if the Module didn't immediately call
@StopStroking or
@Edge
@ShowImage type Commands in Linear scripts are now filtered correctly when
@LockImages is activated
@LockImages now functions correctly when Glitter Contacts are in the room
@CheckDate() should now work correctly
"Like This Image" and "Dislike This Image" in the picture window right-click menu now disable the correct menu strip items when clicked
SYS_EdgeTotal is now updated when EdgeMode edges are reported
@Month() and
@Day() Command Filters have been added to the new Filtering process. hey were left out of Patch 53 by accident
Fixed bug where
@SubOld and
@SubYoung were not getting filtered correctly
Commands -
Added
@CustomMode() Command - You can use
@CustomMode() to set any keyword or phrase to a mode that will move to a GotoLine in the script when used. The current types that
@CustomMode() can use are Goto and Video. For example:
@CustomMode(I'm done, Goto, Finished Task) - This would move the script to the line (Finished Task) if the user types "I'm done" (not case sensitive)
@CustomMode(I saw boobs, Video, Video Closed) - This would stop a video and move to the line (Video Closed) if the user types "I saw boobs" (not case sensitive)
Only one @CustomMode() Command should be used per line, but you may have as many custom modes activated at a time that you wish. Remember that individual Modes are cleared when they resolve, and all modes are cleared when transitioning between script types. To manually clear a mode, use @CustomMode(ModeText, Normal)
Added Command
@ClearChat - Clears the main chat window and Side Chat
Added "Deny" overload to
@Edge() Command (For example, @Edge(Hold, Deny). This functions exactly like a denied orgasm after the
@DecideOrgasm Command. This simply lets the program know that the user was just denied an orgasm. Mostly useful for coordinating with end of tease Task letters
Stefaf: Added Command
@DeleteImage: This will remove the current image from all local Sources. (File system, URL-Files, LikedList, DislikedList, LocalImageTagList). But it won't delete an image located in the Domme- or Contacts-Image directory or one of it's subdirectories
Added
@LockVideo and
@UnlockVideo Commands -
@LockVideo will prevent Tease AI from switching back to the image window when a video ends. This is useful for times when you want to play multiple videos in a row for whatever reason without the domme slideshow popping up in between.
@UnlockVideo will deactivate this mode and switch back to the image window when used
Keywords -
New #Keywords added:
#EdgeHold, #LongHold, #ExtremeHold - Returns a random value based on the user's Sub settings, and automatically displays it as an amount of time in seconds, minutes and/or hours. For example:
Before you go to bed tonight, I want you to hold an edge for #LongHold
This would return a value based on the user's Long Edge Hold settings, rounded to the nearest 5. If the user had 3-5 minutes as their range for example, and the program selects a random time of 202 seconds, then the above line would display as follows:
Before you go to bed tonight, I want you to hold an edge for 3 minutes and 20 seconds
Stefaf:
#BlogImageCount - Displays the number of links contained in all active URL Files
Stefaf:
#ButtImageCount - Displays the number of local Butt images (if activated) as well as the number of links in the selected Butt genre URL File (if activated)
Stefaf:
#BoobsImageCount - Displays the number of local Boobs images (if activated) as well as the number of links in the selected Boob genre URL File (if activated)
Fixes added from Community Members:
Stefaf: Bugfix ErrorImage was shown randomly if one of all imagegenres had no images.
Stefaf: Bugfix ContectMenu MainImageBox did not activate or deactivate the MenuItems correct.
Stefaf: Improvement: Remove from URL-File option in ContextMenu MainPicturebox removes a ImageUrl from all URL-Files.
Stefaf: Function txt2List(String) was not able to deal path = "" or path = nothing. Improved Error handling and logging.
Stefaf: Added Offline-Mode-Support to the ImageDataContainer-Class and fixed some minor bugs in it.
Stefaf: All lists retrieved with functions in Class myDirectory are now sorted alphabetically.
Stefaf: Added Feature: User-Settings are now saved in: "App-DirectorySystemSettings"
- Spoiler: show
- The Local user.setting-file is duplicated on saving into the application-subdirectory.
On start-up this duplicated file is used to replace the user.config file in the
%localAppData%-directory. For safely importing Setting-files from other versions
there is also an import-function included. This function will ask you to select a file to
import and restarts the application to process the import and data-upgrade.
To start the import go to Settings->General tab.
Stefaf: Commands @PornAllowedOff and @PornAllowedOn where not replaced correct in Domme Output.
Stefaf: ImageCount-Keywords didn't count Images in URL-Files and none did neither react to OfflineMode nor @PornAllowedOff.
Stefaf: #LocalImageCount didn't count local Butt and Boob Images.
Stefaf: ImageDataContainer was searching Sub-folders instead of top level only and vice versa.
Stefaf: GetGoto() was not able to jump to the first line of a script.
Stefaf: ErrorImage has been shown randomly if one of all image-genres had no images.
Stefaf: ContextMenu of MainImageBox did not activate or deactivate the MenuItems correct.
Stefaf: Improvement: Remove from URL-File option in ContextMenu MainPicturebox now removes a ImageUrl from all URL-Files.
Daragorn: BugFix: "Edging Ends Taunts" state wasn't reinitialized when Tease AI was reset
Daragorn: Clean-up of 1885's implementation of Daragorn's original Timed Writing code
Daragorn: BugFix: Some aspects of the program didn't pause when Settings Menu was open and "Pause Program When Settings Menu is Visible" wasn't checked
Daragorn; BugFix: When Glitter contacts were present and an image was shown as part of a response, the image would immediately get replaced by a picture of the domme or contact
Stefaf: BugFix and Cause... Remote Images where stored to the RootDirectory, if Save Blog Images From Session was deactivated.
Stefaf: Bugfix: @DeleteLocalImage was sometimes deleting the wrong image. It also removes the file from LikedList, DislikedList and LocalImageTagList now. But it won't delete an image located in the Domme- or Contacts-Image directory or one of it's subdirectories.
Stefaf: Bugfix & Rework : @ShowImage[]
- Spoiler: show
- - Added Logging. If an Error Occurs it is written to the logs.
- Fixed GetFile in Directory with filter.
- Added new filter * -> This will give a result, from all available Image-Extensions.
Stefaf - Bugfix: BBnB is working now. (@TnAFastSlides, @TnASlowSlides, @TnASlides, @CheckTnA)
Stefaf - Improvement: Added Logging if a custom vocabularyFile is missing. Now this will create a new Error-Log-Entry.
Stefaf - Improvement: Removing an URL from an URL-File in SettingsWindow took way too long. Now it's faster.
Stefaf - Imporvement: @ShowLocalImage() Now the ImageDataContainer-Class is used. It doesn't try to get an single image from a single random genre any more. Instead it tries to get a single image from all given genres.
Stefaf - Improvement: Added logging at several points.
Stefaf - Bugfix: 404 caused the Script to stop. Errors during ImageLoading will create now a LogEntry.
Stefaf - Added Support for relative filepaths when using GenreImage-UrlFiles. Files outside the "ImagesSystemUrl Files"-directory are neither included on Rebuild nor Refresh! But they are included in DeleteCommands.
The PropertyNames containing the URL-FilePaths have been renamed, in order to enhance readability. Those settings have to be reapplied. This will also prevent the use of wrong Url-Files, when the settings were imported.
Stefaf - Improvement: Changed the way how UserSettings are stored. Now every(!) time a setting has changed, the settingsfile will be saved after a delay of one second(to keep disk traffic low).
Stefaf - Improvement: Changed Labels for ImageURL-Files to readonly Textboxes. the Settings are now applied via DataBinding. Same on the ImageUrl-Checkboxes.
Stefaf has also created the following list if you would like to see the Commands/Keywords that have been added or altered for this patch at a glance:
- Spoiler: show
- [*]#BlogImageCount -> Added: returns amount of Images
[*]#BlowjobImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#BoobImageCount -> Added: returns amount of Images
[*]#BoobsImageCount -> Added: returns amount of Images
[*]#ButtImageCount -> Added: returns amount of Images
[*]#ButtsImageCount -> Added: returns amount of Images
[*]#CaptionsImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#DislikedImageCount -> Reworked: Reacts now to OfflineMode
[*]#EdgeHold -> Added: Returns a random value based on the user's Sub settings
[*]#ExtremeHold -> Added: Returns a random value based on the user's Sub settings
[*]#FemdomImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#GayImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#GeneralImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#HardcoreImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#HentaiImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#LesbianImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#LezdomImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#LikedImageCount -> Reworked: Reacts now to OfflineMode
[*]#LocalImageCount -> Added: returns amount of Images
[*]#LongHold -> Added: Returns a random value based on the user's Sub settings
[*]#MaledomImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#SoftcoreImageCount -> Reworked: Reacts now to URL-Files and OfflineMode
[*]#TaskCBTTime -> Ranges added to Ranges tab
[*]#TaskEdges -> Ranges added to Ranges tab
[*]#TaskHoldTheEdgeTime -> Ranges added to Ranges tab
[*]#TaskStrokes -> Ranges added to Ranges tab
[*]#TaskStrokingTime -> Ranges added to Ranges tab
[*]@AddTokens() -> usable in Tasks now
[*]@Afternoon -> better filtered to user's daily WakupTime
[*]@CBT -> no longer run for a random number of times in Tasks
[*]@CBTBalls -> no longer run for a random number of times in Tasks
[*]@CBTCock -> no longer run for a random number of times in Tasks
[*]@ChangeVar[] -> usable in Tasks now
[*]@ChastityOff -> usable in Tasks now
[*]@ChastityOn -> usable in Tasks now
[*]@CheckTnA -> Reworked and fixed.
[*]@ClearChat -> New: Clears the main chat window and Side Chat
[*]@CurrentImage -> Reworked
[*]@CustomMode() -> New with Available modes: Goto, Video
[*]@CustomTask() -> Enhanced, added settings in Ranges-Tab
[*]@Day() -> Filters now correct
[*]@DecreaseOrgasmChance -> usable in Tasks now
[*]@DecreaseRuinChance -> usable in Tasks now
[*]@DeleteFlag() -> usable in Tasks now
[*]@DeleteImage -> New: to remove URL-Links and Local Files from all Local Sources. Deletes no Domme or Contact files
[*]@DeleteLocalImage -> Reworked. Removes now Links in LoacalImageTags.txt, LikedImage.txt, DislikedImages.txt. Deletes no Domme or Contact files
[*]@DeleteVar[] -> usable in Tasks now
[*]@IncreaseOrgasmChance -> usable in Tasks now
[*]@IncreaseRuinChance -> usable in Tasks now
[*]@LockImages -> Fixed with Contacts, is performed after showing an image.
[*]@LockVideo -> Added: will prevent Tease AI from switching back to the image window
[*]@Month() -> Filters now correct
[*]@Morning -> is better filtered to user's daily WakupTime
[*]@NewBlogImage -> Reworked: does the same as @ShowBlogImage
[*]@Night -> is better filtered to user's daily WakupTime
[*]@PornAllowedOff -> Fixed: was not replaced correct in output.
[*]@PornAllowedOn -> Fixed: was not replaced correct in output.
[*]@RandomText() -> usable in Tasks now
[*]@RemoveTokens() -> usable in Tasks now
[*]@RestrictOrgasm -> usable in Tasks now
[*]@RestrictOrgasm() -> usable in Tasks now
[*]@RoundVar[] -> usable in Tasks now
[*]@RT() -> usable in Tasks now
[*]@SetDate() -> usable in Tasks now
[*]@SetFlag() -> usable in Tasks now
[*]@SetVar[] -> usable in Tasks now
[*]@ShowBlogImage -> Reworked: Reacts now to OfflineMode
[*]@ShowBlowjobImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowBoobImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowBoobsImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowButtImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowButtsImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowCaptionsImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowDislikedImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowFemdomImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowGayImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowGeneralImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowHardcoreImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowHentaiImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowImage[ -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowImage[] -> Reworked: New Filter * for all available imagefiles, added logging
[*]@ShowLesbianImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowLezdomImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowLikedImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowLocalImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowLocalImage( -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowLocalImage() -> Reworked: Won't show up an Errorimage anymore
[*]@ShowMaledomImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowSoftcoreImage -> Reworked: uses OfflineMode, Displays Local and Remote Images syncronized with text
[*]@ShowVar[] -> usable in Tasks now
[*]@Slideshow() -> Reworked: uses OfflineMode, URL-Files, Displays Local and Remote Images syncronized with text
[*]@StopTnA -> Reworked and fixed.
[*]@SubOld -> Filters now correct
[*]@SubYoung -> Filters now correct
[*]@TempFlag() -> usable in Tasks now
[*]@TnAFastSlides -> Reworked and fixed.
[*]@TnASlides -> Reworked and fixed.
[*]@TnASlowSlides -> Reworked and fixed.
[*]@UnlockVideo -> deactivates @LockVideo and shows the image window
[*]@UpdateOrgasm -> usable in Tasks now
[*]@UpdateRuined -> usable in Tasks now
_____________________________________
As always, if you have any questions, comments or feedback please let me know and I'll address them as soon as I can. Please report any bugs and we'll do our best to take of those as well
Trusfrated wrote:Could the Wishlist be developed so it could be used during a session? It seems like now, it is only for quick little interludes outside of a normal session. If that's not the case, I haven't seen anyone write any scripts that use it. I see a lot of potential for financial domination-type scripts that involve buying the domme items in order to change her mind about things. For instance, to get out of punishment, get out of chastity, avoid a denial or a ruined orgasm, change her apathy level, etc. And maybe sometimes there is a chance you wasted your tokens and she doesn't care about being nice to you. :'-(
Every aspect of the program will be overhauled at some point, most likely in every Patch (for this one it was the Tasks feature). The Wishlist feature will be overhauled and enhanced at some point, but there are several priority things we'll have to get through first. At some point though, for sure
