aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/champion.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/champion.rs')
-rw-r--r--src/shared/champion.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/champion.rs b/src/shared/champion.rs
index 711e520..64fc32e 100644
--- a/src/shared/champion.rs
+++ b/src/shared/champion.rs
@@ -11,6 +11,7 @@ pub enum Champion {
Ranged,
Tower,
Minion,
+ Nexus,
}
impl Default for Champion {
@@ -28,6 +29,7 @@ impl FromStr for Champion {
"meele" => Ok(Champion::Meele),
"tower" => Ok(Champion::Tower),
"minion" => Ok(Champion::Minion),
+ "nexus" => Ok(Champion::Nexus),
_ => Err(format!("unknown champion: {}", s)),
}
}
@@ -60,6 +62,12 @@ impl Champion {
max_health: 50.,
movement_speed: 60.,
}),
+ Champion::Nexus => BaseStats(Stats {
+ attack_range: 0.,
+ attack_speed: 0.,
+ max_health: 2000.,
+ movement_speed: 0.,
+ }),
}
}
@@ -113,6 +121,9 @@ impl Champion {
Champion::Minion => match ability_slot {
_ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 2. })),
},
+ Champion::Nexus => match ability_slot {
+ _ => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { damage: 0. })),
+ },
}
}
@@ -130,6 +141,9 @@ impl Champion {
Champion::Minion => {
BaseCooldown([1., 1., 1., 1., 1., 1., 1.].map(Duration::from_secs_f32))
}
+ Champion::Nexus => {
+ BaseCooldown([0., 0., 0., 0., 0., 0., 0.].map(Duration::from_secs_f32))
+ }
}
}
}