teyvatdb 0.1.18 → 0.2.0

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.
Files changed (45) 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/weapons/weapon_data/bows.rb +369 -364
  30. data/lib/genshin_data/weapons/weapon_data/catalysts.rb +359 -354
  31. data/lib/genshin_data/weapons/weapon_data/claymores.rb +359 -354
  32. data/lib/genshin_data/weapons/weapon_data/polearms.rb +262 -257
  33. data/lib/genshin_data/weapons/weapon_data/swords.rb +399 -395
  34. data/lib/genshin_data/weapons/weapon_data.rb +10 -7
  35. data/lib/genshin_data/weapons.rb +2 -1
  36. data/lib/genshin_data.rb +16 -5
  37. data/lib/genshin_object/artifact_set.rb +2 -2
  38. data/lib/genshin_object/material_family.rb +15 -0
  39. data/lib/genshin_object/schedule.rb +42 -0
  40. data/lib/genshin_object/talent_book.rb +6 -0
  41. data/lib/genshin_object/weapon_material_family.rb +6 -0
  42. data/lib/genshin_object.rb +8 -5
  43. data/lib/teyvatdb/version.rb +1 -1
  44. data/lib/teyvatdb.rb +3 -3
  45. metadata +8 -2
@@ -1,11 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module GenshinData::Weapons
4
- module WeaponData
5
- require_relative './weapon_data/bows'
6
- require_relative './weapon_data/catalysts'
7
- require_relative './weapon_data/claymores'
8
- require_relative './weapon_data/polearms'
9
- require_relative './weapon_data/swords'
3
+ module GenshinData
4
+ module Weapons
5
+ # Definitons for all in game Weapons
6
+ module WeaponData
7
+ require_relative "weapon_data/bows"
8
+ require_relative "weapon_data/catalysts"
9
+ require_relative "weapon_data/claymores"
10
+ require_relative "weapon_data/polearms"
11
+ require_relative "weapon_data/swords"
12
+ end
10
13
  end
11
14
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GenshinData
4
+ # Module for accessing weapon data
4
5
  module Weapons
5
6
  require_relative "weapons/weapon_data"
6
7
 
@@ -11,7 +12,7 @@ module GenshinData
11
12
  catalysts,
12
13
  claymores,
13
14
  polearms,
14
- swords,
15
+ swords
15
16
  ].flatten.sort { |x, y| x.kamera_key <=> y.kamera_key }
16
17
  end
17
18
 
data/lib/genshin_data.rb CHANGED
@@ -2,9 +2,20 @@
2
2
 
3
3
  # Module that handles all data
4
4
  module GenshinData
5
- require_relative "./genshin_data/artifact_sets"
6
- require_relative "./genshin_data/characters"
7
- require_relative "./genshin_data/materials"
8
- require_relative "./genshin_data/nations"
9
- require_relative "./genshin_data/weapons"
5
+ require_relative "genshin_data/artifact_sets"
6
+ require_relative "genshin_data/characters"
7
+ require_relative "genshin_data/materials"
8
+ require_relative "genshin_data/nations"
9
+ require_relative "genshin_data/talent_books"
10
+ require_relative "genshin_data/weapons"
11
+
12
+ class << self
13
+ def elements
14
+ %i[anemo geo electro dendro hydro pyro cryo]
15
+ end
16
+
17
+ def weapon_types
18
+ %i[sword claymore polearm catalyst bow]
19
+ end
20
+ end
10
21
  end
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GenshinObject
4
-
5
4
  # Base class to represent various Genshin Artifact Sets
6
5
  class ArtifactSet
7
6
  attr_accessor :kamera_key, :name, :max_rarity, :slots
8
7
 
9
8
  ALL_SLOTS = %i[flower plume sands goblet circlet].freeze
10
9
 
11
- def initialize(kamera_key:, name:, max_rarity:, slots: ALL_SLOTS)
10
+ def initialize(kamera_key:, name:, max_rarity:, bonuses:, slots: ALL_SLOTS)
12
11
  @kamera_key = kamera_key
13
12
  @name = name
14
13
  @max_rarity = max_rarity
15
14
  @slots = slots
15
+ @bonuses = bonuses
16
16
  end
17
17
  end
