teyvatdb 0.5.9.1 → 0.5.9.3

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: 64b61d6812b889055a344cb62de9d4c7fcc015399ec427c7994e95d9f84b87fe
4
- data.tar.gz: e2a31f111536b2a402083f4f28026134d5033351f0b7b42b1558cb2f8f65dca0
3
+ metadata.gz: 4685410e38ea7500c634d487c4effe3d97b292a8bffbe981cc3ad13f96f715a7
4
+ data.tar.gz: 17ab830d8765b3a8b57a6573a631a44e20fdde4c2d53261924bc49fa82247a6e
5
5
  SHA512:
6
- metadata.gz: 929cc4b36b62e1bcc70741df6357c6da4e876d6e6556d432cc787707a64fedd61331640e9a70df8a28562a331e97c991ba2d24c528485e5dfd4fe43297b553b3
7
- data.tar.gz: d42af3b6b13f52e103caddc115c112a06be8bebbd155a8ecede9fe39c48fad9c88577ef6aa9ecb59f2f1637c5d052d1b72441f0b03959451e0593ba86d99fd70
6
+ metadata.gz: 6d8bae1c5ecbfb96b3395317f81d5b190aa174866e00c1166d8259aa486ad08f1d662c3791c9dba07196388fdeba1769a5f7096237474ea03c62ff8fa146844b
7
+ data.tar.gz: 2939e781a27f4666b14907ae9e408d32e5df4e7425dc82e79cb133883aa809f036bc6c4270538605cf10865a717a745744905133d06c5b683b06b370b33fbc59
data/.rubocop.yml CHANGED
@@ -7,7 +7,7 @@ require:
7
7
 
8
8
  AllCops:
9
9
  NewCops: enable
10
- TargetRubyVersion: 3.3.6
10
+ TargetRubyVersion: 3.3.10
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,4 +1,34 @@
1
- ## [0.5.9.1 / Luna I] - 2025-09-11
1
+ ## [0.5.9.3 / Luna IV (phase 2)] - 2026-02-16
2
+ - Add new Characters
3
+ - Zibai (5) (Luna IV)
4
+ - Illuga (4) (Luna IV)
5
+ - Add new Weapons
6
+ - Nocturne's Curtain Call (5)
7
+ - Lightbearing Moonshard (5)
8
+ - Add new Artifact Sets
9
+ - Aubade of Morningstar and Moon
10
+ - A Day Carved From Rising Winds
11
+ - Add new World Boss
12
+ - Remnant of the Dreadwing
13
+
14
+ ## [0.5.9.2 / Luna I (phase 2), II, III, IV (phase 1)] - 2026-01-17
15
+ - Add new Weapons
16
+ - Athame Artis (5)
17
+ - Reliquary of Truth (5)
18
+ - The Daybreak Chronicles (5)
19
+ - Dawning Frost (4)
20
+ - Rainbow Serpents Rain Bow (4)
21
+ - Sacrificer's Staff (4)
22
+ - Add New Characters
23
+ - Columbina (5) (Luna IV)
24
+ - Durin (5) (Luna III)
25
+ - Jahoda (4) (Luna III)
26
+ - Nefer (5)
27
+ - Flins (5) (Updated)
28
+ - Add new Weekly Boss
29
+ - Doctor
30
+
31
+ ## [0.5.9.1 / Luna I (phase 1)] - 2025-09-11
2
32
  - Fix Ineffa (was Inefa -_-)
3
33
  - Add Weapon
4
34
  - Etherlight Spindlelute (4)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- teyvatdb (0.5.8.1)
4
+ teyvatdb (0.5.9.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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",
@@ -343,6 +343,23 @@ module GenshinData
343
343
  ascension_enemy_material_name: :arrowhead
344
344
  ).freeze
345
345
 
