teyvatdb 0.5.9.2 → 0.5.9.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e1cf9d1569e0fe6221e33cf2e798979f751055260af3456a634c3a101bad240
4
- data.tar.gz: 2c01475fd0de938873e50dfd9355e4a13b24b869e7bff31f35a000b3dee06b42
3
+ metadata.gz: 4710de3541efcf2e95e280365f04decfa5a1ff64c9653b53408d8e1de33000f3
4
+ data.tar.gz: 2dbdb260860c0938f47afe93586d6c3429cddfbaac7daf597f68ab182487e236
5
5
  SHA512:
6
- metadata.gz: defa423804863a8593d2ad6212e940ab65217349c3f93c1af2c2873bc0fcd341434830f21014fa53e75f355bc0ae5756e36c01c5da14584f69bbbc433325dae1
7
- data.tar.gz: 48ac24d2575e5d37d3e57e104b44690fa05310daf8a41ac2982f1146ea54abf7545e3d93b72eee9d07e4e8922871265e9db9d7ec8befb577729b6cea18ee97ef
6
+ metadata.gz: a4ca60cf2e51e53caa7eb2829d07ede02a820be39bb619e8e985fd3e541c713b917bd51d493ca0d0800cd5ae19a601ea7dda81879f140f81de899bf0bc5b548d
7
+ data.tar.gz: a7b76b5087f6f4f2922b4bc8a8e5b1e579612c5178b2f75ef2fa3758e9fbeae2d918abc327a3cdbc67345a54e8c522cc866f4e0465ab87a4071b27235124444d
data/.rubocop.yml CHANGED
@@ -7,7 +7,7 @@ require:
7
7
 
8
8
  AllCops:
9
9
  NewCops: enable
10
- TargetRubyVersion: 3.3.10
10
+ TargetRubyVersion: 3.4.8
11
11
  Exclude:
12
12
  - 'vendor/*'
13
13
 
data/.rubocop_todo.yml CHANGED
@@ -31,7 +31,7 @@ Metrics/MethodLength:
31
31
  # Offense count: 4
32
32
  # Configuration parameters: CountComments, CountAsOne.
33
33
  Metrics/ModuleLength:
34
- Max: 1386
34
+ Max: 3000
35
35
 
36
36
  # Offense count: 3
37
37
  # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
@@ -47,4 +47,3 @@ Style/Documentation:
47
47
  - 'lib/teyvatdb/artifact_sets.rb'
48
48
  - 'lib/teyvatdb/characters.rb'
49
49
  - 'lib/teyvatdb/weapons.rb'
50
-
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
- ## [0.5.9.2 / Luna I (phase 2), II, III (phase 1)] - 2026-01-17
2
- - Add Weapon
1
+ ## [0.5.9.4 / Luna V] - 2026-03-08
2
+ - Add new Character
3
+ - Varka (5) (Luna IV)
4
+ - Add new Weapon
5
+ - Gest of the Mighty Wolf (5)
6
+ - Add new World Boss
7
+ - Radiant Moongecko
8
+ - Add missing cooking/wood materials
9
+
10
+ ## [0.5.9.3 / Luna IV (phase 2)] - 2026-02-16
11
+ - Add new Characters
12
+ - Zibai (5) (Luna IV)
13
+ - Illuga (4) (Luna IV)
14
+ - Add new Weapons
15
+ - Nocturne's Curtain Call (5)
16
+ - Lightbearing Moonshard (5)
17
+ - Add new Artifact Sets
18
+ - Aubade of Morningstar and Moon
19
+ - A Day Carved From Rising Winds
20
+ - Add new World Boss
21
+ - Remnant of the Dreadwing
22
+
23
+ ## [0.5.9.2 / Luna I (phase 2), II, III, IV (phase 1)] - 2026-01-17
24
+ - Add new Weapons
3
25
  - Athame Artis (5)
4
26
  - Reliquary of Truth (5)
5
27
  - The Daybreak Chronicles (5)
@@ -7,11 +29,13 @@
7
29
  - Rainbow Serpents Rain Bow (4)
8
30
  - Sacrificer's Staff (4)
9
31
  - Add New Characters
10
- - Columbina (5)
11
- - Durin (5)
12
- - Flins (5) (Updated)
32
+ - Columbina (5) (Luna IV)
33
+ - Durin (5) (Luna III)
34
+ - Jahoda (4) (Luna III)
13
35
  - Nefer (5)
14
- - Jahoda (4)
36
+ - Flins (5) (Updated)
37
+ - Add new Weekly Boss
38
+ - Doctor
15
39
 
16
40
  ## [0.5.9.1 / Luna I (phase 1)] - 2025-09-11
17
41
  - Fix Ineffa (was Inefa -_-)
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gemspec
8
8
  gem "rake", "~> 13.0"
9
9
  gem "rspec", "~> 3.0"
10
10
  gem "rspec-collection_matchers"
11
- gem "rubocop", "~> 1.21"
11
+ gem "rubocop", "~> 1.84"
12
12
  gem "rubocop-rake"
13
13
  gem "rubocop-rspec"
14
14
  gem "solargraph", "~> 0.49"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- teyvatdb (0.5.9.2)
