Added percents

This commit is contained in:
Mashy 2019-03-21 16:33:58 +10:00
parent 5fab9e6936
commit 2a4adb4ef7
2 changed files with 48 additions and 12 deletions

View File

@ -14,6 +14,9 @@ pub enum Spec {
LRSI, LRSI,
LBSI, LBSI,
RBSI, RBSI,
GRDI,
GBDI,
RBDI,
RedDamageI, RedDamageI,
GreenDamageI, GreenDamageI,
@ -36,6 +39,9 @@ impl Spec {
Spec::RedDamageI => vec![Stat::RedDamage], Spec::RedDamageI => vec![Stat::RedDamage],
Spec::GreenDamageI => vec![Stat::GreenDamage], Spec::GreenDamageI => vec![Stat::GreenDamage],
Spec::BlueDamageI => vec![Stat::BlueDamage], Spec::BlueDamageI => vec![Stat::BlueDamage],
Spec::GRDI => vec![Stat::GreenDamage, Stat::RedDamage],
Spec::GBDI => vec![Stat::GreenDamage, Stat::BlueDamage],
Spec::RBDI => vec![Stat::RedDamage, Stat::BlueDamage],
Spec::SpeedI => vec![Stat::Speed], Spec::SpeedI => vec![Stat::Speed],
@ -66,16 +72,34 @@ impl Spec {
match *self { match *self {
Spec::RedDamageI => modified + { Spec::RedDamageI => modified + {
let mut bonus = base.pct(5) as u64; let mut bonus = base.pct(5);
bonus + apply_bonus(vec![team_colours.red], vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 4]) bonus + apply_bonus(vec![team_colours.red], vec![5, 10, 20],
vec![base.pct(5), base.pct(10), base.pct(20)])
}, },
Spec::GreenDamageI => modified + { Spec::GreenDamageI => modified + {
let mut bonus = base.pct(5) as u64; let mut bonus = base.pct(5) as u64;
bonus + apply_bonus(vec![team_colours.green], vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 4]) bonus + apply_bonus(vec![team_colours.green], vec![5, 10, 20],
vec![base.pct(5), base.pct(10), base.pct(20)])
}, },
Spec::BlueDamageI => modified + { Spec::BlueDamageI => modified + {
let mut bonus = base.pct(5) as u64; let mut bonus = base.pct(5) as u64;
bonus + apply_bonus(vec![team_colours.blue], vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 4]) bonus + apply_bonus(vec![team_colours.blue], vec![5, 10, 20],
vec![base.pct(5), base.pct(10), base.pct(20)])
},
Spec::GRDI => modified + {
let mut bonus = base.pct(5) as u64;
bonus + apply_bonus(vec![team_colours.green, team_colours.red],
vec![2, 5, 10], vec![base.pct(5), base.pct(10), base.pct(20)])
},
Spec::GBDI => modified + {
let mut bonus = base.pct(5) as u64;
bonus + apply_bonus(vec![team_colours.green, team_colours.blue],
vec![2, 5, 10], vec![base.pct(5), base.pct(10), base.pct(20)])
},
Spec::RBDI => modified + {
let mut bonus = base.pct(5) as u64;
bonus + apply_bonus(vec![team_colours.red, team_colours.blue],
vec![2, 5, 10], vec![base.pct(5), base.pct(10), base.pct(20)])
}, },
Spec::SpeedI => modified + base.pct(5), Spec::SpeedI => modified + base.pct(5),
@ -95,17 +119,17 @@ impl Spec {
Spec::LRSI => modified + { Spec::LRSI => modified + {
let mut bonus = 5 * (team_colours.green + team_colours.red) as u64; let mut bonus = 5 * (team_colours.green + team_colours.red) as u64;
bonus + apply_bonus(vec![team_colours.green, team_colours.red], bonus + apply_bonus(vec![team_colours.green, team_colours.red],
vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 3]) vec![2, 5, 10], vec![bonus, bonus * 2, bonus * 3])
}, },
Spec::LBSI => modified + { Spec::LBSI => modified + {
let mut bonus = 5 * (team_colours.green + team_colours.blue) as u64; let mut bonus = 5 * (team_colours.green + team_colours.blue) as u64;
bonus + apply_bonus(vec![team_colours.green, team_colours.blue], bonus + apply_bonus(vec![team_colours.green, team_colours.blue],
vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 3]) vec![2, 5, 10], vec![bonus, bonus * 2, bonus * 3])
}, },
Spec::RBSI => modified + { Spec::RBSI => modified + {
let mut bonus = 5 * (team_colours.red + team_colours.blue) as u64; let mut bonus = 5 * (team_colours.red + team_colours.blue) as u64;
bonus + apply_bonus(vec![team_colours.red, team_colours.blue], bonus + apply_bonus(vec![team_colours.red, team_colours.blue],
vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 3]) vec![2, 5, 10], vec![bonus, bonus * 2, bonus * 3])
}, },
} }
} }

