Another update. I am trying to add the possibility of callback functions, so that when conditions you set are met (i.e. when you have a ramp function and maxX becomes greater than 30, or when over 100 frames have passed) it will trigger a line you have set.
This should let you do things like keep ramping up until you get to a certain maxX value, stop ramping up and have her complain that you need to stop since are hitting her womb, then after a given number of frames suddenly increase maxX to 100.
Since there are so many components to this it is going to require fairly complex trigger usage, but from my testing it appears to work. I will do some more testing tomorrow and hopefully post it by tomorrow evening.
Currently you can set up to 3 tests, and every test you have set must be true for the line trigger to occur. You can select min/max/spdup/spddown/delayup/delaydown for x/y or a frame count for your test value, and you can select >, >=, =, <=, or < comparisons.
To give you an example I have tested and ensured works as it is, this line starts at min/max x = 0, then ramps maxX up at 5% every 35 frames until it gets to 20%, then calls the line labeled ft2:
start:"[SET_TEST_0_max_20_ge][ACTIVE_TEST_0_1][RAMP_SPECIFY_0_0_50_35_maxinc_50][VALUE_CUSTOM_LINE_ft2_TEST_1]"{"style":"thought"}
Stepping through this line:
The first trigger says to set test 0 to check that max >= 20.
The second trigger says to set test 0 to active.
The third trigger says to start at minX = 0, maxX = 0, speed = 50%, increment every 35 frames, and increment maxX by 50(5%) each time.
The final trigger says to set the line to be triggered to ft2, and sets testing to active.
And I just realized this freaking mod is now over 1400 lines of code... My original intent only required ~ 200, and that includes variable declaration and initial mod setup. The actual functions were around 80-100 lines. Talk about feature creep.