4
+ teyvatdb (0.5.9.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -12,27 +12,27 @@ GEM
12
12
  diff-lcs (1.5.1)
13
13
  e2mmap (0.1.0)
14
14
  jaro_winkler (1.6.0)
15
- json (2.8.2)
15
+ json (2.18.1)
16
16
  kramdown (2.5.1)
17
17
  rexml (>= 3.3.9)
18
18
  kramdown-parser-gfm (1.1.0)
19
19
  kramdown (~> 2.0)
20
- language_server-protocol (3.17.0.3)
21
- nokogiri (1.16.7-arm64-darwin)
20
+ language_server-protocol (3.17.0.5)
21
+ lint_roller (1.1.0)
22
+ mini_portile2 (2.8.9)
23
+ nokogiri (1.16.7)
24
+ mini_portile2 (~> 2.8.2)
22
25
  racc (~> 1.4)
23
- nokogiri (1.16.7-x86_64-darwin)
24
- racc (~> 1.4)
25
- nokogiri (1.16.7-x86_64-linux)
26
- racc (~> 1.4)
27
- parallel (1.26.3)
28
- parser (3.3.6.0)
26
+ parallel (1.27.0)
27
+ parser (3.3.10.2)
29
28
  ast (~> 2.4.1)
30
29
  racc
30
+ prism (1.9.0)
31
31
  racc (1.8.1)
32
32
  rainbow (3.1.1)
33
33
  rake (13.2.1)
34
34
  rbs (2.8.4)
35
- regexp_parser (2.9.2)
35
+ regexp_parser (2.11.3)
36
36
  reverse_markdown (2.1.1)
37
37
  nokogiri
38
38
  rexml (3.3.9)
@@ -51,18 +51,20 @@ GEM
51
51
  diff-lcs (>= 1.2.0, < 2.0)
52
52
  rspec-support (~> 3.13.0)
53
53
  rspec-support (3.13.1)
54
- rubocop (1.68.0)
54
+ rubocop (1.84.2)
55
55
  json (~> 2.3)
56
- language_server-protocol (>= 3.17.0)
56
+ language_server-protocol (~> 3.17.0.2)
57
+ lint_roller (~> 1.1.0)
57
58
  parallel (~> 1.10)
58
59
  parser (>= 3.3.0.2)
59
60
  rainbow (>= 2.2.2, < 4.0)
60
- regexp_parser (>= 2.4, < 3.0)
61
- rubocop-ast (>= 1.32.2, < 2.0)
61
+ regexp_parser (>= 2.9.3, < 3.0)
62
+ rubocop-ast (>= 1.49.0, < 2.0)
62
63
  ruby-progressbar (~> 1.7)
63
- unicode-display_width (>= 2.4.0, < 3.0)
64
- rubocop-ast (1.36.1)
65
- parser (>= 3.3.1.0)
64
+ unicode-display_width (>= 2.4.0, < 4.0)
65
+ rubocop-ast (1.49.0)
66
+ parser (>= 3.3.7.2)
67
+ prism (~> 1.7)
66
68
  rubocop-rake (0.6.0)
67
69
  rubocop (~> 1.0)
68
70
  rubocop-rspec (3.2.0)
@@ -86,11 +88,14 @@ GEM
86
88
  yard (~> 0.9, >= 0.9.24)
87
89
  thor (1.3.2)
88
90
  tilt (2.4.0)
89
- unicode-display_width (2.6.0)
91
+ unicode-display_width (3.2.0)
92
+ unicode-emoji (~> 4.1)
93
+ unicode-emoji (4.2.0)
90
94
  yard (0.9.37)
91
95
 
92
96
  PLATFORMS
93
97
  arm64-darwin-24
98
+ arm64-darwin-25
94
99
  x86_64-darwin-21
95
100
  x86_64-darwin-22
96
101
  x86_64-linux
@@ -99,7 +104,7 @@ DEPENDENCIES
99
104
  rake (~> 13.0)
100
105
  rspec (~> 3.0)
101
106
  rspec-collection_matchers
102
- rubocop (~> 1.21)
107
+ rubocop (~> 1.84)
103
108
  rubocop-rake
104
109
  rubocop-rspec
105
110
  solargraph (~> 0.49)
@@ -4,11 +4,36 @@
4
4
 
5
5
  module GenshinData
6
6
  module ArtifactSets
7
+ # Listing of all Artifact sets
7
8
  module ArtifactSetData
8
9
  def self.all
9
10
  constants.map { |x| GenshinData::ArtifactSets::ArtifactSetData.const_get(x) }
10
11
  end
11
12
 
13
+ A_DAY_CARVED_FROM_RISING_WINDS = GenshinObject::ArtifactSet.new(
14
+ kamera_key: "ADayCarvedFromRisingWinds",
15
+ name: "A Day Carved From Rising Winds",
16
+ bonuses: [
17
+ GenshinObject::ArtifactSetBonus.new(pieces_count: 2, bonus: ["ATK +18%"]),
18
+ GenshinObject::ArtifactSetBonus.new(
19
+ pieces_count: 4,
20
+ bonus: [
21
+ "After a Normal Attack, Charged Attack, Elemental Skill or Elemental Burst hits an opponent, gain the Blessing of Pastoral Winds effect for 6s: ATK is increased by 25%.",
22
+ "If the equipping character has completed Witch's Homework, Blessing of Pastoral Winds will be upgraded to Resolve of Pastoral Winds, which also increases the CRIT Rate of the equipping character by an additional 20%.",
23
+ "This effect can be triggered even when the character is off-field."
24
+ ]
25
+ )
26
+ ],
27
+ max_rarity: 5,
28
+ slots: {
29
+ flower: true,
30
+ plume: true,
31
+ sands: true,
32
+ goblet: true,
33
+ circlet: true
34
+ }
35
+ ).freeze
36
+
12
37
  ARCHAIC_PETRA = GenshinObject::ArtifactSet.new(
13
38
  kamera_key: "ArchaicPetra",
14
39
  name: "Archaic Petra",
@@ -32,6 +57,30 @@ module GenshinData
32
57
  }
33
58
  ).freeze
