Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module RINOBI module RBS # DO NOT MODIFY
- #==============================================================================
- # # RELATIVE BASIC STATS
- # -----------------------------------------------------------------------------
- # 1.0 [06/06/2016] Completed
- #-
- # Adjusts a battler's HP, MP, and TP values to remain relative to maximum
- # values when modified by buffs, states, equipment, and levels.
- #==============================================================================
- # # TERMS OF USE
- #------------------------------------------------------------------------------
- # 1. Preserve this header.
- # 2. Do not re-upload this script.
- # 3. Do not claim this script as your own work.
- # 4. Do not release modified versions of this script.
- # 5. Free commercial use, credit Rinobi.
- #==============================================================================
- end end # DO NOT MODIFY
- #==============================================================================
- # ** IMPORT SCRIPT
- #------------------------------------------------------------------------------
- $imported = {} if $imported.nil?
- $imported[:RIN_RBS] = true
- #==============================================================================
- # ** Game_BattlerBase
- #------------------------------------------------------------------------------
- # This base class handles battlers. It mainly contains methods for calculating
- # parameters. It is used as a super class of the Game_Battler class.
- #==============================================================================
- class Game_BattlerBase
- #--------------------------------------------------------------------------
- # * Alias Method: Erase States
- #--------------------------------------------------------------------------
- alias :rbs_erase_state :erase_state
- def erase_state(state_id)
- get_relative_values
- rbs_erase_state(state_id)
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * New Method: Get Rate Values
- #--------------------------------------------------------------------------
- def get_relative_values
- @ohp_rate = hp_rate
- @omp_rate = mp_rate
- @otp_rate = tp_rate
- end
- #--------------------------------------------------------------------------
- # * New Method: Set Relative Values
- #--------------------------------------------------------------------------
- def set_relative_values
- @hp = [mhp * @ohp_rate, 0].max.round.to_i
- @mp = [mmp * @omp_rate, 0].max.round.to_i
- @tp = [max_tp * @otp_rate, 0].max.round.to_i
- end
- end
- #==============================================================================
- # ** Game_Battler
- #------------------------------------------------------------------------------
- # A battler class with methods for sprites and actions added. This class
- # is used as a super class of the Game_Actor class and Game_Enemy class.
- #==============================================================================
- class Game_Battler < Game_BattlerBase
- #--------------------------------------------------------------------------
- # * Inherit Rate Values
- #--------------------------------------------------------------------------
- def get_relative_values; super end
- #--------------------------------------------------------------------------
- # * Inherit Relative Values
- #--------------------------------------------------------------------------
- def set_relative_values; super end
- #--------------------------------------------------------------------------
- # * Alais Method: Add New State
- #--------------------------------------------------------------------------
- alias :rbs_add_new_state :add_new_state
- def add_new_state(state_id)
- get_relative_values
- rbs_add_new_state(state_id)
- return if state_id == death_state_id
- set_relative_values
- end
- end
- #==============================================================================
- # ** Game_Actor
- #------------------------------------------------------------------------------
- # This class handles actors. It is used within the Game_Actors class
- # ($game_actors) and is also referenced from the Game_Party class ($game_party).
- #==============================================================================
- class Game_Actor < Game_Battler
- #--------------------------------------------------------------------------
- # * Alias Method: Change Class
- # keep_exp: Keep EXP
- #--------------------------------------------------------------------------
- alias :rbs_change_class :change_class
- def change_class(class_id, keep_exp = false)
- get_relative_values
- rbs_change_class(class_id, keep_exp = false)
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * Alias Method: Change Equipment
- # slot_id: Equipment slot ID
- # item: Weapon/armor (remove equipment if nil)
- #--------------------------------------------------------------------------
- alias :rbs_change_equip :change_equip
- def change_equip(slot_id, item)
- get_relative_values
- rbs_change_equip(slot_id, item)
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * Alias Method: Forcibly Change Equipment
- # slot_id: Equipment slot ID
- # item: Weapon/armor (remove equipment if nil)
- #--------------------------------------------------------------------------
- alias :rbs_force_equip :force_change_equip
- def force_change_equip(slot_id, item)
- get_relative_values
- rbs_force_equip(slot_id, item)
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * Alias Method: Level Up
- #--------------------------------------------------------------------------
- alias :rbs_level_up :level_up
- def level_up
- get_relative_values
- rbs_level_up
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * Alias Method: Level Down
- #--------------------------------------------------------------------------
- alias :rbs_level_down :level_down
- def level_down
- get_relative_values
- rbs_level_down
- set_relative_values
- end
- #--------------------------------------------------------------------------
- # * Alias Method: Change Level
- # show : Level up display flag
- #--------------------------------------------------------------------------
- alias :rbs_change_level :change_level
- def change_level(level, show)
- get_relative_values
- rbs_change_level(level, show)
- set_relative_values
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment