diff --git a/client/src/scenes/cryps.js b/client/src/scenes/cryps.js index e657dcb3..fedd2c40 100644 --- a/client/src/scenes/cryps.js +++ b/client/src/scenes/cryps.js @@ -61,7 +61,6 @@ function renderCryps() { window.addEventListener('resize', () => { game.scale.displaySize.maxWidth = window.innerHeight * 1.6; game.scale.displaySize.maxHeight = window.innerHeight; - // game.scale.resize(); }); diff --git a/server/src/account.rs b/server/src/account.rs index 6b624ffa..14ab4a68 100644 --- a/server/src/account.rs +++ b/server/src/account.rs @@ -9,7 +9,7 @@ use postgres::transaction::Transaction; use rpc::{AccountCreateParams, AccountLoginParams}; -use cryp::{Cryp, CrypRecover, cryp_write}; +use cryp::{Cryp, CrypRecover, cryp_write, cryp_recover}; use game::Game; use zone::{Zone, zone_delete}; use skill::{Skill}; @@ -149,23 +149,6 @@ pub fn account_login(params: AccountLoginParams, tx: &mut Transaction) -> Result return Ok(account); } -fn recover_cryp(cryp_bytes: Vec, tx: &mut Transaction) -> Result { - let c = from_slice::(&cryp_bytes)?; - - let mut cryp = Cryp::new() - .named(&c.name) - .level(c.lvl) - .learn(Skill::Attack) - .set_account(c.account) - .create(); - - cryp.id = c.id; - - println!("recovered cryp {:?}", c.name); - - return cryp_write(cryp, tx); -} - pub fn account_cryps(tx: &mut Transaction, account: &Account) -> Result, Error> { let query = " SELECT data @@ -181,7 +164,7 @@ pub fn account_cryps(tx: &mut Transaction, account: &Account) -> Result = row.get(0); match from_slice::(&cryp_bytes) { Ok(c) => Ok(c), - Err(_e) => recover_cryp(cryp_bytes, tx), + Err(_e) => cryp_recover(cryp_bytes, tx), } }) .collect(); diff --git a/server/src/cryp.rs b/server/src/cryp.rs index 458dc7aa..c5269143 100644 --- a/server/src/cryp.rs +++ b/server/src/cryp.rs @@ -7,7 +7,7 @@ use postgres::transaction::Transaction; use failure::Error; use failure::err_msg; -use account::Account; +use account::{Account}; use rpc::{CrypSpawnParams, CrypLearnParams, CrypForgetParams, CrypUnspecParams}; use skill::{Skill, Cooldown, Effect, Cast, Category, Immunity, Disable, ResolutionResult}; use spec::{Spec, SpecLevel}; @@ -682,7 +682,7 @@ pub fn cryp_get(tx: &mut Transaction, id: Uuid, account_id: Uuid) -> Result = result.get(0); - let cryp = from_slice::(&cryp_bytes)?; + let cryp = from_slice::(&cryp_bytes).or_else(|_| cryp_recover(cryp_bytes, tx))?; return Ok(cryp); } @@ -758,6 +758,23 @@ pub fn cryp_write(cryp: Cryp, tx: &mut Transaction) -> Result { return Ok(cryp); } +pub fn cryp_recover(cryp_bytes: Vec, tx: &mut Transaction) -> Result { + let c = from_slice::(&cryp_bytes)?; + + let mut cryp = Cryp::new() + .named(&c.name) + .level(c.lvl) + .learn(Skill::Attack) + .set_account(c.account) + .create(); + + cryp.id = c.id; + + println!("recovered cryp {:?}", c.name); + + return cryp_write(cryp, tx); +} + #[cfg(test)] mod tests { use cryp::*;