teyvatdb 0.1.17 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +4 -1
  4. data/lib/genshin_data/artifact_sets/artifact_data.rb +946 -295
  5. data/lib/genshin_data/artifact_sets.rb +3 -3
  6. data/lib/genshin_data/characters/character_data.rb +1143 -1126
  7. data/lib/genshin_data/characters.rb +4 -2
  8. data/lib/genshin_data/materials/development/elite_monster_drops_data.rb +605 -598
  9. data/lib/genshin_data/materials/development/gems_data.rb +331 -324
  10. data/lib/genshin_data/materials/development/general_data.rb +103 -96
  11. data/lib/genshin_data/materials/development/local_specialty_data.rb +506 -499
  12. data/lib/genshin_data/materials/development/monster_loot_drops_data.rb +441 -434
  13. data/lib/genshin_data/materials/development/talent_books_data.rb +506 -500
  14. data/lib/genshin_data/materials/development/weapon_material_data.rb +672 -665
  15. data/lib/genshin_data/materials/development/weapon_refinement_material_data.rb +129 -122
  16. data/lib/genshin_data/materials/development/weekly_boss_drops_data.rb +283 -276
  17. data/lib/genshin_data/materials/development/world_boss_drops_data.rb +330 -327
  18. data/lib/genshin_data/materials/development.rb +61 -56
  19. data/lib/genshin_data/materials/standard/cooking_material_data.rb +561 -554
  20. data/lib/genshin_data/materials/standard/crafting_material_data.rb +130 -123
  21. data/lib/genshin_data/materials/standard/fishing_material_data.rb +452 -445
  22. data/lib/genshin_data/materials/standard/forging_material_data.rb +191 -184
  23. data/lib/genshin_data/materials/standard/furniture_material_data.rb +251 -244
  24. data/lib/genshin_data/materials/standard.rb +37 -32
  25. data/lib/genshin_data/materials.rb +13 -7
  26. data/lib/genshin_data/nations/nation_data.rb +55 -52
  27. data/lib/genshin_data/talent_books/talent_book_data.rb +147 -0
  28. data/lib/genshin_data/talent_books.rb +14 -0
  29. data/lib/genshin_data/weapons/weapon_data/bows.rb +369 -364
  30. data/lib/genshin_data/weapons/weapon_data/catalysts.rb +359 -354
  31. data/lib/genshin_data/weapons/weapon_data/claymores.rb +359 -354
  32. data/lib/genshin_data/weapons/weapon_data/polearms.rb +262 -257
  33. data/lib/genshin_data/weapons/weapon_data/swords.rb +399 -395
  34. data/lib/genshin_data/weapons/weapon_data.rb +10 -7
  35. data/lib/genshin_data/weapons.rb +2 -1
  36. data/lib/genshin_data.rb +16 -5
  37. data/lib/genshin_object/artifact_set.rb +2 -2
  38. data/lib/genshin_object/material_family.rb +15 -0
  39. data/lib/genshin_object/schedule.rb +42 -0
  40. data/lib/genshin_object/talent_book.rb +6 -0
  41. data/lib/genshin_object/weapon_material_family.rb +6 -0
  42. data/lib/genshin_object.rb +8 -5
  43. data/lib/teyvatdb/version.rb +1 -1
  44. data/lib/teyvatdb.rb +3 -3
  45. metadata +8 -2
