Re: Pim_gd's Mods - DialogueActions v2.00 (7 January 2014)
January 7, 2014
Introducing
v2.00 of DialogueActions!
- Fixed a bug where a trigger could get skipped due to low framerate
- Fixed a bug where triggers at the start of the line would get skipped
- Fixed a bug where her masturbation would continue if the game was paused
- Ending masturbation with [MASTURBATE_OFF] now no longer changes her right arm position (if changed by animtools)
- Special characters (such as periods) are now no longer filtered from triggers for DialogueActions.
- Merged VariableArithmetic into DialogueActions
- Changed the way backgrounds, charcodes, dialogues and hair files are loaded
-- (variable) background {write only} -> (variable) da.background.load {write only}
-- (variable) loadCharCode {write only} -> (variable) da.charcode.load {write only}
-- (variable) hair {write only} -> (variable) da.hair.load {write only}
-- (variable) loadDialogue {write only} -> (variable) da.dialogue.load {write only}
- Changed the way clothing is set
-- (variable) <clothingType> {write only} -> (variable) da.clothes.<clothType> {read AND write} (clothType later explained in greater detail)
- Changed triggers:
-- [FLASH_<hex>] - Fades the screen to hex color, lasts indefinitely
-- any triggers with arm resetting may cause minor graphical glitches. Fixable with [FIX_ARMS] ([FIX_LEFT_ARM][FIX_RIGHT_ARM])
- Added variables:
da.masturbation.herpleasure {read and write} - her masturbation pleasure (scale: 0-100)
da.random {read only} - returns a random value between 0 and 1. Example usage to make it 1-10: (you'll have to define x as "*" in initial_settings to get access to multiplication operator) [VA_SET_VARIABLE_var1_*da.random x 9 + 1 \ 1*] - formula is ( random * ( max - min ) ) + min \ 1
da.hair.load {write only} - For loading hair files. Only static images are supported right now. Delay set is possible, using [LOAD_HAIR]
da.background.load {write only} - For loading backgrounds. Delay set is possible, using either [CHANGE_BACKGROUND] or [FADE_BACKGROUND_<hex>]
da.dialogue.load {write only} - For loading dialogues. Acts instantly, might halt the current line from playing.
da.charcode.load {write only} - For loading (partial) charcodes.
da.clothes.<clothType>.<colorComponent> {read and write}
--clothType = any of these: "ankleCuffs", "armwear", "bellyPiercing", "bottoms", "collar", "cuffs", "earring", "eyewear", "footwear", "gag", "headwear", "himBottoms", "himFootwear", "himTop", "legwear", "legwearB", "nipplePiercing", "panties", "tonguePiercing", "top", "tops"
--colorComponent = any of these: "r", "g", "b", "a", "r2", "g2", "b2", "a2". r, g, b and their r2, g2, b2 cousins are from 0 to 255. a and a2 are from 0 to 1
- Added triggers:
-- [BOUNCE_TITS_<power>] - BOUNCE_TITS, with custom power argument. Suggested max is 0.5. [BOUNCE_TITS] uses 0.15.
-- [FIX_ARMS] - Stops rubbing, rotates her hands back to normal
-- [FIX_LEFT_ARM] - FIX_ARMS, left arm only
-- [FIX_RIGHT_ARM] - FIX_ARMS, right arm only
-- [INSTANT_END_FLASH] - Instantly ends a FLASH effect, without fading
-- [INSTANT_FLASH_<hex>] - Instantly sets the screen to hex color. Only ends after [END_FLASH] or a variant thereof.
-- [INSTANT_FLASH_<hex>_<durationInMilliseconds>] - Instantly sets the screen to hex color, waits durationInMilliseconds milliseconds before ending the fade effect.
-- [FLASH_CHANGE_COLOR_<hex>] - changes the fade effect's color.
-- [LOAD_HAIR] - Loads a hair file set to the variable da.hair.load . Only works if the trigger is on the same dialogueline as the variable set for da.hair.load.
-- [VA_SET_VARIABLE_<variableName>_<value>] - Sets the named variable's value to the provided value. Example: [VA_SET_VARIABLE_var1_5].
-- [VA_SET_VARIABLEBYNAME_<variableTargetName>_<variableSourceName>] - Sets the named target variable's value to the value of the named source variable. Example: [VA_SET_VARIABLE_var1_var2].
-- [VA_SET_GLOBALVARIABLE_<globalVariableName>_<value>] - stores a value in DialogueAction's memory.
-- [VA_SET_GLOBALVARIABLEBYNAME_<globalVariableName>_<sourceVariableName>] - stores a value in DialogueAction's memory, using a dialogue variable's name to pull the value from.
-- [VA_LOAD_GLOBALVARIABLE_<globalVariableName>] - sets <globalVariableName> as a dialogue variable using the value stored in DialogueAction's memory.
-- [RANDOMIZE_HER_BODY] - Randomizes her body
-- [RESET_RESIST] - Resets her resistance. May cause first_dt, first_throat and intro lines to trigger again. Change resistances with charcode loading.
-- [TONGUE_OUT] - Moves her tongue out (might break through clenching teeth)
-- [TONGUE_IN] - Moves her tongue back in (it might pop back out 2 seconds later though)
-- [MASTURBATE_STOP] - instantly stops her masturbating (will still slowly drop her pleasure)
- Added linetypes:
-- "choking" - plays when her mouth is full and she is passing out (starting to look like she is passing out, breath at 0 and oxygen dropping)
- Added the following operators:
Operator var1 var2 output
+ 10 20 30 - Adds both sides together.
- 10 20 -10 - Substracts the right side from the left side.
/ 10 20 0.5 - Divides the left side by the right side. If the right side is 0, ... then I don't know what happens. Check Adobe's manual for division by 0.
!= 10 20 1 - If both sides don't have the same value, returns 1. Returns 0 otherwise.
== 10 20 0 - If both sides have the same value, returns 1. Returns 0 otherwise.
>= 10 20 0 - If the left side is more than, or equal to the right side, returns 1. Otherwise returns 0.
<= 10 20 1 - If the right side is more than, or equal to the left side, returns 1. Otherwise returns 0.
> 10 20 0 - If the left side is more than the right side, returns 1. Otherwise returns 0.
< 10 20 1 - If the right side is more than the left side, returns 1. Otherwise returns 0.
= 10 20 20 - Whatever the result might have been, it's set to the right side.
&& 1 0 0 - Represents a boolean AND. Returns 1 if (var1 + var2) equals 2. Otherwise, returns 0.
|| 1 0 1 - Represents a boolean OR. Returns 1 if (var1 + var2) equals or is more than 1. Otherwise, returns 0.
% 10 4 2 - Returns the remainder of a division of var1 by var2. Represents a modulo.
* 10 20 200 - Returns var1 multiplied by var2. Note that you can't use this operator directly - you need to define a variable with * as it's value.
\ 10 3 3 - Returns the floored value of a division of var1 by var2. Represents integer division.
You can use ( ) to specify ordering (other ordering is ignored).
You can use variables names inside the insertion *var1 + var2* and they will automatically be replaced with the value that they have *var1 + var2* -> *10 + 20* -> 30
Keep in mind that for this to work properly, variable names CANNOT have spaces in them, and variables CANNOT be attached to parentheses or an operator.
Thus, don't use *var1+(var2/var3)*, instead use *var1 + ( var2 / var3 )*.
Additionally, due to the way replacing of insertion values work, variable names CANNOT contain operators.
- Removed the following triggers:
-- [SHRINK_PENIS]
-- [GROW_PENIS]
-- [CLEAR] - Load an empty dialogue with da.dialogue.load
- Removed the following variables:
-- penisSize - write-only, scale 0-100
-- penisLength - write-only, scale 0-100
-- penisWidth - write-only, scale 0-100
-- maxPenisLength - write-only, scale unknown (0-100?)
-- maxPenisWidth - write-only, scale unknown (0-100?)
-- minPenisLength - write-only, scale unknown (0-100?)
-- minPenisWidth - write-only, scale unknown (0-100?)
See included documentation for basic examples on usage.
Link in OP, and the archive download in the second post has been updated as well.