Skip to content

Girls.girlsx schema

Every named girl is a <Girl> block inside a <Girls> root. One file can hold many girls. Random-girl templates use the same schema but with .rgirlsx extension.

<?xml version="1.0" encoding="UTF-8"?>
<Girls>
<Girl Name="Jane"
Desc="A quiet baker's daughter with a sharp tongue."
Status="Slave">
<Stats>
<Stat Name="Charisma" Value="50" />
<Stat Name="Beauty" Value="55" />
</Stats>
</Girl>
</Girls>

That’s enough for the game to load her. Everything else has defaults.

AttributeRequiredPurpose
NameYesDisplay name. Must match the Characters/<Name>/ folder exactly.
DescNoShort description shown in girl details.
StatusNoSlave, Free, or Normal. Controls who can buy/hire her.

Status="Slave" matters for the slave market. The caravan only shows girls flagged as slaves. If you want your girl to appear for sale, set it. Default is Normal, which means she won’t show up.

List of stat name + value pairs. Missing stats default to a middle value (usually 50).

Recognised stat names (22 total):

Charisma, Happiness, Libido, Constitution, Intelligence, Confidence,
Mana, Agility, Fame, Level, AskPrice, House, Exp, Age, Obedience,
Spirit, Beauty, Tiredness, Health, PCFear, PCLove, PCHate
<Stats>
<Stat Name="Charisma" Value="70" />
<Stat Name="Beauty" Value="65" />
<Stat Name="Confidence" Value="40" />
</Stats>

Skills default to 0 or a small starting value. Only list the ones you want to set.

Recognised skill names (10 total):

Anal, Magic, BDSM, NormalSex, Beastiality, Group, Lesbian,
Service, Strip, Combat
<Skills>
<Skill Name="Service" Value="60" />
<Skill Name="NormalSex" Value="30" />
</Skills>

List of trait names. The core trait list is in Resources/Data/Traits/ (one .traitsx file per category). Pack-defined traits work too (from .traitsx files in any loaded pack).

<Traits>
<Trait Name="Pretty" />
<Trait Name="Cheerful" />
<Trait Name="Night Owl" />
</Traits>

Trait names are case-sensitive and must match the Name attribute in the .traitsx definition exactly.

Items she starts with. Item names must match the Name attribute of an item in any loaded .itemsx file (including Resources/Data/Items.itemsx).

<Inventory>
<Item Name="Simple Dress" />
<Item Name="Lucky Charm" />
</Inventory>

Each item is added to the girl’s inventory and equipped automatically when she loads, so this is how you give a girl a default outfit or an item she wears from the start (for example a stat-granting accessory). Items that cannot be worn — Food and Makeup — are added to her inventory but left unequipped. An unknown item name is skipped, with a note in the game log. The inventory holds 40 slots; any items past that are dropped.

The <Inventory> wrapper is optional: bare <Item> elements placed directly inside <Girl> are read the same way. The same applies to <Trait> and the <Traits> wrapper — both layouts are accepted.

Same schema, plus an optional <Default> block with image folder fallback. See Sample_Full/RandomGirls.rgirlsx.

The images for a girl go in Characters/<Name>/. The folder name must match the Name attribute of the <Girl> exactly (case-sensitive). If the folder is missing or empty, the Content Manager flags the girl as “Missing Images” and the game falls back to placeholder art.

One .girlsx file can hold any number of <Girl> blocks. Split them across files however you like: one per girl, one per theme, or all in one. The loader doesn’t care.

  • snippets/Girls.girlsx: paste-and-edit skeleton
  • Resources/Packages/Sample_Full/Girls.girlsx: worked example with every block