event structure clean up
This commit is contained in:
+12
-12
@@ -535,17 +535,17 @@ impl Game {
|
||||
|
||||
for action in cast.actions() {
|
||||
let events = match action {
|
||||
Action::Cast { construct } => self.cast(cast),
|
||||
Action::Hit { construct } => self.hit(cast),
|
||||
Action::Cast { construct } => self.cast(construct, cast),
|
||||
Action::Hit { construct } => self.hit(construct, cast),
|
||||
|
||||
Action::Damage { construct, values, colour } => {
|
||||
let amount = self.calculate_amount(&values, &resolved);
|
||||
self.damage(cast, construct, amount, colour)
|
||||
self.damage(construct, amount, colour)
|
||||
},
|
||||
|
||||
Action::Heal { construct, values, colour } => {
|
||||
let amount = self.calculate_amount(&values, &resolved);
|
||||
self.heal(cast, construct, amount, colour)
|
||||
self.heal(construct, amount, colour)
|
||||
},
|
||||
|
||||
Action::Effect { construct, effect } => self.effect(construct, effect),
|
||||
@@ -628,21 +628,21 @@ impl Game {
|
||||
// }
|
||||
}
|
||||
|
||||
fn cast(&mut self, cast: Cast) -> Vec<Event> {
|
||||
vec![Event::Cast { construct: cast.source, player: cast.player, direction: self.direction(cast) }]
|
||||
fn cast(&mut self, construct: Uuid, cast: Cast) -> Vec<Event> {
|
||||
vec![Event::Cast { construct, player: cast.player, direction: self.direction(cast) }]
|
||||
}
|
||||
|
||||
fn hit(&mut self, cast: Cast) -> Vec<Event> {
|
||||
vec![Event::Hit { construct: cast.target, player: cast.player, direction: self.direction(cast) }]
|
||||
fn hit(&mut self, construct: Uuid, cast: Cast) -> Vec<Event> {
|
||||
vec![Event::Hit { construct, player: cast.player, direction: self.direction(cast) }]
|
||||
}
|
||||
|
||||
fn damage(&mut self, cast: Cast, construct: Uuid, amount: usize, colour: Colour) -> Vec<Event> {
|
||||
fn damage(&mut self, construct: Uuid, amount: usize, colour: Colour) -> Vec<Event> {
|
||||
match colour {
|
||||
_ => self.construct_by_id(construct).unwrap().deal_red_damage(amount) // fixme unwrap
|
||||
}
|
||||
}
|
||||
|
||||
fn heal(&mut self, cast: Cast, construct: Uuid, value: usize, colour: Colour) -> Vec<Event> {
|
||||
fn heal(&mut self, construct: Uuid, value: usize, colour: Colour) -> Vec<Event> {
|
||||
match colour {
|
||||
_ => self.construct_by_id(construct).unwrap().deal_red_damage(value) // fixme unwrap
|
||||
}
|
||||
@@ -870,7 +870,7 @@ pub enum Action {
|
||||
|
||||
#[derive(Debug,Clone,PartialEq,Serialize,Deserialize)]
|
||||
pub struct Resolution {
|
||||
pub cast: Cast,
|
||||
pub skill: Skill,
|
||||
pub focus: Vec<Uuid>,
|
||||
pub event: Event,
|
||||
pub delay: i64,
|
||||
@@ -888,7 +888,7 @@ impl Resolution {
|
||||
let delay = event.delay();
|
||||
|
||||
Resolution {
|
||||
cast,
|
||||
skill: cast.skill,
|
||||
delay,
|
||||
focus,
|
||||
event,
|
||||
|
||||
+2
-1
@@ -599,7 +599,8 @@ impl Cast {
|
||||
},
|
||||
],
|
||||
|
||||
_ => unimplemented!()
|
||||
// _ => unimplemented!(),
|
||||
_ => vec![], // for client testing
|
||||
};
|
||||
|
||||
actions.append(&mut rest);
|
||||
|
||||
Reference in New Issue
Block a user