Este script não foi criado por mim, e sim por Darkness , mais é bastante util para iniciantes.
[code]
#===============================================================================
# Regeneração HP/MP ao defender - Versão para RMVX
#===============================================================================
# Script: Darkness
# Tradução: Firef
# Version 1.2.0
#===============================================================================
# *Atenção: Este script NÃO é compatível com o RMXP*
#===============================================================================
module SynRegen
# Formato = { Actor_ID => Taxa de Regeneração, Actor_ID2 => Taxa de Restauração}
HP_regen = {1 => 5, 2 =>7} # %
# Apartir deste comando você define quantos porcento de HP será restaurado pelo
# jogador quando ele defender. Para adicionar novos jogadores é só usar uma vírgula. (,)
#-----------------------------------------------------------------------------
# Este valor determina a taxa padrão de regeneração pela defesa dos personagens
# que não se encontram no código acima
HP_regen.default = 5 # %
#-----------------------------------------------------------------------------
# Ativar regeneração de HP por defesa? ( true / false )
Use_hp_regen = true
#----------------------------------------------------------------------------
# Formato = {Actor_ID => Taxa de Restauração de Mana
SP_regen = {1 => 5, 2 => 7} # %
# Apartir deste comando você define quantos porcento de MP será restaurado pelo
# jogador quando ele defender. Para adicionar novos jogadores é só usar uma vírgula. (,)
#-----------------------------------------------------------------------------
# Este valor determina a taxa padrão de restauração pela defesa dos personagens
# que não se encontram no código acima
SP_regen.default = 5 # %
#-----------------------------------------------------------------------------
# Ativar regeneração de MP por defesa? ( true / false )
Use_mp_regen = true
#-----------------------------------------------------------------------------
# Mostrar quanto de HP/MP o personagem recuperou por turno? ( true / false )
Draw_text = true
#-----------------------------------------------------------------------------
# A taxa de defesa do personagem se ele tiver 'Defesa Forte' será:
Super_guard_rate = 4
#-----------------------------------------------------------------------------
# A taxa de defesa do personagem se ele não tiver 'Defesa Forte' será:
Normal_guard_rate = 2
end
#-------------------------------------------------------------------------------
# Scene_Battle
# Isso faz um "alias" no método "execute_action_guard" na "Scene_Battle"
#-------------------------------------------------------------------------------
class Scene_Battle
# Alias execute_action_guard
alias syn_regen_execute_guard execute_action_guard
#-----------------------------------------------------------------------------
# Executar "Action_Guard"
#-----------------------------------------------------------------------------
def execute_action_guard
# Calcular a quantidade de HP/MP ganha
hp_restore = ((@active_battler.maxhp * SynRegen::HP_regen[@active_battler.id]) / 100) if SynRegen::Use_hp_regen == true
sp_restore = ((@active_battler.maxmp * SynRegen::SP_regen[@active_battler.id]) / 100) if SynRegen::Use_mp_regen == true
# Calcular diferença entre MaxHP, HP, MaxMP and MP
temp_value_hp = (@active_battler.maxhp - @active_battler.hp)
temp_value_mp = (@active_battler.maxmp - @active_battler.mp)
# Adicionar HP and MP
@active_battler.hp += hp_restore if SynRegen::Use_hp_regen == true
@active_battler.mp += sp_restore if SynRegen::Use_mp_regen == true
# Mostrar o quanto de HP/MP o personagem regenerou
if temp_value_hp != 0 and temp_value_mp != 0
@message_window.add_instant_text("#{@active_battler.name} restaurou #{hp_restore} de HP e #{sp_restore} de MP!")
elsif temp_value_hp != 0 and temp_value_mp == 0
@message_window.add_instant_text("#{@active_battler.name} restaurou #{hp_restore} de HP")
elsif temp_value_hp == 0 and temp_value_mp != 0
@message_window.add_instant_text("#{@active_battler.name} restaurou #{sp_restore} de MP")
end
# Chamar o código original
syn_regen_execute_guard
end
end
#-------------------------------------------------------------------------------
# Game_Battler
# Isso reescreve o método de defesa encontrado em "Game_Battler"
#-------------------------------------------------------------------------------
class Game_Battler
#-----------------------------------------------------------------------------
# Aplicar dano ao defender
#-----------------------------------------------------------------------------
def apply_guard(damage)
if damage > 0 and guarding?
# Divide o dano total pela efetividade da taxa de defesa.
damage /= super_guard ? SynRegen::Super_guard_rate : SynRegen::Normal_guard_rate
end
return damage
end
end
#===============================================================================
# * Este script não foi completamente testado, portanto, só funciona em teoria *
#===============================================================================
# Tradução: Firef
# Script: Darkness
#===============================================================================
# Regeneração HP/MP ao defender - Versão para RMVX
#===============================================================================
- Citação :