-
Notifications
You must be signed in to change notification settings - Fork 21
Revised Taunting #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Stefaf
wants to merge
155
commits into
Milo1885:master
Choose a base branch
from
TeaseAI:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Revised Taunting #73
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Applies only to Chastity, Glitter and Stroke taunts. # Starting situation: * An unlimited number of taunt files was supported. They had to start with ChastityTaunts_, GlitterTaunts_ or strokeTaunts_. * Empty Files, by accident or filtering, weren't supported. * Missing Files were not supported. At least one file was required. * CBT without filtering was supported. * @cbt overwrites the calling line. ## Issues: * Taunt line amount was determined by the alphabetical order over all files for each one of ChastityTaunts_, GlitterTaunts_ and StrokeTaunts_. * This didn't allow 8 line Taunts, when 1,2,3,4,5,6,7 line Taunts were missing. * If the naming convention was alphabetical wrong (but logical right) the group length was determined wrong. Should have been better after 8afed73, but still present. * Taunt files had to return at least one line group for every possible setting and situation. * CBT had no Errorhandling if the File CBT\CBT.txt was missing or empty. An unhandled Exception was thrown then. * CBT starts a YesNoQuestion. If taunt time is over before answering, the metronome doesn't stop. * CBT accepts only "done" or "finish" # After Rework: * Unlimited number of taunt files allowed. They have to start with ChastityTaunts_, GlitterTaunts_ or StrokeTaunts_. * Taunt line amount is determined by a file name's last char. f.e.: GlitterTauns_9, will be treated as 9 line length taunt. If there is no number as last char, it's treated as 1-line taunt. * Missing Taunt-Files are supported. You won't have any taunts, but no error either. * Conditional taunt files are supported. You can create taunt files, for a specific scenario, using flags, variables or whatever. But since taunt files are chosen randomly until the first of all files has at least one valid group, you can't select a specific file. In order to do that, you have to modify all other files to be filtered out if that condition is met (busywork and non-sense). If desired, it's possible to add a two line filtering command. I've got something in my mind already. * CBT supports filtering, missing and empty file. In case of an error, it's written to log and chat. * @cbt overwrites the calling line. ## Issues: * CBT starts a YesNoQuestion. If taunt time is over before answering, the metronome sometimes doesn't stop. * CBT accepts only "done" or "finish" * @cbt is not filtered by GetFilter(String). This way a user will get CBT instructions, even if he disabled CBT. # Non Related Issues: * Bookmark module is not working if a taunt is interrupted.
Increased maximum taunt size to 9999 lines.^^
Adds a 45% Chance to force 1 line taunts. Otherwise a random of all available taunt types is picked. Taunts are now processed in a designated class, to add the possibility to reuse it for other taunt types as chastity, glitter and stroke too.
… Otherwise a random of all available taunt types is picked. Taunts are now processed in a designated class, to add the possibility to reuse it for other taunt types as chastity, glitter and stroke too." This reverts commit 668570f.
Adds a 45% Chance to force 1 line taunts. Otherwise a random of all available taunt types is picked. Taunts are now processed in a designated class, to add the possibility to reuse it for other taunt types as chastity, glitter and stroke too. Initial Commit 2c15e26 changed indent size of Form1.vb. Reverted to avoid merge conflicts.
* Fixes custom text image tags. To accomplish this the following steps were necessary: * Apply custom text after Image has been displayed. * ChatText had to be refreshed after the text is applied. Otherwise the raw text is displayed before applying the custom Text and updated soon after... Side effect: Text, Metronome, TTS and image output is now as synchronized as it can get. * Missing text for a tag isn't displayed as #Null anymore. It is now the identifier - #Tag (=> #TagGarment is displayed "Garment") * Fixes bug, where filtered taunt files with a single accessible line, were marked as unavailable. * Fixes bug, where taunt debugging added an error line after each taunt. As it turned out, the global boolean Application.Session.JustShowedBlogImage is able to cause some trouble. In ImageFetcher.RunWorkerCompleted's handler it's set to true what caused not applied text-tags on the first picture of a new slideshow. It was essential to detect if an image has been already displayed, as loading of images was accomplished by an unmanaged thread. After introducing Form1.BWimageFetcher and changing the logic, when to display what kind of image, it's obsolete now. To prevent future issues caused by this member, it should be removed.
* partially resolves Issue #14 * CatchBlock for regular Goto was unreachable. ## Solves the following error: "If you use a Goto in a multiple choice branch, the miniscript returns not to the correct line from where you called it, but it doesn't return to a random line, it returns to the line number where the MiniScript ends. As an example: You call a miniscript from line 10 in /Stroke/Start/Hello.txt, the miniscript ends with an @EnD in line 40. if it comes inside the miniscript to a Goto like described before, the Goto works fine, but the miniscript will not return to line 10 but instead to line 41 of /Stroke/Start/Hello.txt. I don't know if that is the only problem, but I guess thats the worst part of it." ## used TestScripts: * Before fix: No branch in miniscript caused continuation of Startscript in Line index 12. Yes caused continuation in line 7 or so -> both infinite loops. * Afterwards: No infinite loops and execution continues in line index 13. ### StartScript: (retry) Bufferline 1 @rton Bufferline 2 Bufferline 3 Bufferline 4 Bufferline 5 Bufferline 6 Bufferline 7 Bufferline 8 Bufferline 9 Bufferline 10 Bufferline 11 Starting MiniScript @miniscript(Test) After miniscript Retry? [yes] Restarting @goto(retry) [No] EndTease @goto(EndTease) @DifferentAnswer Retry? (EndTease) @EndTease ### MiniScript Miniscript Start : 0 Bufferline - Miniscript : 1 Starting Multiple choice : 2 [yes] going to yes @goto(YesBranch) : 3 [no] going to no @goto(NoBranch) : 4 @DifferentAnswer Yes or No required : 5 (YesBranch) : 6 Yes branch started : 8 Bufferline - Yes branch : 9 Miniscript End - Yes : 10 @EnD (NoBranch) : 11 No branch started : 12 Bufferline - No branch : 13 Miniscript End - No : 14 @EnD
Adds the ability to nest `@CallReturn` Currently Modes are not restored after returning. Created issue #17 to track this.
* Added Extensionmethod for Strings to check if a string contains a value case insensitive. * Fixes bug in TauntProcessingObject.IsAvailable. * Fixes bug in filtering if a contact is currently not in chat. The code to determine the contact is prepared to extend ssh.Group to contain + or - in order to detect if a contact is entering or leaving chat. * Renamed stuff in ContactData to comply with MS code recommendations. * Implements the ability to stack `@CallReturn`. * Currently modes are cleared and not restored afterwards. #17 * Readme updated * Raised assembly version to 0.54.6.0 Modifications on c1626a2: * Filepaths are stored relative, to support moving Tease-AI-folder between suspending and resuming a session. * Renamed Property ssh in SessionState.StackedCallReturn - ssh is meant as shorthand for My.Application.Session and should only be used that way, to enhance readability. * Added must inherit class ScriptPosition to reuse functionality for issue #12 and `@BookmarkLink`. * Indent corrected * Marked obsolete members * Added BC40000 suppression to onSerialization_FixFields
Fixes `@RT(` and `@RandomText(` commands. SystemMessages code merged and used valid html.
Chatlog will now save on EndTease (fixing the problem where logs would never save due to the chat being cleared), and the date/autosave code moved to SaveChatLog()
Added @CountVar[] Command Fixes to certain local genre image subdirectories not being recognized correctly
My version updated
Some minor UI and Keyword changes, finalizing integration of dariobrun's features
Video genres can now be specified with @Playvideo() Implemented dariobrun's FilterList optimizations
* Keyword Error messages were causing the program to get temporarily stuck in a loop (dariobrun) * TTS was speaking the html color codes for Keyword Error messages * The program tried to process LikedImageURLs.txt and DislikedImageURLs.txt without first making sure they existed (dariobrun)
Fixing the PoundClean loop caused some issues with CreateTaskLetter
Multiple Choice Branch parsing issues fixed (dariobrun) Multiple Choice Branches were parsing @DifferentAnswer\@AcceptAnswer lines for keywords Possible issues caused by duplicate #Keywords in a single line (dariobrun) Fixed problems that would occur when @FollowUp() contained spaces at the end of a line (dariobrun)
Recent Slideshows weren't being saved in the drop-down box after being manually entered
Needed to insert a check to see if the dir was coming from manual entry or slected from the drop down box
@controlflag() - If the Flag specified in @controlflag() exists, then ONLY those lines will be viable when filtering lines from scripts @DifferentAnswer lines were causing scripts to freeze\reset WakeUp time was not saved until manually set by the user, causing @Morning, @afternoon and @night Command Filters to not work correctly #DomHairLength now outputs correctly Experimental: Changed WMP docking style to see if it would help those who reported the video displaying in a very small area on the side of the screen
#Var[] should now work correctly no matter how it is used or how many times per line it is used. For example, @setvar[C]=[#Random(#Var[A], #Var[B])]
Edge phrases weren't being recognized if they contained apostrophes
See ReadMe Updated Assembly Version to 55.0
All credits go to dariorbun. Let's make your unofficial Patch 0.55.3.0 official!
dariorbun's Patch 55.3
* Reworked Glitter app to use proper html and CSS. It is now possible to reference relative imagepaths. If a feed is running the a scriptfile given in @Glitter(ScriptName) is executed after the currently running feed. The number of queued scripts is not limited. It is now possible to execute a specific script using the debug session window. * Raised Assembly Version
This function was for performance testing and was never used public.
* Shrinked down ResponseClean(String) to avoid code redundancy. Response lines in the [All]-Section are now unavailable in start scripts and after the orgasm decision (!) if the last script is running. This feature was intended for Patch 48/49 (0b1ecab) but never worked. * Merged redundant chatbox event handlers. * Added MultipleEdges to StopEverything() since it caused a script freeze when @ InterruptLongEdge was called. It was unresolvable using the "CBT-Trick". * Simplified code and usage of custom Lazy Sub buttons. * Fixed issue where @ DayOfWeek was a day off. Added the possibility to use numbers as parameter, since localized day strings are useless for script exchange. The first day of the week is Monday.
This commit contains a rework of all HTML-Code in Form1. The handling of HTML-Code is now slightly different: Every available information is written to the chat-window (timestamps, names, exceptions). To hide or show specific elements (i.e.:Domme is typing...) the page style sheet is generated according the the user settings on every change. This allows us to alter color, style and visibility of previous messages. The webtease mode and Risky Pick are handled different. Here we get last element in id "Chat" and display it. * Reworked chat window html code to enable the usage of CSS. * Moved all WebBrowser and HTML-Related Code from Form1.vb to Chat.vb. * System, Emote, Error and regular Messages are now unified to increase maintainability. * All file paths in Exceptions and the "@" input messages are now links. When you click a link it will open it using your systems default program. * @ WritingTask had to be rewritten, since it almost completely consisted out of HTML-Code. * Added Support of relative image paths. * Bugfixes: * Opening the WebBrowser context menu during an update won't cause a script freeze any more. It will display a message and the script will continue as normal. * Fixes issue of infinite loops and IndexOutOfRange Exceptions in Glitter-App, if there are no lines or duplicate lines for a contact. This issue was introduced in Commit fe04ce9. * Miscellanious: * Overhauled the fresh implemented "Write exceptions to chat"-feature. Now every exception written to log, is also written to the chat window. It is no longer depending on a running session and called without IllegalCrossThreadCalls. If an exception occurs it is written to the chat.
* All Variables related Code has been rewritten to use the same internal functions. It includes a directory check, and the folder will be created if necessary. * Fixes an Argument Exception bug, if the Variable SYS_WakeUp is not present. * #DateDiffernce displays now the correct amount of weeks, if the interval is set to "Week". * SystemMessages are now "linkified". * If reading a date from a variable fails, it will no longer throw an exception. * @ ChangeVar will no longer throw an exception if you try to divide by zero. In that case it will divide by 1. * Added Style fnfo for the "@" Output. It is now displayed instantly. * Added the possibility to add warnings to the chat window.
* Directories are now sorted logically. * The splash screen is now set as Splash screen and updated thread safe. * Redundant Code for PetName TextBoxes merged together. * The Terms and Conditions Form is now used as dialog instead of opening it and waiting for an action to happen. * @ TagXXX Instructions are now executed if there is no @ ShowTaggedImage present in the given Script Line. Since both are marked as obsolete, a warning will appear in the chat window. * TxtReadLine(string) is now internally using Txt2List(strin) in order to use the TextFileChache. This should improve response time.
* Raised Assembly version to 0.56.0.0. * The Function DomResponse() was checking for system response keyfiles and the vocabulary keyphrases more often as necessary. This way it took forever to process if there was a task or CBT running and you entered a simple "Yes". The same slow process was going on, if you entered text that didn't trigger something. * Reworked PoundClean(String): * Changed Signature to PoundClean(String, Option, Integer) * Added a nesting restriction when processing vocabulary keyphrases. The maximum allowed nesting depth when processing vocabularies is 5. * Removed variables in the session state to control processing. * Functional Code is now within a Try-Catch-Block. * The function will print errors and warnings to the chat window. * Clean up of Class Session State. Stored Sessions from previous versions are no longer compatible. Now it has a Version Check included, to prevent opening a session from a previous version. * Fixes issue if TTS is activated and 2 or more vocab errors appeared within a single line. In that case TTS did ignore only the last error. Now all HTML-Tags within a line are ignored. * Adds the possibility to print CSS compliant inline errors and warnings to the chat.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.