@@ -1,247 +1,254 @@
1
- module GenshinData::Materials::Standard
2
- module FurnitureMaterialData
3
- def self.all
4
- self.constants.map { |x| "GenshinData::Materials::Standard::FurnitureMaterialData::#{x}".constantize }
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinData
4
+ module Materials
5
+ module Standard
6
+ # Definitons for all furniture related Materials
7
+ module FurnitureMaterialData
8
+ def self.all
9
+ constants.map { |x| GenshinData::Materials::Standard::FurnitureMaterialData.const_get(x) }
10
+ end
11
+
12
+ ADHIGAMA_WOOD = GenshinObject::Material.new(
13
+ kamera_key: "AdhigamaWood",
14
+ name: "Adhigama Wood",
15
+ rarity: 1,
16
+ family: nil,
17
+ inventory_type: :standard_material,
18
+ source_category: :gathering,
19
+ source_sub_category: :furniture_material
20
+ ).freeze
21
+
22
+ ARALIA_WOOD = GenshinObject::Material.new(
23
+ kamera_key: "AraliaWood",
24
+ name: "Aralia Wood",
25
+ rarity: 1,
26
+ family: nil,
27
+ inventory_type: :standard_material,
28
+ source_category: :gathering,
29
+ source_sub_category: :furniture_material
30
+ ).freeze
31
+
32
+ ASH_WOOD = GenshinObject::Material.new(
33
+ kamera_key: "AshWood",
34
+ name: "Ash Wood",
35
+ rarity: 1,
36
+ family: nil,
37
+ inventory_type: :standard_material,
38
+ source_category: :gathering,
39
+ source_sub_category: :furniture_material
40
+ ).freeze
41
+
42
+ ATHEL_WOOD = GenshinObject::Material.new(
43
+ kamera_key: "AthelWood",
44
+ name: "Athel Wood",
45
+ rarity: 1,
46
+ family: nil,
47
+ inventory_type: :standard_material,
48
+ source_category: :gathering,
49
+ source_sub_category: :furniture_material
50
+ ).freeze
51
+
52
+ BAMBOO_SEGMENT = GenshinObject::Material.new(
53
+ kamera_key: "BambooSegment",
54
+ name: "Bamboo Segment",
55
+ rarity: 1,
56
+ family: nil,
57
+ inventory_type: :standard_material,
58
+ source_category: :gathering,
59
+ source_sub_category: :furniture_material
60
+ ).freeze
61
+
62
+ BLUE_DYE = GenshinObject::Material.new(
63
+ kamera_key: "BlueDye",
64
+ name: "Blue Dye",
65
+ rarity: 1,
66
+ family: nil,
67
+ inventory_type: :standard_material,
68
+ source_category: :gathering,
69
+ source_sub_category: :furniture_material
70
+ ).freeze
71
+
72
+ BIRCH_WOOD = GenshinObject::Material.new(
73
+ kamera_key: "BirchWood",
74
+ name: "Birch Wood",
75
+ rarity: 1,
76
+ family: nil,
77
+ inventory_type: :standard_material,
78
+ source_category: :gathering,
79
+ source_sub_category: :furniture_material
80
+ ).freeze
81
+
82
+ BRIGHTWOOD = GenshinObject::Material.new(
83
+ kamera_key: "Brightwood",
84
+ name: "Brightwood",
85
+ rarity: 1,
86
+ family: nil,
87
+ inventory_type: :standard_material,
88
+ source_category: :gathering,
89
+ source_sub_category: :furniture_material
90
+ ).freeze
91
+
92
+ CUIHUA_WOOD = GenshinObject::Material.new(
93
+ kamera_key: "CuihuaWood",
94
+ name: "Cuihua Wood",
95
+ rarity: 1,
96
+ family: nil,
97
+ inventory_type: :standard_material,
98
+ source_category: :gathering,
99
+ source_sub_category: :furniture_material
100
+ ).freeze
101
+
102
+ CYPRESS_WOOD = GenshinObject::Material.new(
103
+ kamera_key: "CypressWood",
104
+ name: "Cypress Wood",
105
+ rarity: 1,
106
+ family: nil,
107
+ inventory_type: :standard_material,
108
+ source_category: :gathering,
109
+ source_sub_category: :furniture_material
110
+ ).freeze
111
+
112
+ FABRIC = GenshinObject::Material.new(
113
+ kamera_key: "Fabric",
114
+ name: "Fabric",
115
+ rarity: 1,
116
+ family: nil,
117
+ inventory_type: :standard_material,
118
+ source_category: :gathering,
119
+ source_sub_category: :furniture_material
120
+ ).freeze
121
+
122
+ FIR_WOOD = GenshinObject::Material.new(
123
+ kamera_key: "FirWood",
124
+ name: "Fir Wood",
125
+ rarity: 1,
126
+ family: nil,
127
+ inventory_type: :standard_material,
128
+ source_category: :gathering,
129
+ source_sub_category: :furniture_material
130
+ ).freeze
131
+
132
+ FRAGRANT_CEDAR_WOOD = GenshinObject::Material.new(
133
+ kamera_key: "FragrantCedarWood",
134
+ name: "Fragrant Cedar Wood",
135
+ rarity: 1,
136
+ family: nil,
137
+ inventory_type: :standard_material,
138
+ source_category: :gathering,
139
+ source_sub_category: :furniture_material
140
+ ).freeze
141
+
142
+ KARMAPHALA_WOOD = GenshinObject::Material.new(
143
+ kamera_key: "KarmaphalaWood",
144
+ name: "Karmaphala Wood",
145
+ rarity: 1,
146
+ family: nil,
147
+ inventory_type: :standard_material,
148
+ source_category: :gathering,
149
+ source_sub_category: :furniture_material
150
+ ).freeze
151
+
152
+ LINDEN_WOOD = GenshinObject::Material.new(
153
+ kamera_key: "LindenWood",
154
+ name: "Linden Wood",
155
+ rarity: 1,
156
+ family: nil,
157
+ inventory_type: :standard_material,
158
+ source_category: :gathering,
159
+ source_sub_category: :furniture_material
160
+ ).freeze
161
+
162
+ MALLOW_WOOD = GenshinObject::Material.new(
163
+ kamera_key: "MallowWood",
164
+ name: "Mallow Wood",
165
+ rarity: 1,
166
+ family: nil,
167
+ inventory_type: :standard_material,
168
+ source_category: :gathering,
169
+ source_sub_category: :furniture_material
170
+ ).freeze
171
+
172
+ MAPLE_WOOD = GenshinObject::Material.new(
173
+ kamera_key: "MapleWood",
174
+ name: "Maple Wood",
175
+ rarity: 1,
176
+ family: nil,
177
+ inventory_type: :standard_material,
178
+ source_category: :gathering,
179
+ source_sub_category: :furniture_material
180
+ ).freeze
181
+
182
+ MOUNTAIN_DATE_WOOD = GenshinObject::Material.new(
183
+ kamera_key: "MountainDateWood",
184
+ name: "Mountain Date Wood",
185
+ rarity: 1,
186
+ family: nil,
187
+ inventory_type: :standard_material,
188
+ source_category: :gathering,
189
+ source_sub_category: :furniture_material
190
+ ).freeze
191
+
192
+ OTOGI_WOOD = GenshinObject::Material.new(
193
+ kamera_key: "OtogiWood",
194
+ name: "Otogi Wood",
195
+ rarity: 1,
196
+ family: nil,
197
+ inventory_type: :standard_material,
198
+ source_category: :gathering,
199
+ source_sub_category: :furniture_material
200
+ ).freeze
201
+
202
+ PINE_WOOD = GenshinObject::Material.new(
203
+ kamera_key: "PineWood",
204
+ name: "Pine Wood",
205
+ rarity: 1,
206
+ family: nil,
207
+ inventory_type: :standard_material,
208
+ source_category: :gathering,
209
+ source_sub_category: :furniture_material
210
+ ).freeze
211
+
212
+ RED_DYE = GenshinObject::Material.new(
213
+ kamera_key: "RedDye",
214
+ name: "Red Dye",
215
+ rarity: 2,
216
+ family: nil,
217
+ inventory_type: :standard_material,
218
+ source_category: :gathering,
219
+ source_sub_category: :furniture_material
220
+ ).freeze
221
+
222
+ SANDBEARER_WOOD = GenshinObject::Material.new(
223
+ kamera_key: "SandbearerWood",
224
+ name: "Sandbearer Wood",
225
+ rarity: 1,
226
+ family: nil,
227
+ inventory_type: :standard_material,
228
+ source_category: :gathering,
229
+ source_sub_category: :furniture_material
230
+ ).freeze
231
+
232
+ YELLOW_DYE = GenshinObject::Material.new(
233
+ kamera_key: "YellowDye",
234
+ name: "Yellow Dye",
235
+ rarity: 1,
236
+ family: nil,
237
+ inventory_type: :standard_material,
238
+ source_category: :gathering,
239
+ source_sub_category: :furniture_material
240
+ ).freeze
241
+
242
+ YUMEMIRU_WOOD = GenshinObject::Material.new(
243
+ kamera_key: "YumemiruWood",
244
+ name: "Yumemiru Wood",
245
+ rarity: 1,
246
+ family: nil,
247
+ inventory_type: :standard_material,
248
+ source_category: :gathering,
249
+ source_sub_category: :furniture_material
250
+ ).freeze
251
+ end
5
252
  end
