teyvatdb 0.2.1.1 → 0.2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,60 +3,60 @@
3
3
  module GenshinData
4
4
  # Manager for all artifact sets and attributes
5
5
  module ArtifactSets
6
- require_relative "artifact_sets/artifact_data"
6
+ require_relative "artifact_sets/artifact_set_data"
7
7
 
8
8
  class << self
9
9
  def all
10
10
  [
11
- ArtifactData::ADVENTURER,
12
- ArtifactData::ARCHAIC_PETRA,
13
- ArtifactData::BERSERKER,
14
- ArtifactData::BLIZZARD_STRAYER,
15
- ArtifactData::BLOODSTAINED_CHIVALRY,
16
- ArtifactData::BRAVE_HEART,
17
- ArtifactData::CRIMSON_WITCH_OF_FLAMES,
18
- ArtifactData::DEEPWOOD_MEMORIES,
19
- ArtifactData::DEFENDERS_WILL,
20
- ArtifactData::DESERT_PAVILION_CHRONICLE,
21
- ArtifactData::ECHOES_OF_AN_OFFERING,
22
- ArtifactData::EMBLEM_OF_SEVERED_FATE,
23
- ArtifactData::FLOWER_OF_PARADISE_LOST,
24
- ArtifactData::GAMBLER,
25
- ArtifactData::GILDED_DREAMS,
26
- ArtifactData::GLADIATORS_FINALE,
27
- ArtifactData::GOLDEN_TROUPE,
28
- ArtifactData::HEART_OF_DEPTH,
29
- ArtifactData::HUSK_OF_OPULENT_DREAMS,
30
- ArtifactData::INSTRUCTOR,
31
- ArtifactData::LAVAWALKER,
32
- ArtifactData::LUCKY_DOG,
33
- ArtifactData::MAIDEN_BELOVED,
34
- ArtifactData::MARECHAUSSEE_HUNTER,
35
- ArtifactData::MARTIAL_ARTIST,
36
- ArtifactData::NIGHTTIME_WHISPERS_IN_THE_ECHOING_WOODS,
37
- ArtifactData::NOBLESSE_OBLIGE,
38
- ArtifactData::NYMPHS_DREAM,
39
- ArtifactData::OCEAN_HUED_CLAM,
40
- ArtifactData::PALE_FLAME,
41
- ArtifactData::PRAYERS_FOR_DESTINY,
42
- ArtifactData::PRAYERS_FOR_ILLUMINATION,
43
- ArtifactData::PRAYERS_TO_SPRINGTIME,
44
- ArtifactData::PRAYERS_FOR_WISDOM,
45
- ArtifactData::RESOLUTION_OF_SOJOURNER,
46
- ArtifactData::RETRACING_BOLIDE,
47
- ArtifactData::SCHOLAR,
48
- ArtifactData::SHIMENAWAS_REMINISCENCE,
49
- ArtifactData::SONG_OF_DAYS_PAST,
50
- ArtifactData::TENACITY_OF_THE_MILLELITH,
51
- ArtifactData::THE_EXILE,
52
- ArtifactData::THUNDERING_FURY,
53
- ArtifactData::THUNDERSOOTHER,
54
- ArtifactData::TINY_MIRACLE,
55
- ArtifactData::TRAVELING_DOCTOR,
56
- ArtifactData::VERMILLION_HEREAFTER,
57
- ArtifactData::VIRIDESCENT_VENERER,
58
- ArtifactData::VOURUKASHAS_GLOW,
59
- ArtifactData::WANDERERS_TROUPE
11
+ ArtifactSetData::ADVENTURER,
12
+ ArtifactSetData::ARCHAIC_PETRA,
13
+ ArtifactSetData::BERSERKER,
14
+ ArtifactSetData::BLIZZARD_STRAYER,
15
+ ArtifactSetData::BLOODSTAINED_CHIVALRY,
16
+ ArtifactSetData::BRAVE_HEART,
17
+ ArtifactSetData::CRIMSON_WITCH_OF_FLAMES,
18
+ ArtifactSetData::DEEPWOOD_MEMORIES,
19
+ ArtifactSetData::DEFENDERS_WILL,
20
+ ArtifactSetData::DESERT_PAVILION_CHRONICLE,
21
+ ArtifactSetData::ECHOES_OF_AN_OFFERING,
22
+ ArtifactSetData::EMBLEM_OF_SEVERED_FATE,
23
+ ArtifactSetData::FLOWER_OF_PARADISE_LOST,
24
+ ArtifactSetData::GAMBLER,
25
+ ArtifactSetData::GILDED_DREAMS,
26
+ ArtifactSetData::GLADIATORS_FINALE,
27
+ ArtifactSetData::GOLDEN_TROUPE,
28
+ ArtifactSetData::HEART_OF_DEPTH,
29
+ ArtifactSetData::HUSK_OF_OPULENT_DREAMS,
30
+ ArtifactSetData::INSTRUCTOR,
31
+ ArtifactSetData::LAVAWALKER,
32
+ ArtifactSetData::LUCKY_DOG,
33
+ ArtifactSetData::MAIDEN_BELOVED,
34
+ ArtifactSetData::MARECHAUSSEE_HUNTER,
35
+ ArtifactSetData::MARTIAL_ARTIST,
36
+ ArtifactSetData::NIGHTTIME_WHISPERS_IN_THE_ECHOING_WOODS,
37
+ ArtifactSetData::NOBLESSE_OBLIGE,
38
+ ArtifactSetData::NYMPHS_DREAM,
39
+ ArtifactSetData::OCEAN_HUED_CLAM,
40
+ ArtifactSetData::PALE_FLAME,
41
+ ArtifactSetData::PRAYERS_FOR_DESTINY,
42
+ ArtifactSetData::PRAYERS_FOR_ILLUMINATION,
43
+ ArtifactSetData::PRAYERS_TO_SPRINGTIME,
44
+ ArtifactSetData::PRAYERS_FOR_WISDOM,
45
+ ArtifactSetData::RESOLUTION_OF_SOJOURNER,
46
+ ArtifactSetData::RETRACING_BOLIDE,
47
+ ArtifactSetData::SCHOLAR,
48
+ ArtifactSetData::SHIMENAWAS_REMINISCENCE,
49
+ ArtifactSetData::SONG_OF_DAYS_PAST,
50
+ ArtifactSetData::TENACITY_OF_THE_MILLELITH,
51
+ ArtifactSetData::THE_EXILE,
52
+ ArtifactSetData::THUNDERING_FURY,
53
+ ArtifactSetData::THUNDERSOOTHER,
54
+ ArtifactSetData::TINY_MIRACLE,
55
+ ArtifactSetData::TRAVELING_DOCTOR,
56
+ ArtifactSetData::VERMILLION_HEREAFTER,
57
+ ArtifactSetData::VIRIDESCENT_VENERER,
58
+ ArtifactSetData::VOURUKASHAS_GLOW,
59
+ ArtifactSetData::WANDERERS_TROUPE
60
60
  ]
