teyvatdb 0.1.18 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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