use std::cell::Cell;
mod side_running;
mod side_fluctuate;
mod side_fatigue;
mod side_food_drain;
mod side_water_drain;
mod side_underwater;
#[derive(Debug, Clone)]
pub struct RunningSideEffects {
stamina_drain_amount: Cell<f32>,
water_drain_amount: Cell<f32>,
running_state: Cell<bool>,
sleeping_state: Cell<bool>,
running_time: Cell<f32>, gained_fatigue: Cell<f32>
}
#[derive(Debug, Clone)]
pub struct DynamicVitalsSideEffect {
first_iteration: Cell<bool>,
counter: Cell<f32>,
half_duration: Cell<f32>,
direction: Cell<f32>,
body_temperature_ceiling: Cell<f32>,
heart_rate_ceiling: Cell<f32>,
top_pressure_ceiling: Cell<f32>,
bottom_pressure_ceiling: Cell<f32>
}
#[derive(Debug, Clone)]
pub struct FatigueSideEffects {
hours_until_exhausted: Cell<usize>
}
#[derive(Debug, Clone)]
pub struct FoodDrainOverTimeSideEffect {
drain_amount: Cell<f32>
}
#[derive(Debug, Clone)]
pub struct WaterDrainOverTimeSideEffect {
drain_amount: Cell<f32>
}
#[derive(Debug, Clone)]
pub struct UnderwaterSideEffect {
oxygen_drain_amount: Cell<f32>,
stamina_drain_amount: Cell<f32>,
sleeping_state: Cell<bool>,
gained_fatigue: Cell<f32>,
underwater_state: Cell<bool>,
time_under_water: Cell<f32> }
#[derive(Debug, Clone)]
pub struct FatigueSideEffectsStateContract {
pub hours_until_exhausted: usize
}
#[derive(Debug, Clone)]
pub struct DynamicVitalsSideEffectStateContract {
pub first_iteration: bool,
pub counter: f32,
pub half_duration: f32,
pub direction: f32,
pub body_temperature_ceiling: f32,
pub heart_rate_ceiling: f32,
pub top_pressure_ceiling: f32,
pub bottom_pressure_ceiling: f32
}
#[derive(Debug, Clone)]
pub struct FoodDrainOverTimeSideEffectStateContract {
pub drain_amount: f32
}
#[derive(Debug, Clone)]
pub struct RunningSideEffectsStateContract {
pub stamina_drain_amount: f32,
pub water_drain_amount: f32,
pub running_state: bool,
pub sleeping_state: bool,
pub running_time: f32,
pub gained_fatigue: f32
}
#[derive(Debug, Clone)]
pub struct UnderwaterSideEffectStateContract {
pub oxygen_drain_amount: f32,
pub stamina_drain_amount: f32,
pub sleeping_state: bool,
pub gained_fatigue: f32,
pub underwater_state: bool,
pub time_under_water: f32
}
#[derive(Debug, Clone)]
pub struct WaterDrainOverTimeSideEffectStateContract {
pub drain_amount: f32
}