diff options
Diffstat (limited to 'server/src/data')
-rw-r--r-- | server/src/data/demands.rs | 4 | ||||
-rw-r--r-- | server/src/data/mod.rs | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/server/src/data/demands.rs b/server/src/data/demands.rs index 3f4b839d..ecfad402 100644 --- a/server/src/data/demands.rs +++ b/server/src/data/demands.rs @@ -57,8 +57,8 @@ pub fn generate_demands( }; let base_cost = match r { - Recipe::Passive { duration, .. } => 2. + duration * 0.1, - Recipe::Active { duration, .. } => 2. + duration, + Recipe::Passive { speed, .. } => 2. + (1. / speed) * 0.1, + Recipe::Active { speed, .. } => 2. + (1. / speed), Recipe::Instant { .. } => 1., }; diff --git a/server/src/data/mod.rs b/server/src/data/mod.rs index 53414178..12d4f23e 100644 --- a/server/src/data/mod.rs +++ b/server/src/data/mod.rs @@ -181,17 +181,17 @@ pub fn build_data( match r.action { RecipeDeclAction::Never => {} RecipeDeclAction::Passive => recipes.push(Recipe::Passive { - duration: r.duration.ok_or(anyhow!("duration for passive missing"))?, + speed: 1. / r.duration.ok_or(anyhow!("duration for passive missing"))?, warn: r.warn, tile, - revert_duration: r.revert_duration, + revert_speed: r.revert_duration.map(|d| 1. / d), input: inputs .next() .ok_or(anyhow!("passive recipe without input"))?, output: outputs.next(), }), RecipeDeclAction::Active => recipes.push(Recipe::Active { - duration: r.duration.ok_or(anyhow!("duration for active missing"))?, + speed: 1. / r.duration.ok_or(anyhow!("duration for active missing"))?, tile, input: inputs .next() |