rebf-gaiden/Scripts/_.28.rb
2025-04-26 17:06:34 -05:00

211 lines
No EOL
10 KiB
Ruby
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# * アイテム合成のデータ設定
#
#
# ※ アイテム合成スクリプト本体より下に導入してください。
# ※ 増減させるアイテムの設定で同じアイテムは重複できません。
# ※ データの出力は、テストプレイ時のみ行います。
# ※ データの出力後、このスクリプトは不要です。
#
# レシピの設定
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