6
-
7
- ADHIGAMA_WOOD = GenshinObject::Material.new(
8
- kamera_key: "AdhigamaWood",
9
- name: "Adhigama Wood",
10
- rarity: 1,
11
- family: nil,
12
- inventory_type: :standard_material,
13
- source_category: :gathering,
14
- source_sub_category: :furniture_material,
15
- ).freeze
16
-
17
- ARALIA_WOOD = GenshinObject::Material.new(
18
- kamera_key: "AraliaWood",
19
- name: "Aralia Wood",
20
- rarity: 1,
21
- family: nil,
22
- inventory_type: :standard_material,
23
- source_category: :gathering,
24
- source_sub_category: :furniture_material,
25
- ).freeze
26
-
27
- ASH_WOOD = GenshinObject::Material.new(
28
- kamera_key: "AshWood",
29
- name: "Ash Wood",
30
- rarity: 1,
31
- family: nil,
32
- inventory_type: :standard_material,
33
- source_category: :gathering,
34
- source_sub_category: :furniture_material,
35
- ).freeze
36
-
37
- ATHEL_WOOD = GenshinObject::Material.new(
38
- kamera_key: "AthelWood",
39
- name: "Athel Wood",
40
- rarity: 1,
41
- family: nil,
42
- inventory_type: :standard_material,
43
- source_category: :gathering,
44
- source_sub_category: :furniture_material,
45
- ).freeze
46
-
47
- BAMBOO_SEGMENT = GenshinObject::Material.new(
48
- kamera_key: "BambooSegment",
49
- name: "Bamboo Segment",
50
- rarity: 1,
51
- family: nil,
52
- inventory_type: :standard_material,
53
- source_category: :gathering,
54
- source_sub_category: :furniture_material,
55
- ).freeze
56
-
57
- BLUE_DYE = GenshinObject::Material.new(
58
- kamera_key: "BlueDye",
59
- name: "Blue Dye",
60
- rarity: 1,
61
- family: nil,
62
- inventory_type: :standard_material,
63
- source_category: :gathering,
64
- source_sub_category: :furniture_material,
65
- ).freeze
66
-
67
- BIRCH_WOOD = GenshinObject::Material.new(
68
- kamera_key: "BirchWood",
69
- name: "Birch Wood",
70
- rarity: 1,
71
- family: nil,
72
- inventory_type: :standard_material,
73
- source_category: :gathering,
74
- source_sub_category: :furniture_material,
75
- ).freeze
76
-
77
- BRIGHTWOOD = GenshinObject::Material.new(
78
- kamera_key: "Brightwood",
79
- name: "Brightwood",
80
- rarity: 1,
81
- family: nil,
82
- inventory_type: :standard_material,
83
- source_category: :gathering,
84
- source_sub_category: :furniture_material,
85
- ).freeze
86
-
87
- CUIHUA_WOOD = GenshinObject::Material.new(
88
- kamera_key: "CuihuaWood",
89
- name: "Cuihua Wood",
90
- rarity: 1,
91
- family: nil,
92
- inventory_type: :standard_material,
93
- source_category: :gathering,
94
- source_sub_category: :furniture_material,
95
- ).freeze
96
-
97
- CYPRESS_WOOD = GenshinObject::Material.new(
98
- kamera_key: "CypressWood",
99
- name: "Cypress Wood",
100
- rarity: 1,
101
- family: nil,
102
- inventory_type: :standard_material,
103
- source_category: :gathering,
104
- source_sub_category: :furniture_material,
105
- ).freeze
106
-
107
- FABRIC = GenshinObject::Material.new(
108
- kamera_key: "Fabric",
109
- name: "Fabric",
110
- rarity: 1,
111
- family: nil,
112
- inventory_type: :standard_material,
113
- source_category: :gathering,
114
- source_sub_category: :furniture_material,
115
- ).freeze
116
-
117
- FIR_WOOD = GenshinObject::Material.new(
118
- kamera_key: "FirWood",
119
- name: "Fir Wood",
120
- rarity: 1,
121
- family: nil,
122
- inventory_type: :standard_material,
123
- source_category: :gathering,
124
- source_sub_category: :furniture_material,
125
- ).freeze
126
-
127
- FRAGRANT_CEDAR_WOOD = GenshinObject::Material.new(
128
- kamera_key: "FragrantCedarWood",
129
- name: "Fragrant Cedar Wood",
130
- rarity: 1,
131
- family: nil,
132
- inventory_type: :standard_material,
133
- source_category: :gathering,
134
- source_sub_category: :furniture_material,
135
- ).freeze
136
-
137
- KARMAPHALA_WOOD = GenshinObject::Material.new(
138
- kamera_key: "KarmaphalaWood",
139
- name: "Karmaphala Wood",
140
- rarity: 1,
141
- family: nil,
142
- inventory_type: :standard_material,
143
- source_category: :gathering,
144
- source_sub_category: :furniture_material,
145
- ).freeze
146
-
147
- LINDEN_WOOD = GenshinObject::Material.new(
148
- kamera_key: "LindenWood",
149
- name: "Linden Wood",
150
- rarity: 1,
151
- family: nil,
152
- inventory_type: :standard_material,
153
- source_category: :gathering,
154
- source_sub_category: :furniture_material,
155
- ).freeze
156
-
157
- MALLOW_WOOD = GenshinObject::Material.new(
158
- kamera_key: "MallowWood",
159
- name: "Mallow Wood",
160
- rarity: 1,
161
- family: nil,
162
- inventory_type: :standard_material,
163
- source_category: :gathering,
164
- source_sub_category: :furniture_material,
165
- ).freeze
166
-
167
- MAPLE_WOOD = GenshinObject::Material.new(
168
- kamera_key: "MapleWood",
169
- name: "Maple Wood",
170
- rarity: 1,
171
- family: nil,
172
- inventory_type: :standard_material,
173
- source_category: :gathering,
174
- source_sub_category: :furniture_material,
175
- ).freeze
176
-
177
- MOUNTAIN_DATE_WOOD = GenshinObject::Material.new(
178
- kamera_key: "MountainDateWood",
179
- name: "Mountain Date Wood",
180
- rarity: 1,
181
- family: nil,
182
- inventory_type: :standard_material,
183
- source_category: :gathering,
184
- source_sub_category: :furniture_material,
185
- ).freeze
186
-
187
- OTOGI_WOOD = GenshinObject::Material.new(
188
- kamera_key: "OtogiWood",
189
- name: "Otogi Wood",
190
- rarity: 1,
191
- family: nil,
192
- inventory_type: :standard_material,
193
- source_category: :gathering,
194
- source_sub_category: :furniture_material,
195
- ).freeze
196
-
197
- PINE_WOOD = GenshinObject::Material.new(
198
- kamera_key: "PineWood",
199
- name: "Pine Wood",
200
- rarity: 1,
201
- family: nil,
202
- inventory_type: :standard_material,
203
- source_category: :gathering,
204
- source_sub_category: :furniture_material,
205
- ).freeze
206
-
207
- RED_DYE = GenshinObject::Material.new(
208
- kamera_key: "RedDye",
209
- name: "Red Dye",
210
- rarity: 2,
211
- family: nil,
212
- inventory_type: :standard_material,
213
- source_category: :gathering,
214
- source_sub_category: :furniture_material,
215
- ).freeze
216
-
217
- SANDBEARER_WOOD = GenshinObject::Material.new(
218
- kamera_key: "SandbearerWood",
219
- name: "Sandbearer Wood",
220
- rarity: 1,
221
- family: nil,
222
- inventory_type: :standard_material,
223
- source_category: :gathering,
224
- source_sub_category: :furniture_material,
225
- ).freeze
226
-
227
- YELLOW_DYE = GenshinObject::Material.new(
228
- kamera_key: "YellowDye",
229
- name: "Yellow Dye",
230
- rarity: 1,
231
- family: nil,
232
- inventory_type: :standard_material,
233
- source_category: :gathering,
234
- source_sub_category: :furniture_material,
235
- ).freeze
236
-
237
- YUMEMIRU_WOOD = GenshinObject::Material.new(
238
- kamera_key: "YumemiruWood",
239
- name: "Yumemiru Wood",
240
- rarity: 1,
241
- family: nil,
242
- inventory_type: :standard_material,
243
- source_category: :gathering,
244
- source_sub_category: :furniture_material,
245
- ).freeze
246
253
  end
