diff --git a/server/src/spec.rs b/server/src/spec.rs index aabf2b91..acbb84c6 100644 --- a/server/src/spec.rs +++ b/server/src/spec.rs @@ -66,25 +66,16 @@ impl Spec { match *self { Spec::RedDamageI => modified + { - let mut pct = 5; - if team_colours.red >= 5 { pct += 5 }; - if team_colours.red >= 10 { pct += 10 }; - if team_colours.red >= 20 { pct += 20 }; - base.pct(pct) + 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]) }, Spec::GreenDamageI => modified + { - let mut pct = 5; - if team_colours.green >= 5 { pct += 5 }; - if team_colours.green >= 10 { pct += 10 }; - if team_colours.green >= 20 { pct += 20 }; - base.pct(pct) + 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]) }, Spec::BlueDamageI => modified + { - let mut pct = 5; - if team_colours.blue >= 5 { pct += 10 }; - if team_colours.blue >= 10 { pct += 20 }; - if team_colours.blue >= 20 { pct += 30 }; - base.pct(pct) + 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]) }, Spec::SpeedI => modified + base.pct(5), @@ -118,5 +109,4 @@ impl Spec { }, } } - }