Skill System Reference - dredmor-com/dungeons-of-dredmor GitHub Wiki

This page contains information about the whole Skill System, detailing how skills and abilities are made.

  1. Skilltree
  2. Skill / Ability
  3. See Also

Skilltree

The skilltree's name, subtype, achievement and description are customizable with the <skill> tag. The <art> tag is for the skilltree's image. <loadout> can be called multiple times to give more different items on skilltree select and gamestart.

<skill>
Name Input Description Example
name string Shows up in-game as the skill's name. name="Swords"
id 0 - inf Unique number, usually very high to not conflict with other skills. id="738001"
skillName string Unique name, can be used instead of id. skillName="Swords"
type string What type of stats you earn on level up. type="warrior"
"warrior" This skill earns you Warrior stats on level up.
"rogue" Obviously, this'd earn you rogue stats.
"wizard" ... you get the idea.
achievement string What achievement this skill will activate upon reaching the last perk. Not for use in modding. achievement="ACHIEVEMENT_SWORD_MASTERY"
description string A funny/introductive/educative/informative description. description="Why walk all the way over to someone to stab them? The polearm is the lazy pweson's answer to melee combat.
deprecated boolean The Gaslamp way of telling XML-readers that this skill will never show up in-game. deprecated="1"
<art>
icon path The path to this skill's icon (showing up on the skill selection screen and in-game). icon="skills/daggery64.png"
<loadout>
type string Type of item you spawn with by taking this skill. type="weapon"
subtype string Specific item name for the item type you want the player to spawn with. subtype="Iron Sword"
amount 0 - inf Amount of the specific item or item type you will spawn with. amount="4"
always boolean If you always spawn with this item, or if you spawn only with your total archetype levels in that class exceed your archetype levels in.
For example, if you don't use always="1" on the loadout for a Wizard skill, you'll only get that item if you have more Wizard skills than any other archetype.
always="1"
<flags>
deprecated boolean A flag that shows that this skill is deprecated. deprecated="1"
noFood boolean Makes it so that the player can't eat food. Used in the Vampirism skill. noFood="1"
veganism boolean Makes it so that the player can't eat meat. Used in the Killer Vegan skill. veganism="1"
friendlyTaxa string Makes a specific taxa of enemy always friendly toward characters with this class. Used in the Killer Vegan skill. friendlyTaxa="Animal"

NOTE: <loadout type="weapon" subtype="apple" amount="1" always="1"/> WILL ABSOLUTELY SPAWN A WEARABLE APPLE-WEAPON. TYPE DOESN'T HAVE TO BE WHAT IT'S ACTUALLY GOING TO SPAWN.

Skill / Ability

The <ability> tag is for actual skills. You can change the name and image, determine if it's the starting skill or how many times you have to level up to get it. The description for the spell can be changed and you can set buffs for it. You can also make it trigger spells on hit/kill/any event, or just add a spell with a percentage chance to cast.

<ability>
Name Input Description Example
name string Name for the ablity. name="Swordplay"
icon path Path to the ability's icon. icon="skills/skill_sword.png"
skill 0 - inf Number corresponding to the skilltree it has to be in(!!). skill="738001"
startskill boolean Indicates if the skill is a startskill, a.k.a. get it from choosing the skilltree, a.k.a. the second image in the skilltree. startskill="1"
level 0 - 8 How many level-ups this skill will cost you to get (if you only choose from the skilltree, of course). level="1"
learnrecipe string Name of the crafting recipe that is obtained as you learn this skill. learnrecipe="Clockwork Power-limb"
giveitem string Name of the item that is obtained when you learn this skill. giveitem="Aluminum Helmet"
<description>
text string The text that makes you laugh so hard behind your PC. Yes, we know about that. text="You can bottle fame, brew glory, even put a stopper on death."
<recoverybuff>
amount 0 - 100 Adds a percentage chance to recover shot bolts and thrown weaponry. amount="10"
<flags>
vmtheft boolean Whether the player can steal one item from an unchecked vending machine. vmtheft="1"
opendoors boolean Whether the player can open doors without a lockpick. opendoors="1"
storetheft boolean Whether the player can rob one item from an unchecked store without being noticed. storetheft="1"
veganism boolean Makes it so that the player can't eat meat. Used in the Killer Vegan skill. veganism="1"
friendlyTaxa string Makes a specific taxa of enemy always friendly toward characters with this ability. Used in the Killer Vegan skill. friendlyTaxa="Animal"
<primarybuff>
id 0 - 5 The primary stat increased with choosing this skill. id="2"
amount integer How much will be increased of this particular stat. amount="3"
<secondarybuff>
id 0 - 23 The secondary stat increased with choosing it. id="14"
amount integer How much the stat will be increased. amount="12"
<resistbuff>
damagetype -inf - inf How much the damage will increase/decrease with the type from choosing this skill. toxic="-14"
<targetHitEffectBuff>
percentage 0 - 100 Percentage the skill will actually cast a spell. percentage="50"
name string The spell to cast upon hitting an enemy with this skill name="Rockburst"
after boolean Makes this happen after other combat calculations. after="1"
taxa string What kind of enemies are affected by this buff. taxa="Animal"
<playerHitEffectBuff>
percentage 0 - 100 Percentage the skill will actually cast a spell. percentage="35"
name string The spell to cast upon being hit having acquired this skill. name="Defend"
after boolean Makes this happen after other combat calculations. after="1"
taxa string What kind of enemies are affected by this buff. taxa="Animal"
<spell>
name string The spell you learn from taking this skill level. name="Lead into Gold"
<targetKillBuff>
percentage 0 - 100 Percentage that this will trigger on kill. percentage="20"
name string Name of the buff to trigger upon kill. name="Killing Blow"
after boolean Makes this happen after other combat calculations. after="1"
taxa string What kind of enemies are affected by this buff. taxa="Animal"

See also:

Skill Tutorial

⚠️ **GitHub.com Fallback** ⚠️