diff options
Diffstat (limited to 'src/shared/champion.rs')
-rw-r--r-- | src/shared/champion.rs | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/src/shared/champion.rs b/src/shared/champion.rs index 64fc32e..c082ba3 100644 --- a/src/shared/champion.rs +++ b/src/shared/champion.rs @@ -1,4 +1,5 @@ use crate::shared::ability::*; +use crate::shared::damage::*; use crate::shared::shape::*; use crate::shared::stats::*; use crate::shared::*; @@ -43,30 +44,40 @@ impl Champion { attack_speed: 0.75, max_health: 150., movement_speed: 75., + armor: 100., + magic_resist: 100., }), Champion::Ranged => BaseStats(Stats { attack_range: 50., attack_speed: 1.5, max_health: 100., movement_speed: 85., + armor: 50., + magic_resist: 50., }), Champion::Tower => BaseStats(Stats { attack_range: 100., attack_speed: 4.5, max_health: 500., movement_speed: 0., + armor: 0., + magic_resist: 0., }), Champion::Minion => BaseStats(Stats { attack_range: 30., attack_speed: 1., max_health: 50., movement_speed: 60., + armor: 0., + magic_resist: 0., }), Champion::Nexus => BaseStats(Stats { attack_range: 0., attack_speed: 0., max_health: 2000., movement_speed: 0., + armor: 0., + magic_resist: 0., }), } } @@ -80,27 +91,29 @@ impl Champion { })), AbilitySlot::W => Ability::Directional(DirectionalAbility::Dash(Dash { max_distance: 60., - damage: 15., + damage: Damage::Physical(30.), })), AbilitySlot::E => Ability::Directional(DirectionalAbility::Pull(Pull { max_distance: 60., - damage: 10., + damage: Damage::Physical(20.), + })), + AbilitySlot::R => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { + damage: Damage::True(65.), })), - AbilitySlot::R => { - Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { damage: 45. })) - } AbilitySlot::F => { Ability::Directional(DirectionalAbility::Flash(Flash { max_distance: 100. })) } AbilitySlot::G => { Ability::Activated(ActivatedAbility::Speed(Speed { duration: 2.5 })) } - _ => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { damage: 5. })), + _ => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { + damage: Damage::Physical(10.), + })), }, Champion::Ranged => match ability_slot { AbilitySlot::E => Ability::Directional(DirectionalAbility::Spear(Spear { max_distance: 250., - damage: 25., + damage: Damage::Physical(50.), })), AbilitySlot::R => { Ability::Activated(ActivatedAbility::Focus(Focus { duration: 5. })) @@ -111,18 +124,24 @@ impl Champion { AbilitySlot::G => { Ability::Activated(ActivatedAbility::Speed(Speed { duration: 2.5 })) } - _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 8. })), + _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { + damage: Damage::Physical(15.), + })), }, Champion::Tower => match ability_slot { - _ => { - Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 100. })) - } + _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { + damage: Damage::Physical(100.), + })), }, Champion::Minion => match ability_slot { - _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { damage: 2. })), + _ => Ability::Targeted(TargetedAbility::RangedAttack(RangedAttack { + damage: Damage::Physical(5.), + })), }, Champion::Nexus => match ability_slot { - _ => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { damage: 0. })), + _ => Ability::Targeted(TargetedAbility::MeeleAttack(MeeleAttack { + damage: Damage::Physical(0.), + })), }, } } |