346
+ COLUMBINA = GenshinObject::Character.new(
347
+ kamera_key: "Columbina",
348
+ name: "Columbina",
349
+ nation_name: :nodkrai,
350
+ rarity: 5,
351
+ constellation_three_bonus: :skill,
352
+ constellation_five_bonus: :burst,
353
+ element: :hydro,
354
+ weapon_type: :catalyst,
355
+ ascension_boss_material_name: "RadiantAntler",
356
+ ascension_gathering_material_name: "WinterIcelea",
357
+ ascension_enemy_material_name: :slime,
358
+ talent_book_name: :moonlight,
359
+ talent_rare_material_name: :slime,
360
+ talent_boss_material_name: "MaskOfTheVirtuousDoctor"
361
+ ).freeze
362
+
346
363
  CYNO = GenshinObject::Character.new(
347
364
  kamera_key: "Cyno",
348
365
  name: "Cyno",
@@ -445,6 +462,23 @@ module GenshinData
445
462
  ascension_enemy_material_name: :scarf
446
463
  ).freeze
447
464
 
465
+ DURIN = GenshinObject::Character.new(
466
+ kamera_key: "Durin",
467
+ name: "Durin",
468
+ nation_name: :mondstadt,
469
+ rarity: 5,
470
+ constellation_three_bonus: :burst,
471
+ constellation_five_bonus: :skill,
472
+ element: :pyro,
473
+ weapon_type: :sword,
474
+ ascension_boss_material_name: "CyclicMilitaryKuuvahkiCore",
475
+ ascension_gathering_material_name: "FrostlampFlower",
476
+ ascension_enemy_material_name: :warrant,
477
+ talent_book_name: :ballad,
478
+ talent_rare_material_name: :warrant,
479
+ talent_boss_material_name: "ErodedSunfire"
480
+ ).freeze
481
+
448
482
  EMILIE = GenshinObject::Character.new(
449
483
  kamera_key: "Emilie",
450
484
  name: "Emilie",
@@ -540,8 +574,8 @@ module GenshinData
540
574
  element: :electro,
541
575
  weapon_type: :polearm,
542
576
  talent_book_name: :vagrancy,
543
- talent_rare_material_name: :radiant_bone,
544
- talent_boss_material_name: 'ErodedScaleFeather',
577
+ talent_rare_material_name: :shaft,
578
+ talent_boss_material_name: "AscendedSampleQueen",
545
579
  ascension_boss_material_name: "PrecisionKuuvahkiStampingDie",
546
580
  ascension_gathering_material_name: "FrostlampFlower",
547
581
  ascension_enemy_material_name: :shaft
@@ -683,6 +717,23 @@ module GenshinData
683
717
  ascension_enemy_material_name: :fang
684
718
  ).freeze
685
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
+
686
737
  INEFFA = GenshinObject::Character.new(
687
738
  kamera_key: "Ineffa",
688
739
  name: "Ineffa",
@@ -700,6 +751,23 @@ module GenshinData
700
751
  ascension_enemy_material_name: :whistle
701
752
  ).freeze
702
753
 
754
+ JAHODA = GenshinObject::Character.new(
755
+ kamera_key: "Jahoda",
756
+ name: "Jahoda",
757
+ nation_name: :nodkrai,
758
+ rarity: 4,
759
+ constellation_three_bonus: :skill,
760
+ constellation_five_bonus: :attack,
761
+ element: :anemo,
762
+ weapon_type: :bow,
763
+ ascension_boss_material_name: "LightbearingScaleFeather",
764
+ ascension_gathering_material_name: "PortableBearing",
765
+ ascension_enemy_material_name: :shaft,
766
+ talent_book_name: :vagrancy,
767
+ talent_rare_material_name: :shaft,
768
+ talent_boss_material_name: "AscendedSampleKnight"
769
+ ).freeze
770
+
703
771
  JEAN = GenshinObject::Character.new(
704
772
  kamera_key: "Jean",
705
773
  name: "Jean",
@@ -1125,6 +1193,23 @@ module GenshinData
1125
1193
  ascension_enemy_material_name: :transoceanic
1126
1194
  ).freeze