View File

@ -33,20 +33,26 @@ pub enum Var {
Debuff, Debuff,
// specs // specs
// Base
Damage, Damage,
Hp, Hp,
SpeedI, SpeedI,
// Shields Upgrades
LifeI, LifeI,
RedShieldI,
BlueShieldI,
LRSI, LRSI,
LBSI, LBSI,
RBSI, RBSI,
// Damage Upgrades
RedDamageI, RedDamageI,
BlueDamageI, BlueDamageI,
GreenDamageI, GreenDamageI,
RedShieldI, GRDI,
BlueShieldI, GBDI,
RBDI,
Amplify, Amplify,
Banish, Banish,
@ -180,6 +186,9 @@ impl Var {
Var::RedDamageI => Some(Spec::RedDamageI), Var::RedDamageI => Some(Spec::RedDamageI),
Var::BlueDamageI => Some(Spec::BlueDamageI), Var::BlueDamageI => Some(Spec::BlueDamageI),
Var::GreenDamageI => Some(Spec::GreenDamageI), Var::GreenDamageI => Some(Spec::GreenDamageI),
Var::GRDI => Some(Spec::GRDI),
Var::GBDI => Some(Spec::GBDI),
Var::RBDI => Some(Spec::RBDI),
Var::LifeI => Some(Spec::LifeI), Var::LifeI => Some(Spec::LifeI),
Var::LRSI => Some(Spec::LRSI), Var::LRSI => Some(Spec::LRSI),
@ -238,6 +247,9 @@ impl From<Spec> for Var {
Spec::RedDamageI => Var::RedDamageI, Spec::RedDamageI => Var::RedDamageI,
Spec::BlueDamageI => Var::BlueDamageI, Spec::BlueDamageI => Var::BlueDamageI,
Spec::GreenDamageI => Var::GreenDamageI, Spec::GreenDamageI => Var::GreenDamageI,
Spec::GRDI => Var::GRDI,
Spec::GBDI => Var::GBDI,
Spec::RBDI => Var::RBDI,
Spec::LifeI => Var::LifeI, Spec::LifeI => Var::LifeI,
Spec::LRSI => Var::LRSI, Spec::LRSI => Var::LRSI,
@ -296,9 +308,9 @@ fn get_combos() -> Vec<Combo> {
Combo { units: vec![Var::Damage, Var::Red, Var::Red], var: Var::RedDamageI }, Combo { units: vec![Var::Damage, Var::Red, Var::Red], var: Var::RedDamageI },
Combo { units: vec![Var::Damage, Var::Green, Var::Green], var: Var::GreenDamageI }, Combo { units: vec![Var::Damage, Var::Green, Var::Green], var: Var::GreenDamageI },
Combo { units: vec![Var::Damage, Var::Blue, Var::Blue], var: Var::BlueDamageI }, Combo { units: vec![Var::Damage, Var::Blue, Var::Blue], var: Var::BlueDamageI },
// Combo { units: vec![Var::Damage, Var::Red, Var::Green], var: Var::Strike }, Combo { units: vec![Var::Damage, Var::Red, Var::Green], var: Var::GRDI },
// Combo { units: vec![Var::Damage, Var::Green, Var::Blue], var: Var::Silence }, Combo { units: vec![Var::Damage, Var::Green, Var::Blue], var: Var::GBDI },
// Combo { units: vec![Var::Damage, Var::Red, Var::Blue], var: Var::Hex }, Combo { units: vec![Var::Damage, Var::Red, Var::Blue], var: Var::RBDI },
Combo { units: vec![Var::Hp, Var::Red, Var::Red], var: Var::RedShieldI }, Combo { units: vec![Var::Hp, Var::Red, Var::Red], var: Var::RedShieldI },
Combo { units: vec![Var::Hp, Var::Green, Var::Green], var: Var::LifeI }, Combo { units: vec![Var::Hp, Var::Green, Var::Green], var: Var::LifeI },