configs/mana.rs
1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use tsify_next::Tsify;
4
5/// Balance settings of the character mana pool.
6///
7/// Deliberately forgiving at this stage: the pool and the regen are picked so a
8/// normal fight never runs dry and only a very long fight (tens of seconds of
9/// uninterrupted casting) empties it. Mana exists here as the foundation the
10/// ability stones price against, not as a resource to micromanage.
11#[derive(Clone, Debug, Deserialize, Serialize, JsonSchema, Tsify)]
12pub struct ManaSettings {
13 /// Full pool, granted at the start of EVERY fight.
14 #[schemars(
15 title = "Пул маны персонажа",
16 description = "Полный запас маны, который выдаётся в начале каждого боя. Между боями мана не переносится."
17 )]
18 pub pool: f64,
19
20 /// Points restored per second of fight time.
21 #[schemars(
22 title = "Реген маны в секунду",
23 description = "Сколько маны восстанавливается за секунду боя."
24 )]
25 pub regen_per_second: f64,
26}