#============================================================================== # ■ VX-RGSS2-4 熟練度システム [Ver.1.1.0] by Claimh #------------------------------------------------------------------------------ # ・属性ごとにレベル制を導入します # ・通常攻撃、スキル攻撃時、アイテム攻撃時にレベルが上昇 # ・レベルによって、攻撃・防御が上昇 # ・アイテムはダメージにのみ適応されます。 # その他(パラメータ変化など)には熟練度は反映されません。 # ・ステータス画面上のパラメータには反映されません。熟練度はいわば裏パラメータです。 # ・複数の属性を付与している場合のレベルアップは全属性が対象となります # しかし、威力として反映されるのは最も熟練度の高い属性のみです # ・被ダメージ時はレベルに応じてダメージが軽減されます。 # ・Windowへの表示用メソッド # アイコン+Lvの表示 :draw_attr_icon_lv # 熟練度Nextの表示(使用回数/NEXT) :draw_attr_current_next # 熟練度Nextの表示(次のLVまで) :draw_attr_next #============================================================================== module SysUpdate INIT_LEVEL=[];LV_LIMIT=[];UP_INTERVAL=[];UP_SLOPE=[];A_EXP=[] ATK_RATE=[];SKILL_RATE=[];ITEM_RATE=[];GUARD_RATE=[];GOOD_E=[];BAD_E=[] ATTR_NORMAL=0;ATTR_GOOD=1;ATTR_BAD=2 #============================================================================== #-------------------------------------------------------------------------- # 基本設定 #-------------------------------------------------------------------------- # レベルアップ時に演出をする SHOW_LV_UP = true # レベルアップ演出時にSEを鳴らす(nilなら鳴らさない) SHOW_LV_SE = "Chime2" # レベルアップ表示ウェイト LV_OPA_SPEED = 30 # 攻撃属性(武器・スキル・アイテムにつける)の指定 # (後々の設定を楽にできるように・・・) FIGHT = 1 # 格闘 SLASH = 2 # 斬撃 THRUST = 3 # 刺突 BANG = 4 # 打撃 BOW = 5 # 弓 WHIP = 6 # 鞭 FIRE = 9 # 炎 ICE = 10 # 冷気 THUNDER = 11 # 雷 WATER = 12 # 水 GROUND = 13 # 大地 WIND = 14 # 風 LIGHT = 15 # 神聖 DARK = 16 # 暗黒 # 上記属性を配列化(熟練度上昇対象の属性の指定) ELEMENTS = [FIGHT, SLASH, THRUST, BANG, BOW, WHIP, FIRE, ICE, THUNDER, WATER, GROUND, WIND, LIGHT, DARK] # アイコン用ハッシュ(熟練度対象の属性のアイコンファイル指定) ELE_ICON = { FIGHT => ["IconSet", 3, 3], # 格闘 SLASH => ["IconSet", 2, 0], # 斬撃 THRUST => ["IconSet", 4, 0], # 刺突 BANG => ["IconSet", 14, 0], # 打撃 BOW => ["IconSet", 1, 0], # 弓 WHIP => ["IconSet", 12, 0], # 鞭 FIRE => ["IconSet", 8, 6], # 炎 ICE => ["IconSet", 9, 6], # 冷気 THUNDER => ["IconSet", 10, 6], # 雷 WATER => ["IconSet", 11, 6], # 水 GROUND => ["IconSet", 12, 6], # 大地 WIND => ["IconSet", 13, 6], # 風 LIGHT => ["IconSet", 14, 6], # 神聖 DARK => ["IconSet", 15, 6] # 暗黒 } # ダメージ計算に使う属性修正計算の仕様 # true : 属性の平均レートを使う # false : 最も強い属性を対象とする <ツクールVXデフォルト仕様> ELE_CORRECT_AVRAGE = true # 属性修正の計算で対象外とする属性ID EXCLUDE_ELEMENT = [20, 21] # 属性修正で0%未満(ダメージ吸収)にはしない属性 G_NOT_RECOVER = [FIGHT, SLASH, THRUST, BANG, BOW, WHIP] #-------------------------------------------------------------------------- # 熟練度設定 #-------------------------------------------------------------------------- # アクター別熟練度初期値(1以上) # INIT_LEVEL[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 INIT_LEVEL[0] = {FIGHT=>1, SLASH=>1, THRUST=>1, BANG=>1, BOW=>1, WHIP=>1, FIRE=>1, ICE=>1, THUNDER=>1, WATER=>1, GROUND=>1, WIND=>1, LIGHT=>1, DARK=>1} INIT_LEVEL[1] = {SLASH=>2, WIND=>2} INIT_LEVEL[2] = {SLASH=>3} INIT_LEVEL[3] = {LIGHT=>4} INIT_LEVEL[4] = {FIRE=>2, ICE=>2, THUNDER=>2, WATER=>2, GROUND=>2, WIND=>2, LIGHT=>2, DARK=>2} INIT_LEVEL[5] = {SLASH=>5} INIT_LEVEL[6] = {SLASH=>4} INIT_LEVEL[7] = {FIGHT=>3} INIT_LEVEL[8] = {THRUST=>6} # アクター別熟練度最大レベル # LV_LIMIT[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 LV_LIMIT[0] = {FIGHT=>20, SLASH=>20, THRUST=>20, BANG=>20, BOW=>20, WHIP=>20, FIRE=>20, ICE=>20, THUNDER=>20, WATER=>20, GROUND=>20, WIND=>20, LIGHT=>20, DARK=>20} #-------------------------------------------------------------------------- # 熟練度上昇設定 #-------------------------------------------------------------------------- # 熟練度上昇間隔のパターン設定 # 0:一定値ごとに上昇 -> NEXT = 基本値 # 1:直線的に上昇 -> NEXT = 傾き * 次のLv + 基本値 # 2:曲線的に上昇 -> NEXT = 傾き * 次のLv * 次のLv + 基本値 # 3:個別指定(全アクター&全スキルの設定が必要です…) LEVEL_UP_PATTERN = 0 # 基本値 # UP_INTERVAL[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 UP_INTERVAL[0] = {FIGHT=>5, SLASH=>5, THRUST=>5, BANG=>5, BOW=>5, WHIP=>5, FIRE=>5, ICE=>5, THUNDER=>5, WATER=>5, GROUND=>5, WIND=>5, LIGHT=>5, DARK=>5} UP_INTERVAL[1] = {SLASH=>1} UP_INTERVAL[2] = {SLASH=>3} UP_INTERVAL[3] = {LIGHT=>3} UP_INTERVAL[4] = {FIRE=>3, ICE=>3, THUNDER=>3, WATER=>3, GROUND=>3, WIND=>3, LIGHT=>4, DARK=>4} UP_INTERVAL[5] = {SLASH=>3} UP_INTERVAL[6] = {SLASH=>3} UP_INTERVAL[7] = {FIGHT=>2} UP_INTERVAL[8] = {THRUST=>3} # 傾き # UP_SLOPE[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 UP_SLOPE[0] = {FIGHT=>3, SLASH=>3, THRUST=>3, BANG=>3, BOW=>3, WHIP=>3, FIRE=>3, ICE=>3, THUNDER=>3, WATER=>3, GROUND=>3, WIND=>3, LIGHT=>3, DARK=>3} UP_SLOPE[1] = {SLASH=>2} UP_SLOPE[2] = {SLASH=>2} UP_SLOPE[3] = {LIGHT=>2} UP_SLOPE[4] = {FIRE=>3, ICE=>3, THUNDER=>3, WATER=>3, GROUND=>3, WIND=>3, LIGHT=>4, DARK=>4} UP_SLOPE[5] = {SLASH=>2} UP_SLOPE[6] = {SLASH=>2} UP_SLOPE[7] = {FIGHT=>2} UP_SLOPE[8] = {THRUST=>3} # レベルアップ経験値データベース超詳細設定 # LEVEL_UP_PATTERN = 3 のときのみ設定必要 # この場合はUP_INTERVAL、UP_SLOPEの設定は全て無視 # A_EXP[アクターID] = { # 属性 => [0, 0, レベル2になるEXP, レベル3になるEXP, …], # } A_EXP[0] = { # アクターID、スキルID: 0 は共通設定 SLASH => [0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] } A_EXP[1] = { SLASH => [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] } A_EXP[2] = { SLASH => [0, 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44] } #-------------------------------------------------------------------------- # 威力上昇設定 #-------------------------------------------------------------------------- # 通常攻撃の威力上昇率(%) # ATK_RATE[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 ATK_RATE[0] = {FIGHT=>1, SLASH=>1, THRUST=>1, BANG=>1, BOW=>1, WHIP=>1, FIRE=>1, ICE=>1, THUNDER=>1, WATER=>1, GROUND=>1, WIND=>1, LIGHT=>1, DARK=>1} ATK_RATE[1] = {SLASH=>3, THRUST=>3, WIND=>5,} ATK_RATE[2] = {SLASH=>3} ATK_RATE[3] = {LIGHT=>3} ATK_RATE[4] = {FIRE=>2, ICE=>2, THUNDER=>2, WATER=>2, GROUND=>2, WIND=>2, LIGHT=>2, DARK=>2} ATK_RATE[5] = {SLASH=>3} ATK_RATE[6] = {SLASH=>3} ATK_RATE[7] = {FIGHT=>2} ATK_RATE[8] = {THRUST=>3} # スキル攻撃の威力上昇率(%) # SKILL_RATE[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 SKILL_RATE[0] = {FIGHT=>1, SLASH=>1, THRUST=>1, BANG=>1, BOW=>1, WHIP=>1, FIRE=>1, ICE=>1, THUNDER=>1, WATER=>1, GROUND=>1, WIND=>1, LIGHT=>1, DARK=>1} SKILL_RATE[1] = {SLASH=>5} SKILL_RATE[2] = {SLASH=>3} SKILL_RATE[3] = {LIGHT=>3.5} SKILL_RATE[4] = {FIRE=>2.5, ICE=>2.5, THUNDER=>2.5, WATER=>2.5, GROUND=>2.5, WIND=>2.5, LIGHT=>2.5, DARK=>2.5} SKILL_RATE[5] = {SLASH=>3} SKILL_RATE[6] = {SLASH=>3} SKILL_RATE[7] = {FIGHT=>3} SKILL_RATE[8] = {THRUST=>3} # アイテム攻撃の威力上昇率(%) # ITEM_RATE[アクターID] = {SLASH=>?, THRUST=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 ITEM_RATE[0] = {FIGHT=>1, SLASH=>1, THRUST=>1, BANG=>1, BOW=>1, WHIP=>1, FIRE=>1, ICE=>1, THUNDER=>1, WATER=>1, GROUND=>1, WIND=>1, LIGHT=>1, DARK=>1} ITEM_RATE[1] = {SLASH=>2} ITEM_RATE[2] = {SLASH=>3} ITEM_RATE[3] = {LIGHT=>3.5} ITEM_RATE[4] = {FIRE=>2.5, ICE=>2.5, THUNDER=>2.5, WATER=>2.5, GROUND=>2.5, WIND=>2.5, LIGHT=>2.5, DARK=>2.5} ITEM_RATE[5] = {SLASH=>3} ITEM_RATE[6] = {SLASH=>3} ITEM_RATE[7] = {FIGHT=>3} ITEM_RATE[8] = {THRUST=>3} #-------------------------------------------------------------------------- # 防御上昇設定 # 属性有効度に応じた属性修正を減算することで防御力を上昇。 # デフォルト属性修正 = A:200%, B:150%, C:100%, D:50%, E:0%, F:-100% #-------------------------------------------------------------------------- # 属性修正の下降率(%) # GUARD_RATE[アクターID] = {FIGHT=>?, SLASH=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 GUARD_RATE[0] = {FIGHT=>1, SLASH=>1, THRUST=>1, BANG=>1, BOW=>1, WHIP=>1, FIRE=>1, ICE=>1, THUNDER=>1, WATER=>1, GROUND=>1, WIND=>1, LIGHT=>1, DARK=>1} GUARD_RATE[1] = {SLASH=>3} GUARD_RATE[2] = {SLASH=>3} GUARD_RATE[3] = {LIGHT=>3} GUARD_RATE[4] = {FIRE=>2, ICE=>2, THUNDER=>2, WATER=>2, GROUND=>2, WIND=>2, LIGHT=>2, DARK=>2} GUARD_RATE[5] = {SLASH=>3} GUARD_RATE[6] = {SLASH=>3} GUARD_RATE[7] = {FIGHT=>3} GUARD_RATE[8] = {THRUST=>3} #-------------------------------------------------------------------------- # 得意属性設定 #-------------------------------------------------------------------------- # 得意/不得意属性時に加算/減算する威力(%) TASTE_RATE = 2 # 得意/不得意属性時に加算/減算する属性修正(%) TASTE_G_RATE = 2 # 得意属性 # GOOD_E[アクターID] = [??, ??,・・・・] GOOD_E[1] = [SLASH] GOOD_E[2] = [SLASH] # 不得意属性 # BAD_E[アクターID] = [??, ??,・・・・] BAD_E[1] = [WHIP, DARK] BAD_E[2] = [THRUST, GROUND] #============================================================================== end