211 lines
No EOL
10 KiB
Ruby
211 lines
No EOL
10 KiB
Ruby
#
|
||
# * アイテム合成のデータ設定
|
||
#
|
||
#
|
||
# ※ アイテム合成スクリプト本体より下に導入してください。
|
||
# ※ 増減させるアイテムの設定で同じアイテムは重複できません。
|
||
# ※ データの出力は、テストプレイ時のみ行います。
|
||
# ※ データの出力後、このスクリプトは不要です。
|
||
#
|
||
|
||
|
||
# レシピの設定
|
||
ITEMMAKE_RECIPES = [
|
||
# アイコン, 名前, 価格, [減らすアイテム], [増やすアイテム], 説明
|
||
|
||
# [1] 調合
|
||
[865, "アロエベラ", 0, ["I31:2","I32"], ["I26:1"], 1026],
|
||
[862, "ブルーベリードリンク", 0, ["I27:3","I32"], ["I6:1"], 1006],#2
|
||
[901, "アダマン結晶", 0, ["I22:5","I97"], ["I24:1"], 1024],
|
||
[902, "エムニウム結晶", 0, ["I23:5","I96"], ["I25:1"], 1025],
|
||
[865, "アロエベラ", 0, ["I31:2","I32"], ["I26:1"], 1026],
|
||
[865, "アロエベラ", 0, ["I31:2","I32"], ["I26:1"], 1026],
|
||
[301, "チーズ", 0, ["I37:5","I78","I49"], ["I33:1"], 1033],#7
|
||
[223, "アシッドボトル", 0, ["I83:1","I32"], ["I69:1"], 1069],
|
||
[1165, "黄金の林檎", 0, ["I42:1","I25:5"], ["I16:1"], 1016],#9
|
||
[422, "プリズムステッキ", 0, ["I42:1","I24:5"], ["I30:1"], 1030],#10
|
||
[228, "言葉責めカード", 0, ["A17"], ["A115:1"], 3115],#11
|
||
[899, "アダマンの欠片", 0, ["I23:1"], ["I22:1"], 1022],
|
||
[900, "エムニウムの欠片", 0, ["I22:1"], ["I23:1"], 1023],
|
||
[901, "アダマン結晶", 0, ["I25:1"], ["I24:1"], 1024],
|
||
[902, "エムニウム結晶", 0, ["I24:1"], ["I25:1"], 1025],
|
||
[832, "-", 0, ["I91","I171:1"], ["I93:1"], 1093],#16
|
||
[629, "ファラオの兜", 0, ["I56:5","I45"], ["A257:1"], 3257],#17
|
||
[228, "-", 0, ["A18:1"], ["A25:1"], 3025],
|
||
[1028, "メガネ型バッテリー", 0, ["A294:1"], ["I188:1"],1188],#19
|
||
[228, "-", 0, ["A24:2"], ["A58:1"], 3058],#20
|
||
[651, "処刑剣", 0, ["I42:2","I46:10","I63:10","I59:10"], ["A245:1"], 3245],#21
|
||
[390, "オーガの牙", 0, ["I42:2","I51:10","I49:10","I50:10"], ["A246:1"], 3246],#22
|
||
[393, "ミストルティン", 0, ["I42:2","I35:5","I15:5","I67:10"], ["A247:1"], 3247],#23
|
||
[1404, "炎のトムヤンクン", 0, ["I98:1","I99:1","I78:1"], ["I90:1"], 1090],#24
|
||
[978, "ポイズンハニー", 0, ["I7","I35"], ["I91:1"], 1091],#25
|
||
[216, "アイアンプロテイン", 0, ["I72","I34","I37"], ["I92:1"], 1092],#26
|
||
[898, "枯木の薬膳", 0, ["I15","I10"], ["I93:1"], 1093],#27
|
||
[977, "三色ハーブサラダ", 0, ["I80","I11","I79"], ["I94:1"], 1094],#28
|
||
[365, "幸運のスパイス", 0, ["I12","I57"], ["I95:1"], 1095],#29
|
||
[1076, "ハンティングランス", 0, ["I64:5","I24","I96:5"], ["A277:1"], 3277],#30
|
||
[887, "デュラハンの眼", 0, ["A224","I38"], ["A222:1"], 3222],#31
|
||
[628, "サイクロプスアイ", 0, ["I57","I44","I38","I196:5","I96:5"], ["A294:1"], 3294],#32
|
||
[1361, "スナイパースーツ", 0, ["I197:10","I97:5"], ["A215:1"], 3215],#33
|
||
[1067, "脱衣の剣", 0, ["A249","I24","I96:5","I97:5"], ["A250:1"], 3250],#34
|
||
[1057, "シーフボウガン", 0, ["A223","I96:5","I97:5"], ["A278:1"], 3278],#35
|
||
[1364, "ユニコーンホーン", 0, ["A277","I42"], ["A234:1"], 3234],#36
|
||
[449, "エルニウマジックマント", 0, ["I25:3"], ["A237:1"], 3237],#37
|
||
[179, "古代のブローチ", 0, ["A217:1","I42"], ["A256:1"], 3256],#38
|
||
[772, "レゾナンスリング", 0, ["A285:1","A227:1","I96:5"], ["A284:1"], 3284],#39
|
||
[1378, "ゴールデンシールド", 0, ["A296:1","I56:3"], ["A283:1"], 3283],#40
|
||
[1384, "炎髪灼眼の激しさ", 0, ["I60:20"], ["A300:1"], 3300],#41
|
||
[1385, "リューサキ海の叫び", 0, ["I58:20"], ["A301:1"], 3301],#42
|
||
[1386, "ラムの嵐のうねり", 0, ["I52:20"], ["A302:1"], 3302],#43
|
||
[1387, "ツンデレイトスの割れ目", 0, ["I69:20"], ["A303:1"], 3303],#44
|
||
[950, "ゴールデンヘッドパンツ", 0, ["I209:1"], ["I304:1"], 1304],#45
|
||
[1042, "レインボーニンジン", 0, ["I209:5"], ["I206:1"], 1206],#46
|
||
[1343, "猫耳ヘアバンド", 0, ["I209:5"], ["I208:1"], 1208],#47
|
||
[1420, "教皇のコスプレ", 0, ["I209:5"], ["I210:1"], 1210],#48
|
||
[1028, "オプションメガネ", 0, ["I209:10"], ["I211:1"], 1211],#49
|
||
[1342, "蝶の仮面", 0, ["I209:5"], ["I212:1"], 1212],#50
|
||
[1357, "ヒヒイロカギ", 0, ["I24","I25","I96","I97","I42","I56"], ["I184:1"], 1184],#51
|
||
[920, "黒の魔石", 0, ["I209:10"], ["I42:1"], 1042],#52
|
||
[1344, "フレイア教特別接待券", 0, ["I209:10"], ["I65:1"], 1065],#53
|
||
|
||
# [6] 鍛冶屋
|
||
[147, "ロングソード", 300, ["W19:2"], ["W20"], 2020],
|
||
[147, "ファルシオン", 1000, ["W20:2"], ["W21"], 2021],
|
||
[149, "クロスボウ", 1000, ["W13","W55"], ["W33"], 2033],
|
||
[0, "ヒドラカード 1000z", -1000, ["A27"], [], 3027],
|
||
|
||
# [9] 交換
|
||
[168, "普段着", 0, ["A1"], ["I1"],
|
||
"普段着をポーションをと換します。"],
|
||
[162, "バンダナ", 0, ["A6"], ["I1"],
|
||
"バンダナをポーションと交換します。"],
|
||
[179, "幸運のお守り", 0, ["A55"], ["I16:5"],
|
||
"幸運のお守りをラックアップと交換します。"],
|
||
[179, "光のタリスマン", 0, ["A60"], ["I11","I12","I13","I14","I15","I16"],
|
||
"光のタリスマンをいろいろと交換します。"],
|
||
|
||
# [13] セット販売
|
||
[192, "回復セット", 350, [], ["I1:2","I4","I6"],
|
||
"ポーション、マジックウォーター、アンチドーテのセット"],
|
||
[164, "勇者セット", 500, [], ["W19","A46","A21","I1:3","I6:2"],
|
||
"初めての勇者セットです。\n駆け出しの勇者さんにおすすめです。"],
|
||
]
|
||
|
||
|
||
ITEMMAKE_BOOKS = [
|
||
# アイコン, 名前, [リスト], [減数,増数], [減名,増名], [背景,前景], ...
|
||
[230, "すべて", Array(1..14), [], []],
|
||
[279, "調合", [1], [2,2], [], []],
|
||
[279, "調合", [2], [2,2], [], []],
|
||
[279, "調合", [3,4], [2,2], [], []],
|
||
[279, "鍛冶屋", [4], [], [], [], :price, :nownd],
|
||
[284, "鍛冶屋", [6,7,8], [], [], ["b","f"], :price, :nownd],
|
||
[495, "交換", [9,10,11,12], [1,6], ["渡すアイテム","受け取るアイテム"]],
|
||
[270, "セット", [13,14], [0,5], ["","セット内容"], [], [], :price],
|
||
[279, "調合", [7], [2,2], [], []],
|
||
[279, "調合", [1,8], [2,2], [], []],
|
||
[279, "調合", [9,10,11], [2,2], [], []],
|
||
[279, "調合", [12,13,14,15], [2,2], [], []],
|
||
[279, "調合", [16], [2,2], [], []],
|
||
[279, "調合", [17], [2,2], [], []],#14
|
||
[279, "調合", [21], [2,2], [], []],#15
|
||
[279, "調合", [22,23,24,25], [3,3], [], []],#16
|
||
[279, "調合", [26,27,28], [5,2], [], []],#17
|
||
[279, "調合", [1,8,9,10,11,16], [3,3], [], []],#18
|
||
[279, "調合", [2,7,24,25,26,27,28,29], [3,3], [], []],#19
|
||
[279, "調合", [36,37,38,39,40], [6,3], [], []],#20
|
||
[279, "調合", [36], [6,3], [], []],#21
|
||
[279, "調合", [36], [6,3], [], []],#22
|
||
[279, "調合", [ 30,31,32,33,34,35,36,37,38,39,40,41,42,43,44], [7,3], [], []],#23
|
||
[279, "調合", [21,22,23,17,51], [6,3], [], []],#24
|
||
[279, "調合", [9,10], [6,3], [], []],#25
|
||
[279, "調合", [19,11], [6,3], [], []],#26
|
||
[279, "調合", [45,46,47,48,49,50,52,53], [7,3], [], []],#27
|
||
|
||
]
|
||
|
||
|
||
#/////////////////////////////////////////////////////////////////////////////#
|
||
# #
|
||
# 下記のスクリプトを変更する必要はありません。 #
|
||
# #
|
||
#/////////////////////////////////////////////////////////////////////////////#
|
||
|
||
|
||
# レシピデータの出力
|
||
def save_item_make_recipe_data
|
||
result = [nil]
|
||
ITEMMAKE_RECIPES.each do |data|
|
||
recipe = RPG::ItemMake::Recipe.new
|
||
recipe.id = result.size
|
||
recipe.icon_index = data[0]
|
||
recipe.name = data[1]
|
||
recipe.price = data[2].to_i
|
||
recipe.minus_items = data[3].map {|s| RPG::ItemMake::Item.new(s) }
|
||
recipe.plus_items = data[4].map {|s| RPG::ItemMake::Item.new(s) }
|
||
recipe.description = data[5]
|
||
result << recipe
|
||
end
|
||
save_data(result, "Data/#{CAO::ItemMake::FILE_RECIPE}")
|
||
end
|
||
|
||
# レシピブックデータの出力
|
||
def save_item_make_book_data
|
||
result = [nil]
|
||
ITEMMAKE_BOOKS.each do |data|
|
||
book = RPG::ItemMake::Book.new
|
||
book.id = result.size
|
||
book.icon_index = data[0]
|
||
book.name = data[1]
|
||
book.list = data[2]
|
||
if data[3].is_a?(Array)
|
||
book.minus_number = data[3][0] if data[3][0]
|
||
book.plus_number = data[3][1] if data[3][1]
|
||
end
|
||
if data[4].is_a?(Array)
|
||
book.minus_name = data[4][0]
|
||
book.plus_name = data[4][1]
|
||
end
|
||
if data[5].is_a?(Array)
|
||
book.background_name = data[5][0]
|
||
book.foreground_name = data[5][1]
|
||
end
|
||
book.display_price = data.include?(:price)
|
||
book.visible_window = !data.include?(:nownd)
|
||
result << book
|
||
end
|
||
save_data(result, "Data/#{CAO::ItemMake::FILE_BOOK}")
|
||
end
|
||
|
||
def chack_item_make_data
|
||
data = []
|
||
data << load_data("Data/Items.rvdata2")
|
||
data << load_data("Data/Weapons.rvdata2")
|
||
data << load_data("Data/Armors.rvdata2")
|
||
books = load_data("Data/#{CAO::ItemMake::FILE_BOOK}")
|
||
recipes = load_data("Data/#{CAO::ItemMake::FILE_RECIPE}")
|
||
|
||
(1...books.size).each do |book_id|
|
||
books[book_id].list.each do |recipe_id|
|
||
unless recipes[recipe_id]
|
||
msgbox "ブック #{book_id} 番\n#{recipe_id} 番のレシピが見つかりません。"
|
||
next
|
||
end
|
||
imitems = recipes[recipe_id].plus_items | recipes[recipe_id].minus_items
|
||
imitems.each do |im|
|
||
item = data[im.class_id][im.item_id]
|
||
unless item
|
||
msgbox "レシピ #{recipe_id} 番\n#{im.item_id} 番の" +
|
||
"#{["アイテム","武器","防具"][im.class_id]}が見つかりません。"
|
||
next
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
if $TEST
|
||
save_item_make_recipe_data
|
||
save_item_make_book_data
|
||
chack_item_make_data
|
||
end |