34
59
 
60
+ AUBADE_OF_MORNINGSTAR_AND_MOON = GenshinObject::ArtifactSet.new(
61
+ kamera_key: "AubadeOfMorningstarAndMoon",
62
+ name: "Aubade of Morningstar and Moon",
63
+ bonuses: [
64
+ GenshinObject::ArtifactSetBonus.new(pieces_count: 2, bonus: ["Increases Elemental Mastery by 80"]),
65
+ GenshinObject::ArtifactSetBonus.new(
66
+ pieces_count: 4,
67
+ bonus: [
68
+ "When the equipping character is off-field, Lunar Reaction DMG is increased by 20%.",
69
+ "When the party's Moonsign Level is at least Ascendant Gleam, Lunar Reaction DMG will be further increased by 40%.",
70
+ "This effect will disappear after the equipping character is active for 3s."
71
+ ]
72
+ )
73
+ ],
74
+ max_rarity: 5,
75
+ slots: {
76
+ flower: true,
77
+ plume: true,
78
+ sands: true,
79
+ goblet: true,
80
+ circlet: true
81
+ }
82
+ ).freeze
83
+
35
84
  BLIZZARD_STRAYER = GenshinObject::ArtifactSet.new(
36
85
  kamera_key: "BlizzardStrayer",
37
86
  name: "Blizzard Strayer",
@@ -504,7 +553,6 @@ module GenshinData
504
553
  }
505
554
  ).freeze
506
555
 
507
-
508
556
  NIGHTTIME_WHISPERS_IN_THE_ECHOING_WOODS = GenshinObject::ArtifactSet.new(
509
557
  kamera_key: "NighttimeWhispersInTheEchoingWoods",
510
558
  name: "Nighttime Whispers in the Echoing Woods",
@@ -357,7 +357,7 @@ module GenshinData
357
357
  ascension_enemy_material_name: :slime,
358
358
  talent_book_name: :moonlight,
359
359
  talent_rare_material_name: :slime,
360
- talent_boss_material_name: "MaskOfTheVirtuousDoctor",
360
+ talent_boss_material_name: "MaskOfTheVirtuousDoctor"
361
361
  ).freeze
362
362
 
363
363
  CYNO = GenshinObject::Character.new(
@@ -476,7 +476,7 @@ module GenshinData
476
476
  ascension_enemy_material_name: :warrant,
477
477
  talent_book_name: :ballad,
478
478
  talent_rare_material_name: :warrant,
479
- talent_boss_material_name: "ErodedSunfire",
479
+ talent_boss_material_name: "ErodedSunfire"
480
480
  ).freeze
481
481
 
482
482
  EMILIE = GenshinObject::Character.new(
@@ -575,7 +575,7 @@ module GenshinData
575
575
  weapon_type: :polearm,
576
576
  talent_book_name: :vagrancy,
577
577
  talent_rare_material_name: :shaft,
578
- talent_boss_material_name: 'AscendedSampleQueen',
578
+ talent_boss_material_name: "AscendedSampleQueen",
579
579
  ascension_boss_material_name: "PrecisionKuuvahkiStampingDie",
580
580
  ascension_gathering_material_name: "FrostlampFlower",
581
581
  ascension_enemy_material_name: :shaft
@@ -717,6 +717,23 @@ module GenshinData
717
717
  ascension_enemy_material_name: :fang
718
718
  ).freeze
719
719
 
720
+ ILLUGA = GenshinObject::Character.new(
721
+ kamera_key: "Illuga",
722
+ name: "Illuga",
723
+ nation_name: :nodkrai,
724
+ rarity: 4,
725
+ constellation_three_bonus: :burst,
726
+ constellation_five_bonus: :skill,
727
+ element: :geo,
728
+ weapon_type: :polearm,
729
+ ascension_boss_material_name: "CyclicMilitaryKuuvahkiCore",
730
+ ascension_gathering_material_name: "PineAmber",
731
+ ascension_enemy_material_name: :shaft,
732
+ talent_book_name: :elysium,
733
+ talent_rare_material_name: :shaft,
734
+ talent_boss_material_name: "ErodedHorn"
735
+ ).freeze
736
+
720
737
  INEFFA = GenshinObject::Character.new(
721
738
  kamera_key: "Ineffa",
722
739
  name: "Ineffa",
@@ -1533,6 +1550,23 @@ module GenshinData
1533
1550
  ascension_enemy_material_name: :pollen
1534
1551
  ).freeze
1535
1552
 
