fix ability phase bug;

This commit is contained in:
ntr 2018-10-27 18:26:23 +11:00
parent 433b20fdb5
commit 5549e87fab
3 changed files with 8 additions and 6 deletions

View File

@ -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 (

View File

@ -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));
}

View File

@ -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::<Vec<&Cast>>()
// 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))