# # HP依存ダメージ(RGSS2) #  (C)2008 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:HP差分依存・HP残量依存 #              最大HP依存 #-------------------------------------------------------------------------- module RPG class BaseItem alias rx_rgss2sp5_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_note(@note, "RX-SYS") @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str rx_get_sys = RX_T.get_system_word_in_note(@note, "HP差分依存", true) @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str rx_get_sys = RX_T.get_system_word_in_note(@note, "HP残量依存", true) @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str rx_get_sys = RX_T.get_system_word_in_note(@note, "最大HP依存", true) @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2sp5_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ # スのスーパークラスとして使用されます。 #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ★ スキルまたはアイテムに付加されている拡張システムフラグの取得 # obj : スキルまたはアイテム #-------------------------------------------------------------------------- alias rx_rgss2sp5_rx_set_system_flag rx_set_system_flag def rx_set_system_flag(obj) # HP差分ダメージが含まれているかチェック @rx_hp_difference_damage = RX_T.check_system_word_in_sys_str(obj, "HP差分依存") # HP残量ダメージが含まれているかチェック @rx_hp_remainder_amount_damage = RX_T.check_system_word_in_sys_str(obj, "HP残量依存") # 最大HPダメージが含まれているかチェック @rx_maxhp_damage = RX_T.check_system_word_in_sys_str(obj, "最大HP依存") rx_rgss2sp5_rx_set_system_flag(obj) end #-------------------------------------------------------------------------- # ★ 装備物に付加されている拡張システムフラグの取得 # obj : スキルまたはアイテム #-------------------------------------------------------------------------- alias rx_rgss2sp5_rx_set_equip_sys_flag rx_set_equip_sys_flag def rx_set_equip_sys_flag(sys_str) # HP差分ダメージが含まれているかチェック @rx_hp_difference_damage = RX_T.check_system_word_in_equip(sys_str, "HP差分依存") # HP残量ダメージが含まれているかチェック @rx_hp_remainder_amount_damage = RX_T.check_system_word_in_equip(sys_str, "HP残量依存") # 最大HPダメージが含まれているかチェック @rx_maxhp_damage = RX_T.check_system_word_in_equip(sys_str, "最大HP依存") # メソッドを呼び戻す rx_rgss2sp5_rx_set_equip_sys_flag(sys_str) end #-------------------------------------------------------------------------- # ★ 特殊ダメージ計算(武器攻撃) # user : 武器の使用者 # obj : 武器 #-------------------------------------------------------------------------- alias rx_rgss2sp5_rx_weapon_damage_calculation rx_weapon_damage_calculation def rx_weapon_damage_calculation(attacker) # HP差分依存処理 if @rx_hp_difference_damage damage = (attacker.maxhp - attacker.hp) * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "HP差分依存") @damage2 = (attacker.maxhp - attacker.hp) * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "HP差分依存") return damage end # HP残量依存処理 if @rx_hp_remainder_amount_damage damage = attacker.hp * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "HP残量依存") @damage2 = attacker.hp * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "HP残量依存") return damage end # 最大HP依存処理 if @rx_maxhp_damage damage = attacker.maxhp * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "最大HP依存") @damage2 = attacker.maxhp * RX_T.get_numeric_of_system_word_in_equip(attacker.rx_sys_str, "最大HP依存") return damage end # メソッドを呼び戻す rx_rgss2sp5_rx_weapon_damage_calculation(attacker) end #-------------------------------------------------------------------------- # ★ 特殊ダメージ計算 # user : スキルまたはアイテムの使用者 # obj : スキルまたはアイテム #-------------------------------------------------------------------------- alias rx_rgss2sp5_rx_damage_calculation rx_damage_calculation def rx_damage_calculation(user, obj) # HP差分依存処理 if @rx_hp_difference_damage if obj.damage_to_mp damage = (user.maxhp - user.hp) * obj.base_damage else damage = (user.maxhp - user.hp) * obj.base_damage end @damage2 = (user.maxhp - user.hp) * obj.base_damage return damage end # HP残量依存処理 if @rx_hp_remainder_amount_damage if obj.damage_to_mp damage = user.hp * obj.base_damage else damage = user.hp * obj.base_damage end @damage2 = user.hp * obj.base_damage return damage end # 最大HP依存処理 if @rx_maxhp_damage if obj.damage_to_mp damage = user.maxhp * obj.base_damage else damage = user.maxhp * obj.base_damage end @damage2 = user.maxhp * obj.base_damage return damage end # メソッドを呼び戻す rx_rgss2sp5_rx_damage_calculation(user, obj) end end