61
61
  end
62
62
  end
@@ -0,0 +1,142 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinData
4
+ module WeaponMaterials
5
+ # Definitons for all in game Talent Book Types
6
+ module WeaponMaterialData
7
+ def self.all
8
+ constants.map { |x| GenshinData::WeaponMaterials::WeaponMaterialData.const_get(x) }
9
+ end
10
+
11
+ # Mondstadt
12
+ DECARABIAN = GenshinObject::WeaponMaterialFamily.new(
13
+ family: :decarabian,
14
+ name: "Fragments of Decarabian",
15
+ nation_name: :mondstadt,
16
+ schedule: GenshinObject::Schedule.new(
17
+ mon_thurs: true
18
+ )
19
+ )
20
+ BOREAL_WOLF_TEETH = GenshinObject::WeaponMaterialFamily.new(
21
+ family: :wolf_tooth,
22
+ name: "Teeth of the Boreal Wolf",
23
+ nation_name: :mondstadt,
24
+ schedule: GenshinObject::Schedule.new(
25
+ tues_fri: true
26
+ )
27
+ )
28
+ DANDELION_GLADIATOR = GenshinObject::WeaponMaterialFamily.new(
29
+ family: :chains,
30
+ name: "Dandelion Gladiator",
31
+ nation_name: :mondstadt,
32
+ schedule: GenshinObject::Schedule.new(
33
+ wed_sat: true
34
+ )
35
+ )
36
+
37
+ # Liyue
38
+ GUYUN = GenshinObject::WeaponMaterialFamily.new(
39
+ family: :guyun,
40
+ name: "Remants of Guyun",
41
+ nation_name: :liyue,
42
+ schedule: GenshinObject::Schedule.new(
43
+ mon_thurs: true
44
+ )
45
+ )
46
+ ELIXIR = GenshinObject::WeaponMaterialFamily.new(
47
+ family: :elixir,
48
+ name: "Mist Veiled Elixirs",
49
+ nation_name: :liyue,
50
+ schedule: GenshinObject::Schedule.new(
51
+ tues_fri: true
52
+ )
53
+ )
54
+ AEROSIDERITE = GenshinObject::WeaponMaterialFamily.new(
55
+ family: :aerosiderite,
56
+ name: "Aerosiderite Fragments",
57
+ nation_name: :liyue,
58
+ schedule: GenshinObject::Schedule.new(
59
+ wed_sat: true
60
+ )
61
+ )
62
+
63
+ # Inazuma
64
+ CORAL = GenshinObject::WeaponMaterialFamily.new(
65
+ family: :coral,
66
+ name: "Branches of Coral",
67
+ nation_name: :inazuma,
68
+ schedule: GenshinObject::Schedule.new(
69
+ mon_thurs: true
70
+ )
71
+ )
72
+ NARUKAMI = GenshinObject::WeaponMaterialFamily.new(
73
+ family: :narukami,
74
+ name: "Teachings of Narukami",
75
+ nation_name: :inazuma,
76
+ schedule: GenshinObject::Schedule.new(
77
+ tues_fri: true
78
+ )
79
+ )
80
+ ONI_MASK = GenshinObject::WeaponMaterialFamily.new(
81
+ family: :oni_mask,
82
+ name: "Masks of the Oni",
83
+ nation_name: :inazuma,
84
+ schedule: GenshinObject::Schedule.new(
85
+ wed_sat: true
86
+ )
87
+ )
88
+
89
+ # Sumaru
90
+ FOREST_DEW = GenshinObject::WeaponMaterialFamily.new(
91
+ family: :forest_dew,
92
+ name: "Talismans of Forest Dew",
93
+ nation_name: :sumeru,
94
+ schedule: GenshinObject::Schedule.new(
95
+ mon_thurs: true
96
+ )
97
+ )
98
+ OASIS_GARDEN = GenshinObject::WeaponMaterialFamily.new(
99
+ family: :oasis_garden,
100
+ name: "Blessings of the Oasis",
101
+ nation_name: :sumeru,
102
+ schedule: GenshinObject::Schedule.new(
103
+ tues_fri: true
104
+ )
105
+ )
106
+ SCORCHING_MASK = GenshinObject::WeaponMaterialFamily.new(
107
+ family: :scorching_might,
108
+ name: "Aspects of Scorching Might",
109
+ nation_name: :sumeru,
110
+ schedule: GenshinObject::Schedule.new(
111
+ wed_sat: true
112
+ )
113
+ )
114
+
115
+ # Fontaine
116
+ ANCIENT_CHORD = GenshinObject::WeaponMaterialFamily.new(
117
+ family: :ancient_chord,
118
+ name: "Ancient Chords",
119
+ nation_name: :fontaine,
120
+ schedule: GenshinObject::Schedule.new(
121
+ mon_thurs: true
122
+ )
123
+ )
124
+ SACRED_DEWDROP = GenshinObject::WeaponMaterialFamily.new(
125
+ family: :sacred_dewdrop,
126
+ name: "Sacred Dewdrops",
127
+ nation_name: :fontaine,
128
+ schedule: GenshinObject::Schedule.new(
129
+ tues_fri: true
130
+ )
131
+ )
132
+ PRISTINE_SEA = GenshinObject::WeaponMaterialFamily.new(
133
+ family: :pristine_sea,
134
+ name: "Goblets of the Pristine Sea",
135
+ nation_name: :fontaine,
136
+ schedule: GenshinObject::Schedule.new(
137
+ wed_sat: true
138
+ )
139
+ )
140
+ end
141
+ end
142
+ end
@@ -2,12 +2,12 @@
2
2
 