1553
+ VARKA = GenshinObject::Character.new(
1554
+ kamera_key: "Varka",
1555
+ name: "Varka",
1556
+ nation_name: :mondstadt,
1557
+ rarity: 5,
1558
+ constellation_three_bonus: :skill,
1559
+ constellation_five_bonus: :burst,
1560
+ element: :anemo,
1561
+ weapon_type: :claymore,
1562
+ ascension_boss_material_name: "PrismaticSeveredTail",
1563
+ ascension_gathering_material_name: "Wolfhook",
1564
+ ascension_enemy_material_name: :shaft,
1565
+ talent_book_name: :freedom,
1566
+ talent_rare_material_name: :shaft,
1567
+ talent_boss_material_name: "AscendedSampleRook"
1568
+ ).freeze
1569
+
1536
1570
  VARESA = GenshinObject::Character.new(
1537
1571
  kamera_key: "Varesa",
1538
1572
  name: "Varesa",
@@ -1838,6 +1872,23 @@ module GenshinData
1838
1872
  ascension_gathering_material_name: "CorLapis",
1839
1873
  ascension_enemy_material_name: :slime
1840
1874
  ).freeze
1875
+
1876
+ ZIBAI = GenshinObject::Character.new(
1877
+ kamera_key: "Zibai",
1878
+ name: "Zibai",
1879
+ nation_name: :liyue,
1880
+ rarity: 5,
1881
+ constellation_three_bonus: :skill,
1882
+ constellation_five_bonus: :burst,
1883
+ element: :geo,
1884
+ weapon_type: :sword,
1885
+ ascension_boss_material_name: "RemnantOfTheDreadwing",
1886
+ ascension_gathering_material_name: "GlazeLily",
1887
+ ascension_enemy_material_name: :warrant,
1888
+ talent_book_name: :gold,
1889
+ talent_rare_material_name: :warrant,
1890
+ talent_boss_material_name: "AscendedSampleQueen"
1891
+ ).freeze
1841
1892
  end
1842
1893
  end
1843
1894
  end
@@ -84,7 +84,8 @@ module GenshinData
84
84
  CharacterData::YAOYAO,
85
85
  CharacterData::YELAN,
86
86
  CharacterData::YUN_JIN,
87
- CharacterData::ZHONGLI
87
+ CharacterData::ZHONGLI,
88
+ CharacterData::ZIBAI
88
89
  ]
89
90
  end
90
91
 
@@ -110,6 +111,7 @@ module GenshinData
110
111
  CharacterData::RAZOR,
111
112
  CharacterData::ROSARIA,
112
113
  CharacterData::SUCROSE,
114
+ CharacterData::VARKA,
113
115
  CharacterData::VENTI
114
116
  ]
115
117
  end
@@ -137,6 +139,7 @@ module GenshinData
137
139
  CharacterData::AINO,
138
140
  CharacterData::COLUMBINA,
139
141
  CharacterData::FLINS,
142
+ CharacterData::ILLUGA,
140
143
  CharacterData::JAHODA,
141
144
  CharacterData::LAUMA,
142
145
  CharacterData::NEFER
@@ -9,44 +9,22 @@ module GenshinData
9
9
  constants.map { |x| GenshinData::Materials::Development::EliteMonsterLootDropsData.const_get(x) }
10
10
  end
11
11
 