1127
1195
 
1196
+ NEFER = GenshinObject::Character.new(
1197
+ kamera_key: "Nefer",
1198
+ name: "Nefer",
1199
+ nation_name: :nodkrai,
1200
+ rarity: 5,
1201
+ constellation_three_bonus: :skill,
1202
+ constellation_five_bonus: :burst,
1203
+ element: :dendro,
1204
+ weapon_type: :catalyst,
1205
+ talent_book_name: :elysium,
1206
+ talent_rare_material_name: :warrant,
1207
+ talent_boss_material_name: "AscendedSampleRook",
1208
+ ascension_boss_material_name: "RadiantAntler",
1209
+ ascension_gathering_material_name: "MoonfallSilver",
1210
+ ascension_enemy_material_name: :warrant
1211
+ ).freeze
1212
+
1128
1213
  NEUVILLETTE = GenshinObject::Character.new(
1129
1214
  kamera_key: "Neuvillette",
1130
1215
  name: "Neuvillette",
@@ -1770,6 +1855,23 @@ module GenshinData
1770
1855
  ascension_gathering_material_name: "CorLapis",
1771
1856
  ascension_enemy_material_name: :slime
1772
1857
  ).freeze
1858
+
1859
+ ZIBAI = GenshinObject::Character.new(
1860
+ kamera_key: "Zibai",
1861
+ name: "Zibai",
1862
+ nation_name: :liyue,
1863
+ rarity: 5,
1864
+ constellation_three_bonus: :skill,
1865
+ constellation_five_bonus: :burst,
1866
+ element: :geo,
1867
+ weapon_type: :sword,
1868
+ ascension_boss_material_name: "RemnantOfTheDreadwing",
1869
+ ascension_gathering_material_name: "GlazeLily",
1870
+ ascension_enemy_material_name: :warrant,
1871
+ talent_book_name: :gold,
1872
+ talent_rare_material_name: :warrant,
1873
+ talent_boss_material_name: "AscendedSampleQueen"
1874
+ ).freeze
1773
1875
  end
1774
1876
  end
1775
1877
  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
 
@@ -97,6 +98,7 @@ module GenshinData
97
98
  CharacterData::DAHLIA,
98
99
  CharacterData::DILUC,
99
100
  CharacterData::DIONA,
101
+ CharacterData::DURIN,
100
102
  CharacterData::KLEE,
101
103
  CharacterData::EULA,
102
104
  CharacterData::FISCHL,
@@ -134,8 +136,12 @@ module GenshinData
134
136
  def nodkrai
135
137
  [
136
138
  CharacterData::AINO,
139
+ CharacterData::COLUMBINA,
137
140
  CharacterData::FLINS,
138
- CharacterData::LAUMA
141
+ CharacterData::ILLUGA,
142
+ CharacterData::JAHODA,
143
+ CharacterData::LAUMA,
144
+ CharacterData::NEFER
139
145
  ]
140
146
  end
141
147
 
@@ -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",
@@ -614,6 +625,17 @@ module GenshinData
614
625
  nation_name: :mondstadt
615
626
  ).freeze
616
627
 
628
+ WINTER_ICELEA = GenshinObject::Material.new(
629
+ kamera_key: "WinterIcelea",
630
+ name: "Winter Icelea",
631
+ rarity: 1,
632
+ family: nil,
633
+ inventory_type: :standard_material,
634
+ source_category: :gathering,
635
+ source_sub_category: :local_specialty,
636
+ nation_name: :nodkrai
637
+ ).freeze
638
+
617
639
  WITHERING_PURPURBLOOM = GenshinObject::Material.new(
618
640
  kamera_key: "WitheringPurpurbloom",
619
641
  name: "Withering Purpurbloom",
@@ -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,
@@ -404,6 +404,39 @@ module GenshinData
404
404
  source_sub_category: :the_game_before_the_gate_drop,
405
405
  nation_name: :mondstadt
406
406
  ).freeze
