mgmg 1.5.4 → 1.5.5

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: f3f377aff6ac79ec7111b1b81fcfc5148505ca5f57606be79192f832d80d7c92
4
- data.tar.gz: 3cca84c8c97b44f18945d1817a921d42b7702f77a61dff4e8836a52f1a9a0f14
3
+ metadata.gz: dcdae95e0d1ee5dc8d65fe012d739a896b5be27e2a68ff5a2619477461e2e9d7
4
+ data.tar.gz: 2a2976e6c36a2cd2c3c6bc7c6e829f7e78e2791d18bc087188b369db7ecacb17
5
5
  SHA512:
6
- metadata.gz: 76db175b332d5c5d69ab12f171b734ceb82d4102151b19ce17e710e4776acaabe5e706f0b830eef251a664ae2d702b92d504af6409441da164dd64be1736a19f
7
- data.tar.gz: aa9416fcbaca9dc1d631925c4b5b3eb946196d81aab90748567c3c638adba12bf6474a70f1c815806527afe334cad434d841ce19e22350816df443e4c485fbdc
6
+ metadata.gz: d40a50cc4cde3a115d7d9f27a93945a27f4b77ece5091917d30cf32675679f6ae52290163168cd5d8c3cf57ded10f29bbb3a6fc803e67d209c35cf8c949f3912
7
+ data.tar.gz: 27f15eef233a9f19a92bca31d4b4683e78fb1207768fd7b8cbc7cc2aab8d6d79c23ac3db93237a0e8b508dfaa4f50da745f001de50ce74bf5d34824ee3909dc6
data/CHANGELOG.md CHANGED
@@ -152,3 +152,7 @@
152
152
  - 一部のメソッドで計算結果をキャッシュすることで,同じ材料装備を含む大量のレシピを計算する場合に高速化された.
153
153
  - `Mgmg.#clear_cache`ですべてのキャッシュをクリアできる.
154
154
  - 一部のオプションのデフォルト値をグローバルに変更するための定数ハッシュ`Mgmg::Option::Defaults`を追加.
155
+
156
+ ## 1.5.5 2022/07/02
157
+ - `Enumerable#to_recipe`が動かなくなったバグを修正.
158
+ - `String#min_level`において,正しい答えを返さなくなったバグを修正.
data/lib/mgmg/equip.rb CHANGED
@@ -309,7 +309,8 @@ module Mgmg
309
309
 
310
310
  def min_level(str, weight=1)
311
311
  str = Mgmg.check_string(str)
312
- return CacheML[str] if CacheML.has_key?(str)
312
+ key = [str.dup.freeze, weight].freeze
313
+ return CacheML[key] if CacheML.has_key?(key)
313
314
  unless m = /\A(.+)\((.+\d+),?(.+\d+)\)\Z/.match(str)
314
315
  raise InvalidSmithError.new(str)
315
316
  end
@@ -320,7 +321,7 @@ module Mgmg
320
321
  q, r = ((weight+1)*10000).divmod(MainWeight[main_m])
321
322
  l = ( EquipWeight[kind] + SubWeight[sub_m] - q + ( r==0 ? 1 : 0 ) )*2
322
323
  ret = [(main_s-1)*3, (sub_s-1)*3, l].max
323
- CacheML.store(str, ret)
324
+ CacheML.store(key, ret)
324
325
  ret
325
326
  end
326
327
 
data/lib/mgmg/option.rb CHANGED
@@ -76,7 +76,16 @@ module Mgmg
76
76
  self
77
77
  end
78
78
  def set_default(recipe, force: false)
79
- @include_system_equips = false if @include_system_equips && !Mgmg::SystemEquipRegexp.values.any?{|re| re.match(recipe)}
79
+ if @include_system_equips
80
+ case recipe
81
+ when String
82
+ @include_system_equips = false unless Mgmg::SystemEquipRegexp.values.any?{|re| re.match(recipe)}
83
+ when Enumerable
84
+ @include_system_equips = false unless recipe.any?{|str| Mgmg::SystemEquipRegexp.values.any?{|re| re.match(str)}}
85
+ else
86
+ raise ArgumentError, 'recipe should be String or Enumerable'
87
+ end
88
+ end
80
89
  update_sa_min(recipe, force)
81
90
  @comp_min = recipe.min_comp(opt: self) if force || @comp_min.nil?
82
91
  @irep = recipe.ir(opt: self) if force || @irep.nil?
data/lib/mgmg/search.rb CHANGED
@@ -230,13 +230,13 @@ module Mgmg
230
230
  end
231
231
  if a.kind_of?(Recipe)
232
232
  opt_a = a.option.dup
233
- a = a.recipe
233
+ a = a.recipe.dup
234
234
  else
235
235
  opt_a = opt_a.dup.set_default(a)
236
236
  end
237
237
  if b.kind_of?(Recipe)
238
238
  opt_b = b.option.dup
239
- b = b.recipe
239
+ b = b.recipe.dup
240
240
  else
241
241
  opt_b = opt_b.dup.set_default(b)
242
242
  end
data/lib/mgmg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mgmg
2
- VERSION = "1.5.4"
2
+ VERSION = "1.5.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mgmg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - KAZOON
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-30 00:00:00.000000000 Z
11
+ date: 2022-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubygems_version: 3.3.16
107
+ rubygems_version: 3.3.17
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Calculate specs of equipments of Megurimeguru, a game produced by Kou.