设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1138|回复: 2
打印 上一主题 下一主题

[已经过期] 这个vx的套装系统脚本怎么用,求教一下

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2015-1-29
帖子
8
跳转到指定楼层
1
发表于 2015-2-25 18:23:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. #===============================================================================
  2. # ● RPGVX データ構造を集めたモジュールです
  3. #===============================================================================
  4. module RPG
  5.   #=============================================================================
  6.   # ● スキル、アイテム、武器、防具のスーパークラス。
  7.   #=============================================================================
  8.   class BaseItem
  9.     #===========================================================================
  10.     # ○ メモ欄の内容を取得
  11.     #===========================================================================
  12.     def real_note
  13.       return @note
  14.     end
  15.     #===========================================================================
  16.     # ○ 组合装备関連の処理が必要か?
  17.     #===========================================================================
  18.     def need_set_equips_check
  19.       # 组合装备とセットボーナスの記述がある場合、true を返す
  20.       if self.real_note.include?("组合装备") and self.real_note.include?("セットボーナス")
  21.         return true
  22.       else
  23.         # 组合装备関係の記述がない場合、false を返す
  24.         return false
  25.       end
  26.     end
  27.     #===========================================================================
  28.     # ○ 组合装备の取得
  29.     #===========================================================================
  30.     def set_equips
  31.       text = self.real_note.clone
  32.       # メモ欄から组合装备の記述を検索
  33.       result = text.scan(/组合装备(.+)/)
  34.       # 1つでもヒットした場合
  35.       if result != []
  36.         # 判定用文字から组合装备の名前を取得
  37.         for data in result
  38.           # 余分な文字を消去
  39.           data.sub!("组合装备(") {""}
  40.           data.sub!(")") {""}
  41.         end
  42.       end
  43.       # 组合装备の内容(名前)を配列で返す
  44.       return result
  45.     end
  46.     #===========================================================================
  47.     # ○ セットボーナス(攻撃力)の取得
  48.     #===========================================================================
  49.     def set_bonus_atk
  50.       text = self.real_note.clone
  51.       result = 0
  52.       # メモ欄からボーナス値(+)の記述を検索
  53.       bonus = text.scan(/セットボーナス攻撃力\+\d+/)
  54.       # 1つでもヒットした場合
  55.       if bonus != []
  56.         # 判定用文字からボーナス値を取得
  57.         for data in bonus
  58.           # 余分な文字を消去
  59.           data.sub!("セットボーナス攻撃力+"){""}
  60.           # 文字列を数値に変換し、変数に加算
  61.           result += data.to_i
  62.         end
  63.       end
  64.       # メモ欄からボーナス値(-)の記述を検索
  65.       bonus = text.scan(/セットボーナス攻撃力\-\d+/)
  66.       # 1つでもヒットした場合
  67.       if bonus != []
  68.         # 判定用文字からボーナス値を取得
  69.         for data in bonus
  70.           # 余分な文字を消去
  71.           data.sub!("セットボーナス攻撃力-"){""}
  72.           # 文字列を数値に変換し、変数から減算
  73.           result -= data.to_i
  74.         end
  75.       end
  76.       # ボーナス値を返す
  77.       return result
  78.     end
  79.     #===========================================================================
  80.     # ○ セットボーナス(防御力)の取得
  81.     #===========================================================================
  82.     def set_bonus_def
  83.       text = self.real_note.clone
  84.       result = 0
  85.       # メモ欄からボーナス値(+)の記述を検索
  86.       bonus = text.scan(/セットボーナス防御力\+\d+/)
  87.       # 1つでもヒットした場合
  88.       if bonus != []
  89.         # 判定用文字からボーナス値を取得
  90.         for data in bonus
  91.           # 余分な文字を消去
  92.           data.sub!("セットボーナス防御力+"){""}
  93.           # 文字列を数値に変換し、変数に加算
  94.           result += data.to_i
  95.         end
  96.       end
  97.       # メモ欄からボーナス値(-)の記述を検索
  98.       bonus = text.scan(/セットボーナス防御力\-\d+/)
  99.       # 1つでもヒットした場合
  100.       if bonus != []
  101.         # 判定用文字からボーナス値を取得
  102.         for data in bonus
  103.           # 余分な文字を消去
  104.           data.sub!("セットボーナス防御力-"){""}
  105.           # 文字列を数値に変換し、変数から減算
  106.           result -= data.to_i
  107.         end
  108.       end
  109.       # ボーナス値を返す
  110.       return result
  111.     end
  112.     #===========================================================================
  113.     # ○ セットボーナス(精神力)の取得
  114.     #===========================================================================
  115.     def set_bonus_spi
  116.       text = self.real_note.clone
  117.       result = 0
  118.       # メモ欄からボーナス値(+)の記述を検索
  119.       bonus = text.scan(/セットボーナス精神力\+\d+/)
  120.       # 1つでもヒットした場合
  121.       if bonus != []
  122.         # 判定用文字からボーナス値を取得
  123.         for data in bonus
  124.           # 余分な文字を消去
  125.           data.sub!("セットボーナス精神力+"){""}
  126.           # 文字列を数値に変換し、変数に加算
  127.           result += data.to_i
  128.         end
  129.       end
  130.       # メモ欄からボーナス値(-)の記述を検索
  131.       bonus = text.scan(/セットボーナス精神力\-\d+/)
  132.       # 1つでもヒットした場合
  133.       if bonus != []
  134.         # 判定用文字からボーナス値を取得
  135.         for data in bonus
  136.           # 余分な文字を消去
  137.           data.sub!("セットボーナス精神力-"){""}
  138.           # 文字列を数値に変換し、変数から減算
  139.           result -= data.to_i
  140.         end
  141.       end
  142.       # ボーナス値を返す
  143.       return result
  144.     end
  145.     #===========================================================================
  146.     # ○ セットボーナス(敏捷性)の取得
  147.     #===========================================================================
  148.     def set_bonus_agi
  149.       text = self.real_note.clone
  150.       result = 0
  151.       # メモ欄からボーナス値(+)の記述を検索
  152.       bonus = text.scan(/セットボーナス敏捷性\+\d+/)
  153.       # 1つでもヒットした場合
  154.       if bonus != []
  155.         # 判定用文字からボーナス値を取得
  156.         for data in bonus
  157.           # 余分な文字を消去
  158.           data.sub!("セットボーナス敏捷性+"){""}
  159.           # 文字列を数値に変換し、変数に加算
  160.           result += data.to_i
  161.         end
  162.       end
  163.       # メモ欄からボーナス値(-)の記述を検索
  164.       bonus = text.scan(/セットボーナス敏捷性\-\d+/)
  165.       # 1つでもヒットした場合
  166.       if bonus != []
  167.         # 判定用文字からボーナス値を取得
  168.         for data in bonus
  169.           # 余分な文字を消去
  170.           data.sub!("セットボーナス敏捷性-"){""}
  171.           # 文字列を数値に変換し、変数から減算
  172.           result -= data.to_i
  173.         end
  174.       end
  175.       # ボーナス値を返す
  176.       return result
  177.     end
  178.     #===========================================================================
  179.     # ○ セットボーナス(命中率)の取得
  180.     #===========================================================================
  181.     def set_bonus_hit
  182.       text = self.real_note.clone
  183.       result = 0
  184.       # メモ欄からボーナス値(+)の記述を検索
  185.       bonus = text.scan(/セットボーナス命中率\+\d+/)
  186.       # 1つでもヒットした場合
  187.       if bonus != []
  188.         # 判定用文字からボーナス値を取得
  189.         for data in bonus
  190.           # 余分な文字を消去
  191.           data.sub!("セットボーナス命中率+"){""}
  192.           # 文字列を数値に変換し、変数に加算
  193.           result += data.to_i
  194.         end
  195.       end
  196.       # メモ欄からボーナス値(-)の記述を検索
  197.       bonus = text.scan(/セットボーナス命中率\-\d+/)
  198.       # 1つでもヒットした場合
  199.       if bonus != []
  200.         # 判定用文字からボーナス値を取得
  201.         for data in bonus
  202.           # 余分な文字を消去
  203.           data.sub!("セットボーナス命中率-"){""}
  204.           # 文字列を数値に変換し、変数から減算
  205.           result -= data.to_i
  206.         end
  207.       end
  208.       # ボーナス値を返す
  209.       return result
  210.     end
  211.     #===========================================================================
  212.     # ○ セットボーナス(回避率)の取得
  213.     #===========================================================================
  214.     def set_bonus_eva
  215.       text = self.real_note.clone
  216.       result = 0
  217.       # メモ欄からボーナス値(+)の記述を検索
  218.       bonus = text.scan(/セットボーナス回避率\+\d+/)
  219.       # 1つでもヒットした場合
  220.       if bonus != []
  221.         # 判定用文字からボーナス値を取得
  222.         for data in bonus
  223.           # 余分な文字を消去
  224.           data.sub!("セットボーナス回避率+"){""}
  225.           # 文字列を数値に変換し、変数に加算
  226.           result += data.to_i
  227.         end
  228.       end
  229.       # メモ欄からボーナス値(-)の記述を検索
  230.       bonus = text.scan(/セットボーナス回避率\-\d+/)
  231.       # 1つでもヒットした場合
  232.       if bonus != []
  233.         # 判定用文字からボーナス値を取得
  234.         for data in bonus
  235.           # 余分な文字を消去
  236.           data.sub!("セットボーナス回避率-"){""}
  237.           # 文字列を数値に変換し、変数から減算
  238.           result -= data.to_i
  239.         end
  240.       end
  241.       # ボーナス値を返す
  242.       return result
  243.     end
  244.     #===========================================================================
  245.     # ○ セットボーナス(クリティカル率)の取得
  246.     #===========================================================================
  247.     def set_bonus_cri
  248.       text = self.real_note.clone
  249.       result = 0
  250.       # メモ欄からボーナス値(+)の記述を検索
  251.       bonus = text.scan(/セットボーナスクリティカル率\+\d+/)
  252.       # 1つでもヒットした場合
  253.       if bonus != []
  254.         # 判定用文字からボーナス値を取得
  255.         for data in bonus
  256.           # 余分な文字を消去
  257.           data.sub!("セットボーナスクリティカル率+"){""}
  258.           # 文字列を数値に変換し、変数に加算
  259.           result += data.to_i
  260.         end
  261.       end
  262.       # メモ欄からボーナス値(-)の記述を検索
  263.       bonus = text.scan(/セットボーナスクリティカル率\-\d+/)
  264.       # 1つでもヒットした場合
  265.       if bonus != []
  266.         # 判定用文字からボーナス値を取得
  267.         for data in bonus
  268.           # 余分な文字を消去
  269.           data.sub!("セットボーナスクリティカル率-"){""}
  270.           # 文字列を数値に変換し、変数から減算
  271.           result -= data.to_i
  272.         end
  273.       end
  274.       # ボーナス値を返す
  275.       return result
  276.     end
  277.     #===========================================================================
  278.     # ○ セットボーナス Odds半減 の有無
  279.     #===========================================================================
  280.     def set_bonus_odds_half
  281.       # 記述の有無を真偽値で返す
  282.       return self.real_note.include?("セットボーナス狙われやすさ半減")
  283.     end
  284.     #===========================================================================
  285.     # ○ セットボーナス Odds倍加 の有無
  286.     #===========================================================================
  287.     def set_bonus_odds_twice
  288.       # 記述の有無を真偽値で返す
  289.       return self.real_note.include?("セットボーナス狙われやすさ倍加")
  290.     end
  291.     #===========================================================================
  292.     # ○ セットボーナス 属性攻撃(ダメージ)半減 の有無(名前で取得)
  293.     #===========================================================================
  294.     def set_bonus_element_half
  295.       text = self.real_note.clone
  296.       result = []
  297.       # メモ欄からボーナス内容の記述を検索
  298.       bonus = text.scan(/セットボーナス(.+)属性半減/)
  299.       # 1つでもヒットした場合
  300.       if bonus != []
  301.         # 判定用文字からボーナス内容を取得
  302.         for data in bonus
  303.           # 余分な文字を消去
  304.           data.sub!("セットボーナス("){""}
  305.           data.sub!(")属性半減"){""}
  306.           # ボーナス内容(配列)に追加
  307.           result.push(data)
  308.         end
  309.       end
  310.       # ボーナス内容を返す
  311.       return result
  312.     end
  313.     #===========================================================================
  314.     # ○ セットボーナス 属性攻撃(ダメージ)無効 の有無(名前で取得)
  315.     #===========================================================================
  316.     def set_bonus_element_invalidate
  317.       text = self.real_note.clone
  318.       result = []
  319.       # メモ欄からボーナス内容の記述を検索
  320.       bonus = text.scan(/セットボーナス(.+)属性無効/)
  321.       # 1つでもヒットした場合
  322.       if bonus != []
  323.         # 判定用文字からボーナス内容を取得
  324.         for data in bonus
  325.           # 余分な文字を消去
  326.           data.sub!("セットボーナス("){""}
  327.           data.sub!(")属性無効"){""}
  328.           # ボーナス内容(配列)に追加
  329.           result.push(data)
  330.         end
  331.       end
  332.       # ボーナス内容を返す
  333.       return result
  334.     end
  335.     #===========================================================================
  336.     # ○ セットボーナス 状態異常(確率)半減 の有無(名前で取得)
  337.     #===========================================================================
  338.     def set_bonus_state_half
  339.       text = self.real_note.clone
  340.       result = []
  341.       # メモ欄からボーナス内容の記述を検索
  342.       bonus = text.scan(/セットボーナス(.+)状態半減/)
  343.       # 1つでもヒットした場合
  344.       if bonus != []
  345.         # 判定用文字からボーナス内容を取得
  346.         for data in bonus
  347.           # 余分な文字を消去
  348.           data.sub!("セットボーナス("){""}
  349.           data.sub!(")状態半減"){""}
  350.           # ボーナス内容(配列)に追加
  351.           result.push(data)
  352.         end
  353.       end
  354.       # ボーナス内容を返す
  355.       return result
  356.     end
  357.     #===========================================================================
  358.     # ○ セットボーナス 状態異常(確率)無効 の有無(名前で取得)
  359.     #===========================================================================
  360.     def set_bonus_state_invalidate
  361.       text = self.real_note.clone
  362.       result = []
  363.       # メモ欄からボーナス内容の記述を検索
  364.       bonus = text.scan(/セットボーナス(.+)状態無効/)
  365.       # 1つでもヒットした場合
  366.       if bonus != []
  367.         # 判定用文字からボーナス内容を取得
  368.         for data in bonus
  369.           # 余分な文字を消去
  370.           data.sub!("セットボーナス("){""}
  371.           data.sub!(")状態無効"){""}
  372.           # ボーナス内容(配列)に追加
  373.           result.push(data)
  374.         end
  375.       end
  376.       # ボーナス内容を返す
  377.       return result
  378.     end
  379.     #===========================================================================
  380.     # ○ セットボーナス 攻撃属性追加 の有無( IDで取得)
  381.     #===========================================================================
  382.     def set_bonus_attack_element_plus
  383.       text = self.real_note.clone
  384.       result = []
  385.       # メモ欄からボーナス内容の記述を検索
  386.       bonus = text.scan(/セットボーナス(.+)属性追加/)
  387.       # 1つでもヒットした場合
  388.       if bonus != []
  389.         # 判定用文字からボーナス内容を取得
  390.         for data in bonus
  391.           # 余分な文字を消去
  392.           data.sub!("セットボーナス("){""}
  393.           data.sub!(")属性追加"){""}
  394.           # 有効な属性の場合
  395.           if $data_system.elements.include?(data)
  396.             # ボーナス内容(配列)に追加
  397.             result.push($data_system.elements.index(data))
  398.           end
  399.         end
  400.       end
  401.       # ボーナス内容を返す
  402.       return result
  403.     end
  404.     #===========================================================================
  405.     # ○ セットボーナス ステート付加攻撃 の有無( ID で取得)
  406.     #===========================================================================
  407.     def set_bonus_plus_state_attack
  408.       text = self.real_note.clone
  409.       result = []
  410.       # メモ欄からボーナス内容の記述を検索
  411.       bonus = text.scan(/セットボーナス(.+)付加攻撃/)
  412.       # 1つでもヒットした場合
  413.       if bonus != []
  414.         temp = []
  415.         # 判定用文字からボーナス内容を取得
  416.         for data in bonus
  417.           # 余分な文字を消去
  418.           data.sub!("セットボーナス("){""}
  419.           data.sub!(")付加攻撃"){""}
  420.           # ステート名を一時変数に追加
  421.           temp.push(data)
  422.         end
  423.         # 全ステートを調べる
  424.         for state in $data_states
  425.           # 無効なステートは無視
  426.           next if state.nil?
  427.           # ステート名が一時変数の中にある場合
  428.           if temp.include?(state.name)
  429.             # ボーナス内容に ID を追加
  430.             result.push(state.id)
  431.             # 調査が済んだらループを中断
  432.             break if temp.size == $data_states.size
  433.           end
  434.         end
  435.       end
  436.       # ボーナス内容を返す
  437.       return result
  438.     end
  439.     #===========================================================================
  440.     # ○ セットボーナス ステート解除攻撃 の有無( ID で取得)
  441.     #===========================================================================
  442.     def set_bonus_minus_state_attack
  443.       text = self.real_note.clone
  444.       result = []
  445.       # メモ欄からボーナス内容の記述を検索
  446.       bonus = text.scan(/セットボーナス(.+)解除攻撃/)
  447.       # 1つでもヒットした場合
  448.       if bonus != []
  449.         temp = []
  450.         # 判定用文字からボーナス内容を取得
  451.         for data in bonus
  452.           # 余分な文字を消去
  453.           data.sub!("セットボーナス("){""}
  454.           data.sub!(")解除攻撃"){""}
  455.           # ステート名を一時変数に追加
  456.           temp.push(data)
  457.         end
  458.         # 全ステートを調べる
  459.         for state in $data_states
  460.           # 無効なステートは無視
  461.           next if state.nil?
  462.           # ステート名が一時変数の中にある場合
  463.           if temp.include?(state.name)
  464.             # ボーナス内容に ID を追加
  465.             result.push(state.id)
  466.             # 調査が済んだらループを中断
  467.             break if temp.size == $data_states.size
  468.           end
  469.         end
  470.       end
  471.       # ボーナス内容を返す
  472.       return result
  473.     end
  474.     #===========================================================================
  475.     # ○ セットボーナス クリティカル防止 の有無
  476.     #===========================================================================
  477.     def set_bonus_prevent_critical
  478.       # 記述の有無を真偽値で返す
  479.       return self.real_note.include?("セットボーナスクリティカル防止")
  480.     end
  481.     #===========================================================================
  482.     # ○ セットボーナス 取得経験値2倍 の有無
  483.     #===========================================================================
  484.     def set_bonus_double_exp_gain
  485.       # 記述の有無を真偽値で返す(全角)
  486.       return true if self.real_note.include?("セットボーナス取得経験値2倍")
  487.       # 記述の有無を真偽値で返す(半角)
  488.       return self.real_note.include?("セットボーナス取得経験値2倍")
  489.     end
  490.     #===========================================================================
  491.     # ○ セットボーナス 消費MP半分 の有無
  492.     #===========================================================================
  493.     def set_bonus_half_mp_cost
  494.       # 記述の有無を真偽値で返す(全角)
  495.       return true if self.real_note.include?("セットボーナス消費MP半分")
  496.       # 記述の有無を真偽値で返す(半角)
  497.       return self.real_note.include?("セットボーナス消費MP半分")
  498.     end
  499.     #===========================================================================
  500.     # ○ セットボーナス HP自動回復 の有無
  501.     #===========================================================================
  502.     def set_bonus_auto_hp_recover
  503.       # 記述の有無を真偽値で返す(全角)
  504.       return true if self.real_note.include?("セットボーナスHP自動回復")
  505.       # 記述の有無を真偽値で返す(半角)
  506.       return self.real_note.include?("セットボーナスHP自動回復")
  507.     end
  508.     #===========================================================================
  509.     # ○ セットボーナス ターン内先制 の有無
  510.     #===========================================================================
  511.     def set_bonus_fast_attack
  512.       return self.real_note.include?("セットボーナスターン内先制")
  513.     end
  514.     #===========================================================================
  515.     # ○ セットボーナス 連続攻撃 の有無
  516.     #===========================================================================
  517.     def set_bonus_dual_attack
  518.       return self.real_note.include?("セットボーナス連続攻撃")
  519.     end
  520.     #===========================================================================
  521.     # ○ セットボーナス 強力防御 の有無
  522.     #===========================================================================
  523.     def set_bonus_super_guard
  524.       return self.real_note.include?("セットボーナス強力防御")
  525.     end
  526.     #===========================================================================
  527.     # ○ セットボーナス 薬の知識 の有無
  528.     #===========================================================================
  529.     def set_bonus_pharmacology
  530.       return self.real_note.include?("セットボーナス薬の知識")
  531.     end
  532.     #===========================================================================
  533.     # ○ セットボーナス スキル仮習得 の有無(オブジェクトで取得)
  534.     #===========================================================================
  535.     def set_bonus_skill_temp_learn
  536.       text = self.real_note.clone
  537.       result = []
  538.       # メモ欄からボーナス内容の記述を検索
  539.       bonus = text.scan(/セットボーナススキル仮習得\(\d+\)/)
  540.       # 1つでもヒットした場合
  541.       if bonus != []
  542.         # 判定用文字からボーナス内容を取得
  543.         for data in bonus
  544.           # 余分な文字を消去
  545.           data.sub!("セットボーナススキル仮習得("){""}
  546.           data.sub!(")"){""}
  547.           # 有効なスキル ID の場合
  548.           unless $data_skills[data.to_i].nil?
  549.             # スキルオブジェクトを追加
  550.             result.push($data_skills[data.to_i])
  551.           end
  552.         end
  553.       end
  554.       # ボーナス内容を返す
  555.       return result
  556.     end
  557.     #===========================================================================
  558.     # ○ セットボーナス スリップダメージ の有無
  559.     #===========================================================================
  560.     def set_bonus_slip_damage
  561.       return self.real_note.include?("セットボーナススリップダメージ")
  562.     end
  563.     #===========================================================================
  564.     # ○ セットボーナス 魔法使用不可 の有無
  565.     #===========================================================================
  566.     def set_bonus_silent
  567.       return self.real_note.include?("セットボーナス魔法使用不可")
  568.     end
  569.     #===========================================================================
  570.     # ○ セットボーナス 暴走 の有無
  571.     #===========================================================================
  572.     def set_bonus_berserker
  573.       return self.real_note.include?("セットボーナス暴走")
  574.     end
  575.   end
  576. end
  577. #==============================================================================
  578. # ■ Game_Battler
  579. #------------------------------------------------------------------------------
  580. #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
  581. # スのスーパークラスとして使用されます。
  582. #==============================================================================
  583. class Game_Battler
  584.   #--------------------------------------------------------------------------
  585.   # ● インスタンスの複製
  586.   #--------------------------------------------------------------------------
  587.   alias set_equips_bonus_minus_state_set minus_state_set
  588.   alias set_equips_bonus_slip_damage? slip_damage?
  589.   alias set_equips_bonus_silent? silent?
  590.   alias set_equips_bonus_berserker? berserker?
  591.   alias set_equips_bonus_confusion? confusion?
  592.   alias set_equips_bonus_inputable? inputable?
  593.   #--------------------------------------------------------------------------
  594.   # ● 通常攻撃のステート変化 (-) 取得
  595.   #--------------------------------------------------------------------------
  596.   def minus_state_set
  597.     # 通常の処理を実行して結果を取得
  598.     result = set_equips_bonus_minus_state_set
  599.     # アクターの場合
  600.     if self.actor?
  601.       # セットボーナス 追加攻撃ステート付加 が存在する場合
  602.       if @set_bonus_minus_state_attack != []
  603.         # ステート変化の追加
  604.         result += @set_bonus_minus_state_attack
  605.         # “被り”をなくす
  606.         result.uniq!
  607.       end
  608.     end
  609.     # 最終的な結果を返す
  610.     return result
  611.   end
  612.   #--------------------------------------------------------------------------
  613.   # ● ステート [スリップダメージ] 判定
  614.   #--------------------------------------------------------------------------
  615.   def slip_damage?
  616.     # 通常の処理を実行して結果を取得
  617.     result = set_equips_bonus_slip_damage?
  618.     # アクターの場合
  619.     if self.actor?
  620.       # セットボーナスが存在する場合 result に true を入れる
  621.       result = true if @set_bonus_slip_damage == true
  622.     end
  623.     # 最終的な結果を返す
  624.     return result
  625.   end
  626.   #--------------------------------------------------------------------------
  627.   # ● 沈黙状態判定
  628.   #--------------------------------------------------------------------------
  629.   def silent?
  630.     # 通常の処理を実行して結果を取得
  631.     result = set_equips_bonus_silent?
  632.     # アクターの場合
  633.     if self.actor?
  634.       # セットボーナスが存在する場合 result に true を入れる
  635.       result = true if @set_bonus_silent == true
  636.     end
  637.     # 最終的な結果を返す
  638.     return result
  639.   end
  640.   #--------------------------------------------------------------------------
  641.   # ● 暴走状態判定
  642.   #--------------------------------------------------------------------------
  643.   def berserker?
  644.     # 通常の処理を実行して結果を取得
  645.     result = set_equips_bonus_berserker?
  646.     # アクターの場合
  647.     if self.actor?
  648.       # セットボーナスが存在する場合 result に true を入れる
  649.       result = true if @set_bonus_berserker == true
  650.     end
  651.     # 最終的な結果を返す
  652.     return result
  653.   end
  654.   #--------------------------------------------------------------------------
  655.   # ● コマンド入力可能判定
  656.   #--------------------------------------------------------------------------
  657.   def inputable?
  658.     # 通常の処理を実行して結果を取得
  659.     result = set_equips_bonus_inputable?
  660.     # アクターの場合
  661.     if self.actor?
  662.       # 暴走状態の場合、false にする
  663.       result = false if self.berserker?
  664.     end
  665.     # 最終的な結果を返す
  666.     return result
  667.   end
  668. end
  669. #==============================================================================
  670. # ■ Game_Actor
  671. #------------------------------------------------------------------------------
  672. #  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors)
  673. # の内部で使用され、Game_Party クラス ($game_party) からも参照されます。
  674. #==============================================================================
  675. class Game_Actor < Game_Battler
  676.   #--------------------------------------------------------------------------
  677.   # ● インスタンスの複製
  678.   #--------------------------------------------------------------------------
  679.   alias set_equips_bonus_setup setup
  680.   alias set_equips_bonus_change_equip change_equip
  681.   alias set_equips_bonus_element_rate element_rate
  682.   alias set_equips_bonus_state_probability state_probability
  683.   alias set_equips_bonus_state_resist? state_resist?
  684.   alias set_equips_bonus_element_set element_set
  685.   alias set_equips_bonus_plus_state_set plus_state_set
  686.   alias set_equips_bonus_base_atk base_atk
  687.   alias set_equips_bonus_base_def base_def
  688.   alias set_equips_bonus_base_spi base_spi
  689.   alias set_equips_bonus_base_agi base_agi
  690.   alias set_equips_bonus_hit hit
  691.   alias set_equips_bonus_eva eva
  692.   alias set_equips_bonus_cri cri
  693.   alias set_equips_bonus_odds odds
  694.   alias set_equips_bonus_super_guard super_guard
  695.   alias set_equips_bonus_pharmacology pharmacology
  696.   alias set_equips_bonus_fast_attack fast_attack
  697.   alias set_equips_bonus_dual_attack dual_attack
  698.   alias set_equips_bonus_prevent_critical prevent_critical
  699.   alias set_equips_bonus_half_mp_cost half_mp_cost
  700.   alias set_equips_bonus_double_exp_gain double_exp_gain
  701.   alias set_equips_bonus_auto_hp_recover auto_hp_recover
  702.   alias set_equips_bonus_skills skills
  703.   alias set_equips_bonus_skill_can_use? skill_can_use?
  704.   #--------------------------------------------------------------------------
  705.   # ● セットアップ
  706.   #     actor_id : アクター ID
  707.   #--------------------------------------------------------------------------
  708.   def setup(actor_id)
  709.     # 通常の処理を実行
  710.     set_equips_bonus_setup(actor_id)
  711.     # テスト用セットボーナス変数を初期化
  712.     @test_set_bonus = [0, 0, 0, 0, 0, 0, 0, nil]
  713.     # 组合装备のチェック
  714.     check_set_equips_bonus
  715.   end
  716.   #--------------------------------------------------------------------------
  717.   # ● セットボーナスの初期化
  718.   #--------------------------------------------------------------------------
  719.   def initialize_set_bonus
  720.     # 攻撃力
  721.     @set_bonus_atk = 0
  722.     # 防御力
  723.     @set_bonus_def = 0
  724.     # 精神力
  725.     @set_bonus_spi = 0
  726.     # 敏捷性
  727.     @set_bonus_agi = 0
  728.     # 攻撃命中率
  729.     @set_bonus_hit = 0
  730.     # 回避率
  731.     @set_bonus_eva = 0
  732.     # クリティカル率
  733.     @set_bonus_cri = 0
  734.     # 狙われやすさ
  735.     @set_bonus_odds = 1
  736.     # ダメージ半減属性
  737.     @set_bonus_element_half = []
  738.     # ダメージ無効属性
  739.     @set_bonus_element_invalidate = []
  740.     # 成功率半減ステート
  741.     @set_bonus_state_half = []
  742.     # 無効化ステート
  743.     @set_bonus_state_invalidate = []
  744.     # 追加攻撃属性
  745.     @set_bonus_attack_element_plus = []
  746.     # 追加攻撃ステート付加
  747.     @set_bonus_plus_state_attack = []
  748.     # 追加攻撃ステート解除
  749.     @set_bonus_minus_state_attack = []
  750.     # クリティカル防止
  751.     @set_bonus_prevent_critical = false
  752.     # 経験値取得2倍
  753.     @set_bonus_double_exp_gain = false
  754.     # 消費MP半分
  755.     @set_bonus_half_mp_cost = false
  756.     # HP自動回復
  757.     @set_bonus_auto_hp_recover = false
  758.     # ターン内先制
  759.     @set_bonus_fast_attack = false
  760.     # 連続攻撃
  761.     @set_bonus_dual_attack = false
  762.     # 強力防御
  763.     @set_bonus_super_guard = false
  764.     # 薬の知識
  765.     @set_bonus_pharmacology = false
  766.     # スキル仮習得
  767.     @set_bonus_skill_temp_learn = []
  768.     # スリップダメージ
  769.     @set_bonus_slip_damage = false
  770.     # 魔法使用不可
  771.     @set_bonus_silent = false
  772.     # 暴走
  773.     @set_bonus_berserker = false
  774.   end
  775.   #--------------------------------------------------------------------------
  776.   # ● 装備の変更 (オブジェクトで指定)
  777.   #     equip_type : 装備部位 (0..4)
  778.   #     item       : 武器 or 防具 (nil なら装備解除)
  779.   #     test       : テストフラグ (戦闘テスト、または装備画面での一時装備)
  780.   #--------------------------------------------------------------------------
  781.   def change_equip(equip_type, item, test = false)
  782.     # 通常の処理を実行
  783.     set_equips_bonus_change_equip(equip_type, item, test)
  784.     # テストの場合
  785.     if test
  786.       # テスト用変数の装備と item が違う場合
  787.       if @test_set_bonus[7] != item
  788.         # 组合装备のチェック
  789.         check_set_equips_bonus
  790.         # 各データをテスト用変数に入れる
  791.         @test_set_bonus[0] = @set_bonus_atk
  792.         @test_set_bonus[1] = @set_bonus_def
  793.         @test_set_bonus[2] = @set_bonus_spi
  794.         @test_set_bonus[3] = @set_bonus_agi
  795.         @test_set_bonus[4] = @set_bonus_hit
  796.         @test_set_bonus[5] = @set_bonus_eva
  797.         @test_set_bonus[6] = @set_bonus_cri
  798.         @test_set_bonus[7] = item
  799.       # テスト用変数の装備と item が同じ場合
  800.       else
  801.         # テスト用変数に入っているデータをボーナス値に適用
  802.         @set_bonus_atk = @test_set_bonus[0]
  803.         @set_bonus_def = @test_set_bonus[1]
  804.         @set_bonus_spi = @test_set_bonus[2]
  805.         @set_bonus_agi = @test_set_bonus[3]
  806.         @set_bonus_hit = @test_set_bonus[4]
  807.         @set_bonus_eva = @test_set_bonus[5]
  808.         @set_bonus_cri = @test_set_bonus[6]
  809.       end
  810.       # 処理を中断
  811.       return
  812.     end
  813.     # 组合装备のチェック
  814.     check_set_equips_bonus
  815.   end
  816.   #--------------------------------------------------------------------------
  817.   # ● 组合装备のチェック
  818.   #--------------------------------------------------------------------------
  819.   def check_set_equips_bonus
  820.     # セットボーナスの初期化
  821.     initialize_set_bonus
  822.     # 現在の装備を取得
  823.     now_equips = equips.clone
  824.     now_equips.compact!
  825.     # 组合装备の設定があるか調べる
  826.     for equip in now_equips
  827.       # 設定がない場合は無視
  828.       next unless equip.need_set_equips_check
  829.       # 判定用変数の初期化
  830.       match = []
  831.       # 组合装备の内容を取得
  832.       sets = equip.set_equips.sort
  833.       # 组合装备を装着しているか各装備を調べる
  834.       for data in now_equips
  835.         # 组合装备の場合
  836.         if sets.include?(data.name)
  837.           # 判定用変数に名前を加える
  838.           match << data.name
  839.         end
  840.       end
  841.       # 组合装备が全て揃っている場合
  842.       if (match.sort & sets) == sets
  843.         #-----------------------------------------------------------------------
  844.         # 各ボーナスを反映
  845.         #-----------------------------------------------------------------------
  846.         # 攻撃力
  847.         @set_bonus_atk += equip.set_bonus_atk
  848.         # 防御力
  849.         @set_bonus_def += equip.set_bonus_def
  850.         # 精神力
  851.         @set_bonus_spi += equip.set_bonus_spi
  852.         # 敏捷性
  853.         @set_bonus_agi += equip.set_bonus_agi
  854.         # 攻撃命中率
  855.         @set_bonus_hit += equip.set_bonus_hit
  856.         # 回避率
  857.         @set_bonus_eva += equip.set_bonus_eva
  858.         # クリティカル率
  859.         @set_bonus_cri += equip.set_bonus_cri
  860.         # 狙われやすさ
  861.         if equip.set_bonus_odds_twice
  862.           @set_bonus_odds *= 2
  863.         elsif equip.set_bonus_odds_half
  864.           @set_bonus_odds *= 0.5
  865.         end
  866.         # ダメージ半減属性
  867.         if equip.set_bonus_element_half != []
  868.           @set_bonus_element_half += equip.set_bonus_element_half.clone
  869.         end
  870.         # ダメージ無効属性
  871.         if equip.set_bonus_element_invalidate != []
  872.           @set_bonus_element_invalidate += equip.set_bonus_element_invalidate.clone
  873.         end
  874.         # 成功率半減ステート
  875.         if equip.set_bonus_state_half != []
  876.           @set_bonus_state_half += equip.set_bonus_state_half.clone
  877.         end
  878.         # 無効化ステート
  879.         if equip.set_bonus_state_invalidate != []
  880.           @set_bonus_state_invalidate += equip.set_bonus_state_invalidate.clone
  881.         end
  882.         # 追加攻撃属性
  883.         if equip.set_bonus_attack_element_plus != []
  884.           @set_bonus_attack_element_plus += equip.set_bonus_attack_element_plus.clone
  885.         end
  886.         # 追加攻撃ステート付加
  887.         if equip.set_bonus_plus_state_attack != []
  888.           @set_bonus_plus_state_attack += equip.set_bonus_plus_state_attack.clone
  889.         end
  890.         # 追加攻撃ステート解除
  891.         if equip.set_bonus_minus_state_attack != []
  892.           @set_bonus_minus_state_attack += equip.set_bonus_minus_state_attack.clone
  893.         end
  894.         # クリティカル防止
  895.         unless @set_bonus_prevent_critical
  896.           @set_bonus_prevent_critical = equip.set_bonus_prevent_critical
  897.         end
  898.         # 経験値取得2倍
  899.         unless @set_bonus_double_exp_gain
  900.           @set_bonus_double_exp_gain = equip.set_bonus_double_exp_gain
  901.         end
  902.         # 消費MP半分
  903.         unless @set_bonus_half_mp_cost
  904.           @set_bonus_half_mp_cost = equip.set_bonus_half_mp_cost
  905.         end
  906.         # HP自動回復
  907.         unless @set_bonus_auto_hp_recover
  908.           @set_bonus_auto_hp_recover = equip.set_bonus_auto_hp_recover
  909.         end
  910.         # ターン内先制
  911.         unless @set_bonus_fast_attack
  912.           @set_bonus_fast_attack = equip.set_bonus_fast_attack
  913.         end
  914.         # 連続攻撃
  915.         unless @set_bonus_dual_attack
  916.           @set_bonus_dual_attack = equip.set_bonus_dual_attack
  917.         end
  918.         # 強力防御
  919.         unless @set_bonus_super_guard
  920.           @set_bonus_super_guard = equip.set_bonus_super_guard
  921.         end
  922.         # 薬の知識
  923.         unless @set_bonus_pharmacology
  924.           @set_bonus_pharmacology = equip.set_bonus_pharmacology
  925.         end
  926.         # スキル仮習得
  927.         if equip.set_bonus_skill_temp_learn != []
  928.           @set_bonus_skill_temp_learn += equip.set_bonus_skill_temp_learn - self.skills
  929.           # 配列が空ではない場合
  930.           if @set_bonus_skill_temp_learn != []
  931.             # 配列の内容を整理
  932.             @set_bonus_skill_temp_learn.compact!
  933.             @set_bonus_skill_temp_learn.uniq!
  934.           end
  935.         end
  936.         # スリップダメージ
  937.         unless @set_bonus_slip_damage
  938.           @set_bonus_slip_damage = equip.set_bonus_slip_damage
  939.         end
  940.         # 魔法使用不可
  941.         unless @set_bonus_silent
  942.           @set_bonus_silent = equip.set_bonus_silent
  943.         end
  944.         # 暴走
  945.         unless @set_bonus_berserker
  946.           @set_bonus_berserker = equip.set_bonus_berserker
  947.         end
  948.       end
  949.     end
  950.   end
  951.   #--------------------------------------------------------------------------
  952.   # ● 属性修正値の取得
  953.   #     element_id : 属性 ID
  954.   #--------------------------------------------------------------------------
  955.   def element_rate(element_id)
  956.     # 通常の処理を実行して値を取得
  957.     result = set_equips_bonus_element_rate(element_id)
  958.     # ダメージ無効属性の場合
  959.     if @set_bonus_element_invalidate.include?($data_system.elements[element_id])
  960.       result = 0
  961.     # ダメージ半減属性の場合
  962.     elsif @set_bonus_element_half.include?($data_system.elements[element_id])
  963.       result /= 2
  964.     end
  965.     # 最終的な値を返す
  966.     return result
  967.   end
  968.   #--------------------------------------------------------------------------
  969.   # ● ステートの付加成功率の取得
  970.   #     state_id : ステート ID
  971.   #--------------------------------------------------------------------------
  972.   def state_probability(state_id)
  973.     # 通常の処理を実行して値を取得
  974.     result = set_equips_bonus_state_probability(state_id)
  975.     # [抵抗しない] フラグが立っていない場合
  976.     unless $data_states[state_id].nonresistance
  977.       # 無効化ステートの場合
  978.       if @set_bonus_state_invalidate.include?($data_states[state_id].name)
  979.         result = 0
  980.       # 成功率半減ステートの場合
  981.       elsif @set_bonus_state_half.include?($data_states[state_id].name)
  982.         result /= 2
  983.       end
  984.     end
  985.     # 最終的な値を返す
  986.     return result
  987.   end
  988.   #--------------------------------------------------------------------------
  989.   # ● ステート無効化判定
  990.   #     state_id : ステート ID
  991.   #--------------------------------------------------------------------------
  992.   def state_resist?(state_id)
  993.     # 通常の処理を実行して値を取得
  994.     result = set_equips_bonus_state_resist?(state_id)
  995.     # この時点で true なら true を返す
  996.     return true if result == true
  997.     # セットボーナス 無効化ステート に記載があるかを真偽値で返す
  998.     return @set_bonus_state_invalidate.include?($data_states[state_id].name)
  999.   end
  1000.   #--------------------------------------------------------------------------
  1001.   # ● 通常攻撃の属性取得
  1002.   #--------------------------------------------------------------------------
  1003.   def element_set
  1004.     # 通常の処理を実行して内容を取得
  1005.     result = set_equips_bonus_element_set
  1006.     # セットボーナス 追加攻撃属性 が存在する場合
  1007.     if @set_bonus_attack_element_plus != []
  1008.       # 攻撃属性の追加
  1009.       if @set_bonus_attack_element_plus != []
  1010.         result += @set_bonus_attack_element_plus
  1011.         # “被り”をなくす
  1012.         result.uniq!
  1013.       end
  1014.     end
  1015.     # 最終的な内容を返す
  1016.     return result
  1017.   end
  1018.   #--------------------------------------------------------------------------
  1019.   # ● 通常攻撃の追加効果 (ステート変化) 取得
  1020.   #--------------------------------------------------------------------------
  1021.   def plus_state_set
  1022.     # 通常の処理を実行して内容を取得
  1023.     result = set_equips_bonus_plus_state_set
  1024.     # セットボーナス 追加攻撃ステート付加 が存在する場合
  1025.     if @set_bonus_plus_state_attack != []
  1026.       # ステート変化の追加
  1027.       result += @set_bonus_plus_state_attack
  1028.       # “被り”をなくす
  1029.       result.uniq!
  1030.     end
  1031.     # 最終的な内容を返す
  1032.     return result
  1033.   end
  1034.   #--------------------------------------------------------------------------
  1035.   # ● 基本攻撃力の取得
  1036.   #--------------------------------------------------------------------------
  1037.   def base_atk
  1038.     # 通常の処理を実行して値を取得
  1039.     result = set_equips_bonus_base_atk
  1040.     # セットボーナスの値を追加
  1041.     result += @set_bonus_atk
  1042.     # 最終的な値を返す
  1043.     return result
  1044.   end
  1045.   #--------------------------------------------------------------------------
  1046.   # ● 基本防御力の取得
  1047.   #--------------------------------------------------------------------------
  1048.   def base_def
  1049.     # 通常の処理を実行して値を取得
  1050.     result = set_equips_bonus_base_def
  1051.     # セットボーナスの値を追加
  1052.     result += @set_bonus_def
  1053.     # 最終的な値を返す
  1054.     return result
  1055.   end
  1056.   #--------------------------------------------------------------------------
  1057.   # ● 基本精神力の取得
  1058.   #--------------------------------------------------------------------------
  1059.   def base_spi
  1060.     # 通常の処理を実行して値を取得
  1061.     result = set_equips_bonus_base_spi
  1062.     # セットボーナスの値を追加
  1063.     result += @set_bonus_spi
  1064.     # 最終的な値を返す
  1065.     return result
  1066.   end
  1067.   #--------------------------------------------------------------------------
  1068.   # ● 基本敏捷性の取得
  1069.   #--------------------------------------------------------------------------
  1070.   def base_agi
  1071.     # 通常の処理を実行して値を取得
  1072.     result = set_equips_bonus_base_agi
  1073.     # セットボーナスの値を追加
  1074.     result += @set_bonus_agi
  1075.     # 最終的な値を返す
  1076.     return result
  1077.   end
  1078.   #--------------------------------------------------------------------------
  1079.   # ● 命中率の取得
  1080.   #--------------------------------------------------------------------------
  1081.   def hit
  1082.     # 通常の処理を実行して値を取得
  1083.     result = set_equips_bonus_hit
  1084.     # セットボーナスの値を追加
  1085.     result += @set_bonus_hit
  1086.     # 最終的な値を返す
  1087.     return result
  1088.   end
  1089.   #--------------------------------------------------------------------------
  1090.   # ● 回避率の取得
  1091.   #--------------------------------------------------------------------------
  1092.   def eva
  1093.     # 通常の処理を実行して値を取得
  1094.     result = set_equips_bonus_eva
  1095.     # セットボーナスの値を追加
  1096.     result += @set_bonus_eva
  1097.     # 最終的な値を返す
  1098.     return result
  1099.   end
  1100.   #--------------------------------------------------------------------------
  1101.   # ● クリティカル率の取得
  1102.   #--------------------------------------------------------------------------
  1103.   def cri
  1104.     # 通常の処理を実行して値を取得
  1105.     result = set_equips_bonus_cri
  1106.     # セットボーナスの値を追加
  1107.     result += @set_bonus_cri
  1108.     # 最終的な値を返す
  1109.     return result
  1110.   end
  1111.   #--------------------------------------------------------------------------
  1112.   # ● 狙われやすさの取得
  1113.   #--------------------------------------------------------------------------
  1114.   def odds
  1115.     # 通常の処理を実行して値を取得する
  1116.     result = set_equips_bonus_odds
  1117.     result *= @set_bonus_odds
  1118.     result.to_i
  1119.     # 最終的な値を返す
  1120.     return [result, 1].max
  1121.   end
  1122.   #--------------------------------------------------------------------------
  1123.   # ● オプション [強力防御] の取得
  1124.   #--------------------------------------------------------------------------
  1125.   def super_guard
  1126.     # 通常の処理を実行し、結果が true なら true を返す
  1127.     return true if set_equips_bonus_super_guard == true
  1128.     # セットボーナスの真偽値を返す
  1129.     return @set_bonus_super_guard
  1130.   end
  1131.   #--------------------------------------------------------------------------
  1132.   # ● オプション [薬の知識] の取得
  1133.   #--------------------------------------------------------------------------
  1134.   def pharmacology
  1135.     # 通常の処理を実行し、結果が true なら true を返す
  1136.     return true if set_equips_bonus_pharmacology == true
  1137.     # セットボーナスの真偽値を返す
  1138.     return @set_bonus_pharmacology
  1139.   end
  1140.   #--------------------------------------------------------------------------
  1141.   # ● 武器オプション [ターン内先制] の取得
  1142.   #--------------------------------------------------------------------------
  1143.   def fast_attack
  1144.     # 通常の処理を実行し、結果が true なら true を返す
  1145.     return true if set_equips_bonus_fast_attack == true
  1146.     # セットボーナスの真偽値を返す
  1147.     return @set_bonus_fast_attack
  1148.   end
  1149.   #--------------------------------------------------------------------------
  1150.   # ● 武器オプション [連続攻撃] の取得
  1151.   #--------------------------------------------------------------------------
  1152.   def dual_attack
  1153.     # 通常の処理を実行し、結果が true なら true を返す
  1154.     return true if set_equips_bonus_dual_attack == true
  1155.     # セットボーナスの真偽値を返す
  1156.     return @set_bonus_dual_attack
  1157.   end
  1158.   #--------------------------------------------------------------------------
  1159.   # ● 防具オプション [クリティカル防止] の取得
  1160.   #--------------------------------------------------------------------------
  1161.   def prevent_critical
  1162.     # 通常の処理を実行し、結果が true なら true を返す
  1163.     return true if set_equips_bonus_prevent_critical == true
  1164.     # セットボーナスの真偽値を返す
  1165.     return @set_bonus_prevent_critical
  1166.   end
  1167.   #--------------------------------------------------------------------------
  1168.   # ● 防具オプション [消費 MP 半分] の取得
  1169.   #--------------------------------------------------------------------------
  1170.   def half_mp_cost
  1171.     # 通常の処理を実行し、結果が true なら true を返す
  1172.     return true if set_equips_bonus_half_mp_cost == true
  1173.     # セットボーナスの真偽値を返す
  1174.     return @set_bonus_half_mp_cost
  1175.   end
  1176.   #--------------------------------------------------------------------------
  1177.   # ● 防具オプション [取得経験値 2 倍] の取得
  1178.   #--------------------------------------------------------------------------
  1179.   def double_exp_gain
  1180.     # 通常の処理を実行し、結果が true なら true を返す
  1181.     return true if set_equips_bonus_double_exp_gain == true
  1182.     # セットボーナスの真偽値を返す
  1183.     return @set_bonus_double_exp_gain
  1184.   end
  1185.   #--------------------------------------------------------------------------
  1186.   # ● 防具オプション [HP 自動回復] の取得
  1187.   #--------------------------------------------------------------------------
  1188.   def auto_hp_recover
  1189.     # 通常の処理を実行し、結果が true なら true を返す
  1190.     return true if set_equips_bonus_auto_hp_recover == true
  1191.     # セットボーナスの真偽値を返す
  1192.     return @set_bonus_auto_hp_recover
  1193.   end
  1194.   #--------------------------------------------------------------------------
  1195.   # ● スキルオブジェクトの配列取得
  1196.   #--------------------------------------------------------------------------
  1197.   def skills
  1198.     # 通常の処理を実行してリストを取得
  1199.     result = set_equips_bonus_skills
  1200.     # セットボーナスの初期化が行われていない場合、リストをそのまま返す(競合防止)
  1201.     return result if @set_bonus_skill_temp_learn.nil?
  1202.     # セットボーナスが存在する場合
  1203.     if @set_bonus_skill_temp_learn != []
  1204.       result += @set_bonus_skill_temp_learn
  1205.     end
  1206.     # 最終的なリストを返す
  1207.     return result
  1208.   end
  1209.   #--------------------------------------------------------------------------
  1210.   # ● スキルの使用可能判定
  1211.   #     skill : スキル
  1212.   #--------------------------------------------------------------------------
  1213.   def skill_can_use?(skill)
  1214.     # 通常の処理を実行して結果を取得
  1215.     result = set_equips_bonus_skill_can_use?(skill)
  1216.     # false だった場合
  1217.     unless result
  1218.       # セットボーナススキル仮習得の中にスキルが存在する場合
  1219.       if @set_bonus_skill_temp_learn.include?(skill)
  1220.         # もう1度判定し直す
  1221.         result = super
  1222.       end
  1223.     end
  1224.     # 最終的な結果を返す
  1225.     return result
  1226.   end
  1227. end
{:2_270:}

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
2
发表于 2015-3-5 10:52:43 | 只看该作者
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
3
发表于 2015-3-6 15:27:47 | 只看该作者
这个脚本的兼容性很差 而且不兼容装备扩张 使用还需要从长计议
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-4 07:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表