Skip to main content

Official Rules

The Eldiron Official Ruleset is the default fantasy RPG ruleset bundled with Eldiron. It gives characters, races, classes, weapons, armor, spells, progression, visuals, and world simulation one shared meaning.

Black-and-white rulebook scene with adventurers, dice, and an open rules tome

Work In Progress

This is a preview of the official ruleset direction for the next release line. It is not the final v1 scope. Version 1 is expected to grow beyond the current draft with more classes, races, spells, equipment, crafting, conditions, loot, encounter tools, localization, and balancing support.

Official Ruleset

One Rulebook For The World

A Warrior, an Orc, a training sword, a healing spell, and a leather vest should all mean something before a project author writes custom scripts. The official ruleset is that shared meaning.

d3d6d8d20
Level 1 WarriorHumanHP 16 / 16STR 12Training Sword

Design Goal

Eldiron should feel easier to author because the ordinary RPG rules are already there. A project should not need custom attributes for every weapon cooldown, every spell range, every starter loadout, every faction decision, or every item preview.

When a project says:

  • this character is a Warrior
  • this enemy is an Orc
  • this item is a training_sword
  • this spell is minor_heal

the official ruleset should answer the obvious questions: What are its stats? What can it equip? How far can it attack? What does it roll? How long is the cooldown? What does it look like? Who is it hostile toward?

Projects can still customize the answers. The official ruleset is the default layer; Game / Rules is the project override layer.

How To Read The Rules

The official ruleset is a tabletop-style rulebook backed by TOML. The guide explains how the rules play. The TOML is the source of truth that Creator, clients, runtime systems, and tools read.

Rulebook termIn Eldiron TOMLUsed by
Race[races.Human], [races.Orc]identity, relations, visual defaults
Class[classes.Warrior]stats, equipment, abilities, loadouts
Weapon[items.weapons.training_sword]damage, cooldown, range, visuals
Spell[spells.minor_heal]cost, range, cast time, effect
Intent[intents.attack]allowed actions and distances
Combat kind[combat.kinds.fire]damage bonuses and reductions

The current bundled ruleset is assembled from split TOML files under the eldiron.official id.

FieldCurrent value
Ruleset ideldiron.official
NameEldiron Official Ruleset
Version1.0.0
Schema version1
Engine minimum0.9.12
Statusdraft

Dice

Eldiron uses dice notation for readable random values.

1d6

Roll one six-sided die. Result: 1 to 6.

1d8

Roll one eight-sided die. Result: 1 to 8.

d20

Used for critical checks and future resolution rules.

A ruleset damage entry is intentionally readable:

[items.weapons.training_sword.damage]
roll = "1d6"
bonus = 1
bonus_attribute = "STR"
bonus_every = 4
damage_kind = "physical"

Read it as:

  1. Roll 1d6.
  2. Add the flat bonus.
  3. Add one more bonus for every 4 points in STR.
  4. Treat the result as physical damage.

So a Warrior with STR = 12 using a training sword rolls 1d6, adds 1, and then gains 3 more from Strength.

The TOML stays explicit. Tools can explain it, calculate it, and test it without requiring hidden formulas in character data.

Character Sheet

Every character starts from shared attributes. Race and class then shape those attributes into a playable role.

GroupAttributes
PrimarySTR, DEX, INT, WIS, VIT
ResourcesHP, MAX_HP, MP, MAX_MP
CombatDMG, POWER, ARMOR, RESIST, FIRE_RESIST, INIT, SPEED
ProgressionLEVEL, EXP
AttributeMeaning
STRphysical force, melee scaling, carrying future heavy actions
DEXagility, initiative, future ranged and avoidance hooks
INTarcane spell scaling and knowledge hooks
WISdivine spell scaling, resolve, and perception hooks
VITtoughness and health scaling
HP / MAX_HPcurrent and maximum health
MP / MAX_MPcurrent and maximum mana
ARMORphysical protection
RESISTgeneral magical protection
FIRE_RESISTfire-specific protection
POWERgeneral spell power

Derived stats are table-driven. For example MAX_HP, DMG, POWER, INIT, and SPEED can be calculated from level and primary attributes without asking authors to write formulas on each character.

Races

Races provide identity, language, visual defaults, attribute defaults, and base relations.

RaceRoleAvatarLanguagesKey defaults
Humanbalanced default peoplehumanoidcommonHP 10, all primary attributes 10
Orcstrong hostile test racehumanoidorcishHP 14, STR 12, DEX 9, INT 8, WIS 8, VIT 12

