teyvatdb 0.1.18 → 0.2.1

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 (53) 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 +2 -2
  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/weapon_materials.rb +14 -0
  30. data/lib/genshin_data/weapons/weapon_data/bows.rb +369 -364
  31. data/lib/genshin_data/weapons/weapon_data/catalysts.rb +359 -354
  32. data/lib/genshin_data/weapons/weapon_data/claymores.rb +359 -354
  33. data/lib/genshin_data/weapons/weapon_data/polearms.rb +262 -257
  34. data/lib/genshin_data/weapons/weapon_data/swords.rb +399 -395
  35. data/lib/genshin_data/weapons/weapon_data.rb +10 -7
  36. data/lib/genshin_data/weapons.rb +2 -1
  37. data/lib/genshin_data/weekly_bosses/weekly_boss_data.rb +75 -0
  38. data/lib/genshin_data/weekly_bosses.rb +14 -0
  39. data/lib/genshin_data/world_bosses/world_boss_data.rb +186 -0
  40. data/lib/genshin_data/world_bosses.rb +14 -0
  41. data/lib/genshin_data.rb +23 -5
  42. data/lib/genshin_object/artifact_set.rb +2 -2
  43. data/lib/genshin_object/boss.rb +13 -0
  44. data/lib/genshin_object/material_family.rb +15 -0
  45. data/lib/genshin_object/schedule.rb +42 -0
  46. data/lib/genshin_object/talent_book.rb +6 -0
  47. data/lib/genshin_object/weapon_material_family.rb +6 -0
  48. data/lib/genshin_object/weekly_boss.rb +15 -0
  49. data/lib/genshin_object/world_boss.rb +14 -0
  50. data/lib/genshin_object.rb +11 -5
  51. data/lib/teyvatdb/version.rb +1 -1
  52. data/lib/teyvatdb.rb +3 -3
  53. metadata +16 -2
