Sign in to follow this  
Followers 0
Kotfire

Recargar Ataques

3 posts in this topic

Con este scripts podemos definir el número de ataques que puedn hacer nuestros personajes antes de tener que recargar. No es un script de munición simplemente hay que perder un turno recargando.
Para utilizar leer las instrucciones.

[spoiler]
CODE

#==============================================================================
# Recargar Ataques
# Por: Kotfire
# Versión: 1.0
#==============================================================================
# Instrucciones
# - Copiar en un script encima de main
# - Editar las opciones
# - Disfrutar
# - Para mostrar cuantos ataques quedan disponibles usar
#   $game_party.actors[x].carga donde x = posición en el grupo
#------------------------------------------------------------------------------

#==============================================================================
# Modulo con las opciones
#==============================================================================
module Kot
Comando = "Cargar" # Nombre del comando que sustituye atacar cuando no
                   # quedan ataques
Municion = [1,-1,7,7] # Para cada personaje en orden de la base de datos
                     # ¡OJO! Ponerlos todos, no solo los iniciales. -1 Para ataques infintos
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------            
attr_reader   :municion
attr_accessor :carga
#--------------------------------------------------------------------------
alias setup_cargar_kot setup
def setup(actor_id)
  actors_ammo = Kot::Municion
  @municion = actors_ammo[actor_id - 1]
  @carga = @municion
  setup_cargar_kot(actor_id)
end
end

#==============================================================================
# Scene_Battle
#==============================================================================
class Scene_Battle

alias setup_command_cargar_kot phase3_setup_command_window  
def phase3_setup_command_window
  if @active_battler.carga == 0
    @actor_command_window.change([Kot::Comando, $data_system.words.skill,
                          $data_system.words.guard, $data_system.words.item])
  else
    @actor_command_window.change                      
  end
  @party_command_window.active = false
  @party_command_window.visible = false
  @actor_command_window.active = true
  @actor_command_window.visible = true
  @actor_command_window.x = @actor_index * 160
  @actor_command_window.index = 0
  setup_command_cargar_kot
end

alias basic_command_cargar_kot update_phase3_basic_command
def update_phase3_basic_command
  if Input.trigger?(Input::C)
    case @actor_command_window.index
    when 0  
      $game_system.se_play($data_system.decision_se)
      if @active_battler.carga == 0
        @active_battler.carga = @active_battler.municion
        @active_battler.current_action.kind = nil
        @active_battler.current_action.basic = nil
        phase3_next_actor
      else  
        @active_battler.current_action.kind = 0
        @active_battler.current_action.basic = 0
        start_enemy_select
      end
     when 1  
       $game_system.se_play($data_system.decision_se)
       @active_battler.current_action.kind = 1
       start_skill_select
     when 2
       $game_system.se_play($data_system.decision_se)
       @active_battler.current_action.kind = 0
       @active_battler.current_action.basic = 1
       phase3_next_actor
     when 3
       $game_system.se_play($data_system.decision_se)
       @active_battler.current_action.kind = 2
       start_item_select
     end
    return
  end
  basic_command_cargar_kot
end

alias basic_action_cargar_kot make_basic_action_result
def make_basic_action_result
  if @active_battler.is_a?(Game_Actor)
    unless @active_battler.carga == -1
      @active_battler.carga -= 1
    end
  end
  basic_action_cargar_kot
end
end

#==============================================================================
# ■ Window_Command
#==============================================================================
class Window_Command < Window_Selectable
def change(commands = @original)
  @original = @commands unless @original
  @commands = commands ? commands : @original
  refresh
end
end
[/spoiler] Edited by Kotfire
0

Share this post


Link to post
Share on other sites
Un tanto... extraño. Pero puede tener su utilidad.
Buen trabajo. icon13.gif
0

Share this post


Link to post
Share on other sites
Muy util para los q hacen ataques devastadores y que si los hacen cada turno se hace muy facil
Con esto va a ser pensar a los jugadores si es necesario perder un turno con una tecnica xD
Cool Script icon13.gif
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0