12
- BEWILDERING_BROADLEAF = GenshinObject::Material.new(
13
- kamera_key: "BewilderingBroadleaf",
14
- name: "Bewildering Broadleaf",
15
- rarity: 3,
16
- family: :abyss_leaf,
17
- inventory_type: :development_material,
18
- source_category: :monster_loot,
19
- source_sub_category: :elite_drop,
20
- nation_name: nil
21
- ).freeze
22
-
23
- ILLUSORY_LEAFCOIL = GenshinObject::Material.new(
24
- kamera_key: "IllusoryLeafcoil",
25
- name: "Illusory Leafcoil",
26
- rarity: 4,
27
- family: :abyss_leaf,
28
- inventory_type: :development_material,
29
- source_category: :monster_loot,
30
- source_sub_category: :elite_drop,
31
- nation_name: nil
32
- ).freeze
33
-
34
- REFRACTIVE_BUD = GenshinObject::Material.new(
35
- kamera_key: "RefractiveBud",
36
- name: "Refractive Bud",
12
+ A_FLOWER_YET_TO_BLOOM = GenshinObject::Material.new(
13
+ kamera_key: "AFlowerYetToBloom",
14
+ name: "A Flower Yet to Bloom",
37
15
  rarity: 2,
38
- family: :abyss_leaf,
16
+ family: :rogue_flower,
39
17
  inventory_type: :development_material,
40
18
  source_category: :monster_loot,
41
19
  source_sub_category: :elite_drop,
42
20
  nation_name: nil
43
21
  ).freeze
44
22
 
45
- A_FLOWER_YET_TO_BLOOM = GenshinObject::Material.new(
46
- kamera_key: "AFlowerYetToBloom",
47
- name: "A Flower Yet to Bloom",
48
- rarity: 2,
49
- family: :rogue_flower,
23
+ ABERRANT_CORE_OF_THE_DEEP_SHADOW = GenshinObject::Material.new(
24
+ kamera_key: "AberrantCoreOfTheDeepShadow",
25
+ name: "Aberrant Core of the Deep Shadow",
26
+ rarity: 3,
27
+ family: :deep_shadow,
50
28
  inventory_type: :development_material,
51
29
  source_category: :monster_loot,
52
30
  source_sub_category: :elite_drop,
@@ -86,6 +64,17 @@ module GenshinData
86
64
  nation_name: nil
87
65
  ).freeze
88
66
 
67
+ BEWILDERING_BROADLEAF = GenshinObject::Material.new(
68
+ kamera_key: "BewilderingBroadleaf",
69
+ name: "Bewildering Broadleaf",
70
+ rarity: 3,
71
+ family: :abyss_leaf,
72
+ inventory_type: :development_material,
73
+ source_category: :monster_loot,
74
+ source_sub_category: :elite_drop,
75
+ nation_name: nil
76
+ ).freeze
77
+
89
78
  BLACK_BRONZE_HORN = GenshinObject::Material.new(
90
79
  kamera_key: "BlackBronzeHorn",
91
80
  name: "Black Bronze Horn",
@@ -394,6 +383,17 @@ module GenshinData
394
383
  nation_name: nil
395
384
  ).freeze
396
385
 
386
+ FRACTURED_EYE_OF_THE_DEEP_SHADOW = GenshinObject::Material.new(
387
+ kamera_key: "FracturedEyeOfTheDeepShadow",
388
+ name: "Fractured Eye of the Deep Shadow",
389
+ rarity: 2,
390
+ family: :deep_shadow,
391
+ inventory_type: :development_material,
392
+ source_category: :monster_loot,
393
+ source_sub_category: :elite_drop,
394
+ nation_name: nil
395
+ ).freeze
396
+
397
397
  FRAGILE_BONE_SHARD = GenshinObject::Material.new(
398
398
  kamera_key: "FragileBoneShard",
399
399
  name: "Fragile Bone Shard",
@@ -482,6 +482,17 @@ module GenshinData
482
482
  nation_name: nil
483
483
  ).freeze
484
484
 
485
+ HOOKER_BEAK_OF_THE_DEEP_SHADOW = GenshinObject::Material.new(
486
+ kamera_key: "HookedBeakOfTheDeepShadow",
487
+ name: "Hooked Beak of the Deep Shadow",
488
+ rarity: 4,
489
+ family: :deep_shadow,
490
+ inventory_type: :development_material,
491
+ source_category: :monster_loot,
492
+ source_sub_category: :elite_drop,
493
+ nation_name: nil
494
+ ).freeze
495
+
485
496
  HUNTERS_SACRIFICIAL_KNIFE = GenshinObject::Material.new(
486
497
  kamera_key: "HuntersSacrificialKnife",
487
498
  name: "Hunters Sacrificial Knife",
@@ -526,6 +537,17 @@ module GenshinData
526
537
  nation_name: nil
527
538
  ).freeze
528
539
 
540
+ ILLUSORY_LEAFCOIL = GenshinObject::Material.new(
541
+ kamera_key: "IllusoryLeafcoil",
542
+ name: "Illusory Leafcoil",
543
+ rarity: 4,
544
+ family: :abyss_leaf,
545
+ inventory_type: :development_material,
546
+ source_category: :monster_loot,
547
+ source_sub_category: :elite_drop,
548
+ nation_name: nil
549
+ ).freeze
550
+
529
551
  INACTIVATED_FUNGAL_NUCLEUS = GenshinObject::Material.new(
530
552
  kamera_key: "InactivatedFungalNucleus",
531
553
  name: "Inactivated Fungal Nucleus",
@@ -669,7 +691,6 @@ module GenshinData
669
691
  nation_name: nil
670
692
  ).freeze
671
693
 
672
-
673
694
  NEWBORN_TAINTED_HYDRO_PHANTASM = GenshinObject::Material.new(
674
695
  kamera_key: "NewbornTaintedHydroPhantasm",
675
696
  name: "Newborn Tainted Hydro Phantasm",
@@ -747,6 +768,17 @@ module GenshinData
747
768
  nation_name: nil
748
769
  ).freeze
749
770
 
771
+ REFRACTIVE_BUD = GenshinObject::Material.new(
772
+ kamera_key: "RefractiveBud",
773
+ name: "Refractive Bud",
774
+ rarity: 2,
775
+ family: :abyss_leaf,
776
+ inventory_type: :development_material,
777
+ source_category: :monster_loot,
778
+ source_sub_category: :elite_drop,
779
+ nation_name: nil
780
+ ).freeze
781
+
750
782
  RIFT_CORE = GenshinObject::Material.new(
751
783
  kamera_key: "RiftCore",
752
784
  name: "Rift Core",
@@ -339,6 +339,17 @@ module GenshinData
339
339
  nation_name: :sumeru
340
340
  ).freeze
341
341
 
342
+ PINE_AMBER = GenshinObject::Material.new(
343
+ kamera_key: "PineAmber",
344
+ name: "Pine Amber",
345
+ rarity: 1,
346
+ family: nil,
347
+ inventory_type: :standard_material,
348
+ source_category: :gathering,
349
+ source_sub_category: :local_specialty,
350
+ nation_name: :nodkrai
351
+ ).freeze
352
+
342
353
  PHILANEMO_MUSHROOM = GenshinObject::Material.new(
343
354
  kamera_key: "PhilanemoMushroom",
344
355
  name: "Philanemo Mushroom",
@@ -229,7 +229,7 @@ module GenshinData
229
229
  nation_name: :inazuma
230
230
  ).freeze
231
231
 
232
- GUIDE_TO_VAGRANCY = GenshinObject::Material.new(
232
+ GUIDE_TO_VAGRANCY = GenshinObject::Material.new(
233
233
  kamera_key: "GuideToVagrancy",
234
234
  name: "Guide to Vagrancy",
235
235
  rarity: 3,
@@ -460,7 +460,7 @@ module GenshinData
460
460
  nation_name: :inazuma
461
461
  ).freeze
462
462
 
463
- PHILOSOPHIES_OF_VAGRANCY = GenshinObject::Material.new(
463
+ PHILOSOPHIES_OF_VAGRANCY = GenshinObject::Material.new(
464
464
  kamera_key: "PhilosophiesOfVagrancy",
465
465
  name: "Philosophies of Vagrancy",
466
466
  rarity: 4,
@@ -691,7 +691,7 @@ module GenshinData
691
691
  nation_name: :inazuma
692
692
  ).freeze
693
693
 
694
- TEACHINGS_OF_VAGRANCY = GenshinObject::Material.new(
694
+ TEACHINGS_OF_VAGRANCY = GenshinObject::Material.new(
695
695
  kamera_key: "TeachingsOfVagrancy",
696
696
  name: "Teachings of Vagrancy",
697
697
  rarity: 2,
@@ -328,6 +328,17 @@ module GenshinData
328
328
  nation_name: :nodkrai
329
329
  ).freeze
330
330
 
331
+ PRISMATIC_SEVERED_TAIL = GenshinObject::Material.new(
332
+ kamera_key: "PrismaticSeveredTail",
333
+ name: "Prismatic Severed Tail",
334
+ rarity: 4,
335
+ family: nil,
336
+ inventory_type: :development_material,
337
+ source_category: :boss_loot,
338
+ source_sub_category: :world_boss_drop,
339
+ nation_name: :nodkrai
340
+ ).freeze
341
+
331
342
  PSEUDO_STAMENS = GenshinObject::Material.new(
332
343
  kamera_key: "PseudoStamens",
333
344
  name: "Pseudo-Stamens",
@@ -352,7 +363,18 @@ module GenshinData
352
363
 
353
364
  RADIANT_ANTLER = GenshinObject::Material.new(
354
365
  kamera_key: "RadiantAntler",
355
- name: "RadiantAntler",
366
+ name: "Radiant Antler",
367
+ rarity: 4,
368
+ family: nil,
369
+ inventory_type: :development_material,
370
+ source_category: :boss_loot,
371
+ source_sub_category: :world_boss_drop,
372
+ nation_name: :nodkrai
373
+ ).freeze
374
+
375
+ REMNANT_OF_THE_DREADWING = GenshinObject::Material.new(
376
+ kamera_key: "RemnantOfTheDreadwing",
377
+ name: "Remnant of the dreadwing",
356
378
  rarity: 4,
357
379
  family: nil,
358
380
  inventory_type: :development_material,
@@ -299,6 +299,26 @@ module GenshinData
299
299
  source_sub_category: :cooking
300
300
  ).freeze
301
301
 
302
+ ICY_PEBBLE = GenshinObject::Material.new(
303
+ kamera_key: "IcyPebble",
304
+ name: "Icy Pebble",
305
+ rarity: 1,
306
+ family: nil,
307
+ inventory_type: :standard_material,
308
+ source_category: :gathering,
309
+ source_sub_category: :cooking
310
+ ).freeze
311
+
312
+ LAKKABERRY = GenshinObject::Material.new(
313
+ kamera_key: "Lakkaberry",
314
+ name: "Lakkaberry",
315
+ rarity: 1,
316
+ family: nil,
317
+ inventory_type: :standard_material,
318
+ source_category: :gathering,
319
+ source_sub_category: :cooking
320
+ ).freeze
321
+
302
322
  LAVENDER_MELON = GenshinObject::Material.new(
303
323
  kamera_key: "LavenderMelon",
304
324
  name: "Lavender Melon",
@@ -329,6 +349,16 @@ module GenshinData
329
349
  source_sub_category: :cooking
330
350
  ).freeze
331
351
 
352
+ MIDSOMMAR_BERRY = GenshinObject::Material.new(
353
+ kamera_key: "MidsommarBerry",
354
+ name: "Midsommar Berry",
355
+ rarity: 1,
356
+ family: nil,
357
+ inventory_type: :standard_material,
358
+ source_category: :gathering,
359
+ source_sub_category: :cooking
360
+ ).freeze
361
+
332
362
  MILK = GenshinObject::Material.new(
333
363
  kamera_key: "Milk",
334
364
  name: "Milk",
@@ -369,6 +399,16 @@ module GenshinData
369
399
  source_sub_category: :cooking
370
400
  ).freeze
371
401
 
402
+ NOCTURNAL_BLOSSOM = GenshinObject::Material.new(
403
+ kamera_key: "NocturnalBlossom",
404
+ name: "Nocturnal Blossom",
405
+ rarity: 1,
406
+ family: nil,
407
+ inventory_type: :standard_material,
408
+ source_category: :gathering,
409
+ source_sub_category: :cooking
410
+ ).freeze
411
+
372
412
  ONION = GenshinObject::Material.new(
373
413
  kamera_key: "Onion",
374
414
  name: "Onion",
@@ -449,6 +489,26 @@ module GenshinData
449
489
  source_sub_category: :cooking
450
490
  ).freeze
451
491
 
492
+ RYE = GenshinObject::Material.new(
493
+ kamera_key: "Rye",
494
+ name: "Rye",
495
+ rarity: 1,
496
+ family: nil,
497
+ inventory_type: :standard_material,
498
+ source_category: :gathering,
499
+ source_sub_category: :cooking
500
+ ).freeze
501
+
502
+ RYE_FLOUR = GenshinObject::Material.new(
503
+ kamera_key: "RyeFlour",
504
+ name: "Rye Flour",
505
+ rarity: 1,
506
+ family: nil,
507
+ inventory_type: :standard_material,
508
+ source_category: :gathering,
509
+ source_sub_category: :cooking
510
+ ).freeze
511
+
452
512
  SALT = GenshinObject::Material.new(
453
513
  kamera_key: "Salt",
454
514
  name: "Salt",
@@ -479,6 +539,16 @@ module GenshinData
479
539
  source_sub_category: :cooking
480
540
  ).freeze
481
541
 
542
+ SMETANA = GenshinObject::Material.new(
543
+ kamera_key: "Smetana",
544
+ name: "Smetana",
545
+ rarity: 2,
546
+ family: nil,
547
+ inventory_type: :standard_material,
548
+ source_category: :cooking,
549
+ source_sub_category: :cooking
550
+ ).freeze
551
+
482
552
  SMOKED_FOWL = GenshinObject::Material.new(
483
553
  kamera_key: "SmokedFowl",
484
554
  name: "Smoked Fowl",
@@ -219,6 +219,16 @@ module GenshinData
219
219
  source_sub_category: :forging_material
220
220
  ).freeze
221
221
 
222
+ RAINBOWDROP_CRYSTAL = GenshinObject::Material.new(
223
+ kamera_key: "RainbowdropCrystal",
224
+ name: "Rainbowdrop Crystal",
225
+ rarity: 1,
226
+ family: nil,
227
+ inventory_type: :standard_material,
228
+ source_category: :gathering,
229
+ source_sub_category: :forging_material
230
+ ).freeze
231
+
222
232
  STARSILVER = GenshinObject::Material.new(
223
233
  kamera_key: "Starsilver",
224
234
  name: "Starsilver",
@@ -19,6 +19,16 @@ module GenshinData
19
19
  source_sub_category: :furniture_material
20
20
  ).freeze
21
21
 
22
+ ALDER_WOOD = GenshinObject::Material.new(
23
+ kamera_key: "AlderWood",
24
+ name: "Alder 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
+
22
32
  ARALIA_WOOD = GenshinObject::Material.new(
23
33
  kamera_key: "AraliaWood",
24
34
  name: "Aralia Wood",
@@ -159,6 +169,16 @@ module GenshinData
159
169
  source_sub_category: :furniture_material
160
170
  ).freeze
161
171
 
172
+ HAZELNUT_WOOD = GenshinObject::Material.new(
173
+ kamera_key: "HazelnutWood",
174
+ name: "Hazelnut 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
+
162
182
  KARMAPHALA_WOOD = GenshinObject::Material.new(
163
183
  kamera_key: "KarmaphalaWood",
164
184
  name: "Karmaphala Wood",
@@ -229,6 +249,16 @@ module GenshinData
229
249
  source_sub_category: :furniture_material
230
250
  ).freeze
231
251
 
252
+ PEDUNCULATE_OAK_WOOD = GenshinObject::Material.new(
253
+ kamera_key: "PedunculateOakWood",
254
+ name: "Pedunculate Oak Wood",
255
+ rarity: 1,
256
+ family: nil,
257
+ inventory_type: :standard_material,
258
+ source_category: :gathering,
259
+ source_sub_category: :furniture_material
260
+ ).freeze
261
+
232
262
  PINE_WOOD = GenshinObject::Material.new(
233
263
  kamera_key: "PineWood",
234
264
  name: "Pine Wood",
@@ -259,6 +289,16 @@ module GenshinData
259
289
  source_sub_category: :furniture_material
260
290
  ).freeze
261
291
 
292
+ SILVER_FIR_WOOD = GenshinObject::Material.new(
293
+ kamera_key: "SilverFirWood",
294
+ name: "Silver Fir Wood",
295
+ rarity: 1,
296
+ family: nil,
297
+ inventory_type: :standard_material,
298
+ source_category: :gathering,
299
+ source_sub_category: :furniture_material
300
+ ).freeze
301
+
262
302
  WHITE_CHESTNUT_OAK_WOOD = GenshinObject::Material.new(
263
303
  kamera_key: "WhiteChestnutOakWood",
264
304
  name: "White Chestnut Oak Wood",
@@ -259,6 +259,16 @@ module GenshinData
259
259
  weapon_material_type: :artful_device
260
260
  ).freeze
261
261
 
262
+ NOCTURNS_CURTAIN_CALL = GenshinObject::Weapon.new(
263
+ kamera_key: "NocturnesCurtainCall",
264
+ name: "Nocturne's Curtain Call",
265
+ rarity: 5,
266
+ weapon_type: :catalyst,
267
+ elite_material_type: :deep_shadow,
268
+ standard_material_type: :warrant,
269
+ weapon_material_type: :far_north_scions
270
+ ).freeze
271
+
262
272
  OATHSWORN_EYE = GenshinObject::Weapon.new(
263
273
  kamera_key: "OathswornEye",
264
274
  name: "Oathsworn Eye",
@@ -139,6 +139,16 @@ module GenshinData
139
139
  weapon_material_type: :night_wind
140
140
  ).freeze
141
141
 
142
+ GEST_OF_THE_MIGHTY_WOLF = GenshinObject::Weapon.new(
143
+ kamera_key: "GestOfTheMightyWolf",
144
+ name: "Gest of the Mighty Wolf",
145
+ rarity: 5,
146
+ weapon_type: :claymore,
147
+ elite_material_type: :deep_shadow,
148
+ standard_material_type: :fatui_insignia,
149
+ weapon_material_type: :wolf_tooth
150
+ ).freeze
151
+
142
152
  KATSURAGIKIRI_NAGAMASA = GenshinObject::Weapon.new(
143
153
  kamera_key: "KatsuragikiriNagamasa",
144
154
  name: "Katsuragikiri Nagamasa",
@@ -259,6 +259,16 @@ module GenshinData
259
259
  weapon_material_type: :forest_dew
260
260
  ).freeze
261
261
 
262
+ LIGHTBEARING_MOONSHARD = GenshinObject::Weapon.new(
263
+ kamera_key: "LightbearingMoonshard",
264
+ name: "Lightbearing Moonshard",
265
+ rarity: 5,
266
+ weapon_type: :sword,
267
+ elite_material_type: :mistshroud,
268
+ standard_material_type: :shaft,
269
+ weapon_material_type: :aerosiderite
270
+ ).freeze
271
+
262
272
  LIONS_ROAR = GenshinObject::Weapon.new(
263
273
  kamera_key: "LionsRoar",
264
274
  name: "Lions Roar",
@@ -146,6 +146,12 @@ module GenshinData
146
146
  boss_material: "SparklessStatueCore"
147
147
  )
148
148
 
149
+ LORD_OF_THE_HIDDEN_DEPTHS_WHISPERER_OF_NIGHTMARES = GenshinObject::WorldBoss.new(
150
+ name: "Lord of the Hidden Depths: Whisperer of Nightmares",
151
+ nation_name: :inazuma,
152
+ boss_material: "RemnantOfTheDreadwing"
153
+ )
154
+
149
155
  MAGUU_KENKI = GenshinObject::WorldBoss.new(
150
156
  name: "Maguu Kenki",
151
157
  nation_name: :inazuma,
@@ -194,6 +200,12 @@ module GenshinData
194
200
  boss_material: "LightbearingScaleFeather"
195
201
  )
196
202
 
203
+ RADIANT_MOONGECKO = GenshinObject::WorldBoss.new(
204
+ name: "Radiant Moongecko",
205
+ nation_name: :nodkrai,
206
+ boss_material: "PrismaticSeveredTail"
207
+ )
208
+
197
209
  RHODEIA_OF_LOCH = GenshinObject::WorldBoss.new(
198
210
  name: "Rhodeia of Loch",
199
211
  nation_name: :liyue,
@@ -8,6 +8,7 @@ module GenshinObject
8
8
  :talent_book_name, :talent_rare_material_name, :talent_boss_material_name,
9
9
  :ascension_boss_material_name, :ascension_gathering_material_name, :ascension_enemy_material_name
10
10
 
11
+ # rubocop:disable Metrics/ParameterLists
11
12
  def initialize(kamera_key:, name:, nation_name:, rarity:, element:, weapon_type:, talent_book_name:,
12
13
  talent_rare_material_name:, talent_boss_material_name:, ascension_boss_material_name:,
13
14
  ascension_gathering_material_name:, ascension_enemy_material_name:,
@@ -27,5 +28,6 @@ module GenshinObject
27
28
  @constellation_three_bonus = constellation_three_bonus
28
29
  @constellation_five_bonus = constellation_five_bonus
29
30
  end
31
+ # rubocop:enable Metrics/ParameterLists
30
32
  end
31
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TeyvatDB
4
- VERSION = "0.5.9.2"
4
+ VERSION = "0.5.9.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teyvatdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9.2
4
+ version: 0.5.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Haberer
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-01-18 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: Gem to provide basic genshin data to my other projects
14
13
  email:
@@ -90,7 +89,6 @@ metadata:
90
89
  homepage_uri: https://github.com/bhaberer/teyvatdb
91
90
  changelog_uri: https://github.com/bhaberer/teyvatdb/blob/main/CHANGELOG.md
92
91
  rubygems_mfa_required: 'true'
93
- post_install_message:
94
92
  rdoc_options: []
95
93
  require_paths:
96
94
  - lib
@@ -98,15 +96,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
96
  requirements:
99
97
  - - ">="
100
98
  - !ruby/object:Gem::Version
101
- version: 3.3.10
99
+ version: 3.4.8
102
100
  required_rubygems_version: !ruby/object:Gem::Requirement
103
101
  requirements:
104
102
  - - ">="
105
103
  - !ruby/object:Gem::Version
106
104
  version: '0'
107
105
  requirements: []
108
- rubygems_version: 3.5.22
109
- signing_key:
106
+ rubygems_version: 3.6.9
110
107
  specification_version: 4
111
108
  summary: TeyvatDB is a gem to provide Genshin game data in a standardized way across
112
109
  my projects