an http based roguelike rpg about jelqing
Commit a043b8dc91b7
tarball4 files changed+9-5
@@ -1,5 +1,6 @@
11
pub const SUSPICION_LIMIT: u8 = 5;22
pub const PATIENCE: u8 = 3;3
+pub const MEDITATION_CALM: i32 = 2;34
pub const VIRAL_ERRAND: u32 = 2;45
/// Visits are (suspicion + 1) in N per turn.56
pub const MUM_VISIT: u32 = 16;@@ -1,8 +1,8 @@
11
use super::{22
Notice, Outcome, Run, Story,33
balance::{4
- DANGER_EQ, FRICTION_HOLD, FRICTION_MEDITATE, HOLD_EQ, LOW_STAMINA, MEDITATION_EQ,5
- REFLECTION, RUPTURE_HOLD,4
+ DANGER_EQ, FRICTION_HOLD, FRICTION_MEDITATE, HOLD_EQ, LOW_STAMINA, MEDITATION_CALM,5
+ MEDITATION_EQ, REFLECTION, RUPTURE_HOLD,66
},77
};88
use crate::problem::Problem;@@ -85,11 +85,12 @@ impl Run {
8585
self.step_away();8686
self.reset_eq(self.body.eq - MEDITATION_EQ);8787
self.shed(FRICTION_MEDITATE);88
+ self.add_suspicion(-MEDITATION_CALM);8889
self.touch();8990
Ok(Outcome::json(9091
StatusCode::OK,9192
json!({92
- "detail": "In through the nose, out through the mouth. EQ falls a little.",93
+ "detail": "In through the nose, out through the mouth. EQ falls a little, and the house goes quiet.",9394
}),9495
))9596
}@@ -110,7 +110,7 @@ impl Utility {
110110
Self::Pump => "Large gains, all temporary. Requires a pump.",111111
Self::Supplement => "Consumes a supplement.",112112
Self::Meditate => {113
- "Cools things a little, sheds 2 friction. Taught by the forum. Once per floor."113
+ "Cools things a little, sheds 2 friction and 2 suspicion. Taught by the forum. Once per floor."114114
}115115
Self::Energy => "+3 stamina. Consumes an energy drink. Tastes like a battery.",116116
}@@ -3,13 +3,15 @@ use super::*;
33
#[tokio::test]44
async fn meditation_is_free_but_only_once_per_floor() {55
let held = harness(Floor::Bedroom, SEED, |run| {6
- run.online.meditation_taught = true6
+ run.online.meditation_taught = true;7
+ run.standing.suspicion = 3;78
});89
let app = &held.app;910
let response = send(app, "JELQ", "/runs/cafebabe?technique=meditate", &[], "").await;1011
assert_eq!(response.status(), StatusCode::OK);1112
assert_eq!(header(&response, "x-eq"), "Cold");1213
assert_eq!(held.eq(), 10);14
+ assert_eq!(header(&response, "x-suspicion"), "1/5");1315
assert_eq!(header(&response, "x-stamina"), "10/10");1416
let again = send(app, "JELQ", "/runs/cafebabe?technique=meditate", &[], "").await;1517
assert_eq!(again.status(), StatusCode::CONFLICT);