This commit is contained in:
ntr
2019-05-28 17:46:35 +10:00
parent a2b1e2d3ff
commit e55705a841
6 changed files with 36 additions and 95 deletions
-24
View File
@@ -1066,30 +1066,6 @@ pub fn get_combos() -> Vec<Combo> {
return combinations;
}
#[derive(Debug,Clone,Copy,Serialize,Deserialize)]
pub enum Shape {
Circle,
Diamond,
Hexagon,
Pentagon,
Square,
Squircle,
Triangle,
Saw,
VboxColour,
}
#[derive(Debug,Clone,Copy,Serialize,Deserialize)]
pub enum ItemColour {
W,
RR,
GG,
BB,
RG,
RB,
GB,
}
#[derive(Debug,Clone,Serialize,Deserialize)]
pub struct ItemInfo {
pub item: Item,
-47
View File
@@ -1,8 +1,6 @@
use construct::{Stat, Colours};
use item::{Shape, ItemColour};
use util::{IntPct};
#[derive(Debug,Clone,Serialize,Deserialize)]
pub struct SpecBonus {
pub req: Colours,
@@ -22,11 +20,8 @@ impl SpecBonus {
pub struct SpecValues {
pub base: u64,
pub bonuses: Vec<SpecBonus>,
pub shape: Shape,
pub colour: ItemColour,
}
#[derive(Debug,Copy,Clone,Serialize,Deserialize,PartialEq,PartialOrd,Ord,Eq)]
pub enum Spec {
Speed,
@@ -87,16 +82,12 @@ impl Spec {
pub fn values(&self) -> SpecValues {
match *self {
Spec::Power => SpecValues {
colour: ItemColour::W,
base: 5,
shape: Shape::Circle,
bonuses: vec![]
},
Spec::PowerRRI => SpecValues {
colour: ItemColour::RR,
base: 10,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 20 },
@@ -105,9 +96,7 @@ impl Spec {
},
Spec::PowerGGI => SpecValues {
colour: ItemColour::GG,
base: 10,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 20 },
@@ -116,9 +105,7 @@ impl Spec {
},
Spec::PowerBBI => SpecValues {
colour: ItemColour::BB,
base: 10,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 20 },
@@ -127,9 +114,7 @@ impl Spec {
},
Spec::PowerRGI => SpecValues {
colour: ItemColour::RG,
base: 5,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 15 },
@@ -138,9 +123,7 @@ impl Spec {
},
Spec::PowerGBI => SpecValues {
colour: ItemColour::GB,
base: 5,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 15 },
@@ -149,9 +132,7 @@ impl Spec {
},
Spec::PowerRBI => SpecValues {
colour: ItemColour::RB,
base: 5,
shape: Shape::Circle,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 15 },
@@ -160,16 +141,12 @@ impl Spec {
},
Spec::Speed => SpecValues {
colour: ItemColour::W,
base: 5,
shape: Shape::Triangle,
bonuses: vec![]
},
Spec::SpeedRRI => SpecValues {
colour: ItemColour::RR,
base: 10,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 20 },
@@ -178,9 +155,7 @@ impl Spec {
},
Spec::SpeedGGI => SpecValues {
colour: ItemColour::GG,
base: 10,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 20 },
@@ -189,9 +164,7 @@ impl Spec {
},
Spec::SpeedBBI => SpecValues {
colour: ItemColour::BB,
base: 10,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 20 },
@@ -200,9 +173,7 @@ impl Spec {
},
Spec::SpeedRGI => SpecValues {
colour: ItemColour::RG,
base: 5,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 15 },
@@ -211,9 +182,7 @@ impl Spec {
},
Spec::SpeedGBI => SpecValues {
colour: ItemColour::GB,
base: 5,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 15 },
@@ -222,9 +191,7 @@ impl Spec {
},
Spec::SpeedRBI => SpecValues {
colour: ItemColour::RB,
base: 5,
shape: Shape::Triangle,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 15 },
@@ -233,15 +200,11 @@ impl Spec {
},
Spec::Life => SpecValues {
colour: ItemColour::W,
base: 5,
shape: Shape::Square,
bonuses: vec![]},
Spec::LifeRRI => SpecValues {
colour: ItemColour::RR,
base: 10,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 20 },
@@ -250,9 +213,7 @@ impl Spec {
},
Spec::LifeGGI => SpecValues {
colour: ItemColour::GG,
base: 10,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 20 },
@@ -261,9 +222,7 @@ impl Spec {
},
Spec::LifeBBI => SpecValues {
colour: ItemColour::BB,
base: 10,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 20 },
@@ -272,9 +231,7 @@ impl Spec {
},
Spec::LifeRGI => SpecValues {
colour: ItemColour::RG,
base: 5,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 15 },
@@ -284,9 +241,7 @@ impl Spec {
Spec::LifeGBI => SpecValues {
colour: ItemColour::GB,
base: 5,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 15 },
@@ -295,9 +250,7 @@ impl Spec {
},
Spec::LifeRBI => SpecValues {
colour: ItemColour::RB,
base: 5,
shape: Shape::Square,
bonuses: vec![
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 10 },
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 15 },