From fa603009a15d1c83d4436330bb51124ba7c4546e Mon Sep 17 00:00:00 2001 From: ntr Date: Fri, 23 Nov 2018 13:40:44 +1100 Subject: [PATCH] max skills --- server/src/cryp.rs | 6 ++++++ server/src/game.rs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/cryp.rs b/server/src/cryp.rs index 7a0316ab..d7b8f6bb 100755 --- a/server/src/cryp.rs +++ b/server/src/cryp.rs @@ -359,6 +359,12 @@ pub fn cryp_spawn(params: CrypSpawnParams, tx: &mut Transaction, account: &Accou pub fn cryp_learn(params: CrypLearnParams, tx: &mut Transaction, account: &Account) -> Result { let mut cryp = cryp_get(tx, params.id, account.id)?; + + let max_skills = 4; + if cryp.skills.len() >= max_skills { + return Err(format_err!("cryp at max skills ({:?})", max_skills)); + } + cryp = cryp.learn(params.skill); return cryp_write(cryp, tx); } diff --git a/server/src/game.rs b/server/src/game.rs index 726d309a..3c72f300 100755 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -747,7 +747,7 @@ mod tests { use cryp::*; fn create_test_game() -> Game { - let x = Cryp::new() + let mut x = Cryp::new() .named(&"pronounced \"creeep\"".to_string()) .level(8) .learn(Skill::TestStun)