18
18
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinObject
4
+ # Base class to represent various Genshin Materials
5
+ class MaterialFamily
6
+ attr_accessor :family, :name, :nation_name, :schedule
7
+
8
+ def initialize(family:, name:, nation_name: nil, schedule: nil)
9
+ @family = family
10
+ @name = name
11
+ @nation_name = nation_name
12
+ @schedule = schedule
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinObject
4
+ # Base class to represent various Schedule data
5
+ class Schedule
6
+ attr_accessor :mon_thurs, :tues_fri, :wed_sat
7
+
8
+ def initialize(mon_thurs: false, tues_fri: false, wed_sat: false)
9
+ @mon_thurs = mon_thurs
10
+ @tues_fri = tues_fri
11
+ @wed_sat = wed_sat
12
+ end
13
+
14
+ def monday?
15
+ !!mon_thurs
16
+ end
17
+
18
+ def tuesday?
19
+ !!tues_fri
20
+ end
21
+
22
+ def wednesday?
23
+ !!wed_sat
24
+ end
25
+
26
+ def thursday?
27
+ !!mon_thurs
28
+ end
29
+
30
+ def friday?
31
+ !!tues_fri
32
+ end
33
+
34
+ def saturday?
35
+ !!wed_sat
36
+ end
37
+
38
+ def sunday?
39
+ true
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinObject
4
+ # Base class to represent various Genshin Talent Books
5
+ class TalentBook < GenshinObject::MaterialFamily; end
6
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GenshinObject
4
+ # Base class to represent various Genshin Materials
5
+ class WeaponMaterialFamily < MaterialFamily; end
6
+ end
@@ -2,9 +2,12 @@
2
2
 
3
3
  # Module that handles higher constants and base classes and behavior
4
4
  module GenshinObject
5
- require_relative "./genshin_object/artifact_set"
6
- require_relative "./genshin_object/character"
7
- require_relative "./genshin_object/material"
8
- require_relative "./genshin_object/nation"
9
- require_relative "./genshin_object/weapon"
5
+ require_relative "genshin_object/artifact_set"
6
+ require_relative "genshin_object/character"
7
+ require_relative "genshin_object/material"
8
+ require_relative "genshin_object/material_family"
9
+ require_relative "genshin_object/nation"
10
+ require_relative "genshin_object/schedule"
11
+ require_relative "genshin_object/talent_book"
12
+ require_relative "genshin_object/weapon"
10
13
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TeyvatDB
4
- VERSION = "0.1.18"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/teyvatdb.rb CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  require "json"
4
4
 
5
- require_relative "./teyvatdb/version"
6
- require_relative "./genshin_object"
7
- require_relative "./genshin_data"
5
+ require_relative "teyvatdb/version"
6
+ require_relative "genshin_object"
7
+ require_relative "genshin_data"
8
8
 
9
9
  # Common helpers
10
10
  module TeyvatDB
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.1.18
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Haberer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-30 00:00:00.000000000 Z
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem to provide basic genshin data to my other projects
14
14
  email:
@@ -50,6 +50,8 @@ files:
50
50
  - lib/genshin_data/materials/standard/furniture_material_data.rb
51
51
  - lib/genshin_data/nations.rb
52
52
  - lib/genshin_data/nations/nation_data.rb
53
+ - lib/genshin_data/talent_books.rb
54
+ - lib/genshin_data/talent_books/talent_book_data.rb
53
55
  - lib/genshin_data/weapons.rb
54
56
  - lib/genshin_data/weapons/weapon_data.rb
55
57
  - lib/genshin_data/weapons/weapon_data/bows.rb
@@ -61,8 +63,12 @@ files:
61
63
  - lib/genshin_object/artifact_set.rb
62
64
  - lib/genshin_object/character.rb
63
65
  - lib/genshin_object/material.rb
66
+ - lib/genshin_object/material_family.rb
64
67
  - lib/genshin_object/nation.rb
68
+ - lib/genshin_object/schedule.rb
69
+ - lib/genshin_object/talent_book.rb
65
70
  - lib/genshin_object/weapon.rb
71
+ - lib/genshin_object/weapon_material_family.rb
66
72
  - lib/teyvatdb.rb
67
73
  - lib/teyvatdb/version.rb
68
74
  - sig/teyvatdb.rbs