Skip to main content

Crate edda_types

Crate edda_types 

Source
Expand description

Shared domain types for Edda.

This crate is deliberately free of server-side dependencies so it can be used by every service and every frontend (native, CLI, or WASM).

Re-exports§

pub use action::ActionError;
pub use action::CharacterAction;
pub use character::Ability;
pub use character::AbilityScores;
pub use character::Character;
pub use character::CharacterSheet;
pub use character::CharacterSummary;
pub use character::ClassLevel;
pub use character::HitPoints;
pub use character::Item;
pub use character::Skill;
pub use character::ValidationError;
pub use edition::Edition;
pub use resources::Pool;
pub use resources::Recharge;
pub use resources::Resource;
pub use resources::RestKind;
pub use spellcasting::PactMagic;
pub use spellcasting::Spell;
pub use spellcasting::Spellcasting;

Modules§

action
In-play state changes to a character sheet: casting spells, spending resources and resting. Defined here so every client and service shares exactly the same rules.
admin
What the services’ admin APIs answer (see edda_server::admin): what they deleted and took in, and each one’s part of a campaign as it’s exported, to keep or to move to another server (the auth service’s is edda_auth::protocol::AuthExport).
character
Character sheets: classes, abilities, skills, hit points and items.
combat
Combat encounters, modelled with event sourcing.
edition
Which edition of the rules a campaign plays by, chosen when the campaign is created. Only where the editions differ does it matter (so far: when Paladins and Rangers get spell slots).
encounter
Planned encounters and how hard they are.
monster
Monsters: full stat blocks, kept in a shared library (the SRD) and per campaign (homebrew), and turned into combatants when they join a fight.
resources
Limited uses (spell slots, class features) and rests.
rules_text
Rules text: spells’ and conditions’ full descriptions, kept like monsters in a shared library (the SRD) and per campaign (homebrew), and looked up by name, e.g. for a spell on a character sheet or an effect in a fight.
spellcasting
Spells known, spell slots and Pact Magic, and how many slots classes give.