# # 弱点属性設定(RGSS2) #  (C)2008 TYPE74RX-T # #============================================================================== # ★ 再定義ポイント #------------------------------------------------------------------------------ # class Game_Actor # def element_rate # class Game_Enemy # def element_rate #============================================================================== #-------------------------------------------------------------------------- # ★ システムワードの登録:弱属性 #-------------------------------------------------------------------------- module RPG class State alias rx_rgss2b17_rx_extract_sys_str_from_note rx_extract_sys_str_from_note def rx_extract_sys_str_from_note rx_get_sys = RX_T.get_system_word_in_note2(@note, "弱属性") unless rx_get_sys == "" @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") end @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2b17_rx_extract_sys_str_from_note end end end #-------------------------------------------------------------------------- # ★ システムワードの登録:弱属性 #-------------------------------------------------------------------------- module RPG class BaseItem alias rx_rgss2b17_rx_extract_sys_str_from_note rx_extract_sys_str_from_note def rx_extract_sys_str_from_note rx_get_sys = RX_T.get_system_word_in_note2(@note, "弱属性") unless rx_get_sys == "" @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") end @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2b17_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ #  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors) # の内部で使用され、Game_Party クラス ($game_party) からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 属性修正値の取得 # element_id : 属性 ID #-------------------------------------------------------------------------- def element_rate(element_id) rank = self.class.element_ranks[element_id] result = [0,200,150,100,50,0,-100][rank] for armor in armors.compact result /= 2 if armor.element_set.include?(element_id) rx_week_elements = RX_T.get_array_of_system_word_in_sys_str(armor, "弱属性") result *= 2 if rx_week_elements.include?(element_id) end for state in states result /= 2 if state.element_set.include?(element_id) rx_week_elements = RX_T.get_array_of_system_word_in_sys_str(state, "弱属性") result *= 2 if rx_week_elements.include?(element_id) end return result end end #============================================================================== # ■ Game_Enemy #------------------------------------------------------------------------------ #  敵キャラを扱うクラスです。このクラスは Game_Troop クラス ($game_troop) の # 内部で使用されます。 #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● 属性修正値の取得 # element_id : 属性 ID #-------------------------------------------------------------------------- def element_rate(element_id) rank = enemy.element_ranks[element_id] result = [0,200,150,100,50,0,-100][rank] for state in states result /= 2 if state.element_set.include?(element_id) rx_week_elements = RX_T.get_array_of_system_word_in_sys_str(state, "弱属性") result *= 2 if rx_week_elements.include?(element_id) end return result end end