mgmg 1.5.4 → 1.5.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/mgmg/equip.rb +3 -2
- data/lib/mgmg/option.rb +10 -1
- data/lib/mgmg/search.rb +2 -2
- data/lib/mgmg/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dcdae95e0d1ee5dc8d65fe012d739a896b5be27e2a68ff5a2619477461e2e9d7
|
4
|
+
data.tar.gz: 2a2976e6c36a2cd2c3c6bc7c6e829f7e78e2791d18bc087188b369db7ecacb17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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(
|
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
|
-
|
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
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
|
+
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-
|
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.
|
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.
|