pub const HEARTY_THRUSTER_FORCE: f32 = 0.3; pub const LANDING_THRUSTER_FORCE: f32 = 5.; pub const HEARTY_MASS: f32 = 1.0; pub const CARGO_MASS: f32 = 0.5; pub const HUB_MASS: f32 = 1.0; pub const LANDING_THRUSTER_MASS: f32 = 0.9; // maybe make this only cargo modules later pub const FREE_MODULE_CAP: usize = 30; // energy capacity pub const HEARTY_CAPACITY: u32 = 2000; pub const LANDING_THRUSTER_CAPACITY: u32 = 1000; pub const HUB_CAPACITY: u32 = 3000; // energy/tick pub const HEARTY_THRUST_ENERGY: u32 = 1; pub const LANDING_THRUSTER_ENERGY: u32 = 3; #[macro_export] macro_rules! mass { ($p:expr) => { if $p == crate::component::PartType::Hearty { crate::part::HEARTY_MASS } else if $p == crate::component::PartType::Cargo { crate::part::CARGO_MASS } else if $p == crate::component::PartType::Hub { crate::part::HUB_MASS } else if $p == crate::component::PartType::LandingThruster { crate::part::LANDING_THRUSTER_MASS } else { 1. } }; } #[macro_export] macro_rules! capacity { ($p:expr) => { if $p == crate::component::PartType::Hearty { crate::part::HEARTY_CAPACITY } else if $p == crate::component::PartType::Hub { crate::part::HUB_CAPACITY } else if $p == crate::component::PartType::LandingThruster { crate::part::LANDING_THRUSTER_CAPACITY } else { 0 } }; }