Race names are not hardcoded factions. They are identity defaults that feed relations and reputation.

Disposition And Reputation

Disposition answers a practical AI question: should this character treat that character as friendly, neutral, or hostile?

From / TowardHumanOrc
Humanfriendlyhostile
Orchostilefriendly

Reputation starts at 0, which means the race relation is used as-is.

ReputationDisposition
-50 or lowerhostile
0normal relation
50 or higherfriendly

Scripts should use is_hostile(entity_id) or disposition_of(entity_id) when they need an AI decision. They should not inspect custom alignment numbers.

Classes

Classes are the main playable role definitions. A class controls attributes, equipment permissions, abilities, spells, progression hooks, and starting loadout.

Black-and-white rulebook plate of a Warrior and Cleric

Martial

Warrior

Durable weapon user. Strong opening class for melee, armor, shields, and basic combat tests.

  • Primary: STR, VIT
  • HP 16 / 16
  • Training Sword
  • Padded Armor
Divine

Cleric

Armored support caster. Establishes mana, healing, spell unlocks, and divine scaling.

  • Primary: WIS, VIT
  • HP 14 / 14, MP 8 / 8
  • Novice Mace
  • Minor Heal

Warrior

AreaRule
Rolemartial
Primary attributesSTR, VIT
Weaponssword, axe, mace, spear, bow
Armorcloth, leather, chain, shield
Starting healthHP 16, MAX_HP 16
Starter weapontraining_sword
Starter armorpadded_armor
Starter clothingwool_trousers, leather_shoes
Starter inventorylinen_shirt
Level 1 abilitiesbasic_attack, guard
Level 2 unlockpower_strike

Cleric

AreaRule
Roledivine
Primary attributesWIS, VIT
Weaponsmace
Armorcloth, leather, chain, shield
Starting healthHP 14, MAX_HP 14
Starting manaMP 8, MAX_MP 8
Starter weaponnovice_mace
Starter armorpadded_armor, round_shield
Starter clothingwool_trousers, leather_shoes
Starter inventorylinen_shirt
Level 1 abilitiesbasic_attack, guard
Level 1 spellsminor_heal
Level 2 unlockholy_light

Class starting loadouts are applied only when a character does not define its own startup item attributes. This keeps the official defaults useful while still allowing special templates.

Intents

Intent rules define common player actions.

IntentRule
attacktarget must resolve to a hostile disposition
attack distancecomes from equipped weapon range, fallback 1.5 tiles
taketarget must be an item, distance 1.5 tiles
usedistance 2 tiles

Attack cooldown is rules-owned. A character script should call attack() for a normal weapon or unarmed attack. The runtime uses the equipped weapon cooldown and falls back to [combat].default_attack_cooldown.

Combat

Combat is meant to be easy to explain and easy to test.

Black-and-white combat plate with dice, sword, armor, shield, and orc marker

1Choose target
2Call attack()
3Roll weapon dice
4Apply damage kind
5Reduce by armor
6Apply final damage
Combat defaultValue
Damage kindphysical
Unarmed damage1d3, plus STR bonus every 4 points
Attack cooldown1.0 seconds
Cast cooldown1.5 seconds
Global cooldown0.5 seconds
Critical roll20
Critical multiplier1.5

Example Attack

A level 1 Human Warrior attacks an Orc with a training sword.

StepResult
Weapontraining_sword
Damage roll1d6
Flat bonus+1
Strength bonusSTR 12, so +3 from bonus_every = 4
Damage kindphysical
Cooldown1.0 seconds

If the die rolls 4, the attack starts at 4 + 1 + 3 = 8 physical damage. The Orc's physical reduction then comes from ARMOR and equipped armor before the final amount is applied.

Damage Kinds

KindMeaningReduction
physicalmundane weapon and body damageARMOR plus equipped armor ARMOR
arcaneunshaped magical forceRESIST plus equipped armor RESIST
spellcompatibility name for arcane forceRESIST plus equipped armor RESIST
fireheat, flame, and burning magicFIRE_RESIST plus equipped armor FIRE_RESIST

Weapons

Weapons define category, slot, cooldown, damage kind, visual data, and dice damage.

WeaponCategorySlotCooldownDamage
training_swordswordmain_hand1.01d6, bonus 1, STR every 4
hand_axeaxemain_hand1.21d8, bonus 1, STR every 4
novice_macemacemain_hand1.151d6, bonus 0, STR every 4

