Modding:Genotypes and Subtypes

From Caves of Qud Wiki
Revision as of 07:34, 27 June 2024 by Kernelmethod (talk | contribs) (Add info about the structure of Subtypes.xml)
Jump to navigation Jump to search
This page is about modding. See the modding overview for an abstract on modding.
This page is about modding. See the modding overview for an abstract on modding.

Genotypes and subtypes can be created with only some basic XML files. No scripting is required.

Creating a new genotype

Genotypes are high-level categories that a subtype can belong to, such as "Mutant" and "True Kin". Genotypes are defined in Genotypes.xml, which is structured as follows:

XML tag Description
<genotype> Defines top-level properties of a genotype, including
  • the name of the genotype;
  • stats granted to players upon starting the game;
  • stats granted to players upon leveling up;
  • screens that the player must go through during character creation (adding custom screens usually requires scripting);

and so on.

<stat> The starting value for a particular statistic for the genotype.
<skills> The skills that should be granted to the player by default upon starting the game.
<reputations> Starting reputations with different factions for starting the game as the given genotype. Note that <reputations> is preferred over specifying a Reputation="..." attribute in the <genotype> tag (which used to be the main way to set starting reputations).
<extrainfo> Additional info that should appear underneath the genotype when the player is choosing a genotype.

Creating a new subtype

Subtypes define more specific starting characteristics and are defined per-genotype. For Mutants the subtypes are callings, whereas for True Kin the subtypes are castes.

The game defines the default subtypes in Subtypes.xml. This file is structured as follows:

XML tag Description
<class> Defines a class of subtypes belonging to a single genotype.
<category> An optional tag that allows you to subdivide the subtypes into further categories. The effects of this tag are purely aesthetic. This tag is used by the True Kin castes to define the different arcologies that they originate from.
<subtype> Defines high-level properties of a single subtype, such as its name, starting gear, tile, and so on.
<stat> Adds bonuses to a stat for a given subtype.
<skills> Defines skills that the subtype starts with.
<savemodifiers> Adds bonuses to saving throws against different negative effects.
<reputations> Adds bonuses to starting reputation.
<extrainfo> Allows you to put additional information underneath the description of a subtype in the subtype selection screen.

Custom naming conventions

This article is a stub. You can help Caves of Qud Wiki by expanding it.
This article is a stub. You can help Caves of Qud Wiki by expanding it.

You can define custom names for subtypes by writing a Naming.xml with namestyles assigned to those subtypes (naming is assigned on a subtype level rather than by genotype).

Example: a snapjaw genotype =

This article is a stub. You can help Caves of Qud Wiki by expanding it.
This article is a stub. You can help Caves of Qud Wiki by expanding it.

Generally you'll want to include a Genotypes.xml, a Subtypes.xml, and a PopulationTables.xml (the latter defines starting gear for your subtypes). You can also add naming schemes to subtypes by making a Naming.xml with a namestyle assigned to those subtypes. (Naming is assigned on a subtype level rather than by genotypes.)

Additional files may be included depending on what exactly you want to do. For instance, you might include custom tiles or custom items defined in an ObjectBlueprints.xml.

For reference, you can see the game's default files for reference at File locations. You can also refer to some of the example mods that are available to see how to set them up.