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.rs45
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.),
+ })),
},
}
}