underworld_core/generators/utils/
materials.rs1use crate::components::{items::ItemType, Material};
2
3pub fn possible_materials(item_type: &ItemType) -> Vec<Material> {
4 match *item_type {
5 ItemType::Breastplate => vec![Material::Iron, Material::Leather, Material::Steel],
6 ItemType::Mask => vec![Material::Bone, Material::Iron],
7 ItemType::Cloak => {
8 vec![Material::Linen, Material::Hide, Material::Wool]
9 }
10 ItemType::Shirt => vec![
11 Material::Wool,
12 Material::Linen,
13 Material::Cotton,
14 Material::Silk,
15 ],
16 ItemType::Trousers => vec![
17 Material::Hide,
18 Material::Leather,
19 Material::Wool,
20 Material::Linen,
21 ],
22 ItemType::Crown => {
23 vec![Material::Bone, Material::Gold, Material::Stone]
24 }
25 ItemType::Boots => vec![
26 Material::Hide,
27 Material::Iron,
28 Material::Leather,
29 Material::Steel,
30 ],
31 ItemType::Gloves | ItemType::Vest => vec![Material::Fur, Material::Hide, Material::Leather],
32 ItemType::LoinCloth => vec![
33 Material::Hide,
34 Material::Wool,
35 Material::Leather,
36 Material::Silk,
37 Material::Linen,
38 Material::Cotton,
39 ],
40 ItemType::PlateBoots | ItemType::PlateGauntlets | ItemType::PlateHelmet => {
41 vec![Material::Iron, Material::Steel]
42 }
43 ItemType::Shackles => vec![Material::Iron, Material::Leather, Material::Steel],
44 ItemType::Buckler => {
45 vec![Material::Hide, Material::Iron, Material::Steel]
46 }
47 ItemType::Club => vec![Material::Bone, Material::Stone, Material::Wooden],
48 ItemType::Dagger => vec![
49 Material::Bone,
50 Material::Gold,
51 Material::Iron,
52 Material::Steel,
53 Material::Stone,
54 ],
55 ItemType::Dirk | ItemType::GreatSword => vec![
56 Material::Bone,
57 Material::Iron,
58 Material::Steel,
59 Material::Stone,
60 ],
61 ItemType::Hammer | ItemType::LongSword => {
62 vec![Material::Bone, Material::Iron, Material::Steel]
63 }
64 ItemType::Mace => vec![Material::Iron, Material::Steel],
65 ItemType::Morningstar => vec![Material::Iron, Material::Steel],
66 ItemType::Shield => vec![
67 Material::Hide,
68 Material::Iron,
69 Material::Leather,
70 Material::Steel,
71 Material::Wooden,
72 ],
73 ItemType::ShortSword => vec![Material::Iron, Material::Steel],
74 ItemType::Whip => vec![Material::Leather],
75 ItemType::Helm => vec![
76 Material::Iron,
77 Material::Hide,
78 Material::Steel,
79 Material::Leather,
80 Material::Fur,
81 ],
82 ItemType::Halberd => vec![
83 Material::Bone,
84 Material::Wooden,
85 Material::Steel,
86 Material::Iron,
87 ],
88 ItemType::Pike => vec![
89 Material::Bone,
90 Material::Wooden,
91 Material::Steel,
92 Material::Iron,
93 ],
94 ItemType::Spear => vec![
95 Material::Bone,
96 Material::Wooden,
97 Material::Steel,
98 Material::Iron,
99 ],
100 ItemType::Scroll => vec![
101 Material::Paper,
102 Material::Papyrus,
103 Material::Bone,
104 Material::Linen,
105 ],
106 ItemType::BowlerHat | ItemType::Fedora | ItemType::TopHat => {
107 vec![
108 Material::Bone,
109 Material::Cotton,
110 Material::Fur,
111 Material::Gold,
112 Material::Hide,
113 Material::Iron,
114 Material::Leather,
115 Material::Linen,
116 Material::Silk,
117 Material::Steel,
118 Material::Stone,
119 Material::Wooden,
120 Material::Wool,
121 ]
122 }
123 ItemType::Pot => vec![Material::Bone, Material::Ceramic],
124 ItemType::Flask => vec![
125 Material::Ceramic,
126 Material::Bone,
127 Material::Glass,
128 Material::Steel,
129 Material::Iron,
130 Material::Gold,
131 ],
132 }
133}