esf-dogma-engine 11.0.0

Calculates the dogma attributes of EVE Online ship fits
Documentation
//! Calculates the dogma attributes of an EVE Online ship fit: the ship, its
//! items and the character.
//!
//! Describe the fit with [`Fit`] and pass it to [`calculate()`], together
//! with the static data from `esf-data`.
//!
//! ```no_run
//! use esf_data::{InfoSde, Sde};
//! use esf_dogma_engine::{Fit, Options, calculate};
//!
//! let bytes = std::fs::read("sde.dat").unwrap();
//! let sde = Sde::new(&bytes).unwrap();
//!
//! let fit: Fit = serde_json::from_str(
//!     r#"{
//!         "ship": {"type_id": 587},
//!         "items": [{"type_id": 2873, "slot": {"type": "high", "index": 0}, "state": "active"}]
//!     }"#,
//! )
//! .unwrap();
//!
//! let calculation = calculate(&InfoSde::new(&sde), &fit, &Options::default());
//! ```

#![warn(missing_docs)]

mod calculate;
mod fit;
mod projection;

pub use calculate::{
    AttributeValue, Calculation, EffectOperator, ItemResult, Options, Source, SourceRef, beacon,
    calculate,
};
pub use fit::{
    Character, Charge, DamageProfile, Environment, Fit, FitItem, Mutation, ReactiveArmor, Security,
    Ship, Slot, Spool, State,
};
pub use projection::{ProjectedBuff, ProjectedEffect, Projection};