• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Minkoff's Custom Battle System help!

MistTribe

Member of the Mist Tribe.
33
Posts
18
Years
  • Okay Im using Minkoffs CBS and I wanted to know can someone please edit the animation script so that my enemys arent animated? Please...!! heres the script.

    #==============================================================================
    # ** Sprite_Battler
    #------------------------------------------------------------------------------
    # Minkoff's Custom Battle System // Thanks, Prexus
    #==============================================================================

    class Sprite_Battler < RPG::Sprite
    #--------------------------------------------------------------------------
    # * Initialize
    #--------------------------------------------------------------------------
    alias cbs_initialize initialize
    def initialize(viewport, battler = nil)
    @frame = 0
    @pose = 0
    @default = 0
    @speed = 7
    @frames = 4
    @poses = 10
    @last_time = 0
    @last_move_time = 0
    @stationary_enemies = true
    @stationary_actors = false
    @phasing = true
    cbs_initialize(viewport, battler)
    viewport.z = 99
    end
    #--------------------------------------------------------------------------
    # * Update
    #--------------------------------------------------------------------------
    alias cbs_update update
    def update
    return unless @battler

    # Regular Update
    cbs_update

    # Start Routine
    unless @started
    @width = @width / @frames
    @height = @height / @poses
    @battler.display_x = @battler.screen_x
    @battler.display_y = @battler.screen_y
    end

    # Setup Sprite
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    self.mirror = @battler.is_a?(Game_Enemy) unless @started

    # Position Sprite
    self.x = @battler.display_x
    self.y = @battler.display_y
    self.z = @battler.display_y
    self.ox = @width / 2
    self.oy = @height

    # Setup Animation
    time = Graphics.frame_count / (Graphics.frame_rate / @speed)
    if @last_time < time
    @frame = (@frame + 1) % @frames
    if @frame == 0
    if @freeze
    @frame = @frames - 1
    return
    end
    @pose = @default
    end
    end
    @last_time = time

    # Set Default Pose
    if @battler.default
    @default = @battler.default
    @pose = @battler.default unless @battler.pose
    @battler.default = nil
    end

    # Set Pose
    if @battler.pose
    @pose = @battler.pose
    @freeze = @battler.freeze
    @battler.pose = nil
    @battler.freeze = nil
    @frame = 0
    end

    # Move It
    move if @battler.moving

    # Finish Up
    @started = true
    end
    #--------------------------------------------------------------------------
    # * Move
    #--------------------------------------------------------------------------
    def move
    # Stationary Battlers
    if (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
    (@battler.is_a?(Game_Actor) and @stationary_actors)
    battler.moving = false
    return
    end

    time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
    if @last_move_time < time

    # Pause to Attack
    return unless [@default, 5, 4].include?(@pose)

    # Set Running Pose
    @pose = @attacked ? 5 : 4

    # Phasing
    d1 = (@battler.display_x - @battler.original_x).abs
    d2 = (@battler.display_y - @battler.original_y).abs
    d3 = (@battler.display_x - @battler.destination_x).abs
    d4 = (@battler.display_y - @battler.destination_y).abs
    self.opacity = [255 - ([d1 + d2, d3 + d4].min * 2.5).to_i, 0].max if @phasing

    # Calculate Difference
    difference_x = (@battler.display_x - @battler.destination_x).abs
    difference_y = (@battler.display_y - @battler.destination_y).abs

    # Move Back
    if [difference_x, difference_y].max.between?(0, 5) and !@attacked
    @battler.destination_x = @battler.original_x
    @battler.destination_y = @battler.original_y
    @battler.original_x = @battler.display_x
    @battler.original_y = @battler.display_y
    @battler.moving = false
    @attacked = true
    @pose = @default
    return
    end

    # Done? Reset, Stop
    if [difference_x, difference_y].max.between?(0, 5)
    @battler.moving = false
    @attacked = false
    @pose = @default
    return
    end

    # Movement Patterns
    if difference_x > difference_y
    increment_x = 1
    increment_y = difference_y <= 2 ? difference_y / 8 : 1 / (difference_x / difference_y) + 0.5
    elsif difference_y > difference_x
    increment_y = 1
    increment_x = difference_x <= 2 ? difference_x / 8 : 1 / (difference_y / difference_x) + 0.5
    else
    increment_x = 1
    increment_y = 1
    end
    incriment_x = (increment_x * 8).to_i
    incriment_y = (increment_y * 8).to_i
    @battler.display_x += incriment_x * (@battler.destination_x - @battler.display_x > 0 ? 1 : -1)
    @battler.display_y += incriment_y * (@battler.destination_y - @battler.display_y > 0 ? 1 : -1)
    end
    @last_move_time = time
    end

    def collapse
    @default = 2
    end
    end

    #==============================================================================
    # ** Game_Battler
    #==============================================================================

    class Game_Battler
    #--------------------------------------------------------------------------
    # * Animation Variables
    #--------------------------------------------------------------------------
    attr_accessor :moving # Moving?
    attr_accessor :display_x # Current X
    attr_accessor :display_y # Current Y
    attr_accessor :original_x # Original X
    attr_accessor :original_y # Orginal Y
    attr_accessor :destination_x # Destination X
    attr_accessor :destination_y # Destination Y
    attr_accessor :pose # Sprite Pose
    attr_accessor :freeze # Freeze Sprite?
    attr_accessor :default # Default Pose
    attr_accessor :moved # Moved?
    attr_accessor :cast # Cast?
    #--------------------------------------------------------------------------
    # * Set Movement
    #--------------------------------------------------------------------------
    def setmove(original_x, original_y, destination_x, destination_y)
    @original_x = original_x
    @original_y = original_y
    @destination_x = destination_x + (self.is_a?(Game_Actor) ? 40 : -40)
    @destination_y = destination_y
    @moving = true
    end
    #--------------------------------------------------------------------------
    # * Set Pose
    #--------------------------------------------------------------------------
    def setpose(pose, freeze = false)
    @pose = pose
    @freeze = freeze
    end
    #--------------------------------------------------------------------------
    # * Set Default Pose
    #--------------------------------------------------------------------------
    def setdefault(default)
    @default = default
    end
    end

    #==============================================================================
    # ** Game_Actor
    #==============================================================================

    class Game_Actor
    #--------------------------------------------------------------------------
    # * Actor X Coordinate
    #--------------------------------------------------------------------------
    def screen_x
    if self.index != nil
    return self.index * 45 + 450
    else
    return 0
    end
    end
    #--------------------------------------------------------------------------
    # * Actor Y Coordinate
    #--------------------------------------------------------------------------
    def screen_y
    return self.index * 35 + 200
    end
    #--------------------------------------------------------------------------
    # * Actor Z Coordinate
    #--------------------------------------------------------------------------
    def screen_z
    return screen_y
    end
    end

    #==============================================================================
    # ** Scene_Battle
    #==============================================================================

    class Scene_Battle
    #--------------------------------------------------------------------------
    # * Change Arrow Viewport
    #--------------------------------------------------------------------------
    alias cbs_start_enemy_select start_enemy_select
    def start_enemy_select
    cbs_start_enemy_select
    @enemy_arrow.dispose
    @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
    end
    #--------------------------------------------------------------------------
    # * Action Animation, Movement
    #--------------------------------------------------------------------------
    alias cbs_update_phase4_step3 update_phase4_step3
    def update_phase4_step3(battler)
    return if battler.moving
    battler.setdefault(0)
    case battler.current_action.kind
    when 0 # Basic
    if battler.moved
    battler.setpose(6 + rand(2))
    elsif battler.guarding?
    battler.setdefault(3)
    else
    for target in battler.target
    battler.setmove(battler.screen_x, battler.screen_y, target.screen_x, target.screen_y)
    end
    battler.moved = true
    return
    end
    when 1 # Skill
    battler.setpose(8)
    for target in battler.target
    battler.cast = (battler.is_a?(Game_Actor) == target.is_a?(Game_Enemy))
    end
    when 2 # Item
    battler.setpose(8)
    end
    cbs_update_phase4_step3(battler)
    end
    #--------------------------------------------------------------------------
    # * Hit Animation, Reset
    #--------------------------------------------------------------------------
    alias cbs_update_phase4_step4 update_phase4_step4
    def update_phase4_step4(battler)
    for target in battler.target
    target.setpose(1) if (battler.moved or battler.cast) and target.damage != "Miss"
    end
    if battler.moved
    battler.moving = true
    end
    battler.moved = false
    battler.cast = false
    cbs_update_phase4_step4(battler)
    end
    #--------------------------------------------------------------------------
    # * Victory Animation
    #--------------------------------------------------------------------------
    alias cbs_start_phase5 start_phase5
    def start_phase5
    for actor in $game_party.actors
    return if actor.moving
    end
    for actor in $game_party.actors
    actor.setpose(9, true) unless actor.dead?
    end
    cbs_start_phase5
    end
    end

    #==============================================================================
    # ** Spriteset_Battle
    #==============================================================================

    class Spriteset_Battle
    #--------------------------------------------------------------------------
    # * Change Enemy Viewport
    #--------------------------------------------------------------------------
    alias cbs_initialize initialize
    def initialize
    cbs_initialize
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
    @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
    end
    end
    end

    #==============================================================================
    # ** Arrow_Base
    #==============================================================================

    class Arrow_Base < Sprite
    #--------------------------------------------------------------------------
    # * Reposition Arrows
    #--------------------------------------------------------------------------
    alias cbs_initialize initialize
    def initialize(viewport)
    cbs_initialize(viewport)
    self.ox = 32
    self.oy = 40
    end
    end
     
    Back
    Top