247
254
  end
@@ -1,41 +1,46 @@
1
- module GenshinData::Materials
2
- module Standard
3
- require_relative "standard/cooking_material_data"
4
- require_relative "standard/crafting_material_data"
5
- require_relative "standard/fishing_material_data"
6
- require_relative "standard/forging_material_data"
7
- require_relative "standard/furniture_material_data"
1
+ # frozen_string_literal: true
8
2
 
9
- class << self
10
- def all
11
- [
12
- crafting_materials,
13
- cooking_materials,
14
- fishing_materials,
15
- forging_materials,
16
- furniture_materials,
17
- ].flatten.sort { |x, y| x.name <=> y.name }
18
- end
3
+ module GenshinData
4
+ module Materials
5
+ # Top level access class for all non development materials
6
+ module Standard
7
+ require_relative "standard/cooking_material_data"
8
+ require_relative "standard/crafting_material_data"
9
+ require_relative "standard/fishing_material_data"
10
+ require_relative "standard/forging_material_data"
11
+ require_relative "standard/furniture_material_data"
19
12
 
20
- def crafting_materials
21
- CraftingMaterialData.all
22
- end
13
+ class << self
14
+ def all
15
+ [
16
+ crafting_materials,
17
+ cooking_materials,
18
+ fishing_materials,
19
+ forging_materials,
20
+ furniture_materials
21
+ ].flatten.sort { |x, y| x.name <=> y.name }
22
+ end
23
23
 
