im getting this
http://i69.photobucket.com/albums/i62/K ... tled-7.jpg[/IMG]
but here the thing it dont do that to Actor slot 7 and 8 with the same sprites.
http://i69.photobucket.com/albums/i62/K ... tled-7.jpg[/IMG]
but here the thing it dont do that to Actor slot 7 and 8 with the same sprites.
Code:
#==============================================================================
# ** Animated Battlers - Enhanced ver. 8.8 (07-31-2007)
#
#------------------------------------------------------------------------------
# * (2) Sprite System: The Sprite Battler Class
#==============================================================================
#==============================================================================
# ** 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
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :battler_offset # Degree of action forcing
attr_accessor :skill_used # Degree of action forcing
attr_accessor :item_used # Degree of action forcing
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias mnk_init initialize
def initialize(viewport, battler = nil)
# --Initialize poses
@frame, @pose = 0, 0
@last_time = 0
@last_move_time = 0
# --Initialize Battler placement and pose types
@battler_offset = 0
@skill_used = 0
@item_used = 0
# --Initialize Boolean values
@statusd = false
@dying = true
@s_pose = false
$victory = false
$defeat = false
@winning = true
# ORIGINAL Initialize call
mnk_init(viewport, battler)
# EVENT VALUE CALLS
# --Obtain the Sideview switch
$sv_mirror = $sideview_mirror
$sv_mirror = 0 if $sideview_mirror == nil
# -- Obtain the max party size
$max_member = $formation_max_member
$max_member = 4 if $formation_max_member == nil
# --Obtain the highest position for the formation
$formation_top = $formation_max_height
$formation_top = 220 if $formation_max_height == nil
# --Obtain the formation's width
$formation_width = $formation_max_width
$formation_width = 128 if $formation_max_width == nil
# --Obtain the height of the Battlestatus Window
$battlestat_height = $battlestatus_height
$battlestat_height = 160 if $battlestatus_height == nil
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
alias mnk_update update
def update
return unless @battler
if @battler.battler_name != @battler_name
@started = false
end
# Regular Update
mnk_update
# Set Translucency
if @battler.is_a?(Game_Actor) and @battler_visible
if MNK_TRANSLUCENT_ACTOR.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
end
end
if @battler.is_a?(Game_Enemy) and @battler_visible
if MNK_TRANSLUCENT_ENEMY.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
end
end
# 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
frametmp = MNK_FRAMES
if MNK_FRAMES_ENEMY != nil
if MNK_FRAMES_ENEMY.include?(@battler.id)
frametmp = MNK_FRAMES_ENEMY[@battler.id] if MNK_FRAMES_ENEMY[@battler.id] != nil
end
end
@width = @width / frametmp
posetmp = MNK_POSES
if MNK_POSES_ENEMY != nil
if MNK_POSES_ENEMY.include?(@battler.id)
posetmp = MNK_POSES_ENEMY[@battler.id] if MNK_POSES_ENEMY[@battler.id] != nil
end
end
@height = @height / posetmp
else
if not DEFAULT_ENEMY_ID.include?(@battler.id)
frametmp = MNK_FRAMES
if MNK_FRAMES_ENEMY != nil
if MNK_FRAMES_ENEMY.include?(@battler.id)
frametmp = MNK_FRAMES_ENEMY[@battler.id] if MNK_FRAMES_ENEMY[@battler.id] != nil
end
end
@width = @width / frametmp
posetmp = MNK_POSES
if MNK_POSES_ENEMY != nil
if MNK_POSES_ENEMY.include?(@battler.id)
posetmp = MNK_POSES_ENEMY[@battler.id] if MNK_POSES_ENEMY[@battler.id] != nil
end
end
@height = @height / posetmp
end
end
end
end
# Turn off Casting pose
@battler.casted = false
@battler.casting = false
if @battler.is_a?(Game_Actor)
if not DEFAULT_ACTOR
if DEFAULT_ACTOR_ID == nil
# Set up Spritesheet Standards
frametmp = MNK_FRAMES
if MNK_FRAMES_ACTOR != nil
if MNK_FRAMES_ACTOR.include?(@battler.id)
frametmp = MNK_FRAMES_ACTOR[@battler.id] if MNK_FRAMES_ACTOR[@battler.id] != nil
end
end
@width = @width / frametmp
posetmp = MNK_POSES
if MNK_POSES_ACTOR != nil
if MNK_POSES_ACTOR.include?(@battler.id)
posetmp = MNK_POSES_ACTOR[@battler.id] if MNK_POSES_ACTOR[@battler.id] != nil
end
end
@height = @height / posetmp
else
if not DEFAULT_ACTOR_ID.include?(@battler.id)
frametmp = MNK_FRAMES
if MNK_FRAMES_ACTOR != nil
if MNK_FRAMES_ACTOR.include?(@battler.id)
frametmp = MNK_FRAMES_ACTOR[@battler.id] if MNK_FRAMES_ACTOR[@battler.id] != nil
end
end
@width = @width / frametmp
posetmp = MNK_POSES
if MNK_POSES_ACTOR != nil
if MNK_POSES_ACTOR.include?(@battler.id)
posetmp = MNK_POSES_ACTOR[@battler.id] if MNK_POSES_ACTOR[@battler.id] != nil
end
end
@height = @height / posetmp
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
if MNK_FADE_IN
self.opacity = 0
end
# Make invisible if dead at battle start
if @battler.dead?
self.visible = false
end
@started = true
end
if @pose == nil
@pose = state
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
if @pose != nil
if @frame != nil
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
else
if @pose != nil
if @frame != nil
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
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
if @pose != nil
if @frame != nil
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
end
else
if @pose != nil
if @frame != nil
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
end
end
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 MNK_MIRROR_ENEMIES
self.mirror = !!battler
end
end
else
if @battler.is_a?(Game_Enemy)
if MNK_MIRROR_ENEMIES
self.mirror = !!battler
end
end
end
# Setup Frames per Pose
poseframe = MNK_FRAMES_STANDARD
poseframe = MNK_FRAMES_PER_POSE[@pose] if MNK_FRAMES_PER_POSE.include?(@pose)
# Set Advanced Poses for Actors
if @battler.is_a?(Game_Actor)
pose_temp = MNK_POSES_FR_ACTOR[@battler.id] if MNK_POSES_FR_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 = MNK_POSES_FR_ENEMY[@battler.id] if MNK_POSES_FR_ENEMY.include?(@battler.id)
poseframe = pose_temp[@pose] if pose_temp.include?(@pose)
end
# Make visible if returned to life
unless @battler.dead?
self.visible = true if @state == pose_obtain(MNK_POSE1, MNK_APOSE1, MNK_EPOSE1)
@freeze = false
end
# Setup Animation
time = Graphics.frame_count / (Graphics.frame_rate / MNK_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
# Setup/Ready for Battle (Let's get ready to RUMBLE!)
if @s_pose == false
tmp_pose = pose_obtain(MNK_POSES_SETUP, MNK_POSES_SETUP_A, MNK_POSES_SETUP_E)
if tmp_pose != nil
@pose = tmp_pose
@s_pose = true
end
end
if @battler.is_a?(Game_Actor)
if $victory == true
if @winning == true
@pose = state
@winning = false
end
end
end
end
# Move It
move if moving
end
#--------------------------------------------------------------------------
# * Current State
#--------------------------------------------------------------------------
def state
@statusd = false
unless @battler.dead?
if @battler.is_a?(Game_Enemy) and MNK_TRANSLUCENT_ENEMY.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
end
if @battler.is_a?(Game_Actor) and MNK_TRANSLUCENT_ACTOR.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
end
end
# Damage State
if [nil,{}].include?(@battler.damage)
# Battler Fine
@state = pose_obtain(MNK_POSE1, MNK_APOSE1, MNK_EPOSE1)
# Battler Wounded
temp_percentage = MNK_LOW_HP_PERCENTAGE
if @battler.is_a?(Game_Actor)
temp_percentage = MNK_LOW_HP_ACTOR[@battler.id] if MNK_LOW_HP_ACTOR[@battler.id] != nil
end
if @battler.is_a?(Game_Enemy)
temp_percentage = MNK_LOW_HP_ENEMY[@battler.id] if MNK_LOW_HP_ENEMY[@battler.id] != nil
end
if @battler.hp < @battler.maxhp * temp_percentage
@state = pose_obtain(MNK_POSE3, MNK_APOSE3, MNK_EPOSE3)
@statusd = true
end
# Battler Status-Effect
for i in @battler.states
tmp_pose2 = pose_array_obtain(MNK_POSES_STATUS, MNK_POSES_STAT_A, MNK_POSES_STAT_E, i)
@state = tmp_pose2 if tmp_pose2 != nil
@statusd = true if tmp_pose2 != nil
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
# Dying Animation pose
if @dying == true
tmp_pose = pose_obtain(MNK_POSES_DYING, MNK_POSES_DYING_a, MNK_POSES_DYING_E)
if tmp_pose != nil
@state = tmp_pose
else
@state = pose_obtain(MNK_POSE11, MNK_APOSE11, MNK_EPOSE11)
if @battler.is_a?(Game_Actor)
@freeze = true if not MNK_LOOPS_DEFEATED_ACTOR.include?(@battler.id)
else
@freeze = true if not MNK_LOOPS_DEFEATED_ENEMY.include?(@battler.id)
end
end
else
@state = pose_obtain(MNK_POSE11, MNK_APOSE11, MNK_EPOSE11)
if @battler.is_a?(Game_Actor)
@freeze = true if not MNK_LOOPS_DEFEATED_ACTOR.include?(@battler.id)
else
@freeze = true if not MNK_LOOPS_DEFEATED_ENEMY.include?(@battler.id)
end
end
# Fix Opacity
if @battler.is_a?(Game_Enemy)
if MNK_TRANSLUCENT_ENEMY.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
else
if @battler.hidden
self.opacity = 0
else
self.opacity = 255
end
end
else
if MNK_TRANSLUCENT_ACTOR.include?(@battler.id)
if @battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
else
if @battler.hidden
self.opacity = 0
else
self.opacity = 255
end
end
end
end
end
end
# Casting State
if @battler.casted
if $game_system.mnk_det_para_spell
if @battler.spelling?
tmp_pose = pose_obtain(MNK_POSES_CASTPREP, MNK_POSES_CASTPREP_A, MNK_POSES_CASTPREP_E)
tmp_pose2 = pose_array_obtain(MNK_POSES_CASTED, MNK_POSES_CASTED_A, MNK_POSES_CASTED_E, @battler.skill_casted)
tmp_pose = tmp_pose2 if tmp_pose2 != nil
@state = tmp_pose if tmp_pose != nil
end
else
if $game_system.mnk_det_sd_casting
if @battler.sd_casting
tmp_pose = pose_obtain(MNK_POSES_CASTPREP, MNK_POSES_CASTPREP_A, MNK_POSES_CASTPREP_E)
tmp_pose2 = pose_array_obtain(MNK_POSES_CASTED, MNK_POSES_CASTED_A, MNK_POSES_CASTED_E, @battler.skill_casted)
tmp_pose = tmp_pose2 if tmp_pose2 != nil
@state = tmp_pose if tmp_pose != nil
end
end
if @battler.rtp != 0
tmp_pose = pose_obtain(MNK_POSES_CASTPREP, MNK_POSES_CASTPREP_A, MNK_POSES_CASTPREP_E)
tmp_pose2 = pose_array_obtain(MNK_POSES_CASTED,MNK_POSES_CASTED_A,MNK_POSES_CASTED_E,@battler.skill_casted)
tmp_pose = tmp_pose2 if tmp_pose2 != nil
@state = tmp_pose if tmp_pose != nil
end
end
end
# Victory State
if @battler.is_a?(Game_Actor)
if $victory
if not @battler.dead?
if @winning == true
if MNK_POSES_WINNING != nil
tmp_pose = pose_obtain(MNK_POSES_WINNING, MNK_POSES_WINNING_A, MNK_POSES_WINNING_E)
@state = tmp_pose if tmp_pose != nil
end
else
tmp_pose = MNK_POSE10-1
tmp_pose = MNK_APOSE10[@battler.id]-1 if MNK_APOSE10[@battler.id] != nil
@state = tmp_pose
if not MNK_LOOPS_WINNING.include?(@battler.id)
@freeze = true
end
end
else
if not @battler.dead?
tmp_pose = MNK_POSE10-1
tmp_pose = MNK_APOSE10[@battler.id]-1 if MNK_APOSE10[@battler.id] != nil
@state = tmp_pose
if not MNK_LOOPS_WINNING.include?(@battler.id)
@freeze = true
end
end
end
end
# Perform check for Enemies
else
if $defeat
if not @battler.dead?
if @winning == true
if MNK_POSES_WINNING != nil
tmp_pose = pose_obtain(MNK_POSES_WINNING, MNK_POSES_WINNING_A, MNK_POSES_WINNING_E)
@state = tmp_pose if tmp_pose != nil
end
else
tmp_pose = MNK_POSE10-1
tmp_pose = MNK_APOSE10[@battler.id]-1 if MNK_APOSE10[@battler.id] != nil
@state = tmp_pose
if not MNK_LOOPS_WINNING.include?(@battler.id)
@freeze = true
end
end
else
if not @battler.dead?
tmp_pose = MNK_POSE10-1
tmp_pose = MNK_APOSE10[@battler.id]-1 if MNK_APOSE10[@battler.id] != nil
@state = tmp_pose
if not MNK_LOOPS_WINNING.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
if @statusd == false
@state = pose_obtain(MNK_POSE4, MNK_APOSE4, MNK_EPOSE4) if @battler.guarding?
end
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 = pose_obtain(MNK_POSE5, MNK_APOSE5, MNK_EPOSE5) if moving.eql?(0)
# Battler Moving Right
@state = pose_obtain(MNK_POSE6, MNK_APOSE6, MNK_EPOSE6) if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = pose_obtain(MNK_POSE6, MNK_APOSE6, MNK_EPOSE6) if moving.eql?(0)
# Battler Moving Right
@state = pose_obtain(MNK_POSE5, MNK_APOSE5, MNK_EPOSE5) if moving.eql?(1)
end
else
# If enemy battler moving
if @battler.is_a?(Game_Enemy)
# Battler Moving Left
@state = pose_obtain(MNK_POSE6, MNK_APOSE6, MNK_EPOSE6) if moving.eql?(0)
# Battler Moving Right
@state = pose_obtain(MNK_POSE5, MNK_APOSE5, MNK_EPOSE5) if moving.eql?(1)
# Else actor battler moving
else
# Battler Moving Left
@state = pose_obtain(MNK_POSE5, MNK_APOSE5, MNK_EPOSE5) if moving.eql?(0)
# Battler Moving Right
@state = pose_obtain(MNK_POSE6, MNK_APOSE6, MNK_EPOSE6) if moving.eql?(1)
end
end
end
# Return State
return @state
end
#--------------------------------------------------------------------------
# * Move
#--------------------------------------------------------------------------
def move
time = Graphics.frame_count / (Graphics.frame_rate.to_f / (MNK_SPEED * 5))
if @last_move_time < time
# Pause for Animation
return if @pose != state
opa = 255
if @battler.is_a?(Game_Enemy) and MNK_TRANSLUCENT_ENEMY.include?(@battler.id)
opa = MNK_TRANSLUCENCY
end
if @battler.is_a?(Game_Actor) and MNK_TRANSLUCENT_ACTOR.include?(@battler.id)
opa = MNK_TRANSLUCENCY
end
# Phasing
if MNK_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 = [opa - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
# Phasing per Actor/Enemy
if @battler.is_a?(Game_Actor)
if MNK_PHASING_ACTOR.include?(@battler.id)
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 = [opa - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
else
if MNK_PHASING_ENEMY.include?(@battler.id)
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 = [opa - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end
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, 8)
@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 MNK_CALC_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 = MNK_RUSH_SPEED * (@destination_x - @display_x > 0 ? 8 : -8)
multiplier_y = MNK_RUSH_SPEED * (@destination_y - @display_y > 0 ? 8 : -8)
multiplier_z = MNK_RUSH_SPEED * (@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 MNK_STATIONARY_ENEMIES) or
(@battler.is_a?(Game_Actor) and MNK_STATIONARY_ACTORS)
unless MNK_STATIONARY_WEAPONS.include?(@battler.weapon_id) or
MNK_STATIONARY_SKILLS.include?(@skill_used) or
MNK_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 mnk_collapse collapse
def collapse
if DEFAULT_COLLAPSE_ENEMY
mnk_collapse if @battler.is_a?(Game_Enemy)
end
if DEFAULT_COLLAPSE_ACTOR
mnk_collapse if @battler.is_a?(Game_Actor)
end
if DEFAULT_ENEMY
mnk_collapse if @battler.is_a?(Game_Enemy)
end
if DEFAULT_ACTOR
mnk_collapse if @battler.is_a?(Game_Actor)
end
if DEFAULT_ENEMY_ID != nil
if DEFAULT_ENEMY_ID.include?(@battler.id)
mnk_collapse if @battler.is_a?(Game_Enemy)
end
end
if $defend_actor.id != nil
if DEFAULT_ACTOR_ID.include?(@battler.id)
mnk_collapse if @battler.is_a?(Game_Actor)
end
end
end
end
#--------------------------------------------------------------------------
# * Obtain Pose
# pose_base : default pose to return
# pose_actor : list of poses for actors
# pose_enemy : list of poses for enemies
#--------------------------------------------------------------------------
def pose_obtain(pose_base, pose_actor, pose_enemy)
# create Arrays
pos_a = {}
pos_e = {}
# fill created Arrays & Set pose
pos_a = pose_actor
pos_e = pose_enemy
pose_now = pose_base
# Obtain pose if not a standard pose
if @battler.is_a?(Game_Actor)
pose_now = pos_a[@battler.id] if pos_a[@battler.id] != nil
else
pose_now = pos_e[@battler.id] if pos_e[@battler.id] != nil
end
# Return the final pose (minus 1 for neceties)
pose_now -= 1 if pose_now != nil
return pose_now
end
#--------------------------------------------------------------------------
# * Obtain Pose from hashes
# hash_base : hash with default poses
# hash_actor : advanced list of poses for actors
# hash_enemy : advanced list of poses for enemies
# condition : value determining where to get the final pose
#--------------------------------------------------------------------------
def pose_array_obtain(hash_base, hash_actor, hash_enemy, condition)
# create Arrays
hash_b = {}
hash_a = {}
hash_e = {}
pose_temp = {}
# fill created Arrays & Set pose
hash_b = hash_base
hash_a = hash_actor
hash_e = hash_enemy
# Setup the temp Array
if @battler.is_a?(Game_Actor)
pose_temp = hash_a[@battler.id] if hash_a.include?(@battler.id)
else
pose_temp = hash_e[@battler.id] if hash_e.include?(@battler.id)
end
# Obtain the base pose based on condition (or nil)
pose_now = hash_b[condition] if hash_b.include?(condition)
# Obtain the optional actor/enemy pose based on condition (unless nil)
pose_now = pose_temp[condition] if pose_temp.include?(condition)
# Return the final pose (minus 1 for neceties)
pose_now -= 1 if pose_now != nil
return pose_now
end
end