O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Lose HP Using Skill Without MP

Iniciado por Vitu Jr., 23/08/2013 às 14:13

Lose HP Using Skill Without MP
[box class=errorbox2]


[box class=catbg]
Informações
[/box]
[box class=errorbox2]


  • É personalizável : Sim
  • Lag Gerado : Nulo
  • Compatibilidade : Média
  • Necessita de objetos externos (Imagens...) : Não
[/box]


[box class=catbg]
Introdução
[/box]
[box class=errorbox2]


Bem, primeiro olá centro :B. Hoje um script que permite o personagem usar habilidades mesmo não possuindo o MP necessário, nesse caso a quantidade restante necessária de MP é descontada no HP, podendo multiplicar o valor do dano no HP ou manter o dano original. O sistema foi feito a partir do pedido do membro everdrive (Na MRM).

O script ainda não foi testado com sistemas de batalha alternativos, por isso a compatibilidade média.

[/box]


[box class=catbg]
Instruções
[/box]
[box class=errorbox2]


- Copie o script que será postado e cole em seu projeto logo acima do "Main".

- Todas instruções constam dentro do próprio script.

[/box]
[box class=catbg3]

» Dúvidas pergunte no tópico ou via PM.

[/box]


[box class=catbg]
Screens
[/box]
[box class=errorbox2]


» Não perceptível por imagens.

[/box]



[box class=catbg]
Script
[/box]
[box class=errorbox2]


Lose HP Using Skill Without MP
#==============================================================================#
#                      | Lose HP Using Skill Without MP |                      #
#------------------------------------------------------------------------------#
# To : everdrive                By : DeadMaker               Date : 22/08/2013 #
#==============================================================================#
# O script permite o personagem usar magias mesmo que não tenha MP, nesse caso #
# a quantidade restante necessária para usar a skill e retirada do HP do herói #
# com dano multiplicado de acordo com suas configurações logo abaixo.          #
#==============================================================================#

#==============================================================================
# ■ Module MCDH
#------------------------------------------------------------------------------
# Todas configurações do script se encontram aqui :
#==============================================================================
module MCDH
  
#============================================================================
# O comando abaixo funciona da seguinte maneira :
#  - Quanto MP a habilidade ainda precisa para ser utilizada * Damage_HP
#  - Então o resultado acima irá ser o valor a se retirar do HP do player
#----------------------------------------------------------------------------
#  - Ex : Caso tenha 10 de MP e a Habilidade precisa de 40.
#  - O MP do personagem enfim se torna 0 e o seguinte cálculo ocorre :
#
#    x = 40 - 10
#    z = x * Damage_HP (No caso é igual a 60)
#
#  - Então o personagem vai perder quantidade de vida igual a "z"
#============================================================================
  
  Damage_HP = 2
  
#============================================================================
# Abaixo você define se só será possível usar magias de recuperação com MP.
#----------------------------------------------------------------------------
#  - true = Usar somente MP / false = Usar MP e se preciso HP
#============================================================================
  
  Recover_Only_MP = true
  
end
#==============================================================================#
#                              | Fim do Script |                               #
#==============================================================================#

#==============================================================================
# ** Game_BattlerBase
#------------------------------------------------------------------------------
#  Esta classe gerencia os battlers. Contém os principais método de
# cálculo da características especiais.
# Esta classe é usada como superclasse da classe Game_Battler.
#==============================================================================
class Game_BattlerBase

  def skill_cost_payable?(skill)
    if skill.damage.recover? and MCDH::Recover_Only_MP == true
      tp >= skill_tp_cost(skill) && mp >= skill_mp_cost(skill)
    else
      if tp >= skill_tp_cost(skill)
        if mp < skill_mp_cost(skill)
          adjust = skill_mp_cost(skill) - mp
        else
          adjust = skill_mp_cost(skill)
        end
        if mp > 0 and mp < skill_mp_cost(skill)
          hp + mp > (adjust * MCDH::Damage_HP) + mp
        else
          mp >= adjust or hp > adjust * MCDH::Damage_HP
        end
      end
    end
  end
  
  alias mp_cost_damage_hp pay_skill_cost
  
  def pay_skill_cost(*args)
    if skill_mp_cost(args[0]) > self.mp
      adjust = skill_mp_cost(args[0]) - self.mp
    end
    mp_cost_damage_hp(*args)
    self.hp -= adjust * MCDH::Damage_HP if adjust != nil
  end
  
end
#==============================================================================#
#                              | Fim do Script |                               #
#==============================================================================#
[close]

[/box]



[box class=catbg]
Complementos
[/box]
[box class=errorbox2]


» Desnecessário

[/box]



[box class=catbg]
Download
[/box]
[box class=errorbox2]


» Desnecessário

[/box]



[box class=catbg]
Conclusão
[/box]
[box class=errorbox2]


- Quaisquer bugs ou incompatibilidades, por favor avise no próprio tópico.
- Dicas e ajudas para melhorar os códigos são sempre bem vindas.
- Não poste o script em outro fórum sem minha permissão.

[/box]



[box class=catbg]
Créditos
[/box]
[box class=errorbox2]


- Pedido everdrive
- Script DeadMaker

[/box]
[/box]

Hummm, interessante! Me fez lembra dos antigos jogos de aventura do Mega-Drive e do SNES que tinham aqueles especiais que gastavam HP. Uma pena não saber se é compatível com outros sistemas de batalha.

Viva a lenda!



Poxa, que script bacana! Cara, esses dias eu vi no fórum alguém procurando por um script do gênero, mas não me recordo quem. Espero que veja esse post e possa suprir sua necessidade. De qualquer forma, script bem interessante.

Obrigado por trazer para cá! +1 gold.

Kazuyashi.