From 2a4adb4ef71a5b1e923a72d28e81b70b67f98ffa Mon Sep 17 00:00:00 2001 From: Mashy Date: Thu, 21 Mar 2019 16:33:58 +1000 Subject: [PATCH] Added percents --- server/src/spec.rs | 38 +++++++++++++++++++++++++++++++------- server/src/vbox.rs | 22 +++++++++++++++++----- 2 files changed, 48 insertions(+), 12 deletions(-) diff --git a/server/src/spec.rs b/server/src/spec.rs index acbb84c6..ce55b96a 100644 --- a/server/src/spec.rs +++ b/server/src/spec.rs @@ -14,6 +14,9 @@ pub enum Spec { LRSI, LBSI, RBSI, + GRDI, + GBDI, + RBDI, RedDamageI, GreenDamageI, @@ -36,6 +39,9 @@ impl Spec { Spec::RedDamageI => vec![Stat::RedDamage], Spec::GreenDamageI => vec![Stat::GreenDamage], 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], @@ -66,16 +72,34 @@ impl Spec { match *self { Spec::RedDamageI => modified + { - let mut bonus = base.pct(5) as u64; - bonus + apply_bonus(vec![team_colours.red], vec![5, 10, 20], vec![bonus, bonus * 2, bonus * 4]) + let mut bonus = base.pct(5); + bonus + apply_bonus(vec![team_colours.red], vec![5, 10, 20], + vec![base.pct(5), base.pct(10), base.pct(20)]) }, Spec::GreenDamageI => modified + { 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 + { 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), @@ -95,17 +119,17 @@ impl Spec { Spec::LRSI => modified + { let mut bonus = 5 * (team_colours.green + team_colours.red) as u64; 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 + { let mut bonus = 5 * (team_colours.green + team_colours.blue) as u64; 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 + { let mut bonus = 5 * (team_colours.red + team_colours.blue) as u64; 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]) }, } } diff --git a/server/src/vbox.rs b/server/src/vbox.rs index 3b03f575..ca64e10e 100644 --- a/server/src/vbox.rs +++ b/server/src/vbox.rs @@ -33,20 +33,26 @@ pub enum Var { Debuff, // specs + // Base Damage, Hp, SpeedI, + // Shields Upgrades LifeI, + RedShieldI, + BlueShieldI, LRSI, LBSI, RBSI, + // Damage Upgrades RedDamageI, BlueDamageI, GreenDamageI, - RedShieldI, - BlueShieldI, + GRDI, + GBDI, + RBDI, Amplify, Banish, @@ -180,6 +186,9 @@ impl Var { Var::RedDamageI => Some(Spec::RedDamageI), Var::BlueDamageI => Some(Spec::BlueDamageI), 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::LRSI => Some(Spec::LRSI), @@ -238,6 +247,9 @@ impl From for Var { Spec::RedDamageI => Var::RedDamageI, Spec::BlueDamageI => Var::BlueDamageI, Spec::GreenDamageI => Var::GreenDamageI, + Spec::GRDI => Var::GRDI, + Spec::GBDI => Var::GBDI, + Spec::RBDI => Var::RBDI, Spec::LifeI => Var::LifeI, Spec::LRSI => Var::LRSI, @@ -296,9 +308,9 @@ fn get_combos() -> Vec { 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::Blue, Var::Blue], var: Var::BlueDamageI }, - // Combo { units: vec![Var::Damage, Var::Red, Var::Green], var: Var::Strike }, - // Combo { units: vec![Var::Damage, Var::Green, Var::Blue], var: Var::Silence }, - // Combo { units: vec![Var::Damage, Var::Red, Var::Blue], var: Var::Hex }, + Combo { units: vec![Var::Damage, Var::Red, Var::Green], var: Var::GRDI }, + Combo { units: vec![Var::Damage, Var::Green, Var::Blue], var: Var::GBDI }, + 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::Green, Var::Green], var: Var::LifeI },