Attribution
This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC, available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License, available at https://creativecommons.org/licenses/by/4.0/legalcode.
The SRD 5.1 material used here has been MODIFIED. CC-BY 4.0 requires that to be stated, and it is true throughout rather than in places: values are re-derived rather than transcribed where the derivation is ours, rules are encoded as engine primitives that do not map one-to-one onto the printed text, and prose is paraphrased. The itemised list below is not required by the licence — the paragraph above satisfies it — but it is how this project keeps the boundary between transcribed SRD material and original work legible (ADR-0066), and each entry says which side of that line it falls on.
Material used: the six ability scores (Strength, Dexterity, Constitution, Intelligence, Wisdom, Charisma), the ability modifier formula, the d20 ability-check convention, and the 4d6-drop-lowest score generation method (engine/src/stats.rs); and the EXHAUSTION mechanic — the six-level penalty track and its per-level effects (disadvantage on ability checks; speed halved; disadvantage on attack rolls and saving throws; hit point maximum halved; speed 0; death) with long-rest recovery of one level (SRD 5.1 Appendix Conditions, the Exhaustion table; engine/src/exhaustion.rs, ADR-0237); and the REACTION economy — one reaction per round refreshed at the start of your turn, the opportunity attack as a reaction, the Ready action (an action held for a trigger, spent as a reaction when it fires), and the Rogue’s Uncanny Dodge (a reaction halving one attack’s damage) (SRD 5.1 “Combat” — Reactions / Opportunity Attacks / Ready, and “Rogue” — Uncanny Dodge; engine/src/combat_bubble.rs, ADR-0245); and the MELEE TOOLKIT (SRD 5.1 “Equipment” — the Reach weapon property; “Combat” — Two-Weapon Fighting, and the Grapple and Shove special melee attacks, with their Strength (Athletics) vs Strength (Athletics)/Dexterity (Acrobatics) contest and the grappled/prone conditions they inflict; and “Feats” — the Grappler feat’s advantage-against-the-grappled and pin-to-restrain benefits): a reach weapon’s 10-ft melee reach for the strike and the opportunity attack, the bonus-action off-hand attack (its damage-modifier rule and the Two-Weapon Fighting style that adds it), and the grapple/shove/escape/pin actions (engine/src/combat_bubble.rs, engine/src/combat_melee.rs, ADR-0246; the Reach property already sat in data/tables/weapons.srd.ron on the glaive, halberd, pike, lance, and whip); and the VARIANT ENCUMBRANCE rule (SRD 5.1 “Using Ability Scores” — Strength, “Variant: Encumbrance”): the carrying-capacity cap of Strength score × 15, and the encumbrance bands — carried weight over STR×5 is encumbered (speed −10 ft), over STR×10 is heavily encumbered (speed −20 ft and disadvantage on ability checks, attack rolls, and saving throws that use Strength, Dexterity, or Constitution) (engine/src/encumbrance.rs, ADR-0247); and the TRAPS rules (SRD 5.1 “Traps” — the trap mechanics: detecting a trap with a Wisdom (Perception) or Intelligence (Investigation) check against a DC, disarming it with a Dexterity check using thieves’ tools against a DC, and its effect resolving as a saving throw (half damage on a success) or an attack roll, dealing damage and/or inflicting a condition) (engine/src/traps.rs, ADR-0249); and the DISEASES rules (SRD 5.1 “Diseases”: a disease is contracted by failing a saving throw against exposure, incubates for a period, imposes effects while it holds — including levels of exhaustion, a condition, and penalties to ability checks — and is cured by succeeding on a run of Constitution saving throws at the end of long rests) (engine/src/disease.rs, ADR-0250). Further SRD material (skills, conditions, equipment, monsters) will be attributed here as it is adopted.
data/ SRD-derived files (ADR-0066)
This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode.
Material used, extracted from the official SRD 5.1 CC PDF
(SRD_CC_v5.1.pdf, fetched 2026-07-19) into the *.srd.ron files under
data/ — the suffix marks SRD derivation; see data/README.md for the
layout contract. The derived-from-SRD material is:
- the eighteen skills and their governing abilities
(
data/tables/skills.srd.ron); - the core races and their SRD subraces: ability score increases, age,
size, speed, and alignment-tendency prose (the numeric
alignment_biaspairs are our own distillation of that prose, not SRD values — seedata/README.md) (data/races/); - the simple and martial weapon tables and the armor table
(
data/tables/weapons.srd.ron,data/tables/armor.srd.ron); - the Experience Points by Challenge Rating table
(
data/tables/cr_xp.srd.ron); - the Character Advancement table — the cumulative experience points per
level 1..20 (
data/tables/advancement.srd.ron, ADR-0091; the table’s Proficiency Bonus column is not transcribed — it derives from level); - the Commoner, Guard, and Bandit stat blocks from Appendix MM-B
(
data/creatures/humanoids/, stored as primitives; the same blocks’ printed composite values indata/expected/npc_blocks.srd.ronas a verification corpus); - fourteen monster stat blocks from the SRD 5.1 “Monsters” chapter, one per
non-humanoid creature type (ADR-0236), stored as PRIMITIVES only — abilities,
hit-dice level, size, natural armor, speed, the natural-attack dice + kind,
multiattack count, and the damage/condition immunities, resistances, and
vulnerabilities the block prints; AC, HP, to-hit, and XP DERIVE (their printed
values verified in
data/expected/npc_blocks.srd.ron). The blocks: Wolf (beast), Skeleton & Zombie (undead), Black Dragon Wyrmling (dragon), Dretch (fiend), Magma Mephit (elemental), Ogre (giant), Gray Ooze (ooze), Animated Armor (construct), Worg (monstrosity), Satyr (fey), Pegasus (celestial), Gibbering Mouther (aberration), Awakened Shrub (plant) (data/creatures/). Breath weapons, legendary/lair actions, innate spellcasting, regeneration, and monster-specific traits are NOT transcribed — they are ledgered until a consumer exists (docs/adr/FOLLOWUPS.md); - the monster-statistics rules used as derivation formulas — Hit Dice
by Size, Proficiency Bonus by Challenge Rating, and the skill/passive
bonus rules (SRD 5.1 pp. 254-257), documented in
data/README.md; - the racial traits with engine substrate (ADR-0214): Dwarven
Resilience, Lucky, Relentless Endurance, Savage Attacks, Menacing,
Keen Senses, Skill Versatility, Gnome Cunning, Hellish Resistance —
as trait ids and damage resistances on the race files (
data/races/); - ALL TWELVE SRD classes — Fighter, Rogue, Cleric, Wizard, Barbarian, Monk,
Paladin, Ranger, Bard, Druid, Sorcerer, and Warlock — with their SRD
subclasses (Champion, Thief, Life Domain, School of Evocation, Path of the
Berserker, Way of the Open Hand, Oath of Devotion, Hunter, College of Lore,
Circle of the Land, Draconic Bloodline, The Fiend): hit dice, saving-throw
and armor/weapon/skill training lists, feature names and levels (Rage,
Unarmored Defense, Reckless Attack, Fast Movement, Brutal Critical, Martial
Arts, Ki, Flurry of Blows, Patient Defense, Step of the Wind, Unarmored
Movement, Stunning Strike, Divine Smite, Lay on Hands, Channel Divinity
(Sacred Weapon), Colossus Slayer, Bardic Inspiration, Jack of All Trades,
Song of Rest, Font of Inspiration, Natural Recovery, Draconic Resilience,
Dark One’s Blessing, Dark One’s Own Luck, Fiendish Resilience among them),
cantrips-known steps, spellcasting abilities, the ability-score-improvement
levels, the Rage-uses/Martial-Arts-die/Bardic-Inspiration-die/Song-of-Rest
progressions, and the starting-equipment picks (each class page’s “(a)”
options, as the
kitfield — ADR-0216 amendment) (data/classes/, ADR-0214/0238/0239/0240); - the Multiclassing rules (SRD 5.1 “Multiclassing”) — the ability-score
PREREQUISITES to take each class in a multiclass (Barbarian Str 13,
Fighter Str 13 or Dex 13, Monk Dex 13 and Wis 13, …), the REDUCED
proficiencies a multiclassed class grants (a subset of the initial set,
with no saving-throw proficiencies), and the Multiclass Spellcaster slot
table (combined caster level = full-caster levels + half of half-caster
levels, read off the full-caster grid; Pact Magic kept separate) — as the
multiclass_prereq/multiclass_proficienciesfields on the class files and the combined-caster-level derivation (data/classes/,crates/engine/src/classes.rs, ADR-0241); - the full-caster Spell Slots per Spell Level grid from the cleric and
wizard class tables (
data/tables/spell_slots.srd.ron), the half-caster Spell Slots grid from the paladin and ranger class tables (data/tables/spell_slots_half.srd.ron, ADR-0239), and the warlock’s Pact Magic Spell Slots / Slot Level grid (data/tables/pact_magic.srd.ron, ADR-0240); - nineteen spells from the Spell Descriptions chapter — names, levels,
schools, casting times, ranges, damage/healing dice, save abilities,
area sizes, light radii, and “At Higher Levels” scaling
(
data/spells/, ADR-0214/0217; the effect/area/upcast ENCODINGS are our interpretation, perdata/README.md); - the SRD 5.1 “Feats” chapter’s ONE feat — Grappler (its name,
Strength-13 prerequisite, and rules text: advantage on attack rolls against a
creature you are grappling, and the action to pin a grappled creature so both
are restrained) — as
data/feats/grappler.srd.ron(ADR-0242). The SRD 5.1 contains exactly this one feat; its grapple-dependent benefits are LEDGERED until the grapple action lands (docs/adr/FOLLOWUPS.md), so only its prerequisite is live substrate. No non-SRD feat is transcribed — the feat catalog is a mod surface; - five items from the SRD 5.1 “Magic Items” chapter (ADR-0243) — their names,
rarities, attunement requirements, and the mechanical primitives their entries
print: the “Weapon, +1/+2/+3” bonus (+1 attack & damage) and “Armor, +1/+2/+3”
bonus (+1 AC) applied to the longsword and chain shirt arms rows
(
data/magic_items/plus_one_longsword.srd.ron,plus_one_chain_shirt.srd.ron), the Ring of Protection and Cloak of Protection (+1 AC and +1 saving throws, attunement —ring_of_protection.srd.ron,cloak_of_protection.srd.ron), and the Wand of Magic Missiles (7 charges, “1 or more charges” to cast, “regains … charges daily at dawn” —wand_of_magic_missiles.srd.ron). PRIMITIVES ONLY: the bonuses/rarity/charges are transcribed; item WORTH is NOT (it DERIVES — a rarity factor over our ADR-0069 craft worth, never the DMG’s gp values, which lie outside the CC-BY SRD corpus — the CR/object-statistics precedent). The wand’s spell EFFECT and the daily “1d4 + 1” recharge die are LEDGERED (docs/adr/FOLLOWUPS.md); the charge accounting and a full-refill-at-dawn cadence are the live substrate. The starter set is five files; the rest of the chapter is a mod surface; - the spellcasting formulas used as derivations: spell attack bonus,
spell save DC, prepared-spell counts, and the cantrip damage steps at
character levels 5/11/17 (
crates/engine/src/spells.rs,crates/engine/src/classes.rs); - the damage-multiplier rule (SRD 5.1 “Damage and Healing” p. 97):
resistance halves damage (round down), immunity reduces it to zero, and
vulnerability doubles it, with resistance applied before vulnerability
(
crates/engine/src/combat_bubble.rs::apply_damage, ADR-0214/0233). The damage-kind lists a race or creature carries are data-side interpretation (no SRD race carries one; the ADR-0236 monster blocks carry the resistances, immunities, and vulnerabilities their SRD stat blocks print); - the Cover rule (SRD 5.1 “Cover”, “The Environment”): the three degrees of
cover and their effects — half cover grants +2 to AC and Dexterity saving
throws, three-quarters cover grants +5, and total cover makes a target
impossible to target directly by an attack or a spell — and the optional
rule that a creature can grant half cover
(
crates/engine/src/combat_board.rs::Cover/cover_between,crates/engine/src/combat_bubble.rs, ADR-0244). The corner-trace that grades the degree from the board’s blocked squares is our SIMPLIFIED interpretation of the SRD’s corner-to-corner method (documented in the ADR), not an SRD transcription; - the fourteen creature types and their gloss (SRD 5.1 “Monsters” / Monster
Statistics, the Type line, pp. 250-251): aberration, beast, celestial,
construct, dragon, elemental, fey, fiend, giant, humanoid, monstrosity,
ooze, plant, undead (
data/tables/creature_types.srd.ron, ADR-0234) — and hold person’s “one humanoid” targeting clause it gates (data/spells/hold_person.srd.ron). The note prose paraphrases the SRD’s own examples; which soul reads which type is data-side (every SRD playable race is a humanoid); - the SRD 5.1 Conditions (Appendix PH-A): the condition names and rules text,
transcribed as the
data/conditions/*.srd.ronbundles (ADR-0229/0235) — twelve ship (paralyzed, blinded, frightened, grappled, incapacitated, invisible, petrified, poisoned, prone, restrained, stunned, unconscious); charmed and deafened are noted but NOT transcribed (no engine read consumes their wholly perceptual/social effects yet). The COMPONENT decomposition — whichConditionComponentreads a condition bundles — is our interpretation of the SRD text, documented indata/README.md. - the special senses (SRD 5.1 “Monsters” / Monster Statistics, the Senses
line, and “The Environment”: blindsight, darkvision, tremorsense,
truesight) — carried as the radius fields on the race/creature blocks and
the monster Senses lines transcribed onto
data/creatures/(ADR-0248); darkvision keeps its ADR-0204 field. Which combat reads a sense negates (the unseen-attacker/darkness disadvantage) is our interpretation of the SRD text, documented in the ADR; - the sixteen languages (SRD 5.1 “Languages”, the Standard and Exotic
tables, p. 63): Common, Dwarvish, Elvish, Giant, Gnomish, Goblin,
Halfling, Orc; Abyssal, Celestial, Deep Speech, Draconic, Infernal,
Primordial, Sylvan, Undercommon (
data/tables/languages.srd.ron, ADR-0248) — and the monster stat-block Languages lines transcribed ontodata/creatures/. The “Typical Speakers” gloss paraphrases the SRD; which soul knows which tongue is data-side (ABSENT means Common). - three sample traps from the SRD 5.1 “Traps” chapter (Sample Traps, ADR-0249) —
their names, detection and disarm DCs, and effects: the Poison Needle
(Investigation DC 20 to detect, DC 15 thieves’ tools to disarm, a DC 15
Constitution save or take 2d10 poison and become poisoned —
data/traps/poison_needle.srd.ron), Poison Darts (Perception DC 15, disarm DC 15, a DC 15 Dexterity save for half of 2d10 poison —poison_darts.srd.ron), and the Fire-Breathing Statue (Investigation DC 15, disarm DC 15, a DC 13 Dexterity save for half of 4d10 fire —fire_breathing_statue.srd.ron). PRIMITIVES ONLY: the DCs and dice are transcribed; the poison needle’s 1 piercing damage and the “poisoned for 1 hour” duration are LEDGERED (folded/ledgered,docs/adr/FOLLOWUPS.md). The three device samples are all the shipped catalog; the rest of the chapter (pits, collapsing roofs, and the attack-roll traps) is a mod surface. - three sample diseases from the SRD 5.1 “Diseases” chapter (Sample Diseases,
ADR-0250) — their names, contraction/recovery DCs, incubation, and effects:
Sewer Plague (a DC 11 Constitution save to resist, ~1d4 days to incubate, one
level of exhaustion, a DC 11 Constitution recovery save —
data/diseases/sewer_plague.srd.ron), Sight Rot (a DC 15 Constitution save, 1 day to incubate, a sight penalty culminating in the blinded condition, a DC 15 Constitution recovery save —sight_rot.srd.ron), and Cackle Fever (a DC 13 Constitution save, hours to incubate, one level of exhaustion, a DC 13 Constitution recovery save —cackle_fever.srd.ron). PRIMITIVES ONLY: the DCs, dice, and save cadences are transcribed; the SRD nuances without an existing consumer — Sewer Plague’s rest-healing riders, Sight Rot’s −1→−5 escalation and its Eyebright/lesser-restoration cures, Cackle Fever’s shrieking combat rider and gnome immunity — are LEDGERED (docs/adr/FOLLOWUPS.md). The three samples are the shipped catalog; the rest of the chapter is a mod surface.
Original additions (ours, NOT SRD material, marked source: Original
or documented as our interpretation in data/README.md): the
alignment_bias distillations noted above; the data/goods/ material
files and ALL crafting recipes embedded in the weapon and armor tables
(stations, tiers, input quantities, hours, material prices) — the SRD
contains no material recipes; its downtime crafting is gp-rates only.
Also original: data/professions/ (background skill proficiencies,
trade tools, workplaces; the profession set mirrors the engine’s own
library), data/buildings/ (building types, production rates, build
costs), data/tables/quality_profiles.ron (the seven-tier quality
system and its per-class effects), the vocabulary registries
(data/tables/material_classes.ron, data/tables/terrain_tags.ron),
and the constructive-material metadata on goods (classes, factors,
work difficulties, quality biases, durability properties, rarities).
The object-durability numbers (hardness, integrity) are original
derivations, NOT the DMG’s object statistics — that chapter is outside
the CC-BY SRD corpus and nothing was transcribed from it.
The WEATHER & SEASONS system (ADR-0251, crates/engine/src/weather.rs
and Time::season) is likewise entirely original — D&D’s
weather/environment HAZARD rules (extreme cold/heat/wind, precipitation,
high altitude) live in the Dungeon Master’s Guide, which is OUTSIDE the
CC-BY SRD 5.1, so NOTHING was transcribed: the weather-state set
(clear/overcast/rain/fog/storm/snow/heat), the obscurement mapping, every
season-weighted probability, and the season lengths are our own work.
The HARD-ROAD EXHAUSTION toll (ADR-0254, crates/engine/src/exhaustion.rs
weather_toll / weather::is_severe / weather::severe_crossing) is
likewise our OWN design: the SRD’s exhaustion CONDITION/track it drives is
SRD material (attributed above, ADR-0237), but the SOURCE — that a SEVERE
sky (storm/snow) forces a Constitution save per crossing at a DC of 12, a
failure adding one exhaustion level — is entirely original. Nothing is
transcribed from the DMG’s environment/forced-march rules (Con DC 10
escalating per hour), which lie OUTSIDE the CC-BY SRD 5.1: our severity set,
the per-severe-crossing cadence, the DC, and the +1-per-crossing cap are all
source: Original (the ADR-0071 “DMG numbers are never transcribed — ours
derive” doctrine).
The SQUALOR DISEASE-EXPOSURE vector (ADR-0257,
crates/engine/src/disease.rs squalor_exposure) is likewise our OWN
design: the DISEASE it triggers is the SRD Sewer Plague (SRD material,
attributed above via ADR-0250 — its DC 11 contraction save and long-rest
recovery are the SRD’s), but the SOURCE — that a pauper (net worth below the
poverty line) dwelling in a neglected, high-unrest ward (the ADR-0028 rising
bar) rolls a low-rate periodic exposure (roughly monthly, a name-salt
lottery) — is entirely original. The squalor unrest bar, the poverty line,
and the exposure rate/denominator are all source: Original; the SRD’s own
“sewer plague incubates in filth” flavour is why squalor is the faithful
vector, but no number is transcribed.
SRD-aligned exceptions inside data/goods/, noted per file: the seven
tool/kit WEIGHTS (smith’s, leatherworker’s, carpenter’s, weaver’s,
brewer’s supplies, cook’s utensils, fishing tackle) and ale’s mug price
(4 cp), from the SRD equipment table. The seven tool/kit VALUES were
formerly SRD-aligned too, but ADR-0081 (labour-rate calibration) replaced
them with worth DERIVED from recipe + labour — a smith’s kit is now
45 cp, not the SRD’s 20 gp transcription — so those values are no longer
SRD material; only the weights remain. (Ale’s 4 cp both stays SRD-aligned
and round-trips the derivation.) The material name “mithral” uses the
SRD 5.1 spelling.
data/names (ADR-0066)
The race name tables in data/names/ contain NO SRD or other licensed
material. Every name derives from public-domain historical sources
(pre-1900 editions and ancient corpora — the Dvergatal of the Poetic
Edda, Landnámabók, the Mabinogion in the Guest translation, the Bodmin
manumissions, the Cartulary of Redon, English poll-tax and subsidy
rolls, Domesday Book, pre-1900 Swiss records) or is original work
generated for this project under documented phonologies. Per-race
sources, editions, and dates are recorded in data/names/METHOD.md.
Public-domain sources impose no attribution requirement; this section
records provenance for diligence.
Fonts (vendored in crates/web/fonts/)
- Cinzel by Natanael Gama — SIL Open Font License 1.1.
- Alegreya by Juan Pablo del Peral (Huerta Tipografica) — SIL Open Font License 1.1.
Both vendored as latin woff2 subsets for the web shell’s display and narrative faces (ADR-0147 restage).