diff options
Diffstat (limited to 'src/shared/champion.rs')
-rw-r--r-- | src/shared/champion.rs | 14 |
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)) + } } } } |