407
+
408
+ ELIXIR_OF_THE_HERETIC = GenshinObject::Material.new(
409
+ kamera_key: "ElixirOfTheHeretic",
410
+ name: "Elixir of the Heretic",
411
+ rarity: 5,
412
+ family: :heretic_of_the_false_moon_loot,
413
+ inventory_type: :development_material,
414
+ source_category: :boss_loot,
415
+ source_sub_category: :heretic_of_the_false_moon_drop,
416
+ nation_name: :nodkrai
417
+ ).freeze
418
+
419
+ MADMANS_RESTRAINT = GenshinObject::Material.new(
420
+ kamera_key: "MadmansRestraint",
421
+ name: "Madman's Restraint",
422
+ rarity: 5,
423
+ family: :heretic_of_the_false_moon_loot,
424
+ inventory_type: :development_material,
425
+ source_category: :boss_loot,
426
+ source_sub_category: :heretic_of_the_false_moon_drop,
427
+ nation_name: :nodkrai
428
+ ).freeze
429
+
430
+ MASK_OF_THE_VIRTUOUS_DOCTOR = GenshinObject::Material.new(
431
+ kamera_key: "MaskOfTheVirtuousDoctor",
432
+ name: "Mask of the Virtuous Doctor",
433
+ rarity: 5,
434
+ family: :heretic_of_the_false_moon_loot,
435
+ inventory_type: :development_material,
436
+ source_category: :boss_loot,
437
+ source_sub_category: :heretic_of_the_false_moon_drop,
438
+ nation_name: :nodkrai
439
+ ).freeze
407
440
  end
408
441
  end
409
442
  end
@@ -75,6 +75,17 @@ module GenshinData
75
75
  nation_name: :mondstadt
76
76
  ).freeze
77
77
 
78
+ CYCLIC_MILITARY_KUUVAHKI_CORE = GenshinObject::Material.new(
79
+ kamera_key: "CyclicMilitaryKuuvahkiCore",
80
+ name: "Cyclic Military Kuuvahki Core",
81
+ rarity: 4,
82
+ family: nil,
83
+ inventory_type: :development_material,
84
+ source_category: :boss_loot,
85
+ source_sub_category: :world_boss_drop,
86
+ nation_name: :nodkrai
87
+ ).freeze
88
+
78
89
  DEW_OF_REPUDIATION = GenshinObject::Material.new(
79
90
  kamera_key: "DewOfRepudiation",
80
91
  name: "Dew of Repudiation",
@@ -339,6 +350,28 @@ module GenshinData
339
350
  nation_name: :sumeru
340
351
  ).freeze
341
352
 
