diff --git a/client/src/components/game.jsx b/client/src/components/game.jsx index 4ac25bff..fc55cb35 100755 --- a/client/src/components/game.jsx +++ b/client/src/components/game.jsx @@ -21,7 +21,7 @@ function GamePanel(props) { const playerTeam = game.teams.find(t => t.id === account.id); - const incoming = playerTeam.incoming.map((inc) => { + const incoming = game.skills.filter(s => s.target_team_id === playerTeam.id).map((inc) => { key.unbind('1'); key('1', () => setActiveIncoming(inc.id)); return ( diff --git a/client/src/socket.jsx b/client/src/socket.jsx index f8f3035e..80ed137b 100755 --- a/client/src/socket.jsx +++ b/client/src/socket.jsx @@ -99,6 +99,7 @@ function createSocket(store) { // Outgoing // ------------- function send(msg) { + console.log('outgoing msg', msg); msg.token = account && account.token; ws.send(cbor.encode(msg)); } @@ -142,7 +143,7 @@ function createSocket(store) { } function sendGameTarget(gameId, crypId, skillId) { - send({ method: 'game_target', params: { game_id: gameId, cryp_id: crypId, cast_id: skillId } }); + send({ method: 'game_target', params: { game_id: gameId, cryp_id: crypId, skill_id: skillId } }); store.dispatch(actions.setActiveIncoming(null)); } diff --git a/server/src/game.rs b/server/src/game.rs index d40a03dc..a6002d79 100755 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -219,7 +219,7 @@ impl Game { // for every team .all(|t| self.skills.iter() // the number of skills they have cast - .filter(|s| s.target_team_id == t.id) + .filter(|s| s.source_team_id == t.id) .collect::>() // should equal the number required this turn .len() == t.skills_required() @@ -228,6 +228,7 @@ impl Game { // move all skills into their target team's targets list fn target_phase_start(&mut self) -> &mut Game { + assert!(self.skill_phase_finished()); if self.phase != Phase::Skill { panic!("game not in skill phase"); } @@ -260,7 +261,7 @@ impl Game { } // targets can only be added by the owner of the team - fn add_target(&mut self, team_id: Uuid, cryp_id: Uuid, cast_id: Uuid) -> Result<&mut Cast, Error> { + fn add_target(&mut self, team_id: Uuid, cryp_id: Uuid, skill_id: Uuid) -> Result<&mut Cast, Error> { { // whose team is this? let team = self.team_by_id(team_id); @@ -273,9 +274,9 @@ impl Game { } // set the target - let cast = match self.skills.iter_mut().find(|s| s.id == cast_id) { + let cast = match self.skills.iter_mut().find(|s| s.id == skill_id) { Some(c) => c, - None => return Err(err_msg("cast_id not found")), + None => return Err(err_msg("skill_id not found")), }; Ok(cast.set_target(cryp_id))