Últimos temas
» Ayuda para caminar y desbloquear camino
por joseromero96 Ayer a las 9:50 pm

» Pokemon Destiny
por JapoZero Ayer a las 3:13 am

» Necesito ayuda
por DorFenn Jue Ago 06, 2020 5:08 am

» Consejos para monetizar un juego
por joseromero96 Miér Ago 05, 2020 7:59 pm

» KEndure XP + VX
por kyonides Sáb Ago 01, 2020 2:11 am

» KRiskPoints XP
por kyonides Sáb Ago 01, 2020 1:45 am

» The Legend of Zelda: Trident of Power (RM2K3) [Juego Completo]
por Pizus Miér Jul 29, 2020 10:27 pm

» Chara - Cebolla Caminante
por CryOnion Miér Jul 29, 2020 10:23 pm

» Error despliegue del proyecto para Web
por sipsop Miér Jul 29, 2020 2:14 pm

» [RMVX]Kami no dokusai [Juego del Foro]
por luistop12 Sáb Jul 25, 2020 9:24 am

» KMapSign RG
por kyonides Sáb Jul 25, 2020 6:38 am

» Enemybook Plugin (completar besitario por zona + premio) MV - ayuda -
por Mericantos Sáb Jul 25, 2020 4:54 am


KBoomEffect XP

Ir abajo

KBoomEffect XP Empty KBoomEffect XP

Mensaje por kyonides el Sáb Nov 09, 2019 1:55 am

KBoomEffect XP

por Kyonides Arkanthes


Introducción

El presente script es para hacer explotar cosas, más específicamente a los monstruos. Si los toca un ataque físico o mágico, según la configuración predefinida, estos mostrarán la respectiva animación y de inmediato saltarán los indicadores de daño sobre los héroes afectados. El rango de la explosión es de 1 héroe (el atacante) o del equipo entero.

Código:
# * KBoomEffect XP
#   Scripter : Kyonides Arkanthes
#   2019-11-08 - with actual explosions!

# Este script les permite hacer que sus monstruos exploten en cuanto sean
# afectados por algún ataque físico o mágico.

module KBoom
  FAILURE = "Ileso"
  ANIME_ID = 99
  # MonsterID => [TasaExito, ATodos?, % Variacion], etc.
  PHYSICAL_ATK = { 1 => [99, true, 5] }
  # MonsterID => [TasaExito, ATodos?, IDTecnica1, etc.], etc.
  MAGICAL_ATK = { 1 => [40, true, 60] }
end

class Game_Battler
  alias :kyon_boom_effect_gm_battler_ae :attack_effect
  alias :kyon_boom_effect_gm_battler_se :skill_effect
  def attack_effect(user)
    rate, all, variance = KBoom::PHYSICAL_ATK[self.id]
    return setup_ignition(user, rate, all, variance, nil) if @troop_id and rate
    kyon_boom_effect_gm_battler_ae(user)
  end

  def skill_effect(user, skill)
    rate, all, *skills = KBoom::MAGICAL_ATK[self.id]
    if @troop_id and rate and skills.include?(skill.id)
      return setup_ignition(user, rate, all, skill.variance, skill)
    end
    kyon_boom_effect_gm_battler_se(user, skill)
  end

  def setup_ignition(user, rate, multiple, variance, skill)
    @will_explode = rand(100) < rate
    if @will_explode
      power = skill ? skill.power : self.atk
      targets = multiple ? $game_party.survivors : [user]
      targets.each{|h| ignition_target(h, power, variance) }
    end
    @damage = @hp
    @hp = 0
    @will_explode
  end

  def ignition_target(user, power, variance)
    power = power * @hp / user.pdef
    return user.damage = KBoom::FAILURE if power < 1
    amp = [power.abs * variance / 100, 1].max
    power += rand(amp+1) + rand(amp+1) - amp
    user.damage = power
    user.hp -= power
    user.explosion_pop = true
  end
  def clear_explosion() @will_explode = @explode = nil end
  attr_accessor :will_explode, :explode, :explosion_pop
end

class Game_Party
  def survivors() @actors.select{|a| a.hp > 0 } end
end

class Sprite_Battler
  alias :kyon_boom_effect_sbt_up :update
  def update
    kyon_boom_effect_sbt_up
    return unless @battler and @battler.explode
    animation($data_animations[KBoom::ANIME_ID], true)
    @battler.clear_explosion
  end
end

class Scene_Battle
  alias :kyon_boom_effect_up_ph4_s4 :update_phase4_step4
  alias :kyon_boom_effect_up_ph4_s5 :update_phase4_step5
  def update_phase4_step4
    kyon_boom_effect_up_ph4_s4
    @target_battlers.each{|target| target.explode = target.will_explode }
  end

  def update_phase4_step5
    kyon_boom_effect_up_ph4_s5
    for target in $game_party.actors
      target.damage_pop = target.explosion_pop
      target.explosion_pop = nil
    end
  end
end

Términos de Uso

Deben incluir mi seudónimo y el URL del sitio del que lo copiaron.
Es gratuito para demos y juegos no comerciales.


Última edición por kyonides el Dom Nov 10, 2019 2:55 am, editado 1 vez (Razón : De Inglés a Español)

kyonides
PJ Secundario
PJ Secundario

Masculino
Costa Rica
RPG Maker : Xp
Mensajes : 146
Monedas : 388
Reputación : 7

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.