353
+ RADIANT_ANTLER = GenshinObject::Material.new(
354
+ kamera_key: "RadiantAntler",
355
+ name: "Radiant Antler",
356
+ rarity: 4,
357
+ family: nil,
358
+ inventory_type: :development_material,
359
+ source_category: :boss_loot,
360
+ source_sub_category: :world_boss_drop,
361
+ nation_name: :nodkrai
362
+ ).freeze
363
+
364
+ REMNANT_OF_THE_DREADWING = GenshinObject::Material.new(
365
+ kamera_key: "RemnantOfTheDreadwing",
366
+ name: "Remnant of the dreadwing",
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
+
342
375
  RIFTBORN_REGALIA = GenshinObject::Material.new(
343
376
  kamera_key: "RiftbornRegalia",
344
377
  name: "Riftborn Regalia",
@@ -249,6 +249,16 @@ module GenshinData
249
249
  weapon_material_type: :elixir
250
250
  ).freeze
251
251
 
252
+ RAINBOW_SERPENTS_RAIN_BOW = GenshinObject::Weapon.new(
253
+ kamera_key: "RainbowSerpentsRainBow",
254
+ name: "Rainbow Serpents Rain Bow",
255
+ rarity: 4,
256
+ weapon_type: :bow,
257
+ elite_material_type: :abyss_leaf,
258
+ standard_material_type: :warrant,
259
+ weapon_material_type: :night_wind
260
+ ).freeze
261
+
252
262
  RAVEN_BOW = GenshinObject::Weapon.new(
253
263
  kamera_key: "RavenBow",
254
264
  name: "Raven Bow",
@@ -389,6 +399,16 @@ module GenshinData
389
399
  weapon_material_type: :ancient_chord
390
400
  ).freeze
391
401
 
402
+ THE_DAYBREAK_CHRONICLES = GenshinObject::Weapon.new(
403
+ kamera_key: "TheDaybreakChronicles",
404
+ name: "The Daybreak Chronicles",
405
+ rarity: 5,
406
+ weapon_type: :bow,
407
+ elite_material_type: :horn,
408
+ standard_material_type: :hoarder_insignia,
409
+ weapon_material_type: :chains
410
+ ).freeze
411
+
392
412
  THE_FIRST_GREAT_MAGIC = GenshinObject::Weapon.new(
393
413
  kamera_key: "TheFirstGreatMagic",
394
414
  name: "First Great Magic, The",
@@ -79,6 +79,16 @@ module GenshinData
79
79
  weapon_material_type: :elixir
80
80
  ).freeze
81
81
 
82
+ DAWNING_FROST = GenshinObject::Weapon.new(
83
+ kamera_key: "DawningFrost",
84
+ name: "Dawning Frost",
85
+ rarity: 4,
86
+ weapon_type: :catalyst,
87
+ elite_material_type: :frostnight,
88
+ standard_material_type: :warrant,
89
+ weapon_material_type: :artful_device
90
+ ).freeze
91
+
82
92
  DODOCO_TALES = GenshinObject::Weapon.new(
83
93
  kamera_key: "DodocoTales",
84
94
  name: "Dodoco Tales",
@@ -249,6 +259,16 @@ module GenshinData
249
259
  weapon_material_type: :artful_device
250
260
  ).freeze
251
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
+
252
272
  OATHSWORN_EYE = GenshinObject::Weapon.new(
253
273
  kamera_key: "OathswornEye",
254
274
  name: "Oathsworn Eye",
@@ -289,6 +309,16 @@ module GenshinData
289
309
  weapon_material_type: :elixir
290
310
  ).freeze
291
311
 
312
+ RELIQUARY_OF_TRUTH = GenshinObject::Weapon.new(
313
+ kamera_key: "ReliquaryOfTruth",
314
+ name: "Reliquary of Truth",
315
+ rarity: 5,
316
+ weapon_type: :catalyst,
317
+ elite_material_type: :radiant_bone,
318
+ standard_material_type: :pollen,
319
+ weapon_material_type: :oasis_garden
320
+ ).freeze
321
+
292
322
  RING_OF_YAXCHE = GenshinObject::Weapon.new(
293
323
  kamera_key: "RingOfYaxche",
294
324
  name: "Ring of Yaxche",
@@ -279,6 +279,16 @@ module GenshinData
279
279
  weapon_material_type: :elixir
280
280
  ).freeze
281
281
 
282
+ SACRIFICERS_STAFF = GenshinObject::Weapon.new(
283
+ kamera_key: "SacrificersStaff",
284
+ name: "Sacrificer's Staff",
285
+ rarity: 4,
286
+ weapon_type: :polearm,
287
+ elite_material_type: :mistshroud,
288
+ standard_material_type: :shaft,
289
+ weapon_material_type: :long_night_flint
290
+ ).freeze
291
+
282
292
  SKYWARD_SPINE = GenshinObject::Weapon.new(
283
293
  kamera_key: "SkywardSpine",
284
294
  name: "Skyward Spine",
@@ -49,6 +49,16 @@ module GenshinData
49
49
  weapon_material_type: :decarabian
50
50
  ).freeze
51
51
 
52
+ ATHAME_ARTIS = GenshinObject::Weapon.new(
53
+ kamera_key: "AthameArtis",
54
+ name: "Athame Artis",
55
+ rarity: 5,
56
+ weapon_type: :sword,
57
+ elite_material_type: :frostnight,
58
+ standard_material_type: :shaft,
59
+ weapon_material_type: :decarabian
60
+ ).freeze
61
+
52
62
  AZURELIGHT = GenshinObject::Weapon.new(
53
63
  kamera_key: "Azurelight",
54
64
  name: "Azurelight",
@@ -249,6 +259,16 @@ module GenshinData
249
259
  weapon_material_type: :forest_dew
250
260
  ).freeze
251
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
+
252
272
  LIONS_ROAR = GenshinObject::Weapon.new(
253
273
  kamera_key: "LionsRoar",
254
274
  name: "Lions Roar",
@@ -91,6 +91,13 @@ module GenshinData
91
91
  nation_name: :mondstadt,
92
92
  material_family: :the_game_before_the_gate_loot
93
93
  )
94
+
95
+ HERETIC_OF_THE_FALSE_MOON = GenshinObject::WeeklyBoss.new(
96
+ name: "Heretic of the False Moon",
97
+ domain_name: "False Moon Institute",
98
+ nation_name: :nodkrai,
99
+ material_family: :heretic_of_the_false_moon_loot
100
+ )
94
101
  end
95
102
  end
96
103
  end
@@ -68,6 +68,12 @@ module GenshinData
68
68
  boss_material: "EmperorsResolution"
69
69
  )
