#============================================================================== # ■ VXAce-RGSS3-8 熟練度システム [Ver.1.0.1] 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=[];GUARD_RATE=[];GOOD_E=[];BAD_E=[] ATTR_NORMAL=0;ATTR_GOOD=1;ATTR_BAD=2 #============================================================================== OFST = 1000 #-------------------------------------------------------------------------- # 基本設定 #-------------------------------------------------------------------------- # レベルアップ演出時にSEを鳴らす(nilなら鳴らさない) SHOW_LV_SE = RPG::SE.new("Chime2") # 属性定義 FIRE = 3 # 炎 ICE = 4 # 冷気 THUNDER = 5 # 雷 WATER = 6 # 水 GROUND = 7 # 大地 WIND = 8 # 風 LIGHT = 9 # 神聖 DARK = 10 # 暗黒 # 攻撃タイプ定義(後々の設定を楽にできるように・・・) # ※注意:武器タイプのIDはOFST+ID値にして下さい。 AX = OFST + 1 # 斧 CRAW = OFST + 2 # 爪 LANCE = OFST + 3 # 槍 SWORD = OFST + 4 # 剣 JSWORD = OFST + 5 # 刀 ARROW = OFST + 6 # 弓 KNIFE = OFST + 7 # 短剣 HAMMER = OFST + 8 # 槌 WAND = OFST + 9 # 杖 GUN = OFST + 10 # 銃 # 上記属性を配列化(熟練度上昇対象の属性の指定) # 属性 ELEMENTS = [FIRE, ICE, THUNDER, WATER, GROUND, WIND, LIGHT, DARK, AX, CRAW, LANCE, SWORD, JSWORD, ARROW, KNIFE, HAMMER, KNIFE, WAND, GUN] # アイコン用Indexハッシュ(熟練度対象の属性アイコン) ELE_ICON = { FIRE => 112, # 炎 ICE => 113, # 冷気 THUNDER => 114, # 雷 WATER => 115, # 水 GROUND => 116, # 大地 WIND => 117, # 風 LIGHT => 118, # 神聖 DARK => 119, # 暗黒 AX => 144, # 斧 CRAW => 145, # 爪 LANCE => 146, # 槍 SWORD => 147, # 剣 JSWORD => 148, # 刀 ARROW => 149, # 弓 KNIFE => 150, # 短剣 HAMMER => 151, # 槌 WAND => 152, # 杖 GUN => 153 # 銃 } #-------------------------------------------------------------------------- # 熟練度設定 #-------------------------------------------------------------------------- # アクター別熟練度初期値(1以上) # INIT_LEVEL[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 INIT_LEVEL[0] = {FIRE=>1,ICE=>1,THUNDER=>1,WATER=>1, GROUND=>1,WIND=>1,LIGHT=>1,DARK=>1, AX=>1,CRAW=>1,LANCE=>1,SWORD=>1,JSWORD=>1, ARROW=>1,KNIFE=>1,HAMMER=>1,WAND=>1,GUN=>1} INIT_LEVEL[1] = {AX=>2} INIT_LEVEL[2] = {CRAW=>3} INIT_LEVEL[3] = {SWORD=>4} INIT_LEVEL[4] = {FIRE=>2, ICE=>2, THUNDER=>2, WATER=>2, GROUND=>2, WIND=>2, LIGHT=>2, DARK=>2} INIT_LEVEL[5] = {JSWORD=>5} INIT_LEVEL[6] = {ARROW=>4} INIT_LEVEL[7] = {KNIFE=>3} INIT_LEVEL[8] = {HAMMER=>4} INIT_LEVEL[9] = {WAND=>2} INIT_LEVEL[10] = {WAND=>4,LIGHT=>4,DARK=>4} # アクター別熟練度最大レベル # LV_LIMIT[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 LV_LIMIT[0] = {FIRE=>10,ICE=>10,THUNDER=>10,WATER=>10, GROUND=>10,WIND=>10,LIGHT=>10,DARK=>10, AX=>10,CRAW=>10,LANCE=>10,SWORD=>10,JSWORD=>10, ARROW=>10,KNIFE=>10,HAMMER=>10,WAND=>10,GUN=>10} #-------------------------------------------------------------------------- # 熟練度上昇設定 #-------------------------------------------------------------------------- # 熟練度上昇間隔のパターン設定 # 0:一定値ごとに上昇 -> NEXT = 基本値 # 1:直線的に上昇 -> NEXT = 傾き * 次のLv + 基本値 # 2:曲線的に上昇 -> NEXT = 傾き * 次のLv * 次のLv + 基本値 # 3:個別指定(全アクター&全スキルの設定が必要です…) LEVEL_UP_PATTERN = 1 # 基本値 # UP_INTERVAL[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 UP_INTERVAL[0] = {FIRE=>10,ICE=>10,THUNDER=>10,WATER=>10, GROUND=>10,WIND=>10,LIGHT=>10,DARK=>10, AX=>10,CRAW=>10,LANCE=>10,SWORD=>10,JSWORD=>10, ARROW=>10,KNIFE=>10,HAMMER=>10,WAND=>10,GUN=>10} # 傾き # UP_SLOPE[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 UP_SLOPE[0] = {FIRE=>10,ICE=>10,THUNDER=>10,WATER=>10, GROUND=>10,WIND=>10,LIGHT=>10,DARK=>10, AX=>10,CRAW=>10,LANCE=>10,SWORD=>10,JSWORD=>10, ARROW=>10,KNIFE=>10,HAMMER=>10,WAND=>10,GUN=>10} # レベルアップ経験値データベース超詳細設定 # LEVEL_UP_PATTERN = 3 のときのみ設定必要 # この場合はUP_INTERVAL、UP_SLOPEの設定は全て無視 # A_EXP[アクターID] = { # 属性 => [0, 0, レベル2になるEXP, レベル3になるEXP, …], # } A_EXP[0] = { # アクターID、スキルID: 0 は共通設定 FIRE => [0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] } A_EXP[1] = { FIRE => [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] } A_EXP[2] = { FIRE => [0, 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44] } #-------------------------------------------------------------------------- # 威力上昇設定 #-------------------------------------------------------------------------- # 攻撃の威力上昇率(%) #ATK_RATE[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 ATK_RATE[0] = {FIRE=>1,ICE=>1,THUNDER=>1,WATER=>1, GROUND=>1,WIND=>1,LIGHT=>1,DARK=>1, AX=>1,CRAW=>1,LANCE=>1,SWORD=>1,JSWORD=>1, ARROW=>1,KNIFE=>1,HAMMER=>1,WAND=>1,GUN=>1} #-------------------------------------------------------------------------- # 威力減少設定 #-------------------------------------------------------------------------- # ダメージの威力減少率(%) #GUARD_RATE[アクターID] = {FIRE=>?, ICE=>?…} # ※アクターIDに0を指定した場合、全アクター共通設定 GUARD_RATE[0] = {FIRE=>1,ICE=>1,THUNDER=>1,WATER=>1, GROUND=>1,WIND=>1,LIGHT=>1,DARK=>1, AX=>1,CRAW=>1,LANCE=>1,SWORD=>1,JSWORD=>1, ARROW=>1,KNIFE=>1,HAMMER=>1,WAND=>1,GUN=>1} #-------------------------------------------------------------------------- # 得意属性設定 #-------------------------------------------------------------------------- # 得意/不得意属性時に加算/減算する威力(%) TASTE_RATE = 2 # 得意/不得意属性時に加算/減算する属性修正(%) TASTE_G_RATE = 2 # 得意属性 # GOOD_E[アクターID] = [??, ??,・・・・] GOOD_E[1] = [AX] GOOD_E[2] = [FIRE,WIND] # 不得意属性 # BAD_E[アクターID] = [??, ??,・・・・] BAD_E[1] = [SWORD,DARK] BAD_E[2] = [ICE,WATER] #============================================================================== end