Weapon categories add shared behavior.

CategoryHandsBase cooldownRange
swordone-handed1.0default melee
axeone-handed1.2default melee
maceone-handed1.15default melee
speartwo-handed1.252
bowtwo-handed1.56

Armor And Clothing

The current armor model follows broad material families: cloth, leather, chain, and shield. This keeps equipment readable and gives crafting professions a natural future path.

Black-and-white equipment plate showing weapons, armor, boots, trousers, and clothing

ArmorFamilySlotArmorAvatar channels
padded_armorclothtorso1torso, arms
leather_vestleathertorso2torso
chain_shirtchaintorso3torso, arms
round_shieldshieldshield1item visual
ClothingFamilySlotPalette colorAvatar channels
linen_shirtclothtorso2torso, arms
wool_trousersclothlegs28legs
leather_shoesleatherfeet7feet

When an item defines avatar_channels and no explicit icon or tile source, Eldiron derives its preview from the bundled humanoid avatar. Inventory, equipment, and ground item visuals use the same generated shape.

Abilities And Spells

Abilities are class-owned actions. Spells add school, cost, cast time, range, visual, audio, and damage or healing data.

AbilityKindCooldownRangeEffect
basic_attackattack1.0weaponnormal physical attack
guardstance3.0selfARMOR +2 for 2.0 seconds
power_strikeattack4.0weapon1d8, bonus 2, STR every 4
SpellSchoolKindCostCooldownRangeRoll
minor_healrestorationheal3 MP4.051d6, bonus 1, WIS every 4
holy_lightrestorationdamage4 MP5.051d6, bonus 1, WIS every 4
fire_sparkfiredamage2 MP3.061d6, bonus 0, INT every 4

Progression

Progression uses explicit tables so balancing is visible.

LevelRequired XP
2100
3250
4450
5700
102700
2010450

Minor quests award 25 XP, major quests award 100 XP, and kill XP starts at 25 per defender level.

The current maximum level is 20. Level-up rewards and ability unlocks are class-owned.

Visual Defaults

Rules and visuals meet in play, so the ruleset provides a consistent default visual layer.

Visual ruleValue
Default avatarhumanoid
Avatar assetassets/humanoid.eldiron_avatar
Palettesingle 31-color mood palette based on Lospec's "31" palette
Explicit overrideproject tile_id, avatar, or empty visual fields win

On load, Eldiron copies the effective ruleset palette into the project palette. That keeps internal painting, item previews, avatar channels, and generated icons on one color source.

Tools And Testing

The official ruleset is structured so tools can answer practical authoring questions without guessing:

  • Which items does a level 1 Warrior start with?
  • Can a Cleric equip this weapon?
  • What is the attack range of this weapon?
  • How much XP is needed for the next level?
  • What damage can this weapon or spell roll?
  • Which race relation makes this target hostile?
  • How long until this character can attack again?
  • What happens if this Orc fights this Warrior 100 times?

The same TOML should serve gameplay, Creator UI, terminal tools, console tools, validation, and automated arena tests.

Work In Progress Roadmap

The current draft is a playable slice, not the final v1 promise.

Already present or underway:

  • Human and Orc race baselines
  • Warrior and Cleric class baselines
  • default race relations and reputation thresholds
  • attack, take, and use intent rules
  • weapon and unarmed dice damage
  • physical, arcane, spell, and fire damage kinds
  • cloth, leather, chain, and shield armor families
  • starter weapons, armor, clothing, abilities, and spells
  • default humanoid avatar and rules-owned palette
  • Creator integration and rules-aware tools

Expected v1 growth areas:

  • more playable classes and enemy roles
  • more races and creature templates
  • a larger spell and ability catalogue
  • crafting professions, reagents, recipes, stations, and item outputs
  • loot tables and treasure rules
  • conditions such as stunned, burning, poisoned, blessed, and guarded
  • armor proficiency, weapon proficiency, and class restrictions
  • encounter templates and automatic arena balance tests
  • item quality, rarity, value, and repair rules
  • richer AI intent rules and disposition changes
  • localization-ready rule names, messages, and descriptions
  • illustrated guide pages and deeper examples

The long-term goal is not a tiny ruleset. The goal is a real world simulation that starts simple, stays readable, and grows without returning to scattered per-character configuration.