70
70
 
71
+ FROSTNIGHT_HERRA = GenshinObject::WorldBoss.new(
72
+ name: "Frostnight Herra",
73
+ nation_name: :nodkrai,
74
+ boss_material: "RadiantAntler"
75
+ )
76
+
71
77
  GEO_HYPOSTASIS = GenshinObject::WorldBoss.new(
72
78
  name: "Geo Hypostasis",
73
79
  nation_name: :liyue,
@@ -140,6 +146,12 @@ module GenshinData
140
146
  boss_material: "SparklessStatueCore"
141
147
  )
142
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
+
143
155
  MAGUU_KENKI = GenshinObject::WorldBoss.new(
144
156
  name: "Maguu Kenki",
145
157
  nation_name: :inazuma,
@@ -230,6 +242,12 @@ module GenshinData
230
242
  boss_material: "FragmentOfAGoldenMelody"
231
243
  )
232
244
 
245
+ SUPER_HEAVY_LANDROVER_MECHANIZED_FORTRESS = GenshinObject::WorldBoss.new(
246
+ name: "Super-Heavy Landrover: Mechanized Fortress",
247
+ nation_name: :nodkrai,
248
+ boss_material: "CyclicMilitaryKuuvahkiCore"
249
+ )
250
+
233
251
  TENEBROUS_PAPILLA = GenshinObject::WorldBoss.new(
234
252
  name: "Tenebrous Papilla",
235
253
  nation_name: :natlan,
@@ -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.1"
4
+ VERSION = "0.5.9.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teyvatdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9.1
4
+ version: 0.5.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Haberer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-15 00:00:00.000000000 Z
11
+ date: 2026-02-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem to provide basic genshin data to my other projects
14
14
  email:
@@ -98,14 +98,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: 3.3.6
101
+ version: 3.3.10
102
102
  required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - ">="
105
105
  - !ruby/object:Gem::Version
106
106
  version: '0'
107
107
  requirements: []
108
- rubygems_version: 3.5.23
108
+ rubygems_version: 3.5.22
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: TeyvatDB is a gem to provide Genshin game data in a standardized way across