Module: Mgmg
- Defined in:
- lib/mgmg/ir.rb,
lib/mgmg/poly.rb,
lib/mgmg/const.rb,
lib/mgmg/equip.rb,
lib/mgmg/utils.rb,
lib/mgmg/option.rb,
lib/mgmg/recipe.rb,
lib/mgmg/search.rb,
lib/mgmg/cuisine.rb,
lib/mgmg/version.rb,
lib/mgmg/optimize.rb,
lib/mgmg/reinforce.rb,
lib/mgmg/system_equip.rb
Defined Under Namespace
Modules: Optimize, Refiner Classes: Cuisine, ELItem, Equip, IR, InvalidBracketError, InvalidCharacterError, InvalidEquipClassError, InvalidMaterialError, InvalidRecipeError, InvalidReinforcementNameError, InvalidSmithError, Mat, Option, Over20Error, Recipe, Reinforcement, SearchCutException, TPolynomial, UnexpectedError, Vec
Constant Summary collapse
- MaterialIndex =
{ '鉄1': 0, '鉄2': 1, '鉄3': 2, '鉄4': 3, '鉄5': 4, '鉄6': 5, '鉄7': 6, '鉄8': 7, '鉄9': 8, '鉄10': 9, '木1': 10, '木2': 11, '木3': 12, '木4': 13, '木5': 14, '木6': 15, '木7': 16, '木8': 17, '木9': 18, '木10': 19, '綿1': 20, '綿2': 21, '綿3': 22, '綿4': 23, '綿5': 24, '綿6': 25, '綿7': 26, '綿8': 27, '綿9': 28, '綿10': 29, '皮1': 30, '皮2': 31, '皮3': 32, '皮4': 33, '皮5': 34, '皮6': 35, '皮7': 36, '皮8': 37, '皮9': 38, '皮10': 39, '骨1': 40, '骨2': 41, '骨3': 42, '骨4': 43, '骨5': 44, '骨6': 45, '骨7': 46, '骨8': 47, '骨9': 48, '骨10': 49, '牙1': 50, '牙2': 51, '牙3': 52, '牙4': 53, '牙5': 54, '牙6': 55, '牙7': 56, '牙8': 57, '牙9': 58, '牙10': 59, '宝1': 60, '宝2': 61, '宝3': 62, '宝4': 63, '宝5': 64, '宝6': 65, '宝7': 66, '宝8': 67, '宝9': 68, '宝10': 69, '水1': 70, '水2': 71, '水3': 72, '水4': 73, '水5': 74, '水6': 75, '水7': 76, '水8': 77, '水9': 78, '水10': 79, '石1': 80, '石2': 81, '石3': 82, '石4': 83, '石5': 84, '石6': 85, '石7': 86, '石8': 87, '石9': 88, '石10': 89, '金3': 90, '金6': 91, '金10': 92, '火玉5': 93, '火玉10': 94, '地玉5': 95, '地玉10': 96, '水玉5': 97, '水玉10': 98, '玉5': 99, '玉10': 100 }
- MaterialClass =
[ '鉄', '木', '綿', '皮', '骨', '牙', '宝', '水', '石', '貴', '特', 'ゼ' ]
- EquipIndex =
{ '短剣': 0, '双短剣': 1, '剣': 2, '斧': 3, '弓': 4, '弩': 5, '杖': 6, '本': 7, '短': 0, '双': 1, '双剣': 1, 'ボウガン': 5, 'ボーガン': 5, 'ボ': 5, '兜': 8, '額当て': 9, '帽子': 10, 'フード': 11, '重鎧': 12, '軽鎧': 13, '服': 14, '法衣': 15, '盾': 16, '小手': 17, '手袋': 18, '腕輪': 19, 'すね当て': 20, 'ブーツ': 21, '靴': 22, 'サンダル': 23, 'ブローチ': 24, '指輪': 25, '首飾り': 26, '耳飾り': 27, '額': 9, '帽': 10, 'フ': 11, '重': 12, '軽': 13, 'ローブ':15, '法':15, 'ロ': 15, '小': 17, '袋': 18, 'グ': 18, 'グローブ': 18, '腕': 19, '脛当て': 20, '脛': 20, 'す': 20, 'サ': 23, '指': 25, '耳': 26, '首': 27 }
- EquipName =
[ '短剣', '双短剣', '剣', '斧', '弓', '弩', '杖', '本', '兜', '額当て', '帽子', 'フード', '重鎧', '軽鎧', '服', '法衣', '盾', '小手', '手袋', '腕輪', '脛当て', 'ブーツ', '靴', 'サンダル', 'ブローチ', '指輪', '首飾り', '耳飾り', '複数装備' ]
- EquipPosition =
[ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6 ]
- Material9 =
攻 物 防 HP MP 腕 器 速 魔
[ Vec[ 10, 20, 10, 11, 20, 10, 30, 10, 30], # 鉄 Vec[ 30, 10, 30, 33, 10, 30, 10, 20, 10], # 木 Vec[ 10, 40, 10, 33, 5, 35, 30, 20, 10], # 綿 Vec[ 30, 40, 40, 5, 5, 30, 40, 10, 10], # 皮 Vec[ 10, 10, 40, 38, 40, 20, 10, 10, 10], # 骨 Vec[ 10, 20, 20, 5, 5, 20, 20, 10, 20], # 牙 Vec[ 10, 10, 25, 27, 25, 25, 25, 25, 25], # 宝 Vec[ 20, 25, 15, 0, 30, 30, 25, 25, 10], # 水 Vec[ 10, 20, 20, 11, 10, 10, 10, 10, 20], # 石 Vec[ 50, 50, 50, 50, 50, 50, 50, 50, 50], # 貴 Vec[ 10, 20, 10, 11, 20, 10, 30, 10, 30], # 特 Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 0] # ゼ ]
- Equip9 =
攻 物 防 HP MP 腕 器 速 魔
[ Vec[ 75, 0, 0, 0, 0, 0, 40, 50, 0], # 短剣 Vec[ 90, 0, 0, 0, 0, 0, 30, 40, 0], # 双短剣 Vec[100, 20, 0, 10, 0, 0, 0, 0, 0], # 剣 Vec[130, 0, 0, 0, 0, 20, 0, 0, 0], # 斧 Vec[ 80, 0, 0, 0, 0, 0, 60, 10, 10], # 弓 Vec[ 70, 0, 0, 0, 10, 0, 50, 20, 0], # 弩 Vec[ 40, 0, 0, 0, 30, 0, 0, 0, 100], # 杖 Vec[ 70, 0, 20, 0, 20, 0, 0, 0, 80], # 本 Vec[ 0, 50, 0, 50, 0, 0, 0, 0, 0], # 兜 Vec[ 0, 30, 10, 35, 0, 0, 0, 0, 0], # 額当て Vec[ 0, 20, 25, 25, 25, 0, 0, 0, 0], # 帽子 Vec[ 0, 20, 40, 15, 35, 0, 0, 0, 0], # フード Vec[ 0, 100, 20, 0, 0, 0, 0, 0, 0], # 重鎧 Vec[ 0, 80, 40, 0, 0, 0, 0, 0, 0], # 軽鎧 Vec[ 0, 60, 60, 0, 0, 0, 20, 0, 0], # 服 Vec[ 0, 50, 90, 0, 0, 0, 0, 0, 20], # ローブ Vec[ 0, 70, 50, 0, 0, 0, 0, 0, 0], # 盾 Vec[ 20, 40, 30, 0, 0, 0, 0, 0, 0], # 小手 Vec[ 0, 40, 50, 0, 0, 0, 30, 0, 0], # グローブ Vec[ 0, 30, 60, 0, 0, 0, 0, 0, 30], # 腕輪 Vec[ 0, 65, 20, 0, 0, 0, 0, 0, 0], # すね当て Vec[ 0, 40, 40, 0, 0, 0, 0, 30, 0], # ブーツ Vec[ 0, 30, 30, 0, 0, 0, 0, 50, 0], # 靴 Vec[ 0, 20, 50, 0, 0, 0, 0, 40, 0], # サンダル Vec[ 0, 0, 0, 0, 0, 50, 0, 0, 0], # ブローチ Vec[ 0, 0, 0, 0, 0, 0, 50, 0, 0], # 指輪 Vec[ 0, 0, 0, 0, 0, 0, 0, 60, 0], # 首飾り Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 50] # 耳飾り ]
- EquipFilter =
攻 物 防 HP MP 腕 器 速 魔
攻 物 防 HP MP 腕 器 速 魔
[ Vec[1, 0, 0, 0, 0, 0, 1, 1, 0], # 短剣 Vec[1, 0, 0, 0, 0, 0, 1, 1, 0], # 双短剣 Vec[1, 1, 0, 1, 0, 0, 0, 0, 0], # 剣 Vec[1, 0, 0, 0, 0, 1, 0, 0, 0], # 斧 Vec[1, 0, 0, 0, 0, 0, 1, 1, 1], # 弓 Vec[1, 0, 0, 0, 1, 0, 1, 1, 0], # 弩 Vec[1, 0, 0, 0, 1, 0, 0, 0, 1], # 杖 Vec[1, 0, 1, 0, 1, 0, 0, 0, 1], # 本 Vec[0, 1, 0, 1, 0, 0, 0, 0, 0], # 兜 Vec[0, 1, 1, 1, 0, 0, 0, 0, 0], # 額当て Vec[0, 1, 1, 1, 1, 0, 0, 0, 0], # 帽子 Vec[0, 1, 1, 1, 1, 0, 0, 0, 0], # フード Vec[0, 1, 1, 0, 0, 0, 0, 0, 0], # 重鎧 Vec[0, 1, 1, 0, 0, 0, 0, 0, 0], # 軽鎧 Vec[0, 1, 1, 0, 0, 0, 1, 0, 0], # 服 Vec[0, 1, 1, 0, 0, 0, 0, 0, 1], # ローブ Vec[0, 1, 1, 0, 0, 0, 0, 0, 0], # 盾 Vec[1, 1, 1, 0, 0, 0, 0, 0, 0], # 小手 Vec[0, 1, 1, 0, 0, 0, 1, 0, 0], # グローブ Vec[0, 1, 1, 0, 0, 0, 0, 0, 1], # 腕輪 Vec[0, 1, 1, 0, 0, 0, 0, 0, 0], # すね当て Vec[0, 1, 1, 0, 0, 0, 0, 1, 0], # ブーツ Vec[0, 1, 1, 0, 0, 0, 0, 1, 0], # 靴 Vec[0, 1, 1, 0, 0, 0, 0, 1, 0], # サンダル Vec[0, 0, 0, 0, 0, 1, 0, 0, 0], # ブローチ Vec[0, 0, 0, 0, 0, 0, 1, 0, 0], # 指輪 Vec[0, 0, 0, 0, 0, 0, 0, 1, 0], # 首飾り Vec[0, 0, 0, 0, 0, 0, 0, 0, 1] # 耳飾り ]
- EquipWeight =
攻 物 防 HP MP 腕 器 速 魔
[ 90, 115, 120, 170, 140, 150, 120, 130, # 武器 110, 70, 50, 40, 170, 120, 70, 50, # 頭,胴 120, 70, 40, 20, 100, 70, 40, 10, # 腕,足 90, 90, 90, 90 # 装飾品 ]
- MainWeight =
1 2 3 4 5 6 7 8 9 10
[ 180, 183, 186, 189, 192, 195, 198, 201, 204, 207, # 鉄 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, # 木 100, 103, 106, 109, 112, 115, 118, 121, 124, 127, # 綿 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, # 皮 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, # 骨 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, # 牙 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, # 宝 110, 113, 116, 119, 122, 125, 128, 131, 134, 137, # 水 190, 193, 196, 199, 202, 205, 208, 211, 214, 217, # 石 200, 220, 220, 140, 200, 140, 200, 140, 200, 140, 200 # 貴 ]
- SubWeight =
1 2 3 4 5 6 7 8 9 10
[ 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, # 鉄 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, # 木 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, # 綿 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, # 皮 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, # 骨 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, # 牙 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, # 宝 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, # 水 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, # 石 30, 30, 30, 25, 40, 25, 40, 25, 40, 25, 40 # 貴 ]
- Main9 =
攻撃 物防 魔防 HP MP 腕力 器用 素早 魔力
[ Vec[ 16, 11, 3, 14, 1, 5, 3, 2, 1], # 鉄1 Vec[ 20, 15, 4, 20, 1, 7, 4, 2, 1], # 鉄2 Vec[ 27, 22, 6, 28, 2, 10, 6, 4, 2], # 鉄3 Vec[ 35, 30, 8, 38, 2, 13, 8, 5, 2], # 鉄4 Vec[ 46, 41, 11, 52, 3, 18, 11, 7, 3], # 鉄5 Vec[ 60, 55, 15, 70, 5, 25, 15, 10, 5], # 鉄6 Vec[ 75, 70, 19, 90, 6, 32, 19, 12, 6], # 鉄7 Vec[ 94, 89, 24, 113, 8, 40, 24, 16, 8], # 鉄8 Vec[115, 110, 30, 140, 10, 50, 30, 20, 10], # 鉄9 Vec[138, 133, 36, 169, 12, 60, 36, 24, 12], # 鉄10 Vec[ 10, 3, 4, 3, 2, 4, 11, 2, 3], # 木1 Vec[ 12, 4, 5, 4, 2, 5, 15, 2, 4], # 木2 Vec[ 15, 6, 8, 6, 4, 8, 22, 4, 6], # 木3 Vec[ 18, 8, 11, 8, 5, 11, 30, 5, 8], # 木4 Vec[ 23, 11, 15, 11, 7, 15, 41, 7, 11], # 木5 Vec[ 30, 15, 20, 15, 10, 20, 55, 10, 15], # 木6 Vec[ 37, 19, 25, 19, 12, 25, 70, 12, 19], # 木7 Vec[ 45, 24, 32, 24, 16, 32, 89, 16, 24], # 木8 Vec[ 55, 30, 40, 30, 20, 40, 110, 20, 30], # 木9 Vec[ 65, 36, 48, 36, 24, 48, 133, 24, 36], # 木10 Vec[ 6, 3, 11, 5, 3, 1, 5, 5, 4], # 綿1 Vec[ 6, 4, 15, 7, 4, 1, 7, 7, 5], # 綿2 Vec[ 7, 6, 22, 10, 6, 2, 10, 10, 8], # 綿3 Vec[ 7, 8, 30, 13, 8, 2, 13, 13, 11], # 綿4 Vec[ 8, 11, 41, 18, 11, 3, 18, 18, 15], # 綿5 Vec[ 10, 15, 55, 25, 15, 5, 25, 25, 20], # 綿6 Vec[ 11, 19, 70, 32, 19, 6, 32, 32, 25], # 綿7 Vec[ 13, 24, 89, 40, 24, 8, 40, 40, 32], # 綿8 Vec[ 15, 30, 110, 50, 30, 10, 50, 50, 40], # 綿9 Vec[ 17, 36, 133, 60, 36, 12, 60, 60, 48], # 綿10 Vec[ 8, 8, 7, 11, 2, 8, 5, 5, 4], # 皮1 Vec[ 9, 11, 10, 15, 2, 11, 7, 7, 5], # 皮2 Vec[ 11, 16, 14, 22, 4, 16, 10, 10, 8], # 皮3 Vec[ 13, 22, 19, 30, 5, 22, 13, 13, 11], # 皮4 Vec[ 16, 30, 26, 41, 7, 30, 18, 18, 15], # 皮5 Vec[ 20, 40, 35, 55, 10, 40, 25, 25, 20], # 皮6 Vec[ 24, 51, 45, 70, 12, 51, 32, 32, 25], # 皮7 Vec[ 29, 64, 56, 89, 16, 64, 40, 40, 32], # 皮8 Vec[ 35, 80, 70, 110, 20, 80, 50, 50, 40], # 皮9 Vec[ 41, 96, 84, 133, 24, 96, 60, 60, 48], # 皮10 Vec[ 7, 1, 4, 1, 4, 1, 5, 5, 11], # 骨1 Vec[ 7, 1, 5, 1, 5, 1, 7, 7, 15], # 骨2 Vec[ 9, 2, 8, 2, 8, 2, 10, 10, 22], # 骨3 Vec[ 10, 2, 11, 2, 11, 2, 13, 13, 30], # 骨4 Vec[ 12, 3, 15, 3, 15, 3, 18, 18, 41], # 骨5 Vec[ 15, 5, 20, 5, 20, 5, 25, 25, 55], # 骨6 Vec[ 17, 6, 25, 6, 25, 6, 32, 32, 70], # 骨7 Vec[ 21, 8, 32, 8, 32, 8, 40, 40, 89], # 骨8 Vec[ 25, 10, 40, 10, 40, 10, 50, 50, 110], # 骨9 Vec[ 29, 12, 48, 12, 48, 12, 60, 60, 133], # 骨10 Vec[ 13, 1, 5, 5, 1, 7, 7, 8, 3], # 牙1 Vec[ 16, 1, 7, 7, 1, 10, 10, 11, 4], # 牙2 Vec[ 21, 2, 10, 10, 2, 14, 14, 16, 6], # 牙3 Vec[ 27, 2, 13, 13, 2, 19, 19, 22, 8], # 牙4 Vec[ 35, 3, 18, 18, 3, 26, 26, 30, 11], # 牙5 Vec[ 45, 5, 25, 25, 5, 35, 35, 40, 15], # 牙6 Vec[ 56, 6, 32, 32, 6, 45, 45, 51, 19], # 牙7 Vec[ 69, 8, 40, 40, 8, 56, 56, 64, 24], # 牙8 Vec[ 85, 10, 50, 50, 10, 70, 70, 80, 30], # 牙9 Vec[101, 12, 60, 60, 12, 84, 84, 96, 36], # 牙10 Vec[ 6, 1, 1, 5, 5, 10, 6, 10, 6], # 宝1 Vec[ 6, 1, 1, 7, 7, 14, 8, 14, 8], # 宝2 Vec[ 7, 2, 2, 10, 10, 20, 12, 20, 12], # 宝3 Vec[ 7, 2, 2, 13, 13, 27, 16, 27, 16], # 宝4 Vec[ 8, 3, 3, 18, 18, 37, 22, 37, 22], # 宝5 Vec[ 10, 5, 5, 25, 25, 50, 30, 50, 30], # 宝6 Vec[ 11, 6, 6, 32, 32, 64, 38, 64, 38], # 宝7 Vec[ 13, 8, 8, 40, 40, 81, 48, 81, 48], # 宝8 Vec[ 15, 10, 10, 50, 50, 100, 60, 100, 60], # 宝9 Vec[ 17, 12, 12, 60, 60, 121, 72, 121, 72], # 宝10 Vec[ 10, 1, 5, 11, 3, 5, 3, 8, 6], # 水1 Vec[ 12, 1, 7, 15, 4, 7, 4, 11, 8], # 水2 Vec[ 15, 2, 10, 22, 6, 10, 6, 16, 12], # 水3 Vec[ 18, 2, 13, 30, 8, 13, 8, 22, 16], # 水4 Vec[ 23, 3, 18, 41, 11, 18, 11, 30, 22], # 水5 Vec[ 30, 5, 25, 55, 15, 25, 15, 40, 30], # 水6 Vec[ 37, 6, 32, 70, 19, 32, 19, 51, 38], # 水7 Vec[ 45, 8, 40, 89, 24, 40, 24, 64, 48], # 水8 Vec[ 55, 10, 50, 110, 30, 50, 30, 80, 60], # 水9 Vec[ 65, 12, 60, 133, 36, 60, 36, 96, 72], # 水10 Vec[ 8, 5, 2, 22, 5, 3, 2, 1, 2], # 石1 Vec[ 9, 7, 2, 31, 7, 4, 2, 1, 2], # 石2 Vec[ 11, 10, 4, 44, 10, 6, 4, 2, 4], # 石3 Vec[ 13, 13, 5, 61, 13, 8, 5, 2, 5], # 石4 Vec[ 16, 18, 7, 83, 18, 11, 7, 3, 7], # 石5 Vec[ 20, 25, 10, 110, 25, 15, 10, 5, 10], # 石6 Vec[ 24, 32, 12, 141, 32, 19, 12, 6, 12], # 石7 Vec[ 29, 40, 16, 178, 40, 24, 16, 8, 16], # 石8 Vec[ 35, 50, 20, 220, 50, 30, 20, 10, 20], # 石9 Vec[ 41, 60, 24, 266, 60, 36, 24, 12, 24], # 石10 Vec[ 2, 2, 2, 10, 10, 2, 2, 2, 2], # 金3 Vec[ 4, 4, 4, 20, 20, 4, 4, 4, 4], # 金6 Vec[ 6, 6, 6, 20, 20, 6, 6, 6, 6], # 金10 Vec[ 0, 0, 0, 20, 0, 20, 0, 0, 0], # 火玉5 Vec[ 0, 0, 0, 40, 0, 40, 0, 0, 0], # 火玉10 Vec[ 0, 0, 0, 0, 0, 0, 20, 20, 0], # 地玉5 Vec[ 0, 0, 0, 0, 0, 0, 40, 40, 0], # 地玉10 Vec[ 0, 0, 0, 0, 20, 0, 0, 0, 20], # 水玉5 Vec[ 0, 0, 0, 0, 40, 0, 0, 0, 40], # 水玉10 Vec[ 0, 0, 0, 20, 20, 20, 20, 20, 20], # 玉5 Vec[ 0, 0, 0, 40, 40, 40, 40, 40, 40] # 玉10 ]
- Sub9 =
攻撃 物防 魔防 HP MP 腕力 器用 素早 魔力
[ Vec[110, 120, 110, 111, 120, 110, 130, 110, 130], # 鉄1 Vec[115, 125, 115, 115, 125, 115, 135, 115, 135], # 鉄2 Vec[120, 130, 120, 122, 130, 120, 140, 120, 140], # 鉄3 Vec[125, 135, 125, 130, 135, 125, 145, 125, 145], # 鉄4 Vec[130, 140, 130, 141, 140, 130, 150, 130, 150], # 鉄5 Vec[135, 145, 135, 155, 145, 135, 155, 135, 155], # 鉄6 Vec[140, 150, 140, 170, 150, 140, 160, 140, 160], # 鉄7 Vec[145, 155, 145, 189, 155, 145, 165, 145, 165], # 鉄8 Vec[150, 160, 150, 210, 160, 150, 170, 150, 170], # 鉄9 Vec[155, 165, 155, 233, 165, 155, 175, 155, 175], # 鉄10 Vec[130, 110, 130, 133, 110, 130, 110, 120, 110], # 木1 Vec[135, 115, 135, 147, 115, 135, 115, 125, 115], # 木2 Vec[140, 120, 140, 166, 120, 140, 120, 130, 120], # 木3 Vec[145, 125, 145, 191, 125, 145, 125, 135, 125], # 木4 Vec[150, 130, 150, 224, 130, 150, 130, 140, 130], # 木5 Vec[155, 135, 155, 265, 135, 155, 135, 145, 135], # 木6 Vec[160, 140, 160, 312, 140, 160, 140, 150, 140], # 木7 Vec[165, 145, 165, 367, 145, 165, 145, 155, 145], # 木8 Vec[170, 150, 170, 430, 150, 170, 150, 160, 150], # 木9 Vec[175, 155, 175, 499, 155, 175, 155, 165, 155], # 木10 Vec[110, 140, 110, 133, 105, 135, 130, 120, 110], # 綿1 Vec[115, 145, 115, 147, 110, 140, 135, 125, 115], # 綿2 Vec[120, 150, 120, 166, 115, 145, 140, 130, 120], # 綿3 Vec[125, 155, 125, 191, 120, 150, 145, 135, 125], # 綿4 Vec[130, 160, 130, 224, 125, 155, 150, 140, 130], # 綿5 Vec[135, 165, 135, 265, 130, 160, 155, 145, 135], # 綿6 Vec[140, 170, 140, 312, 135, 165, 160, 150, 140], # 綿7 Vec[145, 175, 145, 367, 140, 170, 165, 155, 145], # 綿8 Vec[150, 180, 150, 430, 145, 175, 170, 160, 150], # 綿9 Vec[155, 185, 155, 499, 150, 180, 175, 165, 155], # 綿10 Vec[130, 140, 140, 105, 105, 130, 140, 110, 110], # 皮1 Vec[135, 145, 145, 107, 110, 135, 145, 115, 115], # 皮2 Vec[140, 150, 150, 110, 115, 140, 150, 120, 120], # 皮3 Vec[145, 155, 155, 113, 120, 145, 155, 125, 125], # 皮4 Vec[150, 160, 160, 118, 125, 150, 160, 130, 130], # 皮5 Vec[155, 165, 165, 125, 130, 155, 165, 135, 135], # 皮6 Vec[160, 170, 170, 132, 135, 160, 170, 140, 140], # 皮7 Vec[165, 175, 175, 140, 140, 165, 175, 145, 145], # 皮8 Vec[170, 180, 180, 150, 145, 170, 180, 150, 150], # 皮9 Vec[175, 185, 185, 160, 150, 175, 185, 155, 155], # 皮10 Vec[110, 110, 140, 138, 140, 120, 110, 110, 110], # 骨1 Vec[115, 115, 145, 154, 145, 125, 115, 115, 115], # 骨2 Vec[120, 120, 150, 176, 150, 130, 120, 120, 120], # 骨3 Vec[125, 125, 155, 205, 155, 135, 125, 125, 125], # 骨4 Vec[130, 130, 160, 243, 160, 140, 130, 130, 130], # 骨5 Vec[135, 135, 165, 290, 165, 145, 135, 135, 135], # 骨6 Vec[140, 140, 170, 344, 170, 150, 140, 140, 140], # 骨7 Vec[145, 145, 175, 408, 175, 155, 145, 145, 145], # 骨8 Vec[150, 150, 180, 480, 180, 160, 150, 150, 150], # 骨9 Vec[155, 155, 185, 560, 185, 165, 155, 155, 155], # 骨10 Vec[110, 120, 120, 105, 105, 120, 120, 110, 120], # 牙1 Vec[115, 125, 125, 107, 110, 125, 125, 115, 125], # 牙2 Vec[120, 130, 130, 110, 115, 130, 130, 120, 130], # 牙3 Vec[125, 135, 135, 113, 120, 135, 135, 125, 135], # 牙4 Vec[130, 140, 140, 118, 125, 140, 140, 130, 140], # 牙5 Vec[135, 145, 145, 125, 130, 145, 145, 135, 145], # 牙6 Vec[140, 150, 150, 132, 135, 150, 150, 140, 150], # 牙7 Vec[145, 155, 155, 140, 140, 155, 155, 145, 155], # 牙8 Vec[150, 160, 160, 150, 145, 160, 160, 150, 160], # 牙9 Vec[155, 165, 165, 160, 150, 165, 165, 155, 165], # 牙10 Vec[110, 110, 125, 127, 125, 125, 125, 125, 125], # 宝1 Vec[115, 115, 130, 139, 130, 130, 130, 130, 130], # 宝2 Vec[120, 120, 135, 154, 135, 135, 135, 135, 135], # 宝3 Vec[125, 125, 140, 175, 140, 140, 140, 140, 140], # 宝4 Vec[130, 130, 145, 202, 145, 145, 145, 145, 145], # 宝5 Vec[135, 135, 150, 235, 150, 150, 150, 150, 150], # 宝6 Vec[140, 140, 155, 274, 155, 155, 155, 155, 155], # 宝7 Vec[145, 145, 160, 319, 160, 160, 160, 160, 160], # 宝8 Vec[150, 150, 165, 370, 165, 165, 165, 165, 165], # 宝9 Vec[155, 155, 170, 427, 170, 170, 170, 170, 170], # 宝10 Vec[120, 125, 115, 100, 130, 130, 125, 125, 110], # 水1 Vec[125, 130, 120, 100, 135, 135, 130, 130, 115], # 水2 Vec[130, 135, 125, 100, 140, 140, 135, 135, 120], # 水3 Vec[135, 140, 130, 100, 145, 145, 140, 140, 125], # 水4 Vec[140, 145, 135, 100, 150, 150, 145, 145, 130], # 水5 Vec[145, 150, 140, 100, 155, 155, 150, 150, 135], # 水6 Vec[150, 155, 145, 100, 160, 160, 155, 155, 140], # 水7 Vec[155, 160, 150, 100, 165, 165, 160, 160, 145], # 水8 Vec[160, 165, 155, 100, 170, 170, 165, 165, 150], # 水9 Vec[165, 170, 160, 100, 175, 175, 170, 170, 155], # 水10 Vec[110, 120, 120, 111, 110, 110, 110, 110, 120], # 石1 Vec[115, 125, 125, 115, 115, 115, 115, 115, 125], # 石2 Vec[120, 130, 130, 122, 120, 120, 120, 120, 130], # 石3 Vec[125, 135, 135, 130, 125, 125, 125, 125, 135], # 石4 Vec[130, 140, 140, 141, 130, 130, 130, 130, 140], # 石5 Vec[135, 145, 145, 155, 135, 135, 135, 135, 145], # 石6 Vec[140, 150, 150, 170, 140, 140, 140, 140, 150], # 石7 Vec[145, 155, 155, 189, 145, 145, 145, 145, 155], # 石8 Vec[150, 160, 160, 210, 150, 150, 150, 150, 160], # 石9 Vec[155, 165, 165, 233, 155, 155, 155, 155, 165], # 石10 Vec[150, 150, 150, 150, 150, 150, 150, 150, 150], # 金3 Vec[175, 175, 175, 175, 175, 175, 175, 175, 175], # 金6 Vec[200, 200, 200, 200, 200, 200, 200, 200, 200], # 金10 Vec[100, 100, 140, 140, 140, 140, 140, 140, 140], # 火玉5 Vec[100, 100, 160, 160, 160, 160, 160, 160, 160], # 火玉10 Vec[100, 100, 140, 140, 140, 140, 140, 140, 140], # 地玉5 Vec[100, 100, 160, 160, 160, 160, 160, 160, 160], # 地玉10 Vec[100, 100, 140, 140, 140, 140, 140, 140, 140], # 水玉5 Vec[100, 100, 160, 160, 160, 160, 160, 160, 160], # 水玉10 Vec[100, 100, 140, 140, 140, 140, 140, 140, 140], # 玉5 Vec[100, 100, 160, 160, 160, 160, 160, 160, 160] # 玉10 ]
- MainEL =
攻撃 物防 魔防 HP MP 腕力 器用 素早 魔力
火 地 水
[ Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 鉄 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 鉄 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 木 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 木 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 綿 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 綿 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 皮 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 皮 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 骨 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 骨 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 牙 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 牙 Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], # 宝 Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], Vec[1, 0, 0], # 宝 Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], # 水 Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], Vec[0, 0, 1], # 水 Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], # 石 Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], Vec[0, 1, 0], # 石 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[2, 0, 0], Vec[3, 0, 0], # 貴 Vec[0, 2, 0], Vec[0, 3, 0], Vec[0, 0, 2], Vec[0, 0, 3], Vec[2, 2, 2], Vec[3, 3, 3] # 貴 ]
- SubEL =
火 地 水
[ Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 鉄 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 鉄 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 木 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 木 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 綿 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 綿 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 皮 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 皮 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 骨 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 骨 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 牙 Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], Vec[0, 0, 0], # 牙 Vec[0, 0, 3], Vec[0, 0, 3], Vec[2, 0, 4], Vec[2, 0, 4], Vec[2, 0, 4], # 宝 Vec[3, 0, 4], Vec[3, 0, 4], Vec[3, 0, 4], Vec[3, 0, 6], Vec[4, 0, 6], # 宝 Vec[0, 3, 0], Vec[0, 3, 0], Vec[0, 4, 2], Vec[0, 4, 2], Vec[0, 4, 2], # 水 Vec[0, 4, 3], Vec[0, 4, 3], Vec[0, 4, 3], Vec[0, 6, 3], Vec[0, 6, 4], # 水 Vec[3, 0, 0], Vec[3, 0, 0], Vec[4, 2, 0], Vec[4, 2, 0], Vec[4, 2, 0], # 石 Vec[4, 3, 0], Vec[4, 3, 0], Vec[4, 3, 0], Vec[6, 3, 0], Vec[6, 4, 0], # 石 Vec[3, 3, 3], Vec[4, 4, 4], Vec[6, 6, 6], Vec[3, 0, 4], Vec[4, 0, 6], # 貴 Vec[4, 3, 0], Vec[6, 4, 0], Vec[0, 4, 3], Vec[0, 6, 4], Vec[4, 4, 4], Vec[6, 6, 6] # 貴 ]
- CacheMLS =
Hash.new
- CharacterList =
/[^\(\)\+0123456789\[\]あきくしすたてなねのびりるイウガクグサジスタダチツデトドニノフブペボムラリルロンヴー一万二光兜典刀剣劣匠双古名吹咆品哮地大天太子安宝小帽弓弩当息悪戦手指斧書服木本杖業樹歴殺水氷法火炎牙物玉王産用界異的皮盾短石砕竜紫綿耳聖脛腕腿般良色衣袋覇質軍軽輝輪重量金鉄鎧闇陽靴額飾首骨鬼龍]/.freeze
- Eighth =
1.quo(8)
- SystemCuisine =
{ '焼き肉' => Cuisine.new( Vec[ 5, 0, 0] ), # ☆1 '焼き金肉' => Cuisine.new( Vec[10, 0, 0] ), # ☆3 '焼き黄金肉' => Cuisine.new( Vec[15, 0, 0] ), # ☆5 '焼きリンゴ' => Cuisine.new( Vec[ 0, 5, 0] ), # ☆1 '焼きイチゴ' => Cuisine.new( Vec[ 0, 10, 0] ), # ☆3 '焼きネギタマ' => Cuisine.new( Vec[ 0, 15, 0] ), # ☆5 'サボテン焼き1' => Cuisine.new( Vec[ 5, 5, 0] ), # ☆1 'サボテンバーガー' => Cuisine.new( Vec[10, 10, 0] ), # ☆3 'サボテン焼き7' => Cuisine.new( Vec[15, 15, 0] ), # ☆7 '獣肉とカエン酒の丸焼き' => Cuisine.new( Vec[ 8, 0, 0] ), # 料理Lv0 'ドランギョと煉獄酒の丸焼き' => Cuisine.new( Vec[15, 11, 6] ), # 料理Lv15 'ドラバーンと煉獄酒の丸焼き' => Cuisine.new( Vec[23, 17, 9] ), # 料理Lv24 'フレドランと煉獄酒の丸焼き' => Cuisine.new( Vec[59, 0, 0] ), # 料理Lv27 'ダークドンと煉獄酒の丸焼き' => Cuisine.new( Vec[35, 26, 21] ), # 料理Lv27 'ダークドンと氷河酒の丸焼き' => Cuisine.new( Vec[26, 35, 15] ), # 料理Lv27 'ウッチと氷酒の蒸し焼き' => Cuisine.new( Vec[ 0, 11, 10] ), # 料理Lv0 'ゴッチと氷酒の蒸し焼き' => Cuisine.new( Vec[ 0, 15, 13] ), # 料理Lv3 'ガガッチと氷水酒の蒸し焼き' => Cuisine.new( Vec[ 0, 19, 15] ), # 料理Lv6 'ガガッチと氷河酒の蒸し焼き' => Cuisine.new( Vec[ 0, 22, 16] ), # 料理Lv12 'ドランギョと氷河酒の蒸し焼き' => Cuisine.new( Vec[ 6, 24, 11] ), # 料理Lv15 'ドラバーンと氷河酒の蒸し焼き' => Cuisine.new( Vec[10, 35, 19] ), # 料理Lv24 'アースドランと氷河酒の蒸し焼き' => Cuisine.new( Vec[ 0, 87, 0] ), # 料理Lv27 'ダークドンと氷河酒の蒸し焼き' => Cuisine.new( Vec[15, 52, 38] ), # 料理Lv27 'ダークドンと煉獄酒の蒸し焼き' => Cuisine.new( Vec[15, 52, 38] ), # 料理Lv27 'ウッチとカエン酒の蒸し焼き' => Cuisine.new( Vec[ 0, 10, 11] ), # 料理Lv0 'ゴッチとカエン酒の蒸し焼き' => Cuisine.new( Vec[ 0, 13, 15] ), # 料理Lv3 'ガガッチと爆炎酒の蒸し焼き' => Cuisine.new( Vec[ 0, 15, 19] ), # 料理Lv6 'ガガッチと煉獄酒の蒸し焼き' => Cuisine.new( Vec[ 0, 16, 22] ), # 料理Lv12 'ドランギョと煉獄酒の蒸し焼き' => Cuisine.new( Vec[ 9, 18, 15] ), # 料理Lv15 'ドラバーンと煉獄酒の蒸し焼き' => Cuisine.new( Vec[14, 26, 25] ), # 料理Lv24 'アクアドランと煉獄酒の蒸し焼き' => Cuisine.new( Vec[ 0, 0, 87] ), # 料理Lv27 }
- VERSION =
"1.8.2"
- SystemEquip =
{ '安物の短剣' => Equip.new( 0, 1, 1, 0, 10, Vec[ 10, 0, 0, 0, 0, 0, 4, 5, 0], Vec[0, 0, 0]), '量産品の短剣' => Equip.new( 0, 1, 2, 0, 10, Vec[ 15, 0, 0, 0, 0, 0, 6, 7, 0], Vec[0, 0, 0]), '一般的な短剣' => Equip.new( 0, 1, 3, 0, 10, Vec[ 21, 0, 0, 0, 0, 0, 8, 10, 0], Vec[0, 0, 0]), '良質な短剣' => Equip.new( 0, 1, 4, 0, 10, Vec[ 30, 0, 0, 0, 0, 0, 12, 15, 0], Vec[0, 0, 0]), '業物の短剣' => Equip.new( 0, 1, 5, 0, 10, Vec[ 41, 0, 0, 0, 0, 0, 16, 20, 0], Vec[0, 0, 0]), '名のある短剣' => Equip.new( 0, 1, 6, 0, 10, Vec[ 55, 0, 0, 0, 0, 0, 22, 27, 0], Vec[0, 0, 0]), '匠の短剣' => Equip.new( 0, 1, 7, 0, 10, Vec[ 71, 0, 0, 0, 0, 0, 28, 35, 0], Vec[0, 0, 0]), '竜殺しの短剣' => Equip.new( 0, 1, 8, 0, 10, Vec[ 90, 0, 0, 0, 0, 0, 36, 45, 0], Vec[0, 0, 0]), '光り輝く短剣' => Equip.new( 0, 1, 9, 0, 10, Vec[ 111, 0, 0, 0, 0, 0, 44, 55, 0], Vec[0, 0, 0]), '安物の双短剣' => Equip.new( 1, 2, 1, 0, 10, Vec[ 13, 0, 0, 0, 0, 0, 3, 4, 0], Vec[0, 0, 0]), '量産品の双短剣' => Equip.new( 1, 2, 2, 0, 10, Vec[ 19, 0, 0, 0, 0, 0, 4, 6, 0], Vec[0, 0, 0]), '一般的な双短剣' => Equip.new( 1, 2, 3, 0, 10, Vec[ 27, 0, 0, 0, 0, 0, 6, 8, 0], Vec[0, 0, 0]), '良質な双短剣' => Equip.new( 1, 2, 4, 0, 10, Vec[ 39, 0, 0, 0, 0, 0, 9, 12, 0], Vec[0, 0, 0]), '業物の双短剣' => Equip.new( 1, 2, 5, 0, 10, Vec[ 53, 0, 0, 0, 0, 0, 12, 16, 0], Vec[0, 0, 0]), '名のある双短剣' => Equip.new( 1, 2, 6, 0, 10, Vec[ 71, 0, 0, 0, 0, 0, 16, 22, 0], Vec[0, 0, 0]), '匠の双短剣' => Equip.new( 1, 2, 7, 0, 10, Vec[ 92, 0, 0, 0, 0, 0, 21, 28, 0], Vec[0, 0, 0]), '竜殺しの双短剣' => Equip.new( 1, 2, 8, 0, 10, Vec[ 117, 0, 0, 0, 0, 0, 27, 36, 0], Vec[0, 0, 0]), '光り輝く双短剣' => Equip.new( 1, 2, 9, 0, 10, Vec[ 144, 0, 0, 0, 0, 0, 33, 44, 0], Vec[0, 0, 0]), '安物の剣' => Equip.new( 2, 2, 1, 0, 10, Vec[ 13, 2, 0, 4, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の剣' => Equip.new( 2, 2, 2, 0, 10, Vec[ 19, 3, 0, 6, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な剣' => Equip.new( 2, 2, 3, 0, 10, Vec[ 27, 4, 0, 8, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な剣' => Equip.new( 2, 2, 4, 0, 10, Vec[ 39, 6, 0, 12, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の剣' => Equip.new( 2, 2, 5, 0, 10, Vec[ 53, 8, 0, 16, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある剣' => Equip.new( 2, 2, 6, 0, 10, Vec[ 71, 11, 0, 22, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の剣' => Equip.new( 2, 2, 7, 0, 10, Vec[ 92, 14, 0, 28, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの剣' => Equip.new( 2, 2, 8, 0, 10, Vec[ 117, 18, 0, 36, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く剣' => Equip.new( 2, 2, 9, 0, 10, Vec[ 144, 22, 0, 44, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の斧' => Equip.new( 3, 3, 1, 0, 10, Vec[ 19, 0, 0, 0, 0, 2, 0, 0, 0], Vec[0, 0, 0]), '量産品の斧' => Equip.new( 3, 3, 2, 0, 10, Vec[ 23, 0, 0, 0, 0, 3, 0, 0, 0], Vec[0, 0, 0]), '一般的な斧' => Equip.new( 3, 3, 3, 0, 10, Vec[ 40, 0, 0, 0, 0, 4, 0, 0, 0], Vec[0, 0, 0]), '良質な斧' => Equip.new( 3, 3, 4, 0, 10, Vec[ 57, 0, 0, 0, 0, 6, 0, 0, 0], Vec[0, 0, 0]), '業物の斧' => Equip.new( 3, 3, 5, 0, 10, Vec[ 78, 0, 0, 0, 0, 8, 0, 0, 0], Vec[0, 0, 0]), '名のある斧' => Equip.new( 3, 3, 6, 0, 10, Vec[ 104, 0, 0, 0, 0, 11, 0, 0, 0], Vec[0, 0, 0]), '匠の斧' => Equip.new( 3, 3, 7, 0, 10, Vec[ 135, 0, 0, 0, 0, 14, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの斧' => Equip.new( 3, 3, 8, 0, 10, Vec[ 171, 0, 0, 0, 0, 18, 0, 0, 0], Vec[0, 0, 0]), '光り輝く斧' => Equip.new( 3, 3, 9, 0, 10, Vec[ 211, 0, 0, 0, 0, 22, 0, 0, 0], Vec[0, 0, 0]), '安物の弓' => Equip.new( 4, 2, 1, 0, 10, Vec[ 8, 0, 0, 0, 0, 0, 10, 1, 1], Vec[0, 0, 0]), '量産品の弓' => Equip.new( 4, 2, 2, 0, 10, Vec[ 12, 0, 0, 0, 0, 0, 15, 1, 1], Vec[0, 0, 0]), '一般的な弓' => Equip.new( 4, 2, 3, 0, 10, Vec[ 17, 0, 0, 0, 0, 0, 21, 2, 2], Vec[0, 0, 0]), '良質な弓' => Equip.new( 4, 2, 4, 0, 10, Vec[ 24, 0, 0, 0, 0, 0, 30, 3, 3], Vec[0, 0, 0]), '業物の弓' => Equip.new( 4, 2, 5, 0, 10, Vec[ 33, 0, 0, 0, 0, 0, 41, 4, 4], Vec[0, 0, 0]), '名のある弓' => Equip.new( 4, 2, 6, 0, 10, Vec[ 44, 0, 0, 0, 0, 0, 55, 5, 5], Vec[0, 0, 0]), '匠の弓' => Equip.new( 4, 2, 7, 0, 10, Vec[ 57, 0, 0, 0, 0, 0, 71, 7, 7], Vec[0, 0, 0]), '竜殺しの弓' => Equip.new( 4, 2, 8, 0, 10, Vec[ 72, 0, 0, 0, 0, 0, 90, 9, 9], Vec[0, 0, 0]), '光り輝く弓' => Equip.new( 4, 2, 9, 0, 10, Vec[ 89, 0, 0, 0, 0, 0, 111, 11, 11], Vec[0, 0, 0]), '安物の弩' => Equip.new( 5, 2, 1, 0, 10, Vec[ 7, 0, 0, 0, 1, 0, 9, 2, 0], Vec[0, 0, 0]), '量産品の弩' => Equip.new( 5, 2, 2, 0, 10, Vec[ 10, 0, 0, 0, 1, 0, 13, 3, 0], Vec[0, 0, 0]), '一般的な弩' => Equip.new( 5, 2, 3, 0, 10, Vec[ 14, 0, 0, 0, 2, 0, 19, 4, 0], Vec[0, 0, 0]), '良質な弩' => Equip.new( 5, 2, 4, 0, 10, Vec[ 21, 0, 0, 0, 3, 0, 27, 6, 0], Vec[0, 0, 0]), '業物の弩' => Equip.new( 5, 2, 5, 0, 10, Vec[ 28, 0, 0, 0, 4, 0, 37, 8, 0], Vec[0, 0, 0]), '名のある弩' => Equip.new( 5, 2, 6, 0, 10, Vec[ 38, 0, 0, 0, 5, 0, 49, 11, 0], Vec[0, 0, 0]), '匠の弩' => Equip.new( 5, 2, 7, 0, 10, Vec[ 49, 0, 0, 0, 7, 0, 64, 14, 0], Vec[0, 0, 0]), '竜殺しの弩' => Equip.new( 5, 2, 8, 0, 10, Vec[ 63, 0, 0, 0, 9, 0, 81, 18, 0], Vec[0, 0, 0]), '光り輝く弩' => Equip.new( 5, 2, 9, 0, 10, Vec[ 77, 0, 0, 0, 11, 0, 100, 22, 0], Vec[0, 0, 0]), '安物の杖' => Equip.new( 6, 2, 1, 0, 10, Vec[ 5, 0, 0, 0, 3, 0, 0, 0, 11], Vec[0, 0, 0]), '量産品の杖' => Equip.new( 6, 2, 2, 0, 10, Vec[ 7, 0, 0, 0, 4, 0, 0, 0, 16], Vec[0, 0, 0]), '一般的な杖' => Equip.new( 6, 2, 3, 0, 10, Vec[ 10, 0, 0, 0, 6, 0, 0, 0, 23], Vec[0, 0, 0]), '良質な杖' => Equip.new( 6, 2, 4, 0, 10, Vec[ 15, 0, 0, 0, 9, 0, 0, 0, 33], Vec[0, 0, 0]), '業物の杖' => Equip.new( 6, 2, 5, 0, 10, Vec[ 20, 0, 0, 0, 12, 0, 0, 0, 45], Vec[0, 0, 0]), '名のある杖' => Equip.new( 6, 2, 6, 0, 10, Vec[ 27, 0, 0, 0, 16, 0, 0, 0, 60], Vec[0, 0, 0]), '匠の杖' => Equip.new( 6, 2, 7, 0, 10, Vec[ 35, 0, 0, 0, 21, 0, 0, 0, 78], Vec[0, 0, 0]), '竜殺しの杖' => Equip.new( 6, 2, 8, 0, 10, Vec[ 45, 0, 0, 0, 27, 0, 0, 0, 99], Vec[0, 0, 0]), '光り輝く杖' => Equip.new( 6, 2, 9, 0, 10, Vec[ 55, 0, 0, 0, 33, 0, 0, 0, 122], Vec[0, 0, 0]), '安物の本' => Equip.new( 7, 2, 1, 0, 10, Vec[ 8, 0, 2, 0, 2, 0, 0, 0, 8], Vec[0, 0, 0]), '量産品の本' => Equip.new( 7, 2, 2, 0, 10, Vec[ 12, 0, 3, 0, 3, 0, 0, 0, 12], Vec[0, 0, 0]), '一般的な本' => Equip.new( 7, 2, 3, 0, 10, Vec[ 17, 0, 4, 0, 4, 0, 0, 0, 17], Vec[0, 0, 0]), '良質な本' => Equip.new( 7, 2, 4, 0, 10, Vec[ 24, 0, 6, 0, 6, 0, 0, 0, 24], Vec[0, 0, 0]), '業物の本' => Equip.new( 7, 2, 5, 0, 10, Vec[ 33, 0, 8, 0, 8, 0, 0, 0, 33], Vec[0, 0, 0]), '名のある本' => Equip.new( 7, 2, 6, 0, 10, Vec[ 44, 0, 11, 0, 11, 0, 0, 0, 44], Vec[0, 0, 0]), '匠の本' => Equip.new( 7, 2, 7, 0, 10, Vec[ 57, 0, 14, 0, 14, 0, 0, 0, 57], Vec[0, 0, 0]), '竜殺しの本' => Equip.new( 7, 2, 8, 0, 10, Vec[ 72, 0, 18, 0, 18, 0, 0, 0, 72], Vec[0, 0, 0]), '光り輝く本' => Equip.new( 7, 2, 9, 0, 10, Vec[ 89, 0, 22, 0, 22, 0, 0, 0, 89], Vec[0, 0, 0]), '安物の兜' => Equip.new( 8, 2, 1, 0, 10, Vec[ 0, 5, 0, 15, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の兜' => Equip.new( 8, 2, 2, 0, 10, Vec[ 0, 8, 0, 25, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な兜' => Equip.new( 8, 2, 3, 0, 10, Vec[ 0, 12, 0, 37, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な兜' => Equip.new( 8, 2, 4, 0, 10, Vec[ 0, 18, 0, 55, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の兜' => Equip.new( 8, 2, 5, 0, 10, Vec[ 0, 25, 0, 77, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある兜' => Equip.new( 8, 2, 6, 0, 10, Vec[ 0, 35, 0, 105, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の兜' => Equip.new( 8, 2, 7, 0, 10, Vec[ 0, 45, 0, 137, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの兜' => Equip.new( 8, 2, 8, 0, 10, Vec[ 0, 58, 0, 175, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く兜' => Equip.new( 8, 2, 9, 0, 10, Vec[ 0, 72, 0, 217, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の兜' => Equip.new( 8, 2, 10, 0, 10, Vec[ 0, 88, 0, 265, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の額当て' => Equip.new( 9, 1, 1, 0, 10, Vec[ 0, 3, 1, 10, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の額当て' => Equip.new( 9, 1, 2, 0, 10, Vec[ 0, 5, 1, 16, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な額当て' => Equip.new( 9, 1, 3, 0, 10, Vec[ 0, 7, 2, 25, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な額当て' => Equip.new( 9, 1, 4, 0, 10, Vec[ 0, 11, 3, 36, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の額当て' => Equip.new( 9, 1, 5, 0, 10, Vec[ 0, 15, 5, 51, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある額当て' => Equip.new( 9, 1, 6, 0, 10, Vec[ 0, 21, 7, 70, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の額当て' => Equip.new( 9, 1, 7, 0, 10, Vec[ 0, 27, 9, 91, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの額当て' => Equip.new( 9, 1, 8, 0, 10, Vec[ 0, 35, 11, 116, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く額当て' => Equip.new( 9, 1, 9, 0, 10, Vec[ 0, 43, 14, 145, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の額当て' => Equip.new( 9, 1, 10, 0, 10, Vec[ 0, 53, 17, 176, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の帽子' => Equip.new(10, 1, 1, 0, 10, Vec[ 0, 2, 2, 7, 2, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の帽子' => Equip.new(10, 1, 2, 0, 10, Vec[ 0, 3, 3, 11, 3, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な帽子' => Equip.new(10, 1, 3, 0, 10, Vec[ 0, 5, 5, 17, 5, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な帽子' => Equip.new(10, 1, 4, 0, 10, Vec[ 0, 7, 7, 25, 7, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の帽子' => Equip.new(10, 1, 5, 0, 10, Vec[ 0, 10, 10, 36, 10, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある帽子' => Equip.new(10, 1, 6, 0, 10, Vec[ 0, 14, 14, 49, 14, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の帽子' => Equip.new(10, 1, 7, 0, 10, Vec[ 0, 18, 18, 64, 18, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの帽子' => Equip.new(10, 1, 8, 0, 10, Vec[ 0, 23, 23, 81, 23, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く帽子' => Equip.new(10, 1, 9, 0, 10, Vec[ 0, 29, 29, 101, 29, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の帽子' => Equip.new(10, 1, 10, 0, 10, Vec[ 0, 35, 35, 123, 35, 0, 0, 0, 0], Vec[0, 0, 0]), '安物のフード' => Equip.new(11, 1, 1, 0, 10, Vec[ 0, 2, 4, 4, 3, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品のフード' => Equip.new(11, 1, 2, 0, 10, Vec[ 0, 3, 6, 6, 5, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的なフード' => Equip.new(11, 1, 3, 0, 10, Vec[ 0, 5, 10, 10, 7, 0, 0, 0, 0], Vec[0, 0, 0]), '良質なフード' => Equip.new(11, 1, 4, 0, 10, Vec[ 0, 7, 14, 14, 11, 0, 0, 0, 0], Vec[0, 0, 0]), '業物のフード' => Equip.new(11, 1, 5, 0, 10, Vec[ 0, 10, 20, 20, 15, 0, 0, 0, 0], Vec[0, 0, 0]), '名のあるフード' => Equip.new(11, 1, 6, 0, 10, Vec[ 0, 14, 28, 28, 21, 0, 0, 0, 0], Vec[0, 0, 0]), '匠のフード' => Equip.new(11, 1, 7, 0, 10, Vec[ 0, 18, 36, 36, 27, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しのフード' => Equip.new(11, 1, 8, 0, 10, Vec[ 0, 23, 46, 46, 35, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝くフード' => Equip.new(11, 1, 9, 0, 10, Vec[ 0, 29, 58, 58, 43, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦のフード' => Equip.new(11, 1, 10, 0, 10, Vec[ 0, 35, 70, 70, 53, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の重鎧' => Equip.new(12, 3, 1, 0, 10, Vec[ 0, 12, 2, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の重鎧' => Equip.new(12, 3, 2, 0, 10, Vec[ 0, 20, 3, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な重鎧' => Equip.new(12, 3, 3, 0, 10, Vec[ 0, 30, 5, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な重鎧' => Equip.new(12, 3, 4, 0, 10, Vec[ 0, 44, 7, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の重鎧' => Equip.new(12, 3, 5, 0, 10, Vec[ 0, 62, 10, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある重鎧' => Equip.new(12, 3, 6, 0, 10, Vec[ 0, 84, 14, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の重鎧' => Equip.new(12, 3, 7, 0, 10, Vec[ 0, 110, 18, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの重鎧' => Equip.new(12, 3, 8, 0, 10, Vec[ 0, 140, 23, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く重鎧' => Equip.new(12, 3, 9, 0, 10, Vec[ 0, 174, 29, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の重鎧' => Equip.new(12, 3, 10, 0, 10, Vec[ 0, 212, 35, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の軽鎧' => Equip.new(13, 2, 1, 0, 10, Vec[ 0, 8, 4, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の軽鎧' => Equip.new(13, 2, 2, 0, 10, Vec[ 0, 13, 6, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な軽鎧' => Equip.new(13, 2, 3, 0, 10, Vec[ 0, 20, 10, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な軽鎧' => Equip.new(13, 2, 4, 0, 10, Vec[ 0, 29, 14, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の軽鎧' => Equip.new(13, 2, 5, 0, 10, Vec[ 0, 41, 20, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある軽鎧' => Equip.new(13, 2, 6, 0, 10, Vec[ 0, 41, 20, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の軽鎧' => Equip.new(13, 2, 7, 0, 10, Vec[ 0, 56, 28, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの軽鎧' => Equip.new(13, 2, 8, 0, 10, Vec[ 0, 73, 36, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く軽鎧' => Equip.new(13, 2, 9, 0, 10, Vec[ 0, 93, 46, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の軽鎧' => Equip.new(13, 2, 10, 0, 10, Vec[ 0, 116, 58, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の服' => Equip.new(14, 1, 1, 0, 10, Vec[ 0, 6, 6, 0, 0, 0, 3, 0, 0], Vec[0, 0, 0]), '量産品の服' => Equip.new(14, 1, 2, 0, 10, Vec[ 0, 10, 10, 0, 0, 0, 5, 0, 0], Vec[0, 0, 0]), '一般的な服' => Equip.new(14, 1, 3, 0, 10, Vec[ 0, 15, 15, 0, 0, 0, 7, 0, 0], Vec[0, 0, 0]), '良質な服' => Equip.new(14, 1, 4, 0, 10, Vec[ 0, 22, 22, 0, 0, 0, 11, 0, 0], Vec[0, 0, 0]), '業物の服' => Equip.new(14, 1, 5, 0, 10, Vec[ 0, 31, 31, 0, 0, 0, 15, 0, 0], Vec[0, 0, 0]), '名のある服' => Equip.new(14, 1, 6, 0, 10, Vec[ 0, 42, 42, 0, 0, 0, 21, 0, 0], Vec[0, 0, 0]), '匠の服' => Equip.new(14, 1, 7, 0, 10, Vec[ 0, 55, 55, 0, 0, 0, 27, 0, 0], Vec[0, 0, 0]), '竜殺しの服' => Equip.new(14, 1, 8, 0, 10, Vec[ 0, 70, 70, 0, 0, 0, 35, 0, 0], Vec[0, 0, 0]), '光り輝く服' => Equip.new(14, 1, 9, 0, 10, Vec[ 0, 87, 87, 0, 0, 0, 43, 0, 0], Vec[0, 0, 0]), '歴戦の服' => Equip.new(14, 1, 10, 0, 10, Vec[ 0, 106, 106, 0, 0, 0, 53, 0, 0], Vec[0, 0, 0]), '安物の法衣' => Equip.new(15, 1, 1, 0, 10, Vec[ 0, 5, 9, 0, 0, 0, 0, 0, 3], Vec[0, 0, 0]), '量産品の法衣' => Equip.new(15, 1, 2, 0, 10, Vec[ 0, 8, 15, 0, 0, 0, 0, 0, 5], Vec[0, 0, 0]), '一般的な法衣' => Equip.new(15, 1, 3, 0, 10, Vec[ 0, 12, 22, 0, 0, 0, 0, 0, 7], Vec[0, 0, 0]), '良質な法衣' => Equip.new(15, 1, 4, 0, 10, Vec[ 0, 18, 33, 0, 0, 0, 0, 0, 11], Vec[0, 0, 0]), '業物の法衣' => Equip.new(15, 1, 5, 0, 10, Vec[ 0, 25, 46, 0, 0, 0, 0, 0, 15], Vec[0, 0, 0]), '名のある法衣' => Equip.new(15, 1, 6, 0, 10, Vec[ 0, 35, 63, 0, 0, 0, 0, 0, 21], Vec[0, 0, 0]), '匠の法衣' => Equip.new(15, 1, 7, 0, 10, Vec[ 0, 45, 82, 0, 0, 0, 0, 0, 27], Vec[0, 0, 0]), '竜殺しの法衣' => Equip.new(15, 1, 8, 0, 10, Vec[ 0, 58, 105, 0, 0, 0, 0, 0, 35], Vec[0, 0, 0]), '光り輝く法衣' => Equip.new(15, 1, 9, 0, 10, Vec[ 0, 72, 130, 0, 0, 0, 0, 0, 43], Vec[0, 0, 0]), '歴戦の法衣' => Equip.new(15, 1, 10, 0, 10, Vec[ 0, 88, 159, 0, 0, 0, 0, 0, 53], Vec[0, 0, 0]), '安物の盾' => Equip.new(16, 2, 1, 0, 10, Vec[ 0, 7, 5, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の盾' => Equip.new(16, 2, 2, 0, 10, Vec[ 0, 11, 8, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な盾' => Equip.new(16, 2, 3, 0, 10, Vec[ 0, 17, 12, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な盾' => Equip.new(16, 2, 4, 0, 10, Vec[ 0, 25, 18, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の盾' => Equip.new(16, 2, 5, 0, 10, Vec[ 0, 36, 25, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある盾' => Equip.new(16, 2, 6, 0, 10, Vec[ 0, 49, 35, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の盾' => Equip.new(16, 2, 7, 0, 10, Vec[ 0, 64, 45, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの盾' => Equip.new(16, 2, 8, 0, 10, Vec[ 0, 81, 58, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く盾' => Equip.new(16, 2, 9, 0, 10, Vec[ 0, 101, 72, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の盾' => Equip.new(16, 2, 10, 0, 10, Vec[ 0, 123, 88, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の小手' => Equip.new(17, 1, 1, 0, 10, Vec[ 3, 4, 3, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の小手' => Equip.new(17, 1, 2, 0, 10, Vec[ 5, 6, 5, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な小手' => Equip.new(17, 1, 3, 0, 10, Vec[ 7, 10, 7, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な小手' => Equip.new(17, 1, 4, 0, 10, Vec[ 11, 14, 11, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の小手' => Equip.new(17, 1, 5, 0, 10, Vec[ 15, 20, 15, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある小手' => Equip.new(17, 1, 6, 0, 10, Vec[ 21, 28, 21, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の小手' => Equip.new(17, 1, 7, 0, 10, Vec[ 27, 36, 27, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの小手' => Equip.new(17, 1, 8, 0, 10, Vec[ 35, 46, 35, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く小手' => Equip.new(17, 1, 9, 0, 10, Vec[ 43, 58, 43, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の小手' => Equip.new(17, 1, 10, 0, 10, Vec[ 53, 70, 53, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物の手袋' => Equip.new(18, 1, 1, 0, 10, Vec[ 0, 4, 5, 0, 0, 0, 3, 0, 0], Vec[0, 0, 0]), '量産品の手袋' => Equip.new(18, 1, 2, 0, 10, Vec[ 0, 6, 8, 0, 0, 0, 5, 0, 0], Vec[0, 0, 0]), '一般的な手袋' => Equip.new(18, 1, 3, 0, 10, Vec[ 0, 10, 12, 0, 0, 0, 7, 0, 0], Vec[0, 0, 0]), '良質な手袋' => Equip.new(18, 1, 4, 0, 10, Vec[ 0, 14, 18, 0, 0, 0, 11, 0, 0], Vec[0, 0, 0]), '業物の手袋' => Equip.new(18, 1, 5, 0, 10, Vec[ 0, 20, 25, 0, 0, 0, 15, 0, 0], Vec[0, 0, 0]), '名のある手袋' => Equip.new(18, 1, 6, 0, 10, Vec[ 0, 28, 35, 0, 0, 0, 21, 0, 0], Vec[0, 0, 0]), '匠の手袋' => Equip.new(18, 1, 7, 0, 10, Vec[ 0, 36, 45, 0, 0, 0, 27, 0, 0], Vec[0, 0, 0]), '竜殺しの手袋' => Equip.new(18, 1, 8, 0, 10, Vec[ 0, 46, 58, 0, 0, 0, 35, 0, 0], Vec[0, 0, 0]), '光り輝く手袋' => Equip.new(18, 1, 9, 0, 10, Vec[ 0, 58, 72, 0, 0, 0, 43, 0, 0], Vec[0, 0, 0]), '歴戦の手袋' => Equip.new(18, 1, 10, 0, 10, Vec[ 0, 70, 88, 0, 0, 0, 53, 0, 0], Vec[0, 0, 0]), '安物の腕輪' => Equip.new(19, 1, 1, 0, 10, Vec[ 0, 3, 6, 0, 0, 0, 0, 0, 3], Vec[0, 0, 0]), '量産品の腕輪' => Equip.new(19, 1, 2, 0, 10, Vec[ 0, 5, 10, 0, 0, 0, 0, 0, 5], Vec[0, 0, 0]), '一般的な腕輪' => Equip.new(19, 1, 3, 0, 10, Vec[ 0, 7, 15, 0, 0, 0, 0, 0, 7], Vec[0, 0, 0]), '良質な腕輪' => Equip.new(19, 1, 4, 0, 10, Vec[ 0, 11, 22, 0, 0, 0, 0, 0, 11], Vec[0, 0, 0]), '業物の腕輪' => Equip.new(19, 1, 5, 0, 10, Vec[ 0, 15, 31, 0, 0, 0, 0, 0, 15], Vec[0, 0, 0]), '名のある腕輪' => Equip.new(19, 1, 6, 0, 10, Vec[ 0, 21, 42, 0, 0, 0, 0, 0, 21], Vec[0, 0, 0]), '匠の腕輪' => Equip.new(19, 1, 7, 0, 10, Vec[ 0, 27, 44, 0, 0, 0, 0, 0, 27], Vec[0, 0, 0]), '竜殺しの腕輪' => Equip.new(19, 1, 8, 0, 10, Vec[ 0, 35, 70, 0, 0, 0, 0, 0, 35], Vec[0, 0, 0]), '光り輝く腕輪' => Equip.new(19, 1, 9, 0, 10, Vec[ 0, 43, 87, 0, 0, 0, 0, 0, 43], Vec[0, 0, 0]), '歴戦の腕輪' => Equip.new(19, 1, 10, 0, 10, Vec[ 0, 53, 106, 0, 0, 0, 0, 0, 53], Vec[0, 0, 0]), '安物の脛当て' => Equip.new(20, 2, 1, 0, 10, Vec[ 0, 7, 2, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '量産品の脛当て' => Equip.new(20, 2, 2, 0, 10, Vec[ 0, 11, 3, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '一般的な脛当て' => Equip.new(20, 2, 3, 0, 10, Vec[ 0, 17, 5, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '良質な脛当て' => Equip.new(20, 2, 4, 0, 10, Vec[ 0, 25, 7, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '業物の脛当て' => Equip.new(20, 2, 5, 0, 10, Vec[ 0, 36, 10, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '名のある脛当て' => Equip.new(20, 2, 6, 0, 10, Vec[ 0, 49, 14, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '匠の脛当て' => Equip.new(20, 2, 7, 0, 10, Vec[ 0, 64, 18, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '竜殺しの脛当て' => Equip.new(20, 2, 8, 0, 10, Vec[ 0, 81, 23, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '光り輝く脛当て' => Equip.new(20, 2, 9, 0, 10, Vec[ 0, 101, 29, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '歴戦の脛当て' => Equip.new(20, 2, 10, 0, 10, Vec[ 0, 123, 35, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '安物のブーツ' => Equip.new(21, 1, 1, 0, 10, Vec[ 0, 4, 4, 0, 0, 0, 0, 2, 0], Vec[0, 0, 0]), '量産品のブーツ' => Equip.new(21, 1, 2, 0, 10, Vec[ 0, 6, 6, 0, 0, 0, 0, 3, 0], Vec[0, 0, 0]), '一般的なブーツ' => Equip.new(21, 1, 3, 0, 10, Vec[ 0, 10, 10, 0, 0, 0, 0, 5, 0], Vec[0, 0, 0]), '良質なブーツ' => Equip.new(21, 1, 4, 0, 10, Vec[ 0, 14, 14, 0, 0, 0, 0, 7, 0], Vec[0, 0, 0]), '業物のブーツ' => Equip.new(21, 1, 5, 0, 10, Vec[ 0, 20, 20, 0, 0, 0, 0, 10, 0], Vec[0, 0, 0]), '名のあるブーツ' => Equip.new(21, 1, 6, 0, 10, Vec[ 0, 28, 28, 0, 0, 0, 0, 14, 0], Vec[0, 0, 0]), '匠のブーツ' => Equip.new(21, 1, 7, 0, 10, Vec[ 0, 36, 36, 0, 0, 0, 0, 18, 0], Vec[0, 0, 0]), '竜殺しのブーツ' => Equip.new(21, 1, 8, 0, 10, Vec[ 0, 46, 46, 0, 0, 0, 0, 23, 0], Vec[0, 0, 0]), '光り輝くブーツ' => Equip.new(21, 1, 9, 0, 10, Vec[ 0, 58, 58, 0, 0, 0, 0, 29, 0], Vec[0, 0, 0]), '歴戦のブーツ' => Equip.new(21, 1, 10, 0, 10, Vec[ 0, 70, 70, 0, 0, 0, 0, 35, 0], Vec[0, 0, 0]), '安物の靴' => Equip.new(22, 1, 1, 0, 10, Vec[ 0, 3, 3, 0, 0, 0, 0, 4, 0], Vec[0, 0, 0]), '量産品の靴' => Equip.new(22, 1, 2, 0, 10, Vec[ 0, 5, 5, 0, 0, 0, 0, 6, 0], Vec[0, 0, 0]), '一般的な靴' => Equip.new(22, 1, 3, 0, 10, Vec[ 0, 7, 7, 0, 0, 0, 0, 10, 0], Vec[0, 0, 0]), '良質な靴' => Equip.new(22, 1, 4, 0, 10, Vec[ 0, 11, 11, 0, 0, 0, 0, 14, 0], Vec[0, 0, 0]), '業物の靴' => Equip.new(22, 1, 5, 0, 10, Vec[ 0, 15, 15, 0, 0, 0, 0, 20, 0], Vec[0, 0, 0]), '名のある靴' => Equip.new(22, 1, 6, 0, 10, Vec[ 0, 21, 21, 0, 0, 0, 0, 28, 0], Vec[0, 0, 0]), '匠の靴' => Equip.new(22, 1, 7, 0, 10, Vec[ 0, 27, 27, 0, 0, 0, 0, 36, 0], Vec[0, 0, 0]), '竜殺しの靴' => Equip.new(22, 1, 8, 0, 10, Vec[ 0, 35, 35, 0, 0, 0, 0, 46, 0], Vec[0, 0, 0]), '光り輝く靴' => Equip.new(22, 1, 9, 0, 10, Vec[ 0, 43, 43, 0, 0, 0, 0, 58, 0], Vec[0, 0, 0]), '歴戦の靴' => Equip.new(22, 1, 10, 0, 10, Vec[ 0, 53, 53, 0, 0, 0, 0, 70, 0], Vec[0, 0, 0]), '安物のサンダル' => Equip.new(23, 1, 1, 0, 10, Vec[ 0, 2, 5, 0, 0, 0, 0, 3, 0], Vec[0, 0, 0]), '量産品のサンダル' => Equip.new(23, 1, 2, 0, 10, Vec[ 0, 3, 8, 0, 0, 0, 0, 5, 0], Vec[0, 0, 0]), '一般的なサンダル' => Equip.new(23, 1, 3, 0, 10, Vec[ 0, 5, 12, 0, 0, 0, 0, 7, 0], Vec[0, 0, 0]), '良質なサンダル' => Equip.new(23, 1, 4, 0, 10, Vec[ 0, 7, 18, 0, 0, 0, 0, 11, 0], Vec[0, 0, 0]), '業物のサンダル' => Equip.new(23, 1, 5, 0, 10, Vec[ 0, 10, 25, 0, 0, 0, 0, 15, 0], Vec[0, 0, 0]), '名のあるサンダル' => Equip.new(23, 1, 6, 0, 10, Vec[ 0, 14, 35, 0, 0, 0, 0, 21, 0], Vec[0, 0, 0]), '匠のサンダル' => Equip.new(23, 1, 7, 0, 10, Vec[ 0, 18, 45, 0, 0, 0, 0, 27, 0], Vec[0, 0, 0]), '竜殺しのサンダル' => Equip.new(23, 1, 8, 0, 10, Vec[ 0, 23, 58, 0, 0, 0, 0, 35, 0], Vec[0, 0, 0]), '光り輝くサンダル' => Equip.new(23, 1, 9, 0, 10, Vec[ 0, 29, 72, 0, 0, 0, 0, 43, 0], Vec[0, 0, 0]), '歴戦のサンダル' => Equip.new(23, 1, 10, 0, 10, Vec[ 0, 35, 88, 0, 0, 0, 0, 53, 0], Vec[0, 0, 0]), '安物のブローチ' => Equip.new(24, 1, 1, 0, 10, Vec[ 0, 0, 0, 0, 0, 5, 0, 0, 0], Vec[0, 0, 0]), '量産品のブローチ' => Equip.new(24, 1, 2, 0, 10, Vec[ 0, 0, 0, 0, 0, 8, 0, 0, 0], Vec[0, 0, 0]), '一般的なブローチ' => Equip.new(24, 1, 3, 0, 10, Vec[ 0, 0, 0, 0, 0, 12, 0, 0, 0], Vec[0, 0, 0]), '良質なブローチ' => Equip.new(24, 1, 4, 0, 10, Vec[ 0, 0, 0, 0, 0, 18, 0, 0, 0], Vec[0, 0, 0]), '業物のブローチ' => Equip.new(24, 1, 5, 0, 10, Vec[ 0, 0, 0, 0, 0, 25, 0, 0, 0], Vec[0, 0, 0]), '名のあるブローチ' => Equip.new(24, 1, 6, 0, 10, Vec[ 0, 0, 0, 0, 0, 35, 0, 0, 0], Vec[0, 0, 0]), '匠のブローチ' => Equip.new(24, 1, 7, 0, 10, Vec[ 0, 0, 0, 0, 0, 45, 0, 0, 0], Vec[0, 0, 0]), '竜殺しのブローチ' => Equip.new(24, 1, 8, 0, 10, Vec[ 0, 0, 0, 0, 0, 58, 0, 0, 0], Vec[0, 0, 0]), '光り輝くブローチ' => Equip.new(24, 1, 9, 0, 10, Vec[ 0, 0, 0, 0, 0, 72, 0, 0, 0], Vec[0, 0, 0]), '歴戦のブローチ' => Equip.new(24, 1, 10, 0, 10, Vec[ 0, 0, 0, 0, 0, 88, 0, 0, 0], Vec[0, 0, 0]), '安物の指輪' => Equip.new(25, 1, 1, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 5, 0, 0], Vec[0, 0, 0]), '量産品の指輪' => Equip.new(25, 1, 2, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 8, 0, 0], Vec[0, 0, 0]), '一般的な指輪' => Equip.new(25, 1, 3, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 12, 0, 0], Vec[0, 0, 0]), '良質な指輪' => Equip.new(25, 1, 4, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 18, 0, 0], Vec[0, 0, 0]), '業物の指輪' => Equip.new(25, 1, 5, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 25, 0, 0], Vec[0, 0, 0]), '名のある指輪' => Equip.new(25, 1, 6, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 35, 0, 0], Vec[0, 0, 0]), '匠の指輪' => Equip.new(25, 1, 7, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 45, 0, 0], Vec[0, 0, 0]), '竜殺しの指輪' => Equip.new(25, 1, 8, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 58, 0, 0], Vec[0, 0, 0]), '光り輝く指輪' => Equip.new(25, 1, 9, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 72, 0, 0], Vec[0, 0, 0]), '歴戦の指輪' => Equip.new(25, 1, 10, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 88, 0, 0], Vec[0, 0, 0]), '安物の首飾り' => Equip.new(26, 1, 1, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 5, 0], Vec[0, 0, 0]), '量産品の首飾り' => Equip.new(26, 1, 2, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 8, 0], Vec[0, 0, 0]), '一般的な首飾り' => Equip.new(26, 1, 3, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 12, 0], Vec[0, 0, 0]), '良質な首飾り' => Equip.new(26, 1, 4, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 18, 0], Vec[0, 0, 0]), '業物の首飾り' => Equip.new(26, 1, 5, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 25, 0], Vec[0, 0, 0]), '名のある首飾り' => Equip.new(26, 1, 6, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 35, 0], Vec[0, 0, 0]), '匠の首飾り' => Equip.new(26, 1, 7, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 45, 0], Vec[0, 0, 0]), '竜殺しの首飾り' => Equip.new(26, 1, 8, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 58, 0], Vec[0, 0, 0]), '光り輝く首飾り' => Equip.new(26, 1, 9, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 72, 0], Vec[0, 0, 0]), '歴戦の首飾り' => Equip.new(26, 1, 10, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 88, 0], Vec[0, 0, 0]), '安物の耳飾り' => Equip.new(27, 1, 1, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 5], Vec[0, 0, 0]), '量産品の耳飾り' => Equip.new(27, 1, 2, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 8], Vec[0, 0, 0]), '一般的な耳飾り' => Equip.new(27, 1, 3, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 12], Vec[0, 0, 0]), '良質な耳飾り' => Equip.new(27, 1, 4, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 18], Vec[0, 0, 0]), '業物の耳飾り' => Equip.new(27, 1, 5, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 25], Vec[0, 0, 0]), '名のある耳飾り' => Equip.new(27, 1, 6, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 35], Vec[0, 0, 0]), '匠の耳飾り' => Equip.new(27, 1, 7, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 45], Vec[0, 0, 0]), '竜殺しの耳飾り' => Equip.new(27, 1, 8, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 58], Vec[0, 0, 0]), '光り輝く耳飾り' => Equip.new(27, 1, 9, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 72], Vec[0, 0, 0]), '歴戦の耳飾り' => Equip.new(27, 1, 10, 0, 10, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 88], Vec[0, 0, 0]), '紫色小太刀' => Equip.new( 0, 1, 10, 0, 5, Vec[ 200, 0, 0, 0, 0, 0, 0, 80, 0], Vec[0, 0, 0]), '氷炎二刀' => Equip.new( 1, 2, 10, 0, 5, Vec[ 170, 0, 0, 0, 0, 0, 0, 0, 100], Vec[1, 0, 1]), 'ムーンライト' => Equip.new( 2, 2, 10, 0, 4, Vec[ 270, 0, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '大腿骨砕き' => Equip.new( 3, 3, 10, 0, 8, Vec[ 250, 0, 0, 0, 0, 20, 0, 0, 0], Vec[0, 0, 0]), '小竜咆哮' => Equip.new( 4, 1, 10, 1, 4, Vec[ 50, 0, 0, 0, 0, 0, 120, 50, 0], Vec[0, 0, 0]), '軍用弩' => Equip.new( 5, 2, 10, 3, 0, Vec[ 300, 0, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '大樹の杖' => Equip.new( 6, 1, 10, 1, 6, Vec[ 0, 0, 50, 0, 20, 0, 0, 0, 170], Vec[0, 0, 0]), '闇の書' => Equip.new( 7, 1, 10, 11, 4, Vec[ 0, 0, 0, 0, 0, 0, 0, 0, 200], Vec[0, 0, 0]), 'グランクニーヴ' => Equip.new( 0, 2, 10, 0, 5, Vec[ 150, 0, 50, 0, 0, 0, 100, 80, 0], Vec[1, 1, 1]), 'デグルガウス' => Equip.new( 1, 3, 10, 0, 5, Vec[ 220, 0, 0, 0, 0, 10, 20, 75, 60], Vec[0, 0, 0]), '竜剣ラウ' => Equip.new( 2, 3, 10, 0, 4, Vec[ 240, 50, 0, 100, 0, 0, 50, 0, 100], Vec[0, 0, 0]), '覇王戦斧' => Equip.new( 3, 4, 10, 0, 8, Vec[ 350, 0, 0, 100, 0, 50, 0, 20, 0], Vec[0, 0, 0]), 'サジタリウス' => Equip.new( 4, 3, 10, 1, 4, Vec[ 100, 0, 0, 50, 0, 30, 200, 30, 30], Vec[1, 1, 1]), '炎龍の息吹' => Equip.new( 5, 3, 10, 3, 0, Vec[ 100, 0, 0, 0, 10, 0, 140, 30, 0], Vec[5, 0, 0]), '万物の杖' => Equip.new( 6, 2, 10, 1, 6, Vec[ 50, 0, 0, 20, 20, 0, 50, 0, 250], Vec[0, 0, 0]), '聖典' => Equip.new( 7, 2, 10, 11, 4, Vec[ 100, 0, 100, 50, 0, 0, 0, 0, 200], Vec[0, 0, 0]), '陽炎の兜' => Equip.new( 8, 3, 10, 2, 8, Vec[ 0, 150, 100, 1000, 0, 0, 0, 0, 0], Vec[3, 0, 0]), 'ボロボロな服' => Equip.new(14, 1, 1, 2, 10, Vec[ 0, 2, 1, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '異界の法衣' => Equip.new(15, 2, 10, 2, 10, Vec[ 0, 100, 400, 100, 10, 0, 0, 0, 50], Vec[1, 1, 1]), '竜盾デグノル' => Equip.new(16, 3, 10, 2, 10, Vec[ 0, 300, 250, 300, 0, 0, 150, 0, 0], Vec[0, 0, 3]), '天鬼の靴' => Equip.new(22, 2, 10, 2, 10, Vec[ 0, 100, 200, 0, 50, 0, 0, 200, 0], Vec[0, 3, 0]), '古びたペンダント' => Equip.new(27, 1, 10, 0, 6, Vec[ 0, 0, 0, 50, 5, 0, 0, 0, 0], Vec[1, 1, 1]), '劣悪な短剣' => Equip.new( 0, 1, 1, 0, 10, Vec[ 5, 0, 0, 0, 0, 0, 1, 1, 0], Vec[0, 0, 0]), '劣悪な双短剣' => Equip.new( 1, 2, 1, 0, 10, Vec[ 7, 0, 0, 0, 0, 0, 0, 1, 0], Vec[0, 0, 0]), '劣悪な剣' => Equip.new( 2, 2, 1, 0, 10, Vec[ 6, 0, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な斧' => Equip.new( 3, 3, 1, 0, 10, Vec[ 9, 0, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な弓' => Equip.new( 4, 1, 1, 1, 10, Vec[ 3, 0, 0, 0, 0, 0, 4, 0, 0], Vec[0, 0, 0]), '劣悪な弩' => Equip.new( 5, 2, 1, 1, 10, Vec[ 4, 0, 0, 0, 0, 0, 2, 0, 0], Vec[0, 0, 0]), '劣悪な杖' => Equip.new( 6, 2, 1, 4, 10, Vec[ 1, 0, 0, 0, 0, 0, 0, 0, 5], Vec[0, 0, 0]), '劣悪な本' => Equip.new( 7, 2, 1, 11, 10, Vec[ 5, 0, 0, 0, 0, 0, 0, 0, 3], Vec[0, 0, 0]), '劣悪な重鎧' => Equip.new(12, 3, 1, 0, 10, Vec[ 0, 7, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な軽鎧' => Equip.new(13, 2, 1, 3, 10, Vec[ 0, 4, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な服' => Equip.new(14, 1, 1, 2, 10, Vec[ 0, 2, 1, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪なローブ' => Equip.new(15, 1, 1, 2, 10, Vec[ 0, 1, 3, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な盾' => Equip.new(16, 1, 1, 0, 10, Vec[ 0, 4, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]), '劣悪な小手' => Equip.new(17, 1, 1, 0, 10, Vec[ 0, 2, 0, 0, 0, 0, 0, 0, 0], Vec[0, 0, 0]) }
- SystemEquipRegexp =
Hash.new
Class Method Summary collapse
- .check_string(str) ⇒ Object
- .clear_cache ⇒ Object
- .cuisine(*arg) ⇒ Object
- .efficient_list(recipes, start, term, out = nil, params = [:defaults], separator: ',', header: true, **kw) ⇒ Object
- .exp(smith, armor, comp = armor.tap{armor=0}) ⇒ Object
- .fib_init(min, max) ⇒ Object
- .find_lowerbound(a, b, para, start, term, opt_a: Option.new, opt_b: Option.new) ⇒ Object
- .find_lubounds(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) ⇒ Object
- .find_lubounds2(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) ⇒ Object
- .find_upperbound(a, b, para, start, opt_a: Option.new, opt_b: Option.new) ⇒ Object
- .invexp2(exp, comp) ⇒ Object
- .invexp2c(exp, s) ⇒ Object
- .invexp3(exp, sa, comp) ⇒ Object
- .invexp3c(exp, smith, armor) ⇒ Object
- .option(recipe = nil, **kw) ⇒ Object
- .parse_material(str) ⇒ Object
Class Method Details
.check_string(str) ⇒ Object
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 |
# File 'lib/mgmg/utils.rb', line 232 module_function def check_string(str) str = str.gsub(/[\s \\]/, '') if m = CharacterList.match(str) raise InvalidCharacterError.new(m) end levels = [0, 0] str.each_char do |c| if c == '(' if levels[0] == 0 levels[0] = 1 else raise InvalidBracketError.new("parentheses cannot be nested") end elsif c == ')' if levels[0] == 0 raise InvalidBracketError.new("parentheses must be opened before closing") else levels[0] -= 1 end elsif c == '[' if levels[0] != 0 raise InvalidBracketError.new("brackets cannot be nested in parentheses") else levels[1] += 1 end elsif c == ']' if levels[0] != 0 raise InvalidBracketError.new("parentheses must be closed before closing brackets") elsif levels[1] == 0 raise InvalidBracketError.new("brackets must be opened before closing") else levels[1] -= 1 end end end if levels[0] != 0 raise InvalidBracketError.new("parentheses must be closed") elsif levels[1] != 0 raise InvalidBracketError.new("brackets must be closed") end str end |
.clear_cache ⇒ Object
226 227 228 229 |
# File 'lib/mgmg/utils.rb', line 226 module_function def clear_cache CacheMLS.clear; Equip::Cache.clear; Equip::CacheML.clear; TPolynomial::Cache.clear; IR::Cache.clear nil end |
.cuisine(*arg) ⇒ Object
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/mgmg/cuisine.rb', line 124 module_function def cuisine(*arg) case arg.size when 3 if arg.all?{ |e| e.kind_of?(Integer) } then Cuisine.new( Vec[*arg] ) else raise ArgumentError, "All the cuisine parameters must be Integer." end when 1 SystemCuisine[arg[0]] or raise ArgumentError, "The cuisine name `#{arg[0]}' is not supported." when 4 Cuisine.cook(*arg) else raise ArgumentError, 'The number of argument must be 1, 3 or 4.' end end |
.efficient_list(recipes, start, term, out = nil, params = [:defaults], separator: ',', header: true, **kw) ⇒ Object
750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 |
# File 'lib/mgmg/search.rb', line 750 module_function def efficient_list(recipes, start, term, out=nil, params=[:defaults], separator: ',', header: true, **kw) i = params.index(:defaults) if i params[i] = [:smith, :armor, :comp, :exp, :para, :name] params.flatten! end ret = nil if out.kind_of?(String) File.open(out, 'w', **kw) do |f| ret = _el_sub(f, recipes, start, term, params, header, separator) end else ret = _el_sub(nil, recipes, start, term, params, header, separator) end ret end |
.exp(smith, armor, comp = armor.tap{armor=0}) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/mgmg/utils.rb', line 137 module_function def exp(smith, armor, comp=armor.tap{armor=0}) if armor <= 0 if smith <= 0 if comp <= 0 0 else (2*((comp-1)**2)) + 2 end else if comp <= 0 ((smith-1)**2) + 1 else ((smith-1)**2) + (2*((comp-1)**2)) + 3 end end else if smith <= 0 if comp <= 0 ((armor-1)**2) + 1 else ((armor-1)**2) + (2*((comp-1)**2)) + 3 end else if comp <= 0 ((smith-1)**2) + ((armor-1)**2) + 2 else ((smith-1)**2) + ((armor-1)**2) + (2*((comp-1)**2)) + 4 end end end end |
.fib_init(min, max) ⇒ Object
515 516 517 518 519 520 521 522 |
# File 'lib/mgmg/search.rb', line 515 def fib_init(min, max) z = min-1 a, b = 2, 3 while z + b < max do a, b = b, a+b end [z, z+b-a, z+a, z+b] end |
.find_lowerbound(a, b, para, start, term, opt_a: Option.new, opt_b: Option.new) ⇒ Object
527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 |
# File 'lib/mgmg/search.rb', line 527 module_function def find_lowerbound(a, b, para, start, term, opt_a: Option.new, opt_b: Option.new) if term <= start raise ArgumentError, "start < term is needed, (start, term) = (#{start}, #{term}) are given" end if a.kind_of?(Recipe) opt_a = a.option.dup a = a.recipe.dup else opt_a = opt_a.dup.set_default(a) end if b.kind_of?(Recipe) opt_b = b.option.dup b = b.recipe.dup else opt_b = opt_b.dup.set_default(b) end sca, scb = a.search(para, start, opt: opt_a), b.search(para, start, opt: opt_b) ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) if eb < ea || ( ea == eb && pa < pb ) a, b, opt_a, opt_b, sca, scb, ea, eb = b, a, opt_b, opt_a, scb, sca, eb, ea elsif eb == ea && pa == pb raise Mgmg::SearchCutException, "given recipes are equivalent at start target=#{start.comma3}" end scat, scbt = a.search(para, term, opt: opt_a), b.search(para, term, opt: opt_b) eat, ebt = Mgmg.exp(*scat), Mgmg.exp(*scbt) if eat < ebt || ( eat == ebt && opt_b.irep.para_call(para, *scbt) <= opt_a.irep.para_call(para, *scat) ) raise Mgmg::SearchCutException, "given recipes will never be reversed from start target=#{start.comma3} until term target=#{term.comma3}" end loop do loop do foo = a.find_max(para, eb, opt: opt_a) break if sca == foo = opt_a.irep.para_call(para, *foo) break if < pa sca, pa = foo, scb = b.search(para, pa, opt: opt_b) foo = Mgmg.exp(*scb) break if eb == foo eb = foo end ea = Mgmg.exp(*sca) if (eb <= ea and pa <= pb and (eb+pa)!=(ea+pb)) or (eb < ea and sca == a.search(para, pb, opt: opt_a)) then until ea < eb || ( ea == eb && pb < pa ) sca = a.find_max(para, ea-1, opt: opt_a) ea, pa = Mgmg.exp(*sca), opt_a.irep.para_call(para, *sca) end return [pa, pb] end tag = pa + Eighth raise Mgmg::SearchCutException, "given recipes are never reversed from start target=#{start.comma3} until term target=#{term.comma3}" if term < tag sca, scb = a.search(para, tag, opt: opt_a), b.search(para, tag, opt: opt_b) ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) end raise UnexpectedError end |
.find_lubounds(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) ⇒ Object
659 660 661 662 663 |
# File 'lib/mgmg/search.rb', line 659 module_function def find_lubounds(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) xl, yl = find_lowerbound(a, b, para, lower, upper, opt_a:, opt_b:) xu, yu = find_upperbound(a, b, para, upper, opt_a:, opt_b:) [xl, yl, xu, yu] end |
.find_lubounds2(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) ⇒ Object
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 |
# File 'lib/mgmg/search.rb', line 664 module_function def find_lubounds2(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) xl, yl, xu, yu = find_lubounds(a, b, para, lower, upper, opt_a: Mgmg::Option.new, opt_b: Mgmg::Option.new) if a.kind_of?(Recipe) opt_a = a.option.dup a = a.recipe else opt_a = opt_a.dup.set_default(a) end if b.kind_of?(Recipe) opt_b = b.option.dup b = b.recipe else opt_b = opt_b.dup.set_default(b) end sca, scb = a.search(para, lower, opt: opt_a), b.search(para, lower, opt: opt_b) ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) if eb < ea || ( ea == eb && pa < pb ) a, b, opt_a, opt_b, sca, scb, ea, eb = b, a, opt_b, opt_a, scb, sca, eb, ea end sca, scb = a.search(para, xl, opt: opt_a), b.search(para, yu, opt: opt_b) ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) [sca, ea, pa, scb, eb, pb] end |
.find_upperbound(a, b, para, start, opt_a: Option.new, opt_b: Option.new) ⇒ Object
586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 |
# File 'lib/mgmg/search.rb', line 586 module_function def find_upperbound(a, b, para, start, opt_a: Option.new, opt_b: Option.new) if a.kind_of?(Recipe) opt_a = a.option.dup a = a.recipe else opt_a = opt_a.dup.set_default(a) end if b.kind_of?(Recipe) opt_b = b.option.dup b = b.recipe else opt_b = opt_b.dup.set_default(b) end sca, scb = a.search(para, start, opt: opt_a), b.search(para, start, opt: opt_b) ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) if ea < eb || ( ea == eb && pb < pa ) a, b, opt_a, opt_b, sca, scb, ea, eb = b, a, opt_b, opt_a, scb, sca, eb, ea elsif eb == ea && pa == pb raise Mgmg::SearchCutException, "given recipes are equivalent at start target=#{start.comma3}" end loop do loop do foo = a.find_max(para, eb, opt: opt_a) break if sca == foo = opt_a.irep.para_call(para, *foo) break if pa < sca, pa = foo, scb = b.search(para, pa, opt: opt_b) foo = Mgmg.exp(*scb) break if eb == foo eb = foo end ea = Mgmg.exp(*sca) pb = opt_b.irep.para_call(para, *scb) if ea <= eb and pb <= pa and (ea+pb)!=(eb+pa) then until pa < pb scb = b.search(para, pb+Eighth, opt: opt_b) pb = opt_b.irep.para_call(para, *scb) end return [pa, pb] elsif ea < eb return [pa, pb] if scb == b.search(para, pa, opt: opt_b) end tag = [ea, eb].min - 1 begin scb = b.find_max(para, tag, opt: opt_b) rescue Mgmg::SearchCutException eb, pb = Mgmg.exp(*scb), opt_b.irep.para_call(para, *scb) begin sca = a.find_max(para, eb, opt: opt_a) ea, pa = Mgmg.exp(*sca), opt_a.irep.para_call(para, *sca) while eb <= ea sca = a.find_max(para, ea-1, opt: opt_a) ea, pa = Mgmg.exp(*sca), opt_a.irep.para_call(para, *sca) end rescue Mgmg::SearchCutException raise Mgmg::SearchCutException, "given recipes are never reversed from the start target=#{start.comma3} until #{pa.comma3}" end return [pa, pb] end begin sca = a.find_max(para, tag, opt: opt_a) rescue Mgmg::SearchCutException raise Mgmg::SearchCutException, "given recipes are never reversed from the start target=#{start.comma3} until #{opt_a.irep.para_call(para, *sca).comma3}" end ea, eb = Mgmg.exp(*sca), Mgmg.exp(*scb) pa, pb = opt_a.irep.para_call(para, *sca), opt_b.irep.para_call(para, *scb) end raise UnexpectedError end |
.invexp2(exp, comp) ⇒ Object
168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/mgmg/utils.rb', line 168 module_function def invexp2(exp, comp) raise ArgumentError, "exp must be finite" unless exp.finite? begin ret = Math.sqrt(exp - (2*((comp-1)**2)) - 3).floor + 2 rescue Math::DomainError return -1 end if Mgmg.exp(ret, comp) <= exp ret else ret-1 end end |
.invexp2c(exp, s) ⇒ Object
181 182 183 184 185 186 187 188 189 190 191 192 193 |
# File 'lib/mgmg/utils.rb', line 181 module_function def invexp2c(exp, s) raise ArgumentError, "exp must be finite" unless exp.finite? begin ret = Math.sqrt((exp - (((s-1)**2)) - 3).quo(2)).floor + 2 rescue Math::DomainError return -1 end if Mgmg.exp(s, ret) <= exp ret else ret-1 end end |
.invexp3(exp, sa, comp) ⇒ Object
194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# File 'lib/mgmg/utils.rb', line 194 module_function def invexp3(exp, sa, comp) raise ArgumentError, "exp must be finite" unless exp.finite? return invexp2(exp, comp) if sa < 0 begin ret = Math.sqrt(exp - ((sa-1)**2) - (2*((comp-1)**2)) - 4).floor + 2 rescue Math::DomainError return -1 end if Mgmg.exp(ret, sa, comp) <= exp ret else ret-1 end end |
.invexp3c(exp, smith, armor) ⇒ Object
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'lib/mgmg/utils.rb', line 208 module_function def invexp3c(exp, smith, armor) raise ArgumentError, "exp must be finite" unless exp.finite? if smith < 0 return invexp2c(exp, armor) elsif armor < 0 return invexp2c(exp, smith) end begin ret = Math.sqrt((exp - ((smith-1)**2) - ((armor-1)**2) - 4).quo(2)).floor + 2 rescue Math::DomainError return -1 end if Mgmg.exp(smith, armor, ret) <= exp ret else ret-1 end end |
.option(recipe = nil, **kw) ⇒ Object
107 108 109 110 111 |
# File 'lib/mgmg/option.rb', line 107 module_function def option(recipe=nil, **kw) ret = Option.new(**kw) ret.set_default(recipe) unless recipe.nil? ret end |
.parse_material(str) ⇒ Object
275 276 277 278 279 280 281 282 |
# File 'lib/mgmg/utils.rb', line 275 module_function def parse_material(str) m = /\A.+?(\d+)\Z/.match(str) mat = MaterialIndex[str.to_sym] if m.nil? || mat.nil? raise InvalidMaterialError.new(str) end [mat, m[1].to_i, mat<90 ? mat.div(10) : 9] end |