yo thanks a lot blizz,
1:I couldn't get the first one to work.
2:I did get the second one to work! I wanted the Soul Limit to only be availible when a character had their accessory equipped so i did this:
def can_use_limit?
if @armor4_id >= 86 #with each characters' acc. being 86 or higher
return (self.sr / 10 >= @sr_rate and
100 * self.hp / self.maxhp <= @hp_rate and
100 * self.sp / self.maxsp <= @sp_rate)
end
end
3: This worked too!
One more thing though Blizz, I'm using Minkoff's Animated Battlers which moves the characters in battle. It works by using a grid of 8x4 sprites (8 poses, 4 movements per pose) and it calls a movement when you select attack, skill, defend, item, etc. However, when I use SR or SL it shutsdown b/c there isn't a pose set for those. Is it possible to set the pose to use Skill? Anyways, if you get a chance, here's the script for it:
[code]#==============================================================================
# ** Animated Battlers - Enhanced ver. 5.0 (12-23-2006)
#------------------------------------------------------------------------------
# Animated Battlers by Minkoff
# Enhancements by DerVVulfman
# Low percentage and Status Poses
# Concept & Base coding by Twin Matrix
# Stationary Enemies requested by jens009
# Continuous Victory Looping for actors requested by Skyla Doragono
# Actors readying themselves before battle requested by Clive
# Default Battlers for Enemies requested for by WithViolence
# Mixed Default and Spritesheet Battlers requested for by SteveE22
# Hero & Enemy z.depth concept by Min-Chan and Caldaron ( totally redone
)
# Stationary Poses suggested by Twin Matrix
# Critical Hit animation requested by Mimi-Chan
# Both Enemy and Actor's individual Frames per Pose requested by creiz
# Expandable Battle Parties beyond 4 requested by Leknaat
# Additional value call added for compatability with Battle Cry script
# Removed dependancy on $game_system for the Sideview Mirror system
# Fixed the 'Blocking during Victory State' bug discovered by Kaze950
# Collapse stack-error found by JirbyTaylor(fixed) / Code by SephirothSpawn
#
#==============================================================================
#
# ADDITIONAL CALLS AVAILABLE PRIOR TO COMBAT:
#
#------------------------------------------------------------------------------
# SIDEVIEW MIRROR: This value switches the positions of both enemies and
# heroes to opposite ends of the screen.
#
# Script : $sideview_mirror = [number]
# number : a value indicating whether the hero & enemy positions are switched
# 0 = Default: Enemies on the left, Heroes on the right
# 1 = Switched: Heroes on the left, Enemies on the right
#
#------------------------------------------------------------------------------
# BATTLER FORMATIONS: This value changes the way your heroes line up when the
# battle starts.
#
# Script : $formation_style = [number]
# number : a value indicating the type of formation your heroes will use
# 0 = Diagonal (Default) 4 = Column Pattern 1
# 1 = Diagonal Pattern 2 5 = Column Pattern 2
# 2 = Slanted Pattern 1 6 = Wave Formation 1
# 3 = Slanted Pattern 2 7 = Wave Formation 2
#
# 8 = Randomized (system will choose from 0 to 7)
#
#------------------------------------------------------------------------------
# FORMATION OPTIONS: These values may expand your system to go beyond the
# default four player system.
#
# Script : $formation_max_member = [number]
# number : A value indicating the maximum number of members in your party.
# (default = 4)
#
# Script : $formation_max_height = [number]
# number : A value indicating (in pixels) the top height of your party shown
# in the Battle Screen. The higher the number, the lower the party
# on the screen. (default = 220)
#
# Script : $formation_max_width = [number]
# number : The left/right width of the party's formation. (default = 128)
#
# Script : $battlestatus_height = [number]
# number : The actual height of your battlestatus window. (default = 160)
#
# NOTE: The combined $formation_max_height and $battlestatus_height determines
# the vertical distance between battlers in their formation.
#
#==============================================================================
# Things added since original version by Minkoff:
# Can reverse the battler positions
# Editable spritesheet layout in script
# Able to define total/max frames per pose
# Can define individual # of frames per each pose
# Can use 'red-out' RTP death or 'battler death' pose
# Can show battler falling before death.
# 'Casting' pose now available for RTAB/Skill Timing users
# Can show battler celebrating before victory pose
# Can tag battlers who's victory pose loops indefinitely
# Can show actor battlers get ready before battle starts.
# Separate poses for 'skills', 'items' or 'weapons' based on their id
# Can allow the battlers to step forward before using items & skills (FFVII+)
# Attacking battlers rush towards their targets while item & skill users don't
# Certain weapons can force the battler NOT to move
# Certain items & skills can force battlers to 'rush' the enemy
# Certain skills or items can force movement to the center of the screen
# Stationary enemies. In case enemies do NOT move when they attack.
# Adjustable 'low health' checker. Set your low health to 25%... 30%... 10%...
# Poses now available for status ailments
# Dead revert to 'victory' pose bug fixed.
# Default battlers now available for actors and/or enemies
# Default battlers now usable by ID number (had to rewrite red-out for that)
# Escaping Enemies bug found by SteveE22. Fixed just as fast.
# Hero Formations (total of 8 hardwired -& 1 random- ... add at your own risk)
# Z-Depth for attack overlapping purposes
# Corrected attack overlap offset routine. Overlap now based on battler size
# Certain skills and items can now prevent movement
# Can allow battlers to take step forward before performing 'attack' pose.(FF)
# Certain weapons can move battlers to center screen instead of a full move.
# Escaping Enemies can now have a pose before disappearing (was a rush pose)
# Redesigned Scene_Battle's movement routine
# Added pose for Critical Hits
# Added the enemy's hash for frame number based on poses
# Added the actor's hash for frame number based on poses
# Re-Tooled the formations to go beyond the default four party system
# Minor value added for compatability with Delissa's Battle Cry script
# Default Collapse Stack-Error fixed(code by SephirothSpawn) found JirbyTaylor
# Removed dependancy on $game_system for the Sideview Mirror system
# Fixed the 'Blocking during Victory State' bug discovered by Kaze950
# Includes an Adaptation Switch for use with RTAB's Connected Attacking script
#
# 40 counted.
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display the battler.It observes the Game_Character
# class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Battler < RPG::Sprite
attr_accessor :battler_offset # Degree of action forcing
attr_accessor :skill_used # Degree of action forcing
attr_accessor :item_used # Degree of action forcing
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias cbs_initialize initialize
def initialize(viewport, battler = nil)
# * Configuration System *
# * Default Battler Style Switches
#--------------------------------------------------------------------------
$default_enemy = true # If true, these switches allows the use
$default_actor = false # of default battlers for actors/enemies
$default_enemy_id = [] # Ids of enemies using default battlers
$default_actor_id = [] # Ids of actors using default battlers
@default_collapse_actor = false # If true, restores the old 'red fade'
@default_collapse_enemy = true # collapse effect (using spritesheets)
# * Animation Frames and Animation Speed
#--------------------------------------------------------------------------
@speed = 4 # Framerate speed of the battlers
@poses = 11 # Maximum # of poses (stances) in the template
@frames = 4 # Maximum # of frames in each pose
@frames_standard = 4 # Standard # of frames played in each pose.
@low_hp_percentage = 0.25 # Determines health% of battler for WOOZY pose.
# * Poses Control
#--------------------------------------------------------------------------
# Editable Template (Some people wanted to change their template design)
$p1 = 0 # Sets the 'Ready Pose' ($p1) to be pose #1 in your template
$p2 = 1 # Sets the 'Struck Pose' ($p2) to be pose #2 in your template
$p3 = 2 # Sets the 'Woozy Pose' ($p3) to be pose #3 in your template
$p4 = 3 # Sets the 'Block Pose' ($p4) to be pose #4 in your template
$p5 = 4 # Sets the 'Charge Pose' ($p5) to be pose #5 in your template
$p6 = 5 # Sets the 'Retreat Pose'($p6) to be pose #6 in your template
$p7 = 6 # Sets the 'Attack Pose' ($p7) to be pose #7 in your template
$p8 = 7 # Sets the 'Item Pose' ($p8) to be pose #8 in your template
$p9 = 8 # Sets the 'Skill Pose' ($p9) to be pose #9 in your template
$p10 = 9 # Sets the 'Victory Pose'($p10)to be pose #10 in your template
$p11 = 10 # Sets the 'Defeat Pose' ($p11)to be pose #11 in your template
# Non-Default Poses (can expand beyond the default 11 poses here)
@poses_setup = nil # Choose animation pose for 'preparation'
@poses_casting = nil # Set casting pose to 'Block' for example
$poses_escaping = nil # Set 'coward' pose for fleeing monsters)
$poses_critical = nil # Set 'critical' hit pose for BIG hits.
@poses_dying = nil # Choose animation pose for dying throws.
@poses_winning = nil # Set winning dance to 'block' for examp.
@poses_winning_loops = [7] # Set victory non-freezing actor as #7
# Non-Default Pose Hashes (poses dependant on .id values)
@poses_status = {3 => 2, 4 => 3} # Default: #3(Venom)(Dazzle) is 'Woozy'
$poses_skills = {57 => 6} # Default: #57(Cross Cut) does 'Attack'
$poses_items = {13 => 3} # Default: #13(Sharp Stone) does 'Block'
$poses_weapons = {} # Didn't set any weapons to any poses
# * Frames Control
#--------------------------------------------------------------------------
@frames_per_pose = {0 => 2} # Set #of frames to pose(by index)
# Advanced Individual Pose/Frame Hashes # Advanced Individual Poses uses
# hashes within hashes. As a demo
$poses_actor = {7 => {0 => 4}} # you can see that enemy #1 has 2
$poses_enemy = {1 => {0 => 2, 3 => 2}} # sets of controls: index 0 (for
# a ready pose is set to 1 frame,
# while index 3 (block) is set to 'two' frames. Likewise, for the actor's
# hash, Actor #7 (Gloria) has only 1 control hash. It sets index pose '0'
# (the ready pose again) to use four frames of animation (even though I had
# set the ready pose to just use '2' with the @frames_per_pose hash earlier.
# Individual Battler Settings
@mirror_enemies = true # Enemy battlers use reversed image
@stationary_enemies = false # If the enemies don't move while attacking
@stationary_actors = false # If the actors don't move while attacking
@calculate_speed = false # System calculates a mean/average speed
@phasing = true # Characters fade in/out while attacking
# * Movement Settings (Step-Forward / Final Fantasy-Style)
#--------------------------------------------------------------------------
$rush_offset = 0 # How much additional space between battlers
$rush_attack = false # If true, battler steps forward to attack
$rush_skill = true # If true, battler steps forward to use skill
$rush_item = true # If true, battler steps forward to use item
# * Movement Arrays (Arrays for skill/weapon/item IDs that affect movement)
#--------------------------------------------------------------------------
$moving_item_atk = [1] # Examples are items that need to be applied.
$moving_skill_atk = [57,61] # Examples are martial-arts and sneak attacks
$move2center_atk = [] # Moves battler to center based on weapon id!
$move2center_item = [5] # Moves battler to center for a big item atk!
$move2center_skill = [7] # Moves battler to center for a big skill atk!
# * Stationary Arrays (Arrays for skill/weapon/item IDs that halt movement)
#--------------------------------------------------------------------------
# Array that holds the id # of skills, items or weapons that affect movement
$stationary_enemyid = [] # Enemies that don't RUN during melee attacks
@stationary_weapons = [17,18,19,20,21,22,23,24] # (examples are bows & guns)
@stationary_skills = [] # (examples are bows & guns)
@stationary_items = [] # (examples are bows & guns)
# Adaptation Switches
$RTAB_Connected_Attacking = false # Needed to be on if RTAB and Con. Attk.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING
@frame, @pose = 0, 0
@last_time = 0
@last_move_time = 0
@battler_offset = 0
@skill_used = 0
@item_used = 0
$casted = false
$casting = false
@dying = true
@s_pose = false
$victory = false
@winning = true
cbs_initialize(viewport, battler)
viewport.z = 99
$formation = $formation_style
# Setting values called from EVENT scripts
$sv_mirror = $sideview_mirror
$sv_mirror = 0 if $sideview_mirror == nil
$max_member = $formation_max_member
$max_member = 4 if $formation_max_member == nil
$formation_top = $formation_max_height
$formation_top = 220 if $formation_max_height == nil
$formation_width = $formation_max_width
$formation_width = 128 if $formation_max_width == nil
$battlestat_height = $battlestatus_height
$battlestat_height = 160 if $battlestatus_height == nil
$formation = $formation_style
$formation = 0 if $formation_style == nil
# if Formation is random
if $formation == 8 then
$formation = rand(
.to_i
end
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
alias cbs_update update
def update
return unless @battler
# Regular Update
cbs_update
# Reset hash for Advanced Pose/Frames
pose_temp = {}
# Start Routine
unless @started
@pose = state
if @battler.is_a?(Game_Enemy)
if not $default_enemy
if $default_enemy_id == nil
# Set up Spritesheet Standards
@width = @width / @frames
@height = @height / @poses
else
if not $default_enemy_id.include?(@battler.id)
@width = @width / @frames
@height = @height / @poses
end
end
end
end
if @battler.is_a?(Game_Actor)
if not $default_actor
if $default_actor_id == nil
# Set up Spritesheet Standards
@width = @width / @frames
@height = @height / @poses
else
if not $default_actor_id.include?(@battler.id)
@width = @width / @frames
@height = @height / @poses
end
end
end
end
@battler_offset = @width * 0.75
@display_x = @battler.screen_x
@display_y = @battler.screen_y
@display_z = @battler.screen_z
@destination_x = @display_x
@destination_y = @display_y
@destination_z = @display_z
self.opacity = 0
@started = true
end
# Cut Out Frame
# Enemy Battler Routine
if @battler.is_a?(Game_Enemy)
if $default_enemy
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
if $default_enemy_id !=nil
if $default_enemy_id.include?(@battler.id)
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
# Actor Battler Routine
if @battler.is_a?(Game_Actor)
if $default_actor
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
if $default_actor_id !=nil
if $default_actor_id.include?(@battler.id)
self.src_rect.set(@width * 0, @height * 0, @width, @height)
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
else
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
# Position Sprite
self.x = @display_x
self.y = @display_y
self.z = @display_z
self.ox = @width / 2
self.oy = @height
# Adjust sprite direction if facing the other way...
if $sv_mirror == 1
if @battler.is_a?(Game_Actor)
self.mirror = !!battler
else
if not @mirror_enemies
self.mirror = !!battler
end
end
else
if @battler.is_a?(Game_Enemy)
if @mirror_enemies
self.mirror = !!battler
end
end
end
# Setup Frames per Pose
poseframe = @frames_standard
poseframe = @frames_per_pose[@pose] if @frames_per_pose.include?(@pose)
# Set Advanced Poses for Actors
if @battler.is_a?(Game_Actor)
pose_temp = $poses_actor[@battler.id] if $poses_actor.include?(@battler.id)
poseframe = pose_temp[@pose] if pose_temp.include?(@pose)
end
# Set Advanced Poses for Enemies
if @battler.is_a?(Game_Enemy)
pose_temp = $poses_enemy[@battler.id] if $poses_enemy.include?(@battler.id)
poseframe = pose_temp[@pose] if pose_temp.include?(@pose)
end
# Setup Animation
time = Graphics.frame_count / (Graphics.frame_rate / @speed)
if @last_time < time
@frame = (@frame + 1) % poseframe
if @frame == 0
if @freeze
@frame = poseframe - 1
return
end
@pose = state
end
end
@last_time = time
# Setup Dying Animation
if @battler.dead?
if @dying == true
@pose = state
@dying = false
end
else
if @battler.is_a?(Game_Actor)
if @poses_setup != nil
if @s_pose == false
@pose = @poses_setup
@s_pose = true
end
end
if $victory == true
if @winning == true
@pose = state
@winning = false
end
end
end
end
# Move It
move if moving
end
#--------------------------------------------------------------------------
# * Current State
#--------------------------------------------------------------------------
def state
# Damage State
if [nil,{}].include?(@battler.damage)
# Battler Fine
@state = $p1
# Battler Wounded
@state = $p3 if @battler.hp < @battler.maxhp * @low_hp_percentage
# Battler Status-Effect
for i in @battler.states
@state = @poses_status
if @poses_status.include?(i)
end
# If Battler Dead
if @battler.dead?
# If using default battlers or default collapse
if (@default_collapse_actor and @battler.is_a?(Game_Actor)) or
(@default_collapse_enemy and @battler.is_a?(Game_Enemy)) or
($default_actor and @battler.is_a?(Game_Actor)) or
($default_enemy and @battler.is_a?(Game_Enemy)) or
($default_enemy_id.include?(@battler.id) and @battler.is_a?(Game_Enemy)) or
($default_actor_id.include?(@battler.id) and @battler.is_a?(Game_Actor))
# Do absolutely nothing
else
# Use Poses system
if @poses_dying != nil
if @dying == true
@state = @poses_dying
else
@state = $p11
end
else
@state = $p11
end
# Fix Opacity
self.opacity = 255
end
end
end
# Casting State
if $casted
if @battler.rtp != 0
if @poses_casting != nil
@state = @poses_casting
end
end
end
# Victory State
if @battler.is_a?(Game_Actor)
if $victory
if @poses_winning != nil
if @winning == true
if not @battler.dead?
@state = @poses_winning
end
else
if not @battler.dead?
@state = $p10
if not @poses_winning_loops.include?(@battler.id)
@freeze = true
end
end
end
else
if not @battler.dead?
@state = $p10
if not @poses_winning_loops.include?(@battler.id)
@freeze = true
end
end
end
end
end
# Guarding State (not if dead OR in victory)
if not @battler.dead?
if not $victory
@state = $p4 if @battler.guarding?
end
end
# Moving State
if moving
# Adjust sprite direction if facing the other way...
if $sv_mirror == 1
# If enemy battler moving
if @battler.is_a?(Game_Enemy)
# Battler Moving Left
@state = $p5 if moving.eql?(0)
# Battler Moving Right
@state = $p6 if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = $p6 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
end
else
# If enemy battler moving
if @battler.is_a?(Game_Enemy)
# Battler Moving Left
@state = $p6 if moving.eql?(0)
# Battler Moving Right
@state = $p5 if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = $p5 if moving.eql?(0)
# Battler Moving Right
@state = $p6 if moving.eql?(1)
end
end
end
# Return State
return @state
end
#--------------------------------------------------------------------------
# * Move
#--------------------------------------------------------------------------
def move
time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
if @last_move_time < time
# Pause for Animation
return if @pose != state
# Phasing
if @phasing
d1 = (@display_x - @original_x).abs
d2 = (@display_y - @original_y).abs
d3 = (@display_x - @destination_x).abs
d4 = (@display_y - @destination_y).abs
self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
# Calculate Difference
difference_x = (@display_x - @destination_x).abs
difference_y = (@display_y - @destination_y).abs
difference_z = (@display_z - @destination_z).abs
# Done? Reset, Stop
if [difference_x, difference_y].max.between?(0,
@display_x = @destination_x
@display_y = @destination_y
@display_z = @destination_z
@pose = state
return
end
# Calculate Movement Increments
increment_x = increment_y = 1
if difference_x < difference_y
increment_x = 1.0 / (difference_y.to_f / difference_x)
elsif difference_y < difference_x
increment_y = 1.0 / (difference_x.to_f / difference_y)
end
increment_z = increment_y
# Calculate Movement Speed
if @calculate_speed
total = 0; $game_party.actors.each{ |actor| total += actor.agi }
speed = @battler.agi.to_f / (total / $game_party.actors.size)
increment_x *= speed
increment_y *= speed
increment_z *= speed
end
# Multiply and Move
multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)
multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)
multiplier_z = (@destination_z - @display_z > 0 ? 8 : -8)
@display_x += (increment_x * multiplier_x).to_i
@display_y += (increment_y * multiplier_y).to_i
@display_z += (increment_z * multiplier_z).to_i
end
@last_move_time = time
end
#--------------------------------------------------------------------------
# * Set Movement
#--------------------------------------------------------------------------
def setmove(destination_x, destination_y, destination_z)
unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
(@battler.is_a?(Game_Actor) and @stationary_actors)
unless @stationary_weapons.include?(@battler.weapon_id) or
@stationary_skills.include?(@skill_used) or
@stationary_items.include?(@item_used)
@original_x = @display_x
@original_y = @display_y
@original_z = @display_z
@destination_x = destination_x
@destination_y = destination_y
@destination_z = destination_z
end
end
end
#--------------------------------------------------------------------------
# * Movement Check
#--------------------------------------------------------------------------
def moving
if (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?)
return (@display_x > @destination_x ? 0 : 1)
end
end
#--------------------------------------------------------------------------
# * Set Pose
#--------------------------------------------------------------------------
def pose=(pose)
@pose = pose
@frame = 0
end
#--------------------------------------------------------------------------
# * Freeze
#--------------------------------------------------------------------------
def freeze
@freeze = true
end
#--------------------------------------------------------------------------
# * Fallen Pose
#--------------------------------------------------------------------------
if @derv_anim_bat_stack.nil?
@derv_anim_bat_stack = true
alias cbs_collapse collapse
def collapse
if @default_collapse_enemy
cbs_collapse if @battler.is_a?(Game_Enemy)
end
if @default_collapse_actor
cbs_collapse if @battler.is_a?(Game_Actor)
end
if $default_enemy
cbs_collapse if @battler.is_a?(Game_Enemy)
end
if $default_actor
cbs_collapse if @battler.is_a?(Game_Actor)
end
if $default_enemy_id != nil
if $default_enemy_id.include?(@battler.id)
cbs_collapse if @battler.is_a?(Game_Enemy)
end
end
if $defend_actor.id != nil
if $default_actor_id.include?(@battler.id)
cbs_collapse if @battler.is_a?(Game_Actor)
end
end
end
end
end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles data surrounding the system. Backround music, etc.
# is managed here as well. Refer to "$game_system" for the instance of
# this class.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :sideview_mirror
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias initialize_cbs_customize initialize
def initialize
# Call original initialization process
initialize_cbs_customize
@sideview_mirror = 0
end
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# * Actor X Coordinate
#--------------------------------------------------------------------------
def screen_x
# Determine minimum horizontal space between battlers
x_spacer = $formation_width / $max_member
if self.index != nil
case $formation
when 0 # DIAGONAL PATTERN 1
if $sv_mirror == 1
return self.index * -x_spacer + (($max_member+1)*x_spacer) #202
else
return self.index * x_spacer + (640-(($max_member+1)*x_spacer))#450
end
when 1 # DIAGONAL PATTERN 2
if $sv_mirror == 1
return self.index * x_spacer + x_spacer #64
else
return self.index * -x_spacer + (640-x_spacer*2) #576
end
when 2 # 2-ROW SLANT
if $sv_mirror == 1
if self.index < ($max_member/2)
return self.index + (($max_member+1)*x_spacer) + (x_spacer * self.index)
else
return self.index + (x_spacer * self.index) - x_spacer * 0.5
end
else
if self.index < ($max_member/2)
return self.index + (640-(($max_member+1)* x_spacer)) + (-x_spacer * self.index)
else
return self.index + (640-((x_spacer*0.5)-x_spacer)) + (-x_spacer * self.index)
end
end
when 3 # 2 ROW - SLANT
if $sv_mirror == 1
if self.index < ($max_member/2)
return self.index + (x_spacer/2)+(($max_member+1)* x_spacer) + (-x_spacer * self.index)
else
return self.index + (($max_member+1)* x_spacer) + (-x_spacer * self.index)
end
else
if self.index < ($max_member/2)
return self.index + 442 + (x_spacer * self.index)
else
return self.index + 430 + (x_spacer * self.index)
end
end
when 4 # Column Pattern 1
if $sv_mirror == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
end
else
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 5 # Column Pattern 2
if $sv_mirror == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
end
else
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 6 # Wave Formation 1
if $sv_mirror == 1
if self.index < ($max_member/2)
return 170
else
return 90
end
else
if self.index < ($max_member/2)
return 470
else
return 550
end
end
else # Wave Formation 2
if $sv_mirror == 1
if self.index < ($max_member/2)
return 170
else
return 90
end
else
if self.index < ($max_member/2)
return 470
else
return 550
end
end
end
else
return 0
end
end
#--------------------------------------------------------------------------
# * Actor Y Coordinate
#--------------------------------------------------------------------------
def screen_y
# Determine minimum vertical space between battlers
y_spacer = (480 - $battlestat_height - $formation_top) / $max_member
if self.index != nil
case $formation
when 0
return self.index * (y_spacer*1.25) + $formation_top
when 1
return self.index * (y_spacer*1.25) + $formation_top
when 2
if self.index < ($max_member/2)
return $formation_top + ((y_spacer*2.5) * self.index)
else
return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) #was 60
end
when 3
if self.index < ($max_member/2)
return $formation_top + ((y_spacer*2.5) * self.index)
else
return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) # was 60
end
when 4
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $formation_top + ($battlestat_height/2)
else
return $formation_top + ($battlestat_height/6)
end
when 5
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $formation_top + ($battlestat_height/6)
else
return $formation_top + ($battlestat_height /2)
end
when 6
if self.index < ($max_member/2)
return $formation_top + (y_spacer * 2.5 * self.index)
else
return $formation_top + (y_spacer * 2.5 * ((self.index) - ($max_member/2)))
end
else
if self.index < ($max_member/2)
return $formation_top + (y_spacer*2.5*(($max_member/2)-1))+ (y_spacer * 2.5 * -self.index)
else
return $formation_top + (y_spacer*2.5*(($max_member/2)-1)) + (y_spacer * 2.5 * -((self.index) - ($max_member/2)))
end
end
end
end
#--------------------------------------------------------------------------
# * Actor Z Coordinate
#--------------------------------------------------------------------------
def screen_z
return screen_y
end
end
#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
# This class handles enemies. It's used within the Game_Troop class
# ($game_troop).
#==============================================================================
class Game_Enemy < Game_Battler
def screen_x
if self.index != nil
if $sv_mirror == 1
return 640 - $data_troops[@troop_id].members[@member_index].x
else
return $data_troops[@troop_id].members[@member_index].x
end
end
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Make Skill Action Results (alias used to determine skill used)
#--------------------------------------------------------------------------
alias make_skill_action_result_anim make_skill_action_result
def make_skill_action_result(battler = @active_battler, plus_id = 0)
@rtab = !@target_battlers
if $RTAB_Connected_Attacking
make_skill_action_result_anim(battler, plus_id)
else
@rtab ? make_skill_action_result_anim(battler) : make_skill_action_result_anim
end
@skill_used = @skill.id
end
#--------------------------------------------------------------------------
# * Make Item Action Results (alias used to determine item used)
#--------------------------------------------------------------------------
alias make_item_action_result_anim make_item_action_result
def make_item_action_result(battler = @active_battler)
@rtab = !@target_battlers
@rtab ? make_item_action_result_anim(battler) : make_item_action_result_anim
@item_used = @item.id
@item_usage = @item.scope
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 1 : action preparation) (Casting Routine)
#--------------------------------------------------------------------------
alias update_phase4_step1_anim update_phase4_step1
def update_phase4_step1(battler = @active_battler)
@rtab = !@target_battlers
if $rtab_detected == true
update_phase4_step1_anim(battler)
if battler.current_action.kind == 1 and
(not battler.current_action.forcing or @force != 2)
if battler.rtp != 0
$casted = true
end
end
else
update_phase4_step1_anim
end
end
#--------------------------------------------------------------------------
# * Action Animation, Movement
#--------------------------------------------------------------------------
alias cbs_update_phase4_step3 update_phase4_step3
def update_phase4_step3(battler = @active_battler)
@rtab = !@target_battlers
target = (@rtab ? battler.target : @target_battlers)[0]
# If enemy is a default battler
if battler.is_a?(Game_Enemy)
if $default_enemy
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
if $default_enemy_id != nil
if $default_enemy_id.include?(@battler.id)
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
end
end
# If actor is a default battler
if battler.is_a?(Game_Actor)
if $default_actor
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
if $default_actor_id != nil
if $default_actor_id.include?(@battler.id)
if @rtab then battler.white_flash = true end
if @rtab then battler.wait = 10 end
end
end
end
# Set values and poses based on Action
case battler.current_action.kind
when 0 # Attack
rush_type = $rush_attack
full_moving = true ; if rush_type; full_moving = false; end
if $move2center_atk.include?(battler.weapon_id); center_move=true ; end
if $stationary_enemyid.include?(battler.id) and battler.is_a?(Game_Enemy)
full_moving = false
center_move = false
rush_type = false
end
if battler.current_action.basic == 2
# If escaping, disable all movement
full_moving = false
center_move = false
rush_type = false
end
base_pose = $p7
base_pose = $poses_weapons[battler.weapon_id] if $poses_weapons.include?(battler.weapon_id)
if battler.current_action.basic == 2
base_pose = $poses_escaping if $poses_escaping != nil
end
when 1 # Skill
rush_type = $rush_skill
if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
if $move2center_skill.include?(@skill_used) ; center_move = true ; end
base_pose = $p9
base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
when 2 # Item
rush_type = $rush_item
&n