¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1KActionSpeed XP Empty KActionSpeed XP el Vie Nov 01, 2019 5:12 am

kyonides

kyonides
KActionSpeed XP


por Kyonides Arkanthes

Introducción

¿Deseaban poder manipular las velocidades de los jugadores y monstruos a la hora de atacar? ¡Ahora pueden hacerlo! Gracias a estados u objetos es posible incrementar o decrementar sus chances.

Código:
# * KActionSpeed XP
#   Scripter : Kyonides Arkanthes
#   2019-10-31

# Este script les permite modificar la velocidad de una acción de un luchador al
# sumarle un porcentaje. También puede bajarla o darle un chance de ser quien dé
# el primer golpe. La velocidad dependerá de un Estado o un Objeto (que el grupo
# de héroes haya recolectado).
# Como los monstruos no tienen ninguna bolsa de objetos, solo dependerán de un
# Estado para aumentar su velocidad alias prioridad de ataque.
# Pueden definir Objetos o Estados que la alteren aleatoriamente.

module KActionSpeed
  FAST_ITEMID = 1
  SLOW_ITEMID = 2
  RANDOM_ITEMID_MAX = [3, 1000] # IDObjeto, VelocidadMáxima
  FAST_STATEID = 2
  SLOW_STATEID = 3
  RANDOM_STATEID_MAX = [4, 1000] # IDEstado, VelocidadMáxima
  # { ID => Porcentaje, etc. }
  ITEMS = { 4 => 5, 5 => 10, 6 => 15 }
  STATES = { 5 => 5, 6 => 9 }
end

class Game_Battler
  alias :kyon_action_speed_gmb_mas :make_action_speed
  def make_action_speed
    speed = kyon_action_speed_gmb_mas
    action = @current_action
    if self.is_a?(Game_Actor)
      return action.speed *= 100 if KActionSpeed::FAST_ITEMID
      return action.speed = 0 if KActionSpeed::SLOW_ITEMID
      keys = $game_party.item_keys
      iid, imax = KActionSpeed::RANDOM_ITEMID_MAX
      return action.speed = rand(imax + 1) if keys.include?(iid)
      keys &= KActionSpeed::ITEMS.keys
      keys.each{|key| action.speed += speed * KActionSpeed::ITEMS[key] / 100 }
    end
    return action.speed *= 100 if @states.include?(KActionSpeed::FAST_STATEID)
    return action.speed = 0 if @states.include?(KActionSpeed::SLOW_STATEID)
    rid, rmax = KActionSpeed::RANDOM_STATEID_MAX
    return action.speed = rand(rmax + 1) if @states.include?(rid)
    keys = @states & KActionSpeed::STATES.keys
    keys.each{|key| action.speed += speed * KActionSpeed::STATES[key] / 100 }
  end
end

class Game_Party
  def item_keys() @items.keys 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.

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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