3
3
  module GenshinData
4
4
  # Data representation for Talent Books
5
- module TalentBooks
6
- require_relative "talent_books/talent_book_data"
5
+ module WeaponMaterials
6
+ require_relative "weapon_materials/weapon_material_data"
7
7
 
8
8
  class << self
9
9
  def all
10
- GenshinData::TalentBooks::TalentBookData.all
10
+ GenshinData::WeaponMaterials::WeaponMaterialData.all
11
11
  end
12
12
  end
13
13
  end
data/lib/genshin_data.rb CHANGED
@@ -12,6 +12,7 @@ module GenshinData
12
12
 
13
13
  require_relative "genshin_data/materials"
14
14
  require_relative "genshin_data/talent_books"
15
+ require_relative "genshin_data/weapon_materials"
15
16
 
16
17
  require_relative "genshin_data/weekly_bosses"
17
18
  require_relative "genshin_data/world_bosses"
@@ -5,9 +5,9 @@ module GenshinObject
5
5
  class ArtifactSet
6
6
  attr_accessor :kamera_key, :name, :max_rarity, :slots, :bonuses
7
7
 
8
- ALL_SLOTS = %i[flower plume sands goblet circlet].freeze
8
+ SLOTS = %i[flower plume sands goblet circlet].freeze
9
9
 
