teyvatdb 0.2.1.1 → 0.2.2

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