CharacterFileData

Extension: ".cdata"

CharacterFileData defines a character file the game uses to create characters.

Common Definitions

"e" for End

Defines the end of a FileData.
If not defined: No FileData is defined.

"i" for Identifier "Type > String"

Defines an identifier used for identification of FileData and overriding of some FileData. Identifiers are converted to all lower case during load.
If not defined: Set to name.

"n" for Name "Type > String"

Defines a name used in some FileData.
If not defined: Set to identifier.

"p" for Priority "Type > Integer"

Defines a priority that is used for overriding FileData. Higher priority overrides lower priority.
If not defined: Is set to 0.

"v" for Value "Type > String=(Any Type)"

Defines a value for this file.
If not defined: No Value is set.

"x" for NSFW "Type > Separated Array of Type > String"

Defines the FileData as NSFW, and sets the NSFW categories.
If not defined: FileData is treated as SFW.

"#" for File Tag "Type > Separated Array of Type > String"

Defines file tags that can be used to later in lua scripts.

"@" for Insert Value

Defines a value that is inserted into a given data map.
Example: @=extra=can_take_photo=1

"~" for Skip

Defines this line as being skipped.

Image Definitions
Image Definitions

"t" for Tag "Type > String=Type > String"

Defines tags for use in image search and image generation. The second letter of the definition defines the tag type: suggested (t=, ts=), required (tr=) or avoid (ta=). Used in Image Search.
A required tag "type=x" is usually added to FileData automatically. "x" in this case is the FileData type, for example: "type=character", "type=interaction". This can be manually overridden by adding a "type=x" tag in the file.
If not defined: The only tag is "type=x". Image Search will result in a mostly random images.
Example: "tr=type=character"

"%" for Chance "Type > Float"

Defines the chance of this character to be randomly chosen.
If not defined: Is set to 10.0.
Example: "%=10.0"

"r" for Restrictor "Type > String"

Defines the image restrictor which restricts this character to use images with the same restrictor.
If not defined: Is set to an empty restrictor, which means only images without restrictor can be used.
Example: "r=character_name"

"j" for Jobs "Type > Array of Type > String"

Defines allowed job groups. This character can only be randomly assigned jobs part of the given groups. Can be supplied by multiple lines and as one line separated by "|" (j=job1|job2|job3).
If not defined: Character can be randomly assigned any job.
Example: "j=student|teacher"

"s" for Stat Potential "Type > String=Type > Float"

Defines the likelihood of the character being good at a skill/attribute. The second letter defines which type of stat this affects: skill (ss=) or attribute (sa=). 0.0 will disable this stat, 2.0 will make it twice as likely for the character to have a good value in this stat.
If not defined: Every undefined skill will be treated as a 1.0.
Example: "sa=charisma=2.0"

"f" for Feature "Type > String=Type > String"

Defines a feature of this character. The data is consist of two parts: an identifier and an option, separated by a "=". Features should be defined in a FeatureDataFile, but don't have to. During Image Search features are added as suggested tags (identifier=option). You can add a "+" in front of the option to make it a required tag, or a "-" to add it as an avoid tag. If set to random a random feature is chosen during creation.
If not defined: No features are added specifically for this character.
Example: "f=hair color=brown"

"c" for Count "Type > Integer"

Defines the amount of CharacterData that are automatically generated of the CharacterFileData. You can define this as "filler" to only generate characters when no non "filler" files are left.
If not defined: Sets count to 1.
Example: "c=filler"