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
+5 -4
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))