← all rulesets
Read the ruleset · actions & conditions
approved
Ruleset · v0.1
d20 fantasy SRD 5.0 (combat)
22 actions
20 conditions
rls_aatnufhxftryy
Approved for play by shipped on 2026-09-02.
Cross-checks · 0 to look at
- Vars referenced by actions but not declared
- Conditions applied or removed by actions but not defined
- Conditions defined but never applied by any action: blinded charmed deafened exhaustion frightened incapacitated invisible paralyzed petrified poisoned restrained stunned unconscious
Fix an action, in plain English
Say the fix the way you'd say it at the table — "crits deal max damage plus the roll", "give Morale Check a WIL save". The compiler emits an enforced change against this pack; you read what it compiled to, then Save & re-check. Saving sends the pack back to review.
Fix log · logged on the ruleset
- advantage disadvantage — Advantage rolls 2d20kh1, disadvantage rolls 2d20kl1; one grant of each cancels to a single d20.
- advantage sources — Cover (+2 half, +5 three-quarters to AC and Dex saves), unseen attacker/target, ranged attack within 5 feet of a hostile, squeezing, and underwater weapon restrictions are GM-adjudicated modifiers to the rolls above.
- critical hits — A d20 attack roll of 20 hits regardless of modifiers or AC and doubles all damage dice; a natural 1 always misses regardless of modifiers.
- damage resistance — Resistance halves and vulnerability doubles damage of a type, applied after all other modifiers; multiple instances count once.
- dropping to 0 hp — At 0 hp a creature falls unconscious and stable-on-knockout at the attacker's option; instant death if remaining damage equals or exceeds its hit point maximum. Three death-save successes stabilize, three failures kill; a natural 1 counts as two failures.
- flying movement — A flying creature that is knocked prone, has its speed reduced to 0, or otherwise loses the ability to move falls, unless it can hover or is held aloft by magic.
- half on save — On a successful Dexterity save against an area spell, the target takes half the rolled damage (rounded down). The engine's dice grammar has no division, so success branches approximate this with dice matched on expected value: E[floor(3d6/2)] = 5.0, so Burning Hands rolls 2d4 (E = 5.0); half of 8d6 is 4d6 exactly.
- healing — Healing adds regained hit points to current hit points, capped at the hit point maximum; excess is lost. A dead creature can't regain hit points until magic such as revivify restores it to life.
- mounted combat — A willing creature one size larger with appropriate anatomy can be a mount. Mounting or dismounting happens once during your move and costs half your speed (impossible at speed 0). If the mount is moved against your will or you're knocked prone while mounted, succeed on a DC 10 Dexterity save or fall off prone within 5 feet; if the mount is knocked prone you may use your reaction to dismount on your feet, else you fall prone within 5 feet. A controlled (trained) mount matches your initiative, moves as directed, may act the turn you mount it, and can only Dash, Disengage, or Dodge; an independent or intelligent mount keeps its initiative and acts freely. When the mount provokes an opportunity attack, the attacker chooses you or the mount.
- movement — Difficult terrain and crawling cost 1 extra foot per foot; standing from prone costs half speed; dropping prone is free.
- range — A ranged attack with a single range can't target anything beyond it. A weapon with normal/long ranges attacks at disadvantage (2d20kl1) beyond normal range and can't attack beyond long range; distance is GM-adjudicated.
- surprise — A surprised creature cannot move or act on its first turn and cannot react until that turn ends.
- temporary hit points — Temporary hit points absorb damage first, are not healed, do not stack, and can exceed the hit point maximum.