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 1667672..711e520 100644 --- a/src/shared/champion.rs +++ b/src/shared/champion.rs @@ -10,6 +10,7 @@ pub enum Champion { Meele, Ranged, Tower, + Minion, } impl Default for Champion { @@ -26,6 +27,7 @@ impl FromStr for Champion { "ranged" => Ok(Champion::Ranged), "meele" => Ok(Champion::Meele), "tower" => Ok(Champion::Tower), + "minion" => Ok(Champion::Minion), _ => Err(format!("unknown champion: {}", s)), } } @@ -52,6 +54,12 @@ impl Champion { max_health: 500., movement_speed: 0., }), + Champion::Minion => BaseStats(Stats { + attack_range: 30., + attack_speed: 1., + max_health: 50., + movement_speed: 60., + }), } } @@ -102,6 +110,9 @@ impl Champion { Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 100. })) } }, + Champion::Minion => match ability_slot { + _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 2. })), + }, } } @@ -116,6 +127,9 @@ impl Champion { Champion::Tower => { BaseCooldown([10., 10., 10., 10., 10., 10., 10.].map(Duration::from_secs_f32)) } + Champion::Minion => { + BaseCooldown([1., 1., 1., 1., 1., 1., 1.].map(Duration::from_secs_f32)) + } } } } |