gloomhaven 1.0.9 → 1.0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1aac70f2909cf4c8f6fd7160283185b5f31c7894d274f68a07b9c298faac6fa8
4
- data.tar.gz: 8147e0c3ac5a933fbe9b6c84071b6f476db4e0f101c80b278ff686508a3de38a
3
+ metadata.gz: 7419d8311f18532543140f5ca149681a88eaaf2e0c3a1796806532dc40b5b979
4
+ data.tar.gz: 2557fb133ad3a5b5b7261d3e02ab0adc74527936f0392951d9947fb690da75e0
5
5
  SHA512:
6
- metadata.gz: 01f7903680309e558d603db7e8d994e2cf7119615b811248339b4077bb22bf1ff8a41d42ccb30ca45af32f6c60ca974b289c7499e15d2e1199cea8121a9d856a
7
- data.tar.gz: 5cdde8f634b075baf086f05624e0491c2f42ed9e0b8f1c7bca5f0ec7ed8f328cb03917f7762d3af094e68c3a606cc53d6da8df9626dd00025b60ff215fb11370
6
+ metadata.gz: a58d2cfefb7ecd8998266683fa81aecb4dd13117184b083ee8851d59c2bbf0189c8d1783aa357ade425d57fc1545102e9037085a7ecbc651e3a3305e8301bf14
7
+ data.tar.gz: 15dcf7191b28ff3db1da3d9b9dc45dce2192084388fa436d0aa6d26d165616e44e698ab0b9320e0faba23ff49624d121a3d4a93ece64731c6df2a4d4443f0c3b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gloomhaven (1.0.9)
4
+ gloomhaven (1.0.9.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/changelog.md CHANGED
@@ -1,4 +1,4 @@
1
- # 1.0.9
1
+ # 1.0.9.1
2
2
  - add class Character for character logic
3
3
  - moved most of logic from Player to character, add a @character to player initialize, delegate to char
4
4
  - player keeps things like gold, xp, items, perks
@@ -0,0 +1,35 @@
1
+ module Gloomhaven
2
+ class Character
3
+ attr_reader :hand_size, :health_scale, :hex_color, :name, :number, :perks, :spoiler_name
4
+
5
+ def initialize(klass)
6
+ validate_class!(klass)
7
+ @klass = klass
8
+ @hand_size = data['hand_size']
9
+ @health_scale = data['health_scale']
10
+ @hex_color = data['hex_color']
11
+ @name = data['name']
12
+ @number = data['number']
13
+ @perks = data['perks']
14
+ @spoiler_name = data['spoiler_name'] || @name
15
+ end
16
+
17
+ def to_s
18
+ @name
19
+ end
20
+
21
+ private
22
+
23
+ def data
24
+ CHARACTERS.detect { |character| character['name'].downcase == @klass.downcase }
25
+ end
26
+
27
+ def validate_class!(klass)
28
+ raise ArgumentError.new("Character class must be a String") unless klass.is_a?(String)
29
+
30
+ return if Gloomhaven::CHARACTER_NAMES.map(&:downcase).include?(klass.downcase)
31
+
32
+ raise TypeError.new("Invalid klass: #{klass} is not supported. Must be one of the following: #{Gloomhaven::CHARACTER_NAMES}")
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Gloomhaven
2
- VERSION = '1.0.9'
2
+ VERSION = '1.0.9.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloomhaven
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Teo Dell'Amico
@@ -90,6 +90,7 @@ files:
90
90
  - gloomhaven.gemspec
91
91
  - lib/gloomhaven.rb
92
92
  - lib/gloomhaven/card.rb
93
+ - lib/gloomhaven/character.rb
93
94
  - lib/gloomhaven/deck.rb
94
95
  - lib/gloomhaven/perk.rb
95
96
  - lib/gloomhaven/player.rb