fix ability phase bug;
This commit is contained in:
+5
-4
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user