@@ -1,299 +1,950 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module GenshinData::ArtifactSets
4
- module ArtifactData
5
- ARCHAIC_PETRA = GenshinObject::ArtifactSet.new(
6
- kamera_key: "ArchaicPetra",
7
- name: "Archaic Petra",
8
- max_rarity: 5
9
- ).freeze
10
-
11
- BLIZZARD_STRAYER = GenshinObject::ArtifactSet.new(
12
- kamera_key: "BlizzardStrayer",
13
- name: "Blizzard Strayer",
14
- max_rarity: 5
15
- ).freeze
16
-
17
- BLOODSTAINED_CHIVALRY = GenshinObject::ArtifactSet.new(
18
- kamera_key: "BloodstainedChivalry",
19
- name: "Bloodstained Chivalry",
20
- max_rarity: 5
21
- ).freeze
22
-
23
- CRIMSON_WITCH_OF_FLAMES = GenshinObject::ArtifactSet.new(
24
- kamera_key: "CrimsonWitchOfFlames",
25
- name: "Crimson Witch of Flames",
26
- max_rarity: 5
27
- ).freeze
28
-
29
- DEEPWOOD_MEMORIES = GenshinObject::ArtifactSet.new(
30
- kamera_key: "DeepwoodMemories",
31
- name: "Deepwood Memories",
32
- max_rarity: 5
33
- ).freeze
34
-
35
- DESERT_PAVILION_CHRONICLE = GenshinObject::ArtifactSet.new(
36
- kamera_key: "DesertPavilionChronicle",
37
- name: "Desert Pavilion Chronicle",
38
- max_rarity: 5
39
- ).freeze
40
-
41
- ECHOES_OF_AN_OFFERING = GenshinObject::ArtifactSet.new(
42
- kamera_key: "EchoesOfAnOffering",
43
- name: "Echoes of an Offering",
44
- max_rarity: 5
45
- ).freeze
46
-
47
- EMBLEM_OF_SEVERED_FATE = GenshinObject::ArtifactSet.new(
48
- kamera_key: "EmblemOfSeveredFate",
49
- name: "Emblem of Severed Fate",
50
- max_rarity: 5
51
- ).freeze
52
-
53
- FLOWER_OF_PARADISE_LOST = GenshinObject::ArtifactSet.new(
54
- kamera_key: "FlowerOfParadiseLost",
55
- name: "Flower of Paradise Lost",
56
- max_rarity: 5
57
- ).freeze
58
-
59
- GILDED_DREAMS = GenshinObject::ArtifactSet.new(
60
- kamera_key: "GildedDreams",
61
- name: "Gilded Dreams",
62
- max_rarity: 5
63
- ).freeze
64
-
65
- GLADIATORS_FINALE = GenshinObject::ArtifactSet.new(
66
- kamera_key: "GladiatorsFinale",
67
- name: "Gladiator's Finale",
68
- max_rarity: 5
69
- ).freeze
70
-
71
- GOLDEN_TROUPE = GenshinObject::ArtifactSet.new(
72
- kamera_key: "GoldenTroupe",
73
- name: "Golden Troupe",
74
- max_rarity: 5
75
- ).freeze
76
-
77
- HEART_OF_DEPTH = GenshinObject::ArtifactSet.new(
78
- kamera_key: "HeartOfDepth",
79
- name: "Heart of Depth",
80
- max_rarity: 5
81
- ).freeze
82
-
83
- HUSK_OF_OPULENT_DREAMS = GenshinObject::ArtifactSet.new(
84
- kamera_key: "HuskOfOpulentDreams",
85
- name: "Husk of Opulent Dreams",
86
- max_rarity: 5
87
- ).freeze
88
-
89
- LAVAWALKER = GenshinObject::ArtifactSet.new(
90
- kamera_key: "Lavawalker",
91
- name: "Lavawalker",
92
- max_rarity: 5
93
- ).freeze
94
-
95
- MAIDEN_BELOVED = GenshinObject::ArtifactSet.new(
96
- kamera_key: "MaidenBeloved",
97
- name: "Maiden Beloved",
98
- max_rarity: 5
99
- ).freeze
100
-
101
- MARECHAUSSEE_HUNTER = GenshinObject::ArtifactSet.new(
102
- kamera_key: "MarechausseeHunter",
103
- name: "Marechaussee Hunter",
104
- max_rarity: 5
105
- ).freeze
106
-
107
- NIGHTTIME_WHISPERS_IN_THE_ECHOING_WOODS = GenshinObject::ArtifactSet.new(
108
- kamera_key: "NightimeWhispersInTheEchoingWoods",
109
- name: "Nightime Whispers in the Echoing Woods",
110
- max_rarity: 5
111
- ).freeze
112
-
113
- NOBLESSE_OBLIGE = GenshinObject::ArtifactSet.new(
114
- kamera_key: "NoblesseOblige",
115
- name: "Noblesse Oblige",
116
- max_rarity: 5
117
- ).freeze
118
-
119
- NYMPHS_DREAM = GenshinObject::ArtifactSet.new(
120
- kamera_key: "NymphsDream",
121
- name: "Nymph's Dream",
122
- max_rarity: 5
123
- ).freeze
124
-
125
- OCEAN_HUED_CLAM = GenshinObject::ArtifactSet.new(
126
- kamera_key: "OceanHuedClam",
127
- name: "Ocean-Hued Clam",
128
- max_rarity: 5
129
- ).freeze
130
-
131
- PALE_FLAME = GenshinObject::ArtifactSet.new(
132
- kamera_key: "PaleFlame",
133
- name: "Pale Flame",
134
- max_rarity: 5
135
- ).freeze
136
-
137
- RETRACING_BOLIDE = GenshinObject::ArtifactSet.new(
138
- kamera_key: "RetracingBolide",
139
- name: "Retracing Bolide",
140
- max_rarity: 5
141
- ).freeze
142
-
143
- SHIMENAWAS_REMINISCENCE = GenshinObject::ArtifactSet.new(
144
- kamera_key: "ShimenawasReminiscence",
145
- name: "Shimenawa's Reminiscence",
146
- max_rarity: 5
147
- ).freeze
148
-
149
- SONG_OF_DAYS_PAST = GenshinObject::ArtifactSet.new(
150
- kamera_key: "SongOfDaysPast",
151
- name: "Song of Days Past",
152
- max_rarity: 5
153
- ).freeze
154
-
155
- TENACITY_OF_THE_MILLELITH = GenshinObject::ArtifactSet.new(
156
- kamera_key: "TenacityOfTheMillelith",
157
- name: "Tenacity of the Millelith",
158
- max_rarity: 5
159
- ).freeze
160
-
161
- THUNDERING_FURY = GenshinObject::ArtifactSet.new(
162
- kamera_key: "ThunderingFury",
163
- name: "Thundering Fury",
164
- max_rarity: 5
165
- ).freeze
166
-
167
- THUNDERSOOTHER = GenshinObject::ArtifactSet.new(
168
- kamera_key: "Thundersoother",
169
- name: "Thundersoother",
170
- max_rarity: 5
171
- ).freeze
172
-
173
- VERMILLION_HEREAFTER = GenshinObject::ArtifactSet.new(
174
- kamera_key: "VermillionHereafter",
175
- name: "Vermillion Hereafter",
176
- max_rarity: 5
177
- ).freeze
178
-
179
- VIRIDESCENT_VENERER = GenshinObject::ArtifactSet.new(
180
- kamera_key: "ViridescentVenerer",
181
- name: "Viridescent Venerer",
182
- max_rarity: 5
183
- ).freeze
184
-
185
- VOURUKASHAS_GLOW = GenshinObject::ArtifactSet.new(
186
- kamera_key: "VourukashasGlow",
187
- name: "Vourukasha's Glow",
188
- max_rarity: 5
189
- ).freeze
190
-
191
- WANDERERS_TROUPE = GenshinObject::ArtifactSet.new(
192
- kamera_key: "WanderersTroupe",
193
- name: "Wanderer's Troupe",
194
- max_rarity: 5
195
- ).freeze
196
-
197
- BERSERKER = GenshinObject::ArtifactSet.new(
198
- kamera_key: "Berserker",
199
- name: "Berserker",
200
- max_rarity: 4
201
- ).freeze
202
-
203
- BRAVE_HEART = GenshinObject::ArtifactSet.new(
204
- kamera_key: "BraveHeart",
205
- name: "Brave Heart",
206
- max_rarity: 4
207
- ).freeze
208
-
209
- DEFENDERS_WILL = GenshinObject::ArtifactSet.new(
210
- kamera_key: "DefendersWill",
211
- name: "Defender's Will",
212
- max_rarity: 4
213
- ).freeze
214
-
215
- INSTRUCTOR = GenshinObject::ArtifactSet.new(
216
- kamera_key: "Instructor",
217
- name: "Instructor",
218
- max_rarity: 4
219
- ).freeze
220
-
221
- GAMBLER = GenshinObject::ArtifactSet.new(
222
- kamera_key: "Gambler",
223
- name: "Gambler",
224
- max_rarity: 4
225
- ).freeze
226
-
227
- MARTIAL_ARTIST = GenshinObject::ArtifactSet.new(
228
- kamera_key: "MartialArtist",
229
- name: "Martial Artist",
230
- max_rarity: 4
231
- ).freeze
232
-
233
- PRAYERS_FOR_DESTINY = GenshinObject::ArtifactSet.new(
234
- kamera_key: "PrayersForDestiny",
235
- name: "Prayers for Destiny",
236
- max_rarity: 4
237
- ).freeze
238
-
239
- PRAYERS_FOR_ILLUMINATION = GenshinObject::ArtifactSet.new(
240
- kamera_key: "PrayersForIllumination",
241
- name: "Prayers for Illumination",
242
- max_rarity: 4
243
- ).freeze
244
-
245
- PRAYERS_TO_SPRINGTIME = GenshinObject::ArtifactSet.new(
246
- kamera_key: "PrayersToSpringtime",
247
- name: "Prayers to Springtime",
248
- max_rarity: 4
249
- ).freeze
250
-
251
- PRAYERS_FOR_WISDOM = GenshinObject::ArtifactSet.new(
252
- kamera_key: "PrayersForWisdom",
253
- name: "Prayers for Wisdom",
254
- max_rarity: 4
255
- ).freeze
256
-
257
- RESOLUTION_OF_SOJOURNER = GenshinObject::ArtifactSet.new(
258
- kamera_key: "ResolutionOfSojourner",
259
- name: "Resolution of Sojourner",
260
- max_rarity: 4
261
- ).freeze
262
-
263
- SCHOLAR = GenshinObject::ArtifactSet.new(
264
- kamera_key: "Scholar",
265
- name: "Scholar",
266
- max_rarity: 4
267
- ).freeze
268
-
269
- THE_EXILE = GenshinObject::ArtifactSet.new(
270
- kamera_key: "TheExile",
271
- name: "The Exile",
272
- max_rarity: 4
273
- ).freeze
274
-
275
- TINY_MIRACLE = GenshinObject::ArtifactSet.new(
276
- kamera_key: "TinyMiracle",
277
- name: "Tiny Miracle",
278
- max_rarity: 4
279
- ).freeze
280
-
281
- ADVENTURER = GenshinObject::ArtifactSet.new(
282
- kamera_key: "Adventurer",
283
- name: "Adventurer",
284
- max_rarity: 3
285
- ).freeze
286
-
287
- LUCKY_DOG = GenshinObject::ArtifactSet.new(
288
- kamera_key: "LuckyDog",
289
- name: "Lucky Dog",
290
- max_rarity: 3
291
- ).freeze
292
-
293
- TRAVELING_DOCTOR = GenshinObject::ArtifactSet.new(
294
- kamera_key: "TravelingDoctor",
295
- name: "Traveling Doctor",
296
- max_rarity: 3
297
- ).freeze
3
+ module GenshinData
4
+ module ArtifactSets
5
+ module ArtifactData
6
+ ARCHAIC_PETRA = GenshinObject::ArtifactSet.new(
7
+ kamera_key: "ArchaicPetra",
8
+ name: "Archaic Petra",
9
+ bonuses: {
10
+ "2": "Geo DMG Bonus +15%",
11
+ "4": "Upon obtaining an Elemental Shard created through a Crystallize Reaction, " \
12
+ "all party members gain 35% DMG Bonus for that particular element for 10s. Only " \
13
+ "one form of Elemental DMG Bonus can be gained in this manner at any one time."
14
+ },
15
+ max_rarity: 5,
16
+ slots: {
17
+ flower: true,
18
+ plume: true,
19
+ sands: true,
20
+ goblet: true,
21
+ circlet: true
22
+ }
23
+ ).freeze
24
+
25
+ BLIZZARD_STRAYER = GenshinObject::ArtifactSet.new(
26
+ kamera_key: "BlizzardStrayer",
27
+ name: "Blizzard Strayer",
28
+ bonuses: {
29
+ "2": "Cryo DMG Bonus +15%",
30
+ "4": "When a character attacks an opponent affected by Cryo, their CRIT Rate is increased " \
31
+ "by 20%. If the opponent is Frozen, CRIT Rate is increased by an additional 20%."
32
+ },
33
+ max_rarity: 5,
34
+ slots: {
35
+ flower: true,
36
+ plume: true,
37
+ sands: true,
38
+ goblet: true,
39
+ circlet: true
40
+ }
41
+ ).freeze
42
+
43
+ BLOODSTAINED_CHIVALRY = GenshinObject::ArtifactSet.new(
44
+ kamera_key: "BloodstainedChivalry",
45
+ name: "Bloodstained Chivalry",
46
+ bonuses: {
47
+ "2": "Physical DMG Bonus +25%",
48
+ "4": "After defeating an opponent, increases Charged Attack DMG by 50%, and reduces its " \
49
+ "Stamina cost to 0 for 10s. Also triggers with wild animals such as boars, squirrels and frogs."
50
+ },
51
+ max_rarity: 5,
52
+ slots: {
53
+ flower: true,
54
+ plume: true,
55
+ sands: true,
56
+ goblet: true,
57
+ circlet: true
58
+ }
59
+ ).freeze
60
+
61
+ CRIMSON_WITCH_OF_FLAMES = GenshinObject::ArtifactSet.new(
62
+ kamera_key: "CrimsonWitchOfFlames",
63
+ name: "Crimson Witch of Flames",
64
+ bonuses: {
65
+ "2": "Pyro DMG Bonus +15%",
66
+ "4": "Increases Overloaded and Burning, and Burgeon DMG by 40%. Increases Vaporize and " \
67
+ "Melt DMG by 15%. Using Elemental Skill increases the 2-Piece Set Bonus by 50% " \
68
+ "of its starting value for 10s. Max 3 stacks."
69
+ },
70
+ max_rarity: 5,
71
+ slots: {
72
+ flower: true,
73
+ plume: true,
74
+ sands: true,
75
+ goblet: true,
76
+ circlet: true
77
+ }
78
+ ).freeze
79
+
80
+ DEEPWOOD_MEMORIES = GenshinObject::ArtifactSet.new(
81
+ kamera_key: "DeepwoodMemories",
82
+ name: "Deepwood Memories",
83
+ bonuses: {
84
+ "2": "Dendro DMG Bonus +15%",
85
+ "4": "After Elemental Skills or Bursts hit opponents, the targets' Dendro RES will be decreased " \
86
+ "by 30% for 8s. This effect can be triggered even if the equipping character is not on the field."
87
+ },
88
+ max_rarity: 5,
89
+ slots: {
90
+ flower: true,
91
+ plume: true,
92
+ sands: true,
93
+ goblet: true,
94
+ circlet: true
95
+ }
96
+ ).freeze
97
+
98
+ DESERT_PAVILION_CHRONICLE = GenshinObject::ArtifactSet.new(
99
+ kamera_key: "DesertPavilionChronicle",
100
+ name: "Desert Pavilion Chronicle",
101
+ bonuses: {
102
+ "2": "Anemo DMG Bonus +15%.",
103
+ "4": "When Charged Attacks hit opponents, the equipping character's Normal Attack SPD will increase " \
104
+ "by 10% while Normal, Charged, and Plunging Attack DMG will increase by 40% for 15s."
105
+ },
106
+ max_rarity: 5,
107
+ slots: {
108
+ flower: true,
109
+ plume: true,
110
+ sands: true,
111
+ goblet: true,
112
+ circlet: true
113
+ }
114
+ ).freeze
115
+
116
+ ECHOES_OF_AN_OFFERING = GenshinObject::ArtifactSet.new(
117
+ kamera_key: "EchoesOfAnOffering",
118
+ name: "Echoes of an Offering",
119
+ bonuses: {
120
+ "2": "ATK +18%.",
121
+ "4": "When Normal Attacks hit opponents, there is a 36% chance that it will trigger Valley Rite, " \
122
+ "which will increase Normal Attack DMG by 70% of ATK." \
123
+ "\n" \
124
+ "This effect will be dispelled 0.05s after a Normal Attack deals DMG." \
125
+ "\n" \
126
+ "If a Normal Attack fails to trigger Valley Rite, the odds of it triggering the next time " \
127
+ "will increase by 20%. This trigger can occur once every 0.2s."
128
+ },
129
+ max_rarity: 5,
130
+ slots: {
131
+ flower: true,
132
+ plume: true,
133
+ sands: true,
134
+ goblet: true,
135
+ circlet: true
136
+ }
137
+ ).freeze
138
+
139
+ EMBLEM_OF_SEVERED_FATE = GenshinObject::ArtifactSet.new(
140
+ kamera_key: "EmblemOfSeveredFate",
141
+ name: "Emblem of Severed Fate",
142
+ bonuses: {
143
+ "2": "Energy Recharge +20%",
144
+ "4": "Increases Elemental Burst DMG by 25% of Energy Recharge. " \
145
+ "A maximum of 75% bonus DMG can be obtained in this way."
146
+ },
147
+ max_rarity: 5,
148
+ slots: {
149
+ flower: true,
150
+ plume: true,
151
+ sands: true,
152
+ goblet: true,
153
+ circlet: true
154
+ }
155
+ ).freeze
156
+
157
+ FLOWER_OF_PARADISE_LOST = GenshinObject::ArtifactSet.new(
158
+ kamera_key: "FlowerOfParadiseLost",
159
+ name: "Flower of Paradise Lost",
160
+ bonuses: {
161
+ "2": "Increases Elemental Mastery by 80.",
162
+ "4": "The equipping character's Bloom, Hyperbloom, and Burgeon reaction DMG are increased " \
163
+ "by 40%. Additionally, after the equipping character triggers Bloom, Hyperbloom, or " \
164
+ "Burgeon, they will gain another 25% bonus to the effect mentioned prior. Each stack of " \
165
+ "this lasts 10s. Max 4 stacks simultaneously. This effect can only be triggered once per " \
166
+ "second. The character who equips this can still trigger its effects when not on the field."
167
+ },
168
+ max_rarity: 5,
169
+ slots: {
170
+ flower: true,
171
+ plume: true,
172
+ sands: true,
173
+ goblet: true,
174
+ circlet: true
175
+ }
176
+ ).freeze
177
+
178
+ GILDED_DREAMS = GenshinObject::ArtifactSet.new(
179
+ kamera_key: "GildedDreams",
180
+ name: "Gilded Dreams",
181
+ bonuses: {
182
+ "2": "Increases Elemental Mastery by 80.",
183
+ "4": "Within 8s of triggering an Elemental Reaction, the character equipping this will obtain " \
184
+ "buffs based on the Elemental Type of the other party members. ATK is increased by 14% for " \
185
+ "each party member whose Elemental Type is the same as the equipping character, and Elemental " \
186
+ "Mastery is increased by 50 for every party member with a different Elemental Type. Each of " \
187
+ "the aforementioned buffs will count up to 3 characters. This effect can be triggered once " \
188
+ "every 8s. The character who equips this can still trigger its effects when not on the field."
189
+ },
190
+ max_rarity: 5,
191
+ slots: {
192
+ flower: true,
193
+ plume: true,
194
+ sands: true,
195
+ goblet: true,
196
+ circlet: true
197
+ }
198
+ ).freeze
199
+
200
+ GLADIATORS_FINALE = GenshinObject::ArtifactSet.new(
201
+ kamera_key: "GladiatorsFinale",
202
+ name: "Gladiator's Finale",
203
+ bonuses: {
204
+ "2": "ATK +18%.",
205
+ "4": "If the wielder of this artifact set uses a Sword, Claymore or Polearm, " \
206
+ "increases their Normal Attack DMG by 35%."
207
+ },
208
+ max_rarity: 5,
209
+ slots: {
210
+ flower: true,
211
+ plume: true,
212
+ sands: true,
213
+ goblet: true,
214
+ circlet: true
215
+ }
216
+ ).freeze
217
+
218
+ GOLDEN_TROUPE = GenshinObject::ArtifactSet.new(
219
+ kamera_key: "GoldenTroupe",
220
+ name: "Golden Troupe",
221
+ bonuses: {
222
+ "2": "Increases Elemental Skill DMG by 20%.",
223
+ "4": "Increases Elemental Skill DMG by 25%. Additionally, when not on the field, " \
224
+ "Elemental Skill DMG will be further increased by 25%. This effect will be " \
225
+ "cleared 2s after taking the field."
226
+ },
227
+ max_rarity: 5,
228
+ slots: {
229
+ flower: true,
230
+ plume: true,
231
+ sands: true,
232
+ goblet: true,
233
+ circlet: true
234
+ }
235
+ ).freeze
236
+
237
+ HEART_OF_DEPTH = GenshinObject::ArtifactSet.new(
238
+ kamera_key: "HeartOfDepth",
239
+ name: "Heart of Depth",
240
+ bonuses: {
241
+ "2": "Hydro DMG Bonus +15%",
242
+ "4": "After using an Elemental Skill, increases Normal Attack and " \
243
+ "Charged Attack DMG by 30% for 15s."
244
+ },
245
+ max_rarity: 5,
246
+ slots: {
247
+ flower: true,
248
+ plume: true,
249
+ sands: true,
250
+ goblet: true,
251
+ circlet: true
252
+ }
253
+ ).freeze
254
+
255
+ HUSK_OF_OPULENT_DREAMS = GenshinObject::ArtifactSet.new(
256
+ kamera_key: "HuskOfOpulentDreams",
257
+ name: "Husk of Opulent Dreams",
258
+ bonuses: {
259
+ "2": "DEF +30%",
260
+ "4": "A character equipped with this Artifact set will obtain the Curiosity effect " \
261
+ "in the following conditions:" \
262
+ "\n" \
263
+ "When on the field, the character gains 1 stack after hitting an opponent with " \
264
+ "a Geo attack, triggering a maximum of once every 0.3s." \
265
+ "\n" \
266
+ "When off the field, the character gains 1 stack every 3s." \
267
+ "\n" \
268
+ "Curiosity can stack up to 4 times, each providing 6% DEF and a 6% Geo DMG Bonus." \
269
+ "\n" \
270
+ "When 6 seconds pass without gaining a Curiosity stack, 1 stack is lost."
271
+ },
272
+ max_rarity: 5,
273
+ slots: {
274
+ flower: true,
275
+ plume: true,
276
+ sands: true,
277
+ goblet: true,
278
+ circlet: true
279
+ }
280
+ ).freeze
281
+
282
+ LAVAWALKER = GenshinObject::ArtifactSet.new(
283
+ kamera_key: "Lavawalker",
284
+ name: "Lavawalker",
285
+ bonuses: {
286
+ "2": "Pyro RES increased by 40%.",
287
+ "4": "Increases DMG against opponents affected by Pyro by 35%."
288
+ },
289
+ max_rarity: 5,
290
+ slots: {
291
+ flower: true,
292
+ plume: true,
293
+ sands: true,
294
+ goblet: true,
295
+ circlet: true
296
+ }
297
+ ).freeze
298
+
299
+ MAIDEN_BELOVED = GenshinObject::ArtifactSet.new(
300
+ kamera_key: "MaidenBeloved",
301
+ name: "Maiden Beloved",
302
+ bonuses: {
303
+ "2": "Character Healing Effectiveness +15%",
304
+ "4": "Using an Elemental Skill or Burst increases healing received " \
305
+ "by all party members by 20% for 10s."
306
+ },
307
+ max_rarity: 5,
308
+ slots: {
309
+ flower: true,
310
+ plume: true,
311
+ sands: true,
312
+ goblet: true,
313
+ circlet: true
314
+ }
315
+ ).freeze
316
+
317
+ MARECHAUSSEE_HUNTER = GenshinObject::ArtifactSet.new(
318
+ kamera_key: "MarechausseeHunter",
319
+ name: "Marechaussee Hunter",
320
+ bonuses: {
321
+ "2": "Normal and Charged Attack DMG +15%.",
322
+ "4": "When current HP increases or decreases, CRIT Rate will " \
323
+ "be increased by 12% for 5s. Max 3 stacks."
324
+ },
325
+ max_rarity: 5,
326
+ slots: {
327
+ flower: true,
328
+ plume: true,
329
+ sands: true,
330
+ goblet: true,
331
+ circlet: true
332
+ }
333
+ ).freeze
334
+
335
+ NIGHTTIME_WHISPERS_IN_THE_ECHOING_WOODS = GenshinObject::ArtifactSet.new(
336
+ kamera_key: "NighttimeWhispersInTheEchoingWoods",
337
+ name: "Nighttime Whispers in the Echoing Woods",
338
+ bonuses: {
339
+ "2": "ATK +18%",
340
+ "4": "After using an Elemental Skill, gain a 20% Geo DMG Bonus for 10s. While " \
341
+ "under a shield granted by the Crystallize reaction, the above effect will be " \
342
+ "increased by 150%, and this additional increase disappears 1s after that shield is lost."
343
+ },
344
+ max_rarity: 5,
345
+ slots: {
346
+ flower: true,
347
+ plume: true,
348
+ sands: true,
349
+ goblet: true,
350
+ circlet: true
351
+ }
352
+ ).freeze
353
+
354
+ NOBLESSE_OBLIGE = GenshinObject::ArtifactSet.new(
355
+ kamera_key: "NoblesseOblige",
356
+ name: "Noblesse Oblige",
357
+ bonuses: {
358
+ "2": "Elemental Burst DMG +20%",
359
+ "4": "Using an Elemental Burst increases all party members" \
360
+ "ATK by 20% for 12s. This effect cannot stack."
361
+ },
362
+ max_rarity: 5,
363
+ slots: {
364
+ flower: true,
365
+ plume: true,
366
+ sands: true,
367
+ goblet: true,
368
+ circlet: true
369
+ }
370
+ ).freeze
371
+
372
+ NYMPHS_DREAM = GenshinObject::ArtifactSet.new(
373
+ kamera_key: "NymphsDream",
374
+ name: "Nymph's Dream",
375
+ bonuses: {
376
+ "2": "Hydro DMG Bonus +15%",
377
+ "4": "After Normal, Charged, and Plunging Attacks, Elemental Skills, and Elemental " \
378
+ "Bursts hit opponents, 1 stack of Mirrored Nymph will triggered, lasting 8s. When " \
379
+ "under the effect of 1, 2, or 3 or more Mirrored Nymph stacks, ATK will be increased " \
380
+ "by 7%/16%/25%, and Hydro DMG will be increased by 4%/9%/15%. Mirrored Nymph " \
381
+ "created by Normal, Charged, and Plunging Attacks, Elemental Skills, and Elemental " \
382
+ "Bursts exist independently."
383
+ },
384
+ max_rarity: 5,
385
+ slots: {
386
+ flower: true,
387
+ plume: true,
388
+ sands: true,
389
+ goblet: true,
390
+ circlet: true
391
+ }
392
+ ).freeze
393
+
394
+ OCEAN_HUED_CLAM = GenshinObject::ArtifactSet.new(
395
+ kamera_key: "OceanHuedClam",
396
+ name: "Ocean-Hued Clam",
397
+ bonuses: {
398
+ "2": "Healing Bonus +15%.",
399
+ "4": "When the character equipping this artifact set heals a character in the party, a Sea-Dyed " \
400
+ "Foam will appear for 3 seconds, accumulating the amount of HP recovered from " \
401
+ "healing (including overflow healing)." \
402
+ "\n" \
403
+ "At the end of the duration, the Sea-Dyed Foam will explode, dealing DMG to nearby " \
404
+ "opponents based on 90% of the accumulated healing. (This DMG is calculated similarly to " \
405
+ "Reactions such as Electro-Charged, and Superconduct, but it is not affected by Elemental " \
406
+ "Mastery, Character Levels, or Reaction DMG Bonuses)." \
407
+ "\n" \
408
+ "Only one Sea-Dyed Foam can be produced every 3.5 seconds." \
409
+ "\n" \
410
+ "Each Sea-Dyed Foam can accumulate up to 30,000 HP (including overflow healing)." \
411
+ "\n" \
412
+ "There can be no more than one Sea-Dyed Foam active at any given time." \
413
+ "\n" \
414
+ "This effect can still be triggered even when the character who is using this artifact " \
415
+ "set is not on the field."
416
+ },
417
+ max_rarity: 5,
418
+ slots: {
419
+ flower: true,
420
+ plume: true,
421
+ sands: true,
422
+ goblet: true,
423
+ circlet: true
424
+ }
425
+ ).freeze
426
+
427
+ PALE_FLAME = GenshinObject::ArtifactSet.new(
428
+ kamera_key: "PaleFlame",
429
+ name: "Pale Flame",
430
+ bonuses: {
431
+ "2": "Physical DMG Bonus +25%",
432
+ "4": "When an Elemental Skill hits an opponent, ATK is increased by 9% for 7s. This effect " \
433
+ "stacks up to 2 times and can be triggered once every 0.3s. Once 2 stacks are reached, " \
434
+ "the 2-set effect is increased by 100%."
435
+ },
436
+ max_rarity: 5,
437
+ slots: {
438
+ flower: true,
439
+ plume: true,
440
+ sands: true,
441
+ goblet: true,
442
+ circlet: true
443
+ }
444
+ ).freeze
445
+
446
+ RETRACING_BOLIDE = GenshinObject::ArtifactSet.new(
447
+ kamera_key: "RetracingBolide",
448
+ name: "Retracing Bolide",
449
+ bonuses: {
450
+ "2": "Increases Shield Strength by 35%.",
451
+ "4": "While protected by a shield, gain an additional 40% Normal and Charged Attack DMG."
452
+ },
453
+ max_rarity: 5,
454
+ slots: {
455
+ flower: true,
456
+ plume: true,
457
+ sands: true,
458
+ goblet: true,
459
+ circlet: true
460
+ }
461
+ ).freeze
462
+
463
+ SHIMENAWAS_REMINISCENCE = GenshinObject::ArtifactSet.new(
464
+ kamera_key: "ShimenawasReminiscence",
465
+ name: "Shimenawa's Reminiscence",
466
+ bonuses: {
467
+ "2": "ATK +18%",
468
+ "4": "When casting an Elemental Skill, if the character has 15 or more Energy, they lose " \
469
+ "15 Energy and Normal/Charged/Plunging Attack DMG is increased by 50% for 10s. This " \
470
+ "effect will not trigger again during that duration."
471
+ },
472
+ max_rarity: 5,
473
+ slots: {
474
+ flower: true,
475
+ plume: true,
476
+ sands: true,
477
+ goblet: true,
478
+ circlet: true
479
+ }
480
+ ).freeze
481
+
482
+ SONG_OF_DAYS_PAST = GenshinObject::ArtifactSet.new(
483
+ kamera_key: "SongOfDaysPast",
484
+ name: "Song of Days Past",
485
+ bonuses: {
486
+ "2": "Healing Bonus +15%",
487
+ "4": "When the equipping character heals a party member, the Yearning effect will be created " \
488
+ "for 6s, which records the total amount of healing provided (including overflow healing). " \
489
+ "When the duration expires, the Yearning effect will be transformed into the 'Waves of " \
490
+ "Days Past' effect: When your active party member hits an opponent with a Normal Attack, " \
491
+ "Charged Attack, Plunging Attack, Elemental Skill, or Elemental Burst, the DMG dealt will " \
492
+ "be increased by 8% of the total healing amount recorded by the Yearning effect. The 'Waves " \
493
+ "of Days Past' effect is removed after it has taken effect 5 times or after 10s. A single " \
494
+ "instance of the Yearning effect can record up to 15,000 healing, and only a single " \
495
+ "instance can exist at once, but it can record the healing from multiple equipping " \
496
+ "characters. Equipping characters on standby can still trigger this effect."
497
+ },
498
+ max_rarity: 5,
499
+ slots: {
500
+ flower: true,
501
+ plume: true,
502
+ sands: true,
503
+ goblet: true,
504
+ circlet: true
505
+ }
506
+ ).freeze
507
+
508
+ TENACITY_OF_THE_MILLELITH = GenshinObject::ArtifactSet.new(
509
+ kamera_key: "TenacityOfTheMillelith",
510
+ name: "Tenacity of the Millelith",
511
+ bonuses: {
512
+ "2": "HP +20%",
513
+ "4": "When an Elemental Skill hits an opponent, the ATK of all nearby party members is increased " \
514
+ "by 20% and their Shield Strength is increased by 30% for 3s. This effect can be triggered " \
515
+ "once every 0.5s. This effect can still be triggered even when the character who is using " \
516
+ "this artifact set is not on the field."
517
+ },
518
+ max_rarity: 5,
519
+ slots: {
520
+ flower: true,
521
+ plume: true,
522
+ sands: true,
523
+ goblet: true,
524
+ circlet: true
525
+ }
526
+ ).freeze
527
+
528
+ THUNDERING_FURY = GenshinObject::ArtifactSet.new(
529
+ kamera_key: "ThunderingFury",
530
+ name: "Thundering Fury",
531
+ bonuses: {
532
+ "2": "Electro DMG Bonus +15%",
533
+ "4": "Increases DMG caused by Overloaded, Electro-Charged, Superconduct, and Hyperbloom by 40%, " \
534
+ "and the DMG Bonus conferred by Aggravate is increased by 20%. When Quicken or the " \
535
+ "aforementioned Elemental Reactions are triggered, Elemental Skill CD is decreased by " \
536
+ "1s. Can only occur once every 0.8s."
537
+ },
538
+ max_rarity: 5,
539
+ slots: {
540
+ flower: true,
541
+ plume: true,
542
+ sands: true,
543
+ goblet: true,
544
+ circlet: true
545
+ }
546
+ ).freeze
547
+
548
+ THUNDERSOOTHER = GenshinObject::ArtifactSet.new(
549
+ kamera_key: "Thundersoother",
550
+ name: "Thundersoother",
551
+ bonuses: {
552
+ "2": "Electro RES increased by 40%.",
553
+ "4": "Increases DMG against opponents affected by Electro by 35%."
554
+ },
555
+ max_rarity: 5,
556
+ slots: {
557
+ flower: true,
558
+ plume: true,
559
+ sands: true,
560
+ goblet: true,
561
+ circlet: true
562
+ }
563
+ ).freeze
564
+
565
+ VERMILLION_HEREAFTER = GenshinObject::ArtifactSet.new(
566
+ kamera_key: "VermillionHereafter",
567
+ name: "Vermillion Hereafter",
568
+ bonuses: {
569
+ "2": "ATK +18%.",
570
+ "4": "After using an Elemental Burst. this character will gain the Nascent " \
571
+ "Light effect, increasing their ATK by 8% for 16s. When the character's " \
572
+ "HP decreases, their ATK will further increase by 10%. This increase can " \
573
+ "occur this way maximum of 4 times. This effect can be triggered once " \
574
+ "every 0.8s. Nascent Light will be dispelled when the character leaves the " \
575
+ "field. If an Elemental Burst is used again during the duration of Nascent " \
576
+ "Light, the original Nascent Light will be dispelled."
577
+ },
578
+ max_rarity: 5,
579
+ slots: {
580
+ flower: true,
581
+ plume: true,
582
+ sands: true,
583
+ goblet: true,
584
+ circlet: true
585
+ }
586
+ ).freeze
587
+
588
+ VIRIDESCENT_VENERER = GenshinObject::ArtifactSet.new(
589
+ kamera_key: "ViridescentVenerer",
590
+ name: "Viridescent Venerer",
591
+ bonuses: {
592
+ "2": "Anemo DMG Bonus +15%",
593
+ "4": "Increases Swirl DMG by 60%. Decreases opponent's " \
594
+ "Elemental RES to the element infused in the Swirl by 40% for 10s."
595
+ },
596
+ max_rarity: 5,
597
+ slots: {
598
+ flower: true,
599
+ plume: true,
600
+ sands: true,
601
+ goblet: true,
602
+ circlet: true
603
+ }
604
+ ).freeze
605
+
606
+ VOURUKASHAS_GLOW = GenshinObject::ArtifactSet.new(
607
+ kamera_key: "VourukashasGlow",
608
+ name: "Vourukasha's Glow",
609
+ bonuses: {
610
+ "2": "HP +20%",
611
+ "4": "Elemental Skill and Elemental Burst DMG will be increased by 10%. " \
612
+ "After the equipping character takes DMG, the aforementioned DMG Bonus " \
613
+ "is increased by 80% for 5s. This effect increase can have 5 stacks. The " \
614
+ "duration of each stack is counted independently. These effects can be " \
615
+ "triggered even when the equipping character is not on the field."
616
+ },
617
+ max_rarity: 5,
618
+ slots: {
619
+ flower: true,
620
+ plume: true,
621
+ sands: true,
622
+ goblet: true,
623
+ circlet: true
624
+ }
625
+ ).freeze
626
+
627
+ WANDERERS_TROUPE = GenshinObject::ArtifactSet.new(
628
+ kamera_key: "WanderersTroupe",
629
+ name: "Wanderer's Troupe",
630
+ bonuses: {
631
+ "2": "Increases Elemental Mastery by 80.",
632
+ "4": "Increases Charged Attack DMG by 35% if the character uses a Catalyst or Bow."
633
+ },
634
+ max_rarity: 5,
635
+ slots: {
636
+ flower: true,
637
+ plume: true,
638
+ sands: true,
639
+ goblet: true,
640
+ circlet: true
641
+ }
642
+ ).freeze
643
+
644
+ BERSERKER = GenshinObject::ArtifactSet.new(
645
+ kamera_key: "Berserker",
646
+ name: "Berserker",
647
+ bonuses: {
648
+ "2": "CRIT Rate +12%",
649
+ "4": "When HP is below 70%, CRIT Rate increases by an additional 24%."
650
+ },
651
+ max_rarity: 4,
652
+ slots: {
653
+ flower: true,
654
+ plume: true,
655
+ sands: true,
656
+ goblet: true,
657
+ circlet: true
658
+ }
659
+ ).freeze
660
+
661
+ BRAVE_HEART = GenshinObject::ArtifactSet.new(
662
+ kamera_key: "BraveHeart",
663
+ name: "Brave Heart",
664
+ bonuses: {
665
+ "2": "ATK +18%.",
666
+ "4": "Increases DMG by 30% against opponents with more than 50% HP."
667
+ },
668
+ max_rarity: 4,
669
+ slots: {
670
+ flower: true,
671
+ plume: true,
672
+ sands: true,
673
+ goblet: true,
674
+ circlet: true
675
+ }
676
+ ).freeze
677
+
678
+ DEFENDERS_WILL = GenshinObject::ArtifactSet.new(
679
+ kamera_key: "DefendersWill",
680
+ name: "Defender's Will",
681
+ bonuses: {
682
+ "2": "DEF +30%",
683
+ "4": "For each different element present in your own party, the wearer's " \
684
+ "Elemental RES to that corresponding element is increased by 30%."
685
+ },
686
+ max_rarity: 4,
687
+ slots: {
688
+ flower: true,
689
+ plume: true,
690
+ sands: true,
691
+ goblet: true,
692
+ circlet: true
693
+ }
694
+ ).freeze
695
+
696
+ INSTRUCTOR = GenshinObject::ArtifactSet.new(
697
+ kamera_key: "Instructor",
698
+ name: "Instructor",
699
+ bonuses: {
700
+ "2": "Increases Elemental Mastery by 80.",
701
+ "4": "Upon triggering an Elemental Reaction, increases all party members's " \
702
+ "Elemental Mastery by 120 for 8s."
703
+ },
704
+ max_rarity: 4,
705
+ slots: {
706
+ flower: true,
707
+ plume: true,
708
+ sands: true,
709
+ goblet: true,
710
+ circlet: true
711
+ }
712
+ ).freeze
713
+
714
+ GAMBLER = GenshinObject::ArtifactSet.new(
715
+ kamera_key: "Gambler",
716
+ name: "Gambler",
717
+ bonuses: {
718
+ "2": "Increases Elemental Skill DMG by 20%.",
719
+ "4": "Defeating an opponent has 100% chance to remove Elemental Skill CD. " \
720
+ "Can only occur once every 15s."
721
+ },
722
+ max_rarity: 4,
723
+ slots: {
724
+ flower: true,
725
+ plume: true,
726
+ sands: true,
727
+ goblet: true,
728
+ circlet: true
729
+ }
730
+ ).freeze
731
+
732
+ MARTIAL_ARTIST = GenshinObject::ArtifactSet.new(
733
+ kamera_key: "MartialArtist",
734
+ name: "Martial Artist",
735
+ bonuses: {
736
+ "2": "Normal and Charged Attack DMG +15%",
737
+ "4": "After using Elemental Skill, increases Normal Attack and Charged Attack DMG by 25% for 8s."
738
+ },
739
+ max_rarity: 4,
740
+ slots: {
741
+ flower: true,
742
+ plume: true,
743
+ sands: true,
744
+ goblet: true,
745
+ circlet: true
746
+ }
747
+ ).freeze
748
+
749
+ PRAYERS_FOR_DESTINY = GenshinObject::ArtifactSet.new(
750
+ kamera_key: "PrayersForDestiny",
751
+ name: "Prayers for Destiny",
752
+ bonuses: {
753
+ "1": "Affected by Hydro for 40% less time."
754
+ },
755
+ max_rarity: 4,
756
+ slots: {
757
+ flower: true,
758
+ plume: true,
759
+ sands: true,
760
+ goblet: true,
761
+ circlet: true
762
+ }
763
+ ).freeze
764
+
765
+ PRAYERS_FOR_ILLUMINATION = GenshinObject::ArtifactSet.new(
766
+ kamera_key: "PrayersForIllumination",
767
+ name: "Prayers for Illumination",
768
+ bonuses: {
769
+ "1": "Affected by Pyro for 40% less time."
770
+ },
771
+ max_rarity: 4,
772
+ slots: {
773
+ flower: true,
774
+ plume: true,
775
+ sands: true,
776
+ goblet: true,
777
+ circlet: true
778
+ }
779
+ ).freeze
780
+
781
+ PRAYERS_TO_SPRINGTIME = GenshinObject::ArtifactSet.new(
782
+ kamera_key: "PrayersToSpringtime",
783
+ name: "Prayers to Springtime",
784
+ bonuses: {
785
+ "1": "Affected by Cryo for 40% less time."
786
+ },
787
+ max_rarity: 4,
788
+ slots: {
789
+ flower: true,
790
+ plume: true,
791
+ sands: true,
792
+ goblet: true,
793
+ circlet: true
794
+ }
795
+ ).freeze
796
+
797
+ PRAYERS_FOR_WISDOM = GenshinObject::ArtifactSet.new(
798
+ kamera_key: "PrayersForWisdom",
799
+ name: "Prayers for Wisdom",
800
+ bonuses: {
801
+ "1": "Affected by Electro for 40% less time."
802
+ },
803
+ max_rarity: 4,
804
+ slots: {
805
+ flower: true,
806
+ plume: true,
807
+ sands: true,
808
+ goblet: true,
809
+ circlet: true
810
+ }
811
+ ).freeze
812
+
813
+ RESOLUTION_OF_SOJOURNER = GenshinObject::ArtifactSet.new(
814
+ kamera_key: "ResolutionOfSojourner",
815
+ name: "Resolution of Sojourner",
816
+ bonuses: {
817
+ "2": "ATK +18%",
818
+ "4": "Increases Charged Attack CRIT Rate by 30%."
819
+ },
820
+ max_rarity: 4,
821
+ slots: {
822
+ flower: true,
823
+ plume: true,
824
+ sands: true,
825
+ goblet: true,
826
+ circlet: true
827
+ }
828
+ ).freeze
829
+
830
+ SCHOLAR = GenshinObject::ArtifactSet.new(
831
+ kamera_key: "Scholar",
832
+ name: "Scholar",
833
+ bonuses: {
834
+ "2": "Energy Recharge +20%",
835
+ "4": "Gaining Elemental Particles or Orbs gives 3 Energy to all party " \
836
+ "members who have a bow or a catalyst equipped. Can only occur once every 3s."
837
+ },
838
+ max_rarity: 4,
839
+ slots: {
840
+ flower: true,
841
+ plume: true,
842
+ sands: true,
843
+ goblet: true,
844
+ circlet: true
845
+ }
846
+ ).freeze
847
+
848
+ THE_EXILE = GenshinObject::ArtifactSet.new(
849
+ kamera_key: "TheExile",
850
+ name: "The Exile",
851
+ bonuses: {
852
+ "2": "Energy Recharge +20%",
853
+ "4": "Using an Elemental Burst regenerates 2 Energy for all party members " \
854
+ "(excluding the wearer) every 2s for 6s. This effect cannot stack."
855
+ },
856
+ max_rarity: 4,
857
+ slots: {
858
+ flower: true,
859
+ plume: true,
860
+ sands: true,
861
+ goblet: true,
862
+ circlet: true
863
+ }
864
+ ).freeze
865
+
866
+ TINY_MIRACLE = GenshinObject::ArtifactSet.new(
867
+ kamera_key: "TinyMiracle",
868
+ name: "Tiny Miracle",
869
+ bonuses: {
870
+ "2": "All Elemental RES increased by 20%.",
871
+ "4": "Incoming Elemental DMG increases corresponding Elemental RES by 30% for 10s. " \
872
+ "Can only occur once every 10s."
873
+ },
874
+ max_rarity: 4,
875
+ slots: {
876
+ flower: true,
877
+ plume: true,
878
+ sands: true,
879
+ goblet: true,
880
+ circlet: true
881
+ }
882
+ ).freeze
883
+
884
+ ADVENTURER = GenshinObject::ArtifactSet.new(
885
+ kamera_key: "Adventurer",
886
+ name: "Adventurer",
887
+ bonuses: {
888
+ "2": "Max HP increased by 1,000.",
889
+ "4": "Opening a chest regenerates 30% Max HP over 5s."
890
+ },
891
+ max_rarity: 3,
892
+ slots: {
893
+ flower: true,
894
+ plume: true,
895
+ sands: true,
896
+ goblet: true,
897
+ circlet: true
898
+ }
899
+ ).freeze
900
+
901
+ LUCKY_DOG = GenshinObject::ArtifactSet.new(
902
+ kamera_key: "LuckyDog",
903
+ name: "Lucky Dog",
904
+ bonuses: {
905
+ "2": "DEF increased by 100.",
906
+ "4": "Picking up Mora restores 300 HP."
907
+ },
908
+ max_rarity: 3,
909
+ slots: {
910
+ flower: true,
911
+ plume: true,
912
+ sands: true,
913
+ goblet: true,
914
+ circlet: true
915
+ }
916
+ ).freeze
917
+
918
+ TRAVELING_DOCTOR = GenshinObject::ArtifactSet.new(
919
+ kamera_key: "TravelingDoctor",
920
+ name: "Traveling Doctor",
921
+ bonuses: {
922
+ "2": "Increases incoming healing by 20%.",
923
+ "4": "Using Elemental Burst restores 20% HP."
924
+ },
925
+ max_rarity: 3,
926
+ slots: {
927
+ flower: true,
928
+ plume: true,
929
+ sands: true,
930
+ goblet: true,
931
+ circlet: true
932
+ }
933
+ ).freeze
934
+
935
+ INITIATE = GenshinObject::ArtifactSet.new(
936
+ kamera_key: "Initiate",
937
+ name: "Initiate",
938
+ bonuses: {},
939
+ max_rarity: 1,
940
+ slots: {
941
+ flower: true,
942
+ plume: true,
943
+ sands: false,
944
+ goblet: false,
945
+ circlet: false
946
+ }
947
+ ).freeze
948
+ end
298
949
  end
299
950
  end