10
- def initialize(kamera_key:, name:, max_rarity:, bonuses:, slots: ALL_SLOTS)
10
+ def initialize(kamera_key:, name:, max_rarity:, bonuses:, slots: SLOTS)
11
11
  @kamera_key = kamera_key
12
12
  @name = name
13
13
  @max_rarity = max_rarity
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinObject
4
+ # Base class to represent various Genshin Artifact Set Bonuses
5
+ class ArtifactSetBonus
6
+ attr_accessor :bonus, :pieces_count
7
+
8
+ def initialize(bonus:, pieces_count:)
9
+ @bonus = bonus
10
+ @pieces_count = pieces_count
11
+ end
12
+ end
13
+ end
@@ -3,6 +3,7 @@
3
3
  # Module that handles higher constants and base classes and behavior
4
4
  module GenshinObject
5
5
  require_relative "genshin_object/artifact_set"
6
+ require_relative "genshin_object/artifact_set_bonus"
6
7
  require_relative "genshin_object/boss"
7
8
  require_relative "genshin_object/character"
8
9
  require_relative "genshin_object/material"
@@ -11,6 +12,7 @@ module GenshinObject
11
12
  require_relative "genshin_object/schedule"
12
13
  require_relative "genshin_object/talent_book"
13
14
  require_relative "genshin_object/weapon"
15
+ require_relative "genshin_object/weapon_material_family"
14
16
  require_relative "genshin_object/weekly_boss"
15
17
  require_relative "genshin_object/world_boss"
16
18
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TeyvatDB
4
- VERSION = "0.2.1.1"
4
+ VERSION = "0.2.2.1"
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.2.1.1
4
+ version: 0.2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Haberer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-13 00:00:00.000000000 Z
11
+ date: 2024-01-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem to provide basic genshin data to my other projects
14
14
  email:
@@ -27,7 +27,7 @@ files:
27
27
  - Rakefile
28
28
  - lib/genshin_data.rb
29
29
  - lib/genshin_data/artifact_sets.rb
30
- - lib/genshin_data/artifact_sets/artifact_data.rb
30
+ - lib/genshin_data/artifact_sets/artifact_set_data.rb
31
31
  - lib/genshin_data/characters.rb
32
32
  - lib/genshin_data/characters/character_data.rb
33
33
  - lib/genshin_data/materials.rb
@@ -53,6 +53,7 @@ files:
53
53
  - lib/genshin_data/talent_books.rb
54
54
  - lib/genshin_data/talent_books/talent_book_data.rb
55
55
  - lib/genshin_data/weapon_materials.rb
56
+ - lib/genshin_data/weapon_materials/weapon_material_data.rb
56
57
  - lib/genshin_data/weapons.rb
57
58
  - lib/genshin_data/weapons/weapon_data.rb
58
59
  - lib/genshin_data/weapons/weapon_data/bows.rb
@@ -66,6 +67,7 @@ files:
66
67
  - lib/genshin_data/world_bosses/world_boss_data.rb
67
68
  - lib/genshin_object.rb
68
69
  - lib/genshin_object/artifact_set.rb
70
+ - lib/genshin_object/artifact_set_bonus.rb
69
71
  - lib/genshin_object/boss.rb
70
72
  - lib/genshin_object/character.rb
71
73
  - lib/genshin_object/material.rb