-
-
Notifications
You must be signed in to change notification settings - Fork 124
Understanding_the_file_formats_for_KeeperRL
title: Understanding the file formats for KeeperRL permalink: wiki/Understanding_the_file_formats_for_KeeperRL/ layout: wiki
- The text files are editable in a text editor
- Each text file is a set of tables containing a list of available game content
- Multiple spaces and new lines between entries in the table are read as a single space
- Lines starting in a # are ignored and may contain useful comments
The file always begins like this:
\{
\{
- Each entry adds a new technology to the game.
- The entry has two possible formats
- “TechId” {Description} Example:
“alchemy” \{ “Build`` ``a`` ``laboratory`` ``and`` ``produce`` ``basic`` ``potions.” \}
- “TechId1” { “Description” {“TechId2”} }
Where TechID1 is the new technology and TechId2 must be researched first to unlock it. Example:
“alchemical`` ``conversion” \{ “Convert`` ``resources`` ``to`` ``and`` ``from`` ``gold.” \{“alchemy”\} \}
The file always begins like this:
\}
\}
The file always begins like this:
\{
- The format is constructed of sections, sub-sections and entries
- There can be as many sections as you want and later on any section can be assigned to player_characters.txt to give those characters the build menu sections they need.
- There are 4 sub-sections below each section. These subsections are respectively for:
- Workshop
- Forge
- Lab
- Jeweller
- Each subsection has as many entries as you want.
Example of an empty section with all 4 subsections but no actual entries:
“DwarvenCrafting”
# Workshop
\{
\}
# Forge
\{
\}
# Lab
\{
\}
# Jeweller
\{
\}
- Each entry enables an item to be built in that workshop, forge, jewellers or lab.
- The entry has two possible formats
- {{ItemType} Speed ResourceID Amount}
Example:
\{ 0.03 \{ SkillId FORGE LastingEffect INSANITY \}\}\}
- Each entry ends with
\}
- Each section ends with
\}
The file always ends like this:
\}
The file always begins like this:
\{
- The format is constructed of 2 sections (keepers and adventures) and entries in both sections.
- Each section begins with
\{
- Each section ends with
\}
- Entries in the keeper section enable a new type of Keeper Class
- The immigrants available from immigration.txt are specified
- The technologies available from technology.txt are specified
- The game menus available to the keeper class from build_menus.txt are specified
- The items buildable in workshops from workshops_menu.txt are specified.
- The format for an entry is as follows:
\{
creatureId = \{ CreatureIDMale CreatureIDFemale \}
tribeAlignment = TribeAlignment
immigrantGroups = \{“ImmigrantSection1” “ImmigrantSection2”...\}
technology = \{
“TechID1” “TechID2”...
\}
intialTech = \{
“TechID1” “TechID2”...
\}
buildingGroups = \{
\{“BuildMenuSection1” “BuildMenuSection2”...\}
\}
workshopGroups = \{
\{“WorkshopMenuSection1” “WorkshopMenuSection2”...\}
\}
description = “HelpText”
\}
Example:
\{
creatureId = \{ KEEPER_MAGE KEEPER_MAGE_F \}
tribeAlignment = EVIL
immigrantGroups = \{“imps” “dark_keeper”\}
technology = \{
“alchemy” “advanced`` ``alchemy” “alchemical`` ``conversion” “humanoid`` ``mutation” “beast`` ``mutation”
“pig`` ``breeding” “iron`` ``working” “jewellery” “two-handed`` ``weapons” “traps” “archery” “sorcery”
“advanced`` ``sorcery” “magical`` ``weapons” “master`` ``sorcery” “demonology”
\}
initialTech = \{ “sorcery” \}
buildingGroups = \{
“structure” “doors” “floors” “storage” “quarters” “library” “throne” “beds” “beast_cage” “pigsty” “coffins”
“training” “crafting” “demon_shrine” “prison” “orders” “installations” “magical_installations” “traps”
\}
workshopGroups = \{ “basic” “traps” \}
description = “Build`` ``and`` ``manage`` ``your`` ``dream`` ``dungeon,`` ``defend`` ``against`` ``raids,`` ``and`` ``attack`` ``your`` ``enemies!”
\}
- Entries in the adventurer section enable a new type of Adventurer Class
\{ CreatureIDMale CreatureIDFemale \} TribeAlignment “HelpText”
Example:
\{ ADVENTURER ADVENTURER_F \} LAWFUL “Roam`` ``the`` ``land`` ``in`` ``search`` ``of`` ``adventures`` ``and`` ``loot!”
The file always begins like this:
\}