24
- def cooking_materials
25
- CookingMaterialsData.all
26
- end
24
+ def crafting_materials
25
+ CraftingMaterialData.all
26
+ end
27
27
 
28
- def fishing_materials
29
- FishingMaterialData.all
30
- end
28
+ def cooking_materials
29
+ CookingMaterialsData.all
30
+ end
31
31
 
32
- def forging_materials
33
- ForgingMaterialData.all
34
- end
32
+ def fishing_materials
33
+ FishingMaterialData.all
34
+ end
35
+
36
+ def forging_materials
37
+ ForgingMaterialData.all
38
+ end
35
39
 
36
- def furniture_materials
37
- FurnitureMaterialData.all
40
+ def furniture_materials
41
+ FurnitureMaterialData.all
42
+ end
38
43
  end
39
44
  end
40
45
  end
41
- end
46
+ end
@@ -1,16 +1,22 @@
1
- module GenshinData
1
+ # frozen_string_literal: true
2
2
 
3
+ module GenshinData
3
4
  # Manager for all characters and attributes
4
5
  module Materials
5
- require_relative 'materials/development'
6
- require_relative 'materials/standard'
6
+ require_relative "materials/development"
7
+ require_relative "materials/standard"
7
8
 
8
9
  class << self
9
10
  def all
10
- [
11
- Development.all,
12
- Standard.all,
13
- ].flatten.sort { |x, y| x.name <=> y.name }
11
+ [Development.all, Standard.all].flatten.sort { |x, y| x.name <=> y.name }
12
+ end
13
+
14
+ def for_family(family)
15
+ all.select { |m| m.family == family }
16
+ end
17
+
18
+ def for_kamera_key(key)
19
+ all.select { |m| m.kamera_key == key }
14
20
  end
15
21
  end
16
22
  end