#============================================================================== # ■アクター合成設定ファイル for RGSS3 Ver0.85-α # □作成者 kure #=============================================================================== #-------------------------------------------------------------------------- # ★ 設定項目(各設定の値を変更してください) #-------------------------------------------------------------------------- module KURE module ActorConvert #基本設定--------------------------------------------------------------------- #初期設定(変更しない事) CATEGORY_NAME = [] ; RANK_NAME = [] #データベースサイズ(エディタのアクターデータのサイズを設定してください) DATA_BASE_SIZE = 999 #表示名の設定----------------------------------------------------------------- #系統の名称 #CATEGORY_NAME[系統ID] = "名称" CATEGORY_NAME[0] = "系統無し" CATEGORY_NAME[1] = "戦士系" CATEGORY_NAME[2] = "剣士系" CATEGORY_NAME[3] = "格闘系" CATEGORY_NAME[4] = "魔法系" #ランクの名称 #RANK_NAME[ランクID] = "名称" RANK_NAME[0] = "E" RANK_NAME[1] = "D" RANK_NAME[2] = "C" RANK_NAME[3] = "B" RANK_NAME[4] = "A" RANK_NAME[5] = "S" #合成ルール実装設定----------------------------------------------------------- #合成ルール基本設定(構文位置を変更しない事) ACTOR_TABLE = Array.new(RANK_NAME.size + 1){[]} ID_ID_TABLE = Array.new(DATA_BASE_SIZE + 1){[]} ID_CT_TABLE = Array.new(DATA_BASE_SIZE + 1){[]} ID_FC_TABLE = [] #アクターテーブルの設定 #合成基本ルールで合成する場合の候補リストに使用します。 #仕様上同ランクの配合ではランクが上がりますので #設定上の最大ランク+1まで設定をする必要があります #ACTOR_TABLE[ランクID][系統ID] = [候補となるアクターのID配列] ACTOR_TABLE[0][0] = [1] ACTOR_TABLE[0][1] = [1,5] ACTOR_TABLE[0][2] = [3,4] ACTOR_TABLE[0][3] = [2,7] ACTOR_TABLE[0][4] = [6,8] ACTOR_TABLE[1][0] = [1] ACTOR_TABLE[1][1] = [1,5] ACTOR_TABLE[1][2] = [3,4] ACTOR_TABLE[1][3] = [2,7] ACTOR_TABLE[1][4] = [9,10] #特殊合成テーブル1(両方ID指定) #データベースIDによる特殊合成を指定します。 #ID_ID_TABLE[アクターID][アクターID] = [合成されるアクターID, 条件+値] ID_ID_TABLE[1][1] = [10, 0] #特殊合成テーブル2(ID、系統指定) #データベースID、及び系統IDによる特殊合成を指定します #ID_CT_TABLE[アクターID][系統ID] = [合成されるアクターID, 条件+値] ID_CT_TABLE[1][4] = [8, 2] #特殊合成テーブル3(4体配合) #配合者の両親4体によるID配列指定を行います。 #ID_FC_TABLE[判定順] = [[a,b,c,d], e, f] #a,b,c,d → 親となるIDの組み合わせ  #e→条件となる+値  f→合成されるアクターID ID_FC_TABLE[0] = [[1,2,3,4], 3, 5] end end #============================================================================== # ★ Vocab(追加定義) #============================================================================== module Vocab #-------------------------------------------------------------------------- # ★ 系統名を返す(追加定義) #-------------------------------------------------------------------------- def self.category_name(id) KURE::ActorConvert::CATEGORY_NAME[id] ? KURE::ActorConvert::CATEGORY_NAME[id] : "" end #-------------------------------------------------------------------------- # ★ ランク名を返す(追加定義) #-------------------------------------------------------------------------- def self.rank_name(id) KURE::ActorConvert::RANK_NAME[id] ? KURE::ActorConvert::RANK_NAME[id] : "" end end #-------------------------------------------------------------------------- # ★ 各テーブルデータの呼び出し(各設定の値を変更してください) #-------------------------------------------------------------------------- module KURE module ActorConvert #-------------------------------------------------------------------------- # ★ ID指定特殊合成配列を返す(追加定義) #-------------------------------------------------------------------------- def self.id_id_data(min_id, max_id, new_plus) table = ID_ID_TABLE[min_id][max_id] return [] unless table return [] if table[1] > new_plus return [table[0]] end #-------------------------------------------------------------------------- # ★ ID系統指定特殊合成配列を返す(追加定義) #-------------------------------------------------------------------------- def self.id_ct_data(actor_id, ct_id, new_plus) table = ID_CT_TABLE[actor_id][ct_id] return [] unless table return [] if table[1] > new_plus return [table[0]] end #-------------------------------------------------------------------------- # ★ ID系統指定特殊合成配列を返す(追加定義) #-------------------------------------------------------------------------- def self.id_fc_data(parents_list, new_plus) return [] if parents_list.size != 4 return [] if ID_FC_TABLE == [] result = [] ID_FC_TABLE.each{|table| next if table[1] > new_plus next if table[0].sort != parents_list.sort result.push(table[2]) } return result end end end