Minus Strike [RGSS]

Script Minus Strike, do Steiner, de FFIX. A habilidade que for indicada pra trabalhar com esse script tira um dano igual ao HP Total - HP Constante de quem a usar. Ele foi editado por Hiperbanka, baseado no Script Rate Damage, do KGC.


1 de abril de 2011

Segue um script é um clássico, o Minus Strike, do Steiner, de FFIX. A habilidade que for indicada pra trabalhar com esse script, tirar um dano igual ao HP Total – HP Constante de quem a usar. Ele foi editado por Hiperbanka, baseado no Script Rate Damage, do KGC.

Aí­ vai a minha primeira edição de script.

É importante lembrar que:

Este script foi editado com base no Script Rate Damage, do KGC.
O funcionamento depende inteiramente do script “Módulo – KGC”, portanto, copie TAMBÉM o KGC_Module.

Quanto aos créditos do Script:

A epiderme do script foi editada por mim…
Eu mudei alguns nomes e algumas variáveis, pra ele trabalhar de forma diferente. Mas o esqueleto(os methods) em si são do KGC, então, acho que mais é crédito dele( era um script pra Demi, eu transformei em Minus Strike XD).

Utilizando o script

  • Crie um atributo chamado “MINUSDano”;
  • Adicione o atributo “MINUSDano” Á(s) habilidade(s) que você desejar que possuam o calculo de dano deste script.

As habilidades indicadas para ter o elemento “MINUSDano” trabalharam com a equação apresentada. Note que o nome do atributo DEVE ser “MINUSDano”.

atripk2

Scripts

Script Minus Strike, deve ir acima do Main:

################################################################################
################################### KGC ########################################
################################################################################
#IMPORTANTE!#
#--------------------------------------------------------------------
#Este script foi editado com base no Script Rate Damage, do KGC.
#O funcionamento depende inteiramente do script "Módulo - KGC",
#portanto, copie TAMBÉM o script que se encontra logo acima deste.
#--------------------------------------------------------------------
#CRÉDITO:
#Script editado por Hiperbanka com base no script Rate Damage do KGC.
#--------------------------------------------------------------------
#FUNÇÃO:
# Este script foi editado para trabalhar com a sistemtica do golpe
#"Minus Strike", de Steiner, do Final Fantasy 9.
#O sistema em questão tira dano dos inimigos com base na subtraço
#MAXHP - HP de quem está usando a habilidade.
#--------------------------------------------------------------------
#Utilização
#Crie um atributo chamado "MINUSDano"
#Adicione o atributo "MINUSDano" Á(s) habilidade(s) que você desejar
#que possuam o cálculo de dano deste script
#
#Note que no Database, você pode alterar livremente os alvos que
#a habilidade atinge. Logo, na hipótese mais criativa, você pode
#criar um "Revive" que toma como recuperaço a diferença entre os
#HPs do user(colocando em alvo "aliado 0 HP"). :D
#-------------------------------------------------------------------

#------#
#SCRIPT#
#------#
#Aqui provavelmente a definição de como o elemento no database
#vai virar uma referência no script
#Eu alterei a linha 32, para tornar o mudar o nome do elemento referencial
if $game_special_elements == nil
  $game_special_elements = {}
  $data_system = load_data("Data/System.rxdata")
end
$game_special_elements["rate_damage"] = /(MINUS)Dano/i

module KGC
  def self.check_damage_rate(skill)
    skill.element_set.compact.each { |element|
      element_name = $data_system.elements[element]
      if $game_special_elements["rate_damage"] =~ element_name
        return [$1.upcase, element]
      end
    }
    return nil
  end
end
class Game_Battler
  alias skill_effect_KGC_RateDamage skill_effect
  def skill_effect(user, skill)
    rate_damage = KGC.check_damage_rate(skill)
    if rate_damage == nil
      return skill_effect_KGC_RateDamage(user, skill)
    end
    @effective = false
    @effective |= skill.common_event_id > 0
    hit = skill.hit
    if skill.atk_f > 0
      hit *= user.hit / 100
    end
    hit_result = (rand(100) < hit)
    @effective |= hit < 100
    if hit_result
      eva = 8 * self.agi / user.dex + self.eva
      hit = skill.power < 0 ? 100 : 100 - eva * skill.eva_f / 100
      hit = self.cant_evade? ? 100 : hit
      hit_result = (rand(100) < hit)
      @effective |= hit < 100
    end
#Em seguida vem a fórmula do dano, que foi a modificação mais
#significativa feita por mim.
    if hit_result
      case rate_damage[0]
      when "MINUS"
        self.damage = user.maxhp - user.hp
        @base_damage = self.damage
        self.damage = self.damage * self.element_rate(rate_damage[1]) / 100
        hp_dmg = self.damage
      self.hp -= hp_dmg if hp_dmg != nil
      @state_changed = false
      effective |= states_plus(skill.plus_state_set)
      effective |= states_minus(skill.minus_state_set)
    end
  end
end
end

Script KGC_Module (OBRIGATÓRIO). Coloque-o acima do script Minus Strike:

################################################################################
################################### KGC ########################################
################################################################################
#Script necessário para usar alguns outros scripts do KGC
################################################################################
$game_special_elements = {}
$imported = {}
$data_states = load_data("Data/States.rxdata")
$data_system = load_data("Data/System.rxdata")

É pequeno assim mesmo :P

Compatibilidade

Haha, deve ser compatível com tudo. A não ser que hajam scripts incompatíveis com KGC_Module, mas eu não conheço.

Mais RPG Maker XP

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Clique aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!