#==============================================================================
# Itemy dodające HP/MP
# Wersja: 1.0
# Autor: modern algebra
# Data: July 7, 2008
# Strona: www.twojrpgmaker.jun.pl
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# INSTRUKCJA:
#
# Po prostu wpisz poniższy kod w notatkach/note danego przedmiotu:
# Jeżeli chcesz dodać/odjąć HP:
# \maxhp[x] (x - liczba, o której wartość zmienia się HP, może być ujemna lub dodatnia)
#
# Jeżeli chcesz dodać/odjąć MP:
# \maxmp[x] (x - liczba, o której wartość zmienia się MP, może być ujemna lub dodatnia)
#
#==============================================================================
# Nie zmieniaj poniżej tego skryptu, chyba że wiesz co robisz (ja go nawet nie tłumaczyłem, myśle,
# że dla tych, którzy chcą zmienić ten skrypt angielskie wyjaśnienia będą bardziej zrozumiałe
# niż moje "transmówki").
#==============================================================================
# ** RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new methods - maxhp, maxmp
#==============================================================================
class RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * MaxHP Bonus
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def maxhp
return $1.to_i if self.note[/\\maxhp\[(-*\d+)\]/i] != nil
return 0
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * MaxMP Bonus
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def maxmp
return $1.to_i if self.note[/\\maxmp\[(-*\d+)\]/i] != nil
return 0
end
end
#==============================================================================
# ** Game_Actor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# aliased method - setup, change_equip
# new method - add_hpmp_bonuses
#==============================================================================
class Game_Actor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Setup
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_levent_hpmpmax_upd_equipment_stup setup
def setup (actor_id)
# Run Original method
modalg_levent_hpmpmax_upd_equipment_stup (actor_id)
equips.each_index { |i| calc_hpmp_bonuses (equips[i]) }
self.hp = self.maxhp
self.mp = self.maxmp
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Change Equip
#--------------------------------------------------------------------------
# Adds and subtracts maxhp upon equip
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_levnthn_maxhpmp_equip_change_9nej change_equip
def change_equip (equip_type, item, test = false)
calc_hpmp_bonuses (equips[equip_type], false)
# Run Original Method
modalg_levnthn_maxhpmp_equip_change_9nej (equip_type, item, test)
calc_hpmp_bonuses (item)
self.hp = [self.hp, self.maxhp].min
self.mp = [self.mp, self.maxmp].min
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Add HPMP Bonuses
# item : the item in question
# sign : true => add, false => subtract
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def calc_hpmp_bonuses (item = nil, sign = true)
return if item == nil
hp = sign ? item.maxhp : -item.maxhp
@maxhp_plus += hp
mp = sign ? item.maxmp : -item.maxmp
@maxmp_plus += mp
end
end