A quien le gusta naruto?????

Estado
Cerrado para nuevas respuestas
OP
Mensajes
61
Reacciones
0
Puntos
0
Supongo que hay muchos usuarios que siempre han querido hacer un juego de naruto, ya sea naruto normal o naruto shippuden, el caso es que en Rpg Maker XP, sinceramente, el modo de batalla original da pena jaja, el que nos gustaria para un juego seria el modo lateral, pero cuando ponemos este script esperando crear un juego de naruto resulta no haber ninguna plantilla del personaje...

Yo traigo algunas cuantas que cree yo mismo de Naruto Shippuden espero que les sirva

Bueno antes que nada estas charas se utilizan con estos scripts...

---creen un script arriba de main llamado >> ANIMATED BATTLERS << y peguen esto
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-2007)
#
#------------------------------------------------------------------------------
# * (0) Credits: Includes features included & additional system notes
#------------------------------------------------------------------------------
# Animated Battlers by Minkoff
# Enhancements by DerVVulfman
# Low percentage and Status Poses
# Concept & Base coding by Twin Matrix
# Hero & Enemy z.depth concept by Min-Chan and Caldaron ( totally redone :) )
# Collapse stack-error found by JirbyTaylor(fixed) / Code by SephirothSpawn
# Default 'Battle Animation' glitch found by Mimi Chan (Note, can't fully fix)
# Compatability Fix for 'Gradient Bars v3.4+' by Trickster.
# AT Battle Pause code supplied by Fomar0153
# 'None/All' Target error found by daigotsu. Solution found & fixed... mostly.
# Configurables now saved in save file. Feature requested by MasterMind5823.
# Viewport error (related to Gradient Bar fix) detected by Alistor. Fixed.
# Long-running Full-Screen 'Battle Animation' glitch found by Mimi-Chan. Fixed.
# Dead battlers found still on battlefield at combat start (found by Angel_FX).
# Variable frames per poses glitch found by Mimi-Chan... found source n fixed.
#
#==============================================================================
#
# INTRODUCTION:
#
# This script is not a battlesystem but a graphic overlay system that can con-
# vert a frontview 'Strategy' battlesystem into a Sideview battlesystem. It
# has gone through a number of changes over the months that I have put my spin
# on the system, originally coded by Minkoff himself.
#
# As of now, this system works with the default battlesystem, the RTAB system
# by Cogwheel, ParaDog's ATB, XRXS's system, and a number of systems designed
# by Trickster.
#
# Again, this system changes the 'graphic' overlay system and is meant to
# change the battlers and battler's startup positions for a sideview system.
# It is not meant to alter anything else, including combat values, defense
# levels, or any other graphics other than those related to the battlers them-
# selves.
#
#==============================================================================
#
# REGARDING:
# Skill and Item Scopes:
# Until recently, the revised system did not allow for target scopes beyond
# a single target. This was unintentional and unforseen. However, with the
# revision made in version 7.3, this was corrected. But, skills or items that
# have a target scope of 'None' would still create an error if this form of
# attack is set in either $moving_item_atk or $moving_skill_atk hashe arrays.
# Don't supply the id #'s of any 'None' scope skills/items into these hashes.
#
#==============================================================================
#
# COMPATABILITY ISSUES:
#
# RTAB: Connected Attacking
# A powerful add-on to the RTAB system by Cogwheel, this script allows an ac-
# tor to apply multiple hits on a target. At first, there was no auto-detect
# feature which gave ME MIGRANES... having to use insert switch in the config
# section. Now there is one. The only caveat is that you must STILL comment
# out or remove the entire 'action_phase' routine in Con. Attacking (which is
# roughly lines 30 to 80).
#
# LARGE PARTY (Fomar0153's)
# In order to take advantage of the 'Large Party' system, and still keep the
# actors and enemies in the proper viewport, the second half of Fomar's Large
# Party script (the Battlestatus Page) must be placed under Animated Battlers.
# The first page must still be pasted above the battlesystem script(s) as
# before. Please follow all of Fomar0153's instructions as always.
#
#==============================================================================
#
# 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
# Battler tones now adapt to the background tones, requested by doom900
# Fixed changing battler/battler system. Include fade-in switch req by Neonyo
# Set individual Actors/Enemies that phase on an attack
# Translucent battlers... a personal desire for ghosts you can see through!
# Adjustable opacity for translucent battlers... can't forget that.
# FREAKIN'!!! Fixed the Battler tones. I forgot to 'untone' the 1st viewport.
# Adjustable 'attack/skill/item' movement speeds requested by KAIRE.
# Removed annoying translucency 'flicker' (excess code totally unneeded).
# Individual 'Woozy' Rates per battlers added (JirbyTaylor gave me the idea).
# Woozy and Status poses now override any blocking pose. Makes sense, eh?
# Can now use individually sized spritesheets for enemies and actors.
# 'Casting' pose now available for ParaDog's Spell Residence/Delay users.
# Another escaping enemies (do-nothing switch) bug found by Boomy. Lengthy fix
# Redefined the casting pose values. Now set up for 'each' battler. Better.
# ---Noted: 'FullScreen' Battle Animation bug found by Mimi Chan.
# A combination 'Nil'-Pose/Nil-State bug was fixed. Found by Gaxx
# 'Templates per Spritesheet' system for Actors and Enemies now available.
# ---Noted: Removed Battle Animation attempted fix. (Can't fix. Removed.)
# Created 'Obtain Pose' for multiple spritesheet types to shorten code.
# Added additional 'Custom Spritesheet' poses for the Casting pose & the like.
# Added individual 'Casting' poses hash for each skill used.
# Added addt. Advanced 'Custom Spritesheet' pose system for Casting & the like
# Removed the unnecessary 'viewport.z' statement, compatible with Grad. Bars!
# System 'can' pause the AT bar growth when performing attack, skill & item!
# A 'None / All'-Target bug was found by daigotsu. Taken care of... mostly.
# Configurables (like $sideview_mirror) not saved. Bug found by MasterMind5823
# Now a 'casting' pose available when used with the Skill Casting Delay system
# Bug squashed related to Casting Pose addition
# Random Formation/Custom Battlesystem bug found by Alistor. Very small fix.
# The Actor Command Window was 'under' the battlers. Found by Alistor. Fixed.
# Moves actor battlers into viewport 1. Fixes hero/window menu glitches.
# Fixes the battle animation glitch found by Mimi Chan by relocating enemies!
# Additional compatability with Fomar0153's Large Party (v2) system added.
# Fixed a minor bug with battle poses if called from a Custom Sheet template.
# Can tag battlers who's defeat poses loops indefinitely (Hakuya suggestion).
# Dead guys now hidden at battle start (visible if 'raised) Thanks Angel_FX.
# Converted the CONFIG section to use 'constants' to reduce resources used.
# Converted the $global RTAB/ParaDog/Fomar detection values to $game_system.
# Includes an Adaptation Switch for use with RTAB's Connected Attacking script
# -Finally- Connected Attacking is auto-detected. Adaption switch not needed.
# Got tired of referring to IDX nos for template. Poses start at 1, not 0!!!
# Replaced all but '7' $global values with $game_system values. Resources!!!
# Revised the AT bar growth system for Trickster's newer battlesystems.
# Repaired the Victory Pose looop/no-loop glitch found by joooda
# Now you can config where the targetting arrow is (long overdue).
# Repaired some CTBs 'non-existant' moved values - found by bojox3m.
# System cleanup. Condensed a number of existing routines. Made new ones.
# Added Flatrate HP feature to the 'low health' checker. A Boo Mansion request.
# Battlers can seem to be attacked from behind with the 'Advantages!' system.
# Added 'STRUCK by...' poses. Indiv. poses based how you're attacked Kaze950)!
# Fixed the DEFAULT_ACTOR_ID collapse bug. RTP battlers die collapse style!
# Repaired a bug in the 'Casting Pose' routine for ParaDog's Spell Delay.
# Reduced the number of instance variables & set up as 'locals'.
# Repaired a 'Variable Frames per Pose' glitch found by Mimi-Chan.
# Better handling of 'same pose' attack pausing.
# New overlap offset routine. Overlap now based on individual battler sizes
# Minor: Renamed the 'Final Fantasy Stepping' values in the config section.
#
# 95 counted
#==============================================================================

-----creen otro debajo del anterior llamado 1 - Configuration
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-2007)
#
#------------------------------------------------------------------------------
# * (1) Configuration: The Sprite Battler Class (initialize system)
#==============================================================================

#==========================================================================
# **** ARROW CONTROLS **** #
#==========================================================================
# * Just moves the targetting arrow around
#--------------------------------------------------------------------------
MNK_ARROW_X = 14 # The x position for your target cursor
MNK_ARROW_Y = 10 # The y position for your target cursor

#==========================================================================
# **** GENERAL CONTROLS **** #
#==========================================================================

# * Default Battler Style Switches
#--------------------------------------------------------------------------
DEFAULT_ENEMY = false # 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 = false # collapse effect (using spritesheets)


# * Animation Frames and Animation Speed
#--------------------------------------------------------------------------
MNK_SPEED = 7 # Framerate speed of the battlers
MNK_RUSH_SPEED = 1 # Melee/Skill/Item motion speed of the battlers
MNK_POSES = 11 # Maximum # of poses (stances) in the template
MNK_FRAMES = 4 # Maximum # of frames in each pose
MNK_FRAMES_STANDARD = 4 # Standard # of frames played in each pose.

# Individual Spritesheet Control Center
#--------------------------------------------------------------------------
MNK_POSES_ENEMY = {1 => 4} # ID and # of poses for each enemy
MNK_FRAMES_ENEMY = nil # ID and # of frames for each enemy
MNK_POSES_ACTOR = {100 => 4} # ID and # of poses for each actor
MNK_FRAMES_ACTOR = nil # ID and # of frames for each actor.

# * Wooziness Rates
#--------------------------------------------------------------------------
MNK_LOW_HP_PERCENTAGE = 0.25 # Health% for WOOZY pose.
MNK_LOW_HP_ACTOR = {7 => 0.50, 8 => 0.75} # Ind. health% for actors.
MNK_LOW_HP_ENEMY = {1 => 0.50} # Ind. health% for enemies.
MNK_LOW_HP_FLAT = true # If true, flat rate hp



#==========================================================================
# **** POSE CONTROL CENTER **** #
#==========================================================================

# Editable Template (Some people wanted to change their template design)
#--------------------------------------------------------------------------
MNK_POSE1 = 1 # Sets the 'Ready Pose' (MNK_POSE1) #1 in your template
MNK_POSE2 = 2 # Sets the 'Struck Pose' (MNK_POSE2) #2 in your template
MNK_POSE3 = 3 # Sets the 'Woozy Pose' (MNK_POSE3) #3 in your template
MNK_POSE4 = 4 # Sets the 'Block Pose' (MNK_POSE4) #4 in your template
MNK_POSE5 = 5 # Sets the 'Charge Pose' (MNK_POSE5) #5 in your template
MNK_POSE6 = 6 # Sets the 'Retreat Pose'(MNK_POSE6) #6 in your template
MNK_POSE7 = 7 # Sets the 'Attack Pose' (MNK_POSE7) #7 in your template
MNK_POSE8 = 8 # Sets the 'Item Pose' (MNK_POSE8) #8 in your template
MNK_POSE9 = 9 # Sets the 'Skill Pose' (MNK_POSE9) #9 in your template
MNK_POSE10 = 10 # Sets the 'Victory Pose'(MNK_POSE10) #10 in your template
MNK_POSE11 = 11 # Sets the 'Defeat Pose' (MNK_POSE11) #11 in your template

# Editable Template (for Custom Actor Spritesheets)
#--------------------------------------------------------------------------
MNK_APOSE1 = {2 => 2}
MNK_APOSE2 = {2 => 2} # Hilda is using a Charset graphic as a battler.
MNK_APOSE3 = {2 => 2} # The battler was copied into the Battler folder.
MNK_APOSE4 = {2 => 2} # This setup allows you to use Charactersets for
MNK_APOSE5 = {2 => 2} # battlers battlers.
MNK_APOSE6 = {2 => 3}
MNK_APOSE7 = {2 => 2}
MNK_APOSE8 = {2 => 2}
MNK_APOSE9 = {2 => 2}
MNK_APOSE10 = {2 => 1}
MNK_APOSE11 = {2 => 4}

# Editable Template (for Custom Enemy Spritesheets)
#--------------------------------------------------------------------------
MNK_EPOSE1 = {1 => 2}
MNK_EPOSE2 = {1 => 2} # Did the same to the ghosts. Note that enemies have
MNK_EPOSE3 = {1 => 2} # no victory pose.
MNK_EPOSE4 = {1 => 2}
MNK_EPOSE5 = {1 => 2}
MNK_EPOSE6 = {1 => 3}
MNK_EPOSE7 = {1 => 2}
MNK_EPOSE8 = {1 => 2}
MNK_EPOSE9 = {1 => 2}
MNK_EPOSE11 = {1 => 11} # Setting the ghost to an invalid pose erases it.


#==========================================================================
# **** EXPANDED POSE CONTROL CENTER **** #
#==========================================================================

# Non-Default Poses (can expand beyond the default 11 poses here)
# (New system mimics the revised Template system. Can use 'custom' sheets)
#--------------------------------------------------------------------------
# The first value in each set indicates the index number in a spritesheet.
# This value is overrided by a value in one of the other two accompanying
# arrays... one for actor battlerss, the other for enemy battlers.
#
# To define a pose linked to a specific battler, the syntax is...
# '' hash array '' = { battler.id => pose# }
# Where Aluxes and the Ghost (RTP) would be the 1st battlers (per array),
# and the pose# would be the pose in your spritesheet.
#
# Combinations in the hash arrays are possible, so if the MNK_POSES_DYING_E
# array has {1 => 5, 9 => 2}, then the GHOST (enemy #1) would be using the
# 6th pose (index 5) and the 9th enemy battler would be using the 3rd pose.
#--------------------------------------------------------------------------
MNK_POSES_SETUP = 7 # Choose animation pose for 'preparation'
MNK_POSES_SETUP_A = {100 => 4}
MNK_POSES_SETUP_E = {1 => 4}
MNK_POSES_CASTPREP = 4 # Set 'casting' pose for skill preparation
MNK_POSES_CASTPREP_A = {}
MNK_POSES_CASTPREP_E = {9 => 3}
MNK_POSES_DYING = 1 # Choose animation pose for dying throws.
MNK_POSES_DYING_a = {}
MNK_POSES_DYING_E = {9 => 5}
MNK_POSES_ESCAPE = 6 # Set 'coward' pose for fleeing monsters)
MNK_POSES_ESCAPE_A = {}
MNK_POSES_ESCAPE_E = {9 => 5}
MNK_POSES_CRITICAL = nil # Set pose for BIG hits
MNK_POSES_CRIT_A = {}
MNK_POSES_CRIT_E = {9 =>5}
MNK_POSES_WINNING = 10 # Set winning (Victory Dance before pose)
MNK_POSES_WINNING_A = {}
MNK_POSES_WINNING_E = {}

# Looping Poses
#--------------------------------------------------------------------------
# These arrays merely hold the ID of actors or enemies whose poses loop at
# the end of combat. Enemies have no 'winning' animation pose.
MNK_LOOPS_WINNING = [3,21,7,22,28,29,30,31,32] # Actor IDs if their victory pose loops
MNK_LOOPS_DEFEATED_ACTOR = [] # Actor IDs if their defeat pose loops
MNK_LOOPS_DEFEATED_ENEMY = [] # Enemy IDs if their defeat pose loops



















# Non-Default Pose Hashes (poses dependant on .id values)
# (New system mimics the revised Template system.)
#--------------------------------------------------------------------------
# The first hash in each set indicates the id number (be it skill, item or
# otherwise, and the pose it brings up. These mimic the 2nd array type in
# the above Non-Default poses. As such, a hash value of {1 => 10) for the
# MNK_POSES_WEAPONS hash would make the 'Bronze Sword' use the 10th index (or
# 11th spritesheet) pose... aka the 'Defeat' pose.
#
# To define an advanced pose linked to a specific battler, the syntax is...
# = { battler.id => { item/skill.id => pose# } }
# ...so this gets more complicated. But this does allow each battler to
# have his or her own unique pose, regardless of spritesheet type.
#--------------------------------------------------------------------------
MNK_POSES_CASTED = {61 => 6} # Set a specific skill to use a pose
MNK_POSES_CASTED_A = {}
MNK_POSES_CASTED_E = {}
MNK_POSES_STATUS = {3 => 3} # Set status values to poses here
MNK_POSES_STAT_A = {}
MNK_POSES_STAT_E = {}
MNK_POSES_SKILLS = {57 => 7} # Default: #57(Cross Cut) does 'Attack'
MNK_POSES_SKILLS_A = {}
MNK_POSES_SKILLS_E = {}
MNK_POSES_ITEMS = {13 => 4} # Default: #13(Sharp Stone) does 'Block'
MNK_POSES_ITEMS_A = {}
MNK_POSES_ITEMS_E = {}
MNK_POSES_WEAPONS = {} # Didn't set any weapons to any poses
MNK_POSES_WEAPS_A = {}
MNK_POSES_WEAPS_E = {} # Non-functional (Enemies don't use 'em.)

# Non-Default Pose Hashes (Hits & Critical Hits)
# (Just like above, but pertains to specific hits and critical hits)
#--------------------------------------------------------------------------
MNK_STRUCK_WEAPS = {} # Set a specific 'Struck' to a weapon attack
MNK_STRUCK_WEAPS_A = {}
MNK_STRUCK_WEAPS_E = {}
MNK_STRUCK_SKILLS = {} # Set a specific 'Struck' to a skill
MNK_STRUCK_SKILLS_A = { 7 => { 7 => 4 }}
MNK_STRUCK_SKILLS_E = {}
MNK_STRUCK_ITEMS = {} # Set a specific 'Struck' to an item attack
MNK_STRUCK_ITEMS_A = {}
MNK_STRUCK_ITEMS_E = {}
MNK_CRIT_WEAPS = {} # Set a specific 'Critical Hit' to a weapon
MNK_CRIT_WEAPS_A = {}
MNK_CRIT_WEAPS_E = {}
MNK_CRIT_SKILLS = {} # Set a specific 'Critical Hit' to a skill
MNK_CRIT_SKILLS_A = {7 => {7 => 10 }, 5 => {7 => 7}}
MNK_CRIT_SKILLS_E = {}
MNK_CRIT_ITEMS = {} # Set a specific 'Critical Hit' to an item
MNK_CRIT_ITEMS_A = {}
MNK_CRIT_ITEMS_E = {}


#==========================================================================
# **** FRAME CONTROL CENTER **** #
#==========================================================================

# * Frames Control
#--------------------------------------------------------------------------
MNK_FRAMES_PER_POSE = {} # Set #of frames to pose(by index)

# Advanced Individual Pose/Frame Hashes # Advanced Individual Poses uses
# hashes within hashes. As a demo
MNK_POSES_FR_ACTOR = {} # you can see that enemy #1 has 2
MNK_POSES_FR_ENEMY = {} # 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 MNK_FRAMES_PER_POSE hash earlier.


#==========================================================================
# **** MOVEMENT CONTROL CENTER **** #
#==========================================================================

# * Offset / Battler Overlap System
#--------------------------------------------------------------------------
MNK_OFFSET = -25 # How much additional space between battlers
MNK_OFFSET_ACTOR = {1 => 0}
MNK_OFFSET_ENEMY = nil

# * Forward Step System (Final Fantasy-Style)
#--------------------------------------------------------------------------
MNK_STEP_ATTACK = false # If true, battler steps forward to attack
MNK_STEP_SKILL = false # If true, battler steps forward to use skill
MNK_STEP_ITEM = false # If true, battler steps forward to use item

# * Movement Arrays (Arrays for skill/weapon/item IDs that affect movement)
#--------------------------------------------------------------------------
MNK_MOVING_ITEM = [] # Examples are items that need to be applied.
MNK_MOVING_SKILL = [] # Examples are martial-arts and sneak attacks
MNK_MOVE2CENTER_ATK = [] # Moves battler to center based on weapon id!
MNK_MOVE2CENTER_ITEM = [] # Moves battler to center for a big item atk!
MNK_MOVE2CENTER_SKILL = [] # Moves battler to center for a big skill atk!
#
# * Remember, do not supply Skill or Item ID#'s that have 'None' scopes into
# either the MNK_MOVING_ITEM or MNK_MOVING_SKILL hashes. These skills &
# item attacks have no target and would cause an error when trying to find
# an enemy to move towards.



#==========================================================================
# **** STATIONARY CONTROL CENTER **** #
#==========================================================================

# * Stationary Battlers (simple True/False settings)
#--------------------------------------------------------------------------
MNK_STATIONARY_ENEMIES = false # If the enemies don't move while attacking
MNK_STATIONARY_ACTORS = false # If the actors don't move while attacking

# * Arrays filled with skill/weapon/item IDs that halt movement
#--------------------------------------------------------------------------
MNK_STATIONARY_ENEMY_IDS = [] # Enemies that don't RUN during melee attacks
MNK_STATIONARY_WEAPONS = [] # (examples are bows & guns)
MNK_STATIONARY_SKILLS = [] # (examples are bows & guns)
MNK_STATIONARY_ITEMS = [] # (examples are bows & guns)



#==========================================================================
# **** TRANSPARENCY CONTROL CENTER **** #
#==========================================================================
MNK_TRANSLUCENCY = 255 # Degree of transparency
MNK_TRANSLUCENT_ACTOR = [] # ID of actor at translucency settings
MNK_TRANSLUCENT_ENEMY = [] # ID of enemy at translucency settings
MNK_PHASING = false # If battlers fade in/out while charging
MNK_PHASING_ACTOR = [] # IDs of actors that fade in/out if charging
MNK_PHASING_ENEMY = [] # IDs of enemies that fade in/out if charging

MNK_FADE_IN = false # Battler fades in if replaced or transparent



#==========================================================================
# **** CUSTOM FEATURE CENTER **** #
#==========================================================================

MNK_MIRROR_ENEMIES = true # Enemy battlers use reversed image
MNK_CALC_SPEED = false # System calculates a mean/average speed
MNK_AT_DELAY = true # Pauses battlesystem until animation done.
MNK_ADV_OFF_TURN = 1 # Number of turns before enemies turn around.

creen otro debajo del anterior llamado 2 - Sprite System
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-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, @last_time, @last_move_time = 0, 0, 0, 0
# --Initialize Battler placement and pose types
@battler_offset, @skill_used, @item_used = 0, 0, 0
# --Initialize Boolean values
@statusd = false
@dying = true
@s_pose = false
$game_system.victory = false
$game_system.defeat = false
@winning = true
# ORIGINAL Initialize call
mnk_init(viewport, battler)
# EVENT VALUE CALLS
# --Obtain the Sideview switch
$game_system.sv_angle = $sideview_mirror
$game_system.sv_angle = 0 if $sideview_mirror == nil
# -- Obtain the max party size
$game_system.max_member = $formation_max_member
$game_system.max_member = 4 if $formation_max_member == nil
# --Obtain the highest position for the formation
$game_system.form_top = $formation_max_height
$game_system.form_top = 220 if $formation_max_height == nil
# --Obtain the formation's width
$game_system.form_wd = $formation_max_width
$game_system.form_wd = 128 if $formation_max_width == nil
# --Obtain the height of the Battlestatus Window
$game_system.bstat_ht = $battlestatus_height
$game_system.bstat_ht = 160 if $battlestatus_height == nil
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
alias mnk_update update
def update

# Only perform sprite edit for valid battlers
return unless @battler
if @battler.battler_name != @battler_name
@started = false
end

# Regular Update
mnk_update

# Set Translucency
if @battler.is_a?(Game_Enemy)
battler_translucency(@battler, MNK_TRANSLUCENT_ENEMY)
else
battler_translucency(@battler, MNK_TRANSLUCENT_ACTOR)
end
# Reset hash for Advanced Pose/Frames
pose_temp = {}

# Start Routine (Performed at startup for each battler)
unless @started
# Set the pose based on battler's state
@pose = state
# Turn off Casting pose
@battler.casted = false
@battler.casting = false
# Configure Enemy Spritesheet
if @battler.is_a?(Game_Enemy)
# Use spritesheet unless specified
unless DEFAULT_ENEMY or DEFAULT_ENEMY_ID.include?(@battler.id)
@width = @width / cell_divider(MNK_FRAMES_ENEMY, MNK_FRAMES)
@height = @height / cell_divider(MNK_POSES_ENEMY, MNK_POSES)
end
# Or Configure Actor Spritesheet
else
# Use spritesheet unless specified
unless DEFAULT_ACTOR or DEFAULT_ACTOR_ID.include?(@battler.id)
@width = @width / cell_divider(MNK_FRAMES_ACTOR, MNK_FRAMES)
@height = @height / cell_divider(MNK_POSES_ACTOR, MNK_POSES)
end
end
# Distance the battlers
@battler_offset = @width * 0.75
# Obtain battler position (simulating 3-Dness)
@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
# Opacity fadein feature
self.opacity = 0 if MNK_FADE_IN
# Make invisible if dead at battle start
self.visible = false if @battler.dead?
# Set the started flag
@started = true
# End of Start Routine (for each battler)
end

# Again, ensure a pose is set
@pose = state if @pose == nil

# Obtain animation cell/frame from Enemy
if @battler.is_a?(Game_Enemy)
# Use spritesheet cell unless specified
unless DEFAULT_ENEMY or DEFAULT_ENEMY_ID.include?(@battler.id)
cell_obtain
else
self.src_rect.set(0, 0, @width, @height)
end
# Or get it from an actor
else
# Use spritesheet cell unless specified
unless DEFAULT_ACTOR or DEFAULT_ACTOR_ID.include?(@battler.id)
cell_obtain
else
self.src_rect.set(0, 0, @width, @height)
end
end

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

# Party Turned Around
# $game_temp.advantage_set == 6

# Adjust sprite direction if facing the other way...
if $game_system.sv_angle == 1
if @battler.is_a?(Game_Actor)
mirror_pose_unless(6)
else
if MNK_MIRROR_ENEMIES
mirror_pose_if(5)
else
mirror_pose_unless(5)
end
end
else
if @battler.is_a?(Game_Actor)
mirror_pose_if(6)
else
if MNK_MIRROR_ENEMIES
mirror_pose_unless(5)
else
mirror_pose_if(5)
end
end
end

# Setup Frames per Pose
poseframe = MNK_FRAMES_STANDARD
if @battler.is_a?(Game_Actor)
poseframe = cell_divider(MNK_FRAMES_ACTOR, MNK_FRAMES_STANDARD) if cell_divider(MNK_FRAMES_ACTOR, MNK_FRAMES_STANDARD) != nil
else
poseframe = cell_divider(MNK_FRAMES_ENEMY, MNK_FRAMES_STANDARD) if cell_divider(MNK_FRAMES_ENEMY, MNK_FRAMES_STANDARD) != nil
end
pose_chk = 0
pose_chk = @pose+1 if @pose != nil
poseframe = MNK_FRAMES_PER_POSE[pose_chk] if MNK_FRAMES_PER_POSE.include?(pose_chk)
# 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_chk] if pose_temp.include?(pose_chk)
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_chk] if pose_temp.include?(pose_chk)
end

# Make visible if returned to life
unless @battler.dead?
self.visible = true if @pose == pose_obtain(MNK_POSE1, MNK_APOSE1, MNK_EPOSE1)
@freeze = false unless $game_system.victory
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
# Otherwise, all non-dead actions...
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 Victory pose (Who's your daddy?)
if @battler.is_a?(Game_Actor)
if $game_system.victory == true
if @winning == true
@pose = state
@winning = false
end
end
end
end

# Move It
move if moving
end

#--------------------------------------------------------------------------
# * Current State
#--------------------------------------------------------------------------
def state
# Reset Statusd Flag
@statusd = false

# Set Translucency if not dead
unless @battler.dead?
if @battler.is_a?(Game_Actor)
battler_translucency(@battler, MNK_TRANSLUCENT_ACTOR)
else
battler_translucency(@battler, MNK_TRANSLUCENT_ENEMY)
end
end

# Damage State
if [nil,{}].include?(@battler.damage)
# Battler Fine
state = pose_obtain(MNK_POSE1, MNK_APOSE1, MNK_EPOSE1)
# Battler Wounded
temp_woozy = MNK_LOW_HP_PERCENTAGE
if @battler.is_a?(Game_Actor)
temp_woozy = MNK_LOW_HP_ACTOR[@battler.id] if MNK_LOW_HP_ACTOR[@battler.id] != nil
end
if @battler.is_a?(Game_Enemy)
temp_woozy = MNK_LOW_HP_ENEMY[@battler.id] if MNK_LOW_HP_ENEMY[@battler.id] != nil
end
# If Set to Flat Rate
if MNK_LOW_HP_FLAT
if @battler.hp < temp_woozy
state = pose_obtain(MNK_POSE3, MNK_APOSE3, MNK_EPOSE3)
@statusd = true
end
# Otherwise, use percentage of battler's health
else
if @battler.hp < @battler.maxhp * temp_woozy
state = pose_obtain(MNK_POSE3, MNK_APOSE3, MNK_EPOSE3)
@statusd = true
end
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 = dying_pose
end
else
state = dying_pose
end

# Fix Opacity
if @battler.is_a?(Game_Enemy)
if MNK_TRANSLUCENT_ENEMY.include?(@battler.id)
set_translucency(@battler, MNK_TRANSLUCENCY)
else
set_translucency(@battler, 255)
end
else
if MNK_TRANSLUCENT_ACTOR.include?(@battler.id)
set_translucency(@battler, MNK_TRANSLUCENCY)
else
set_translucency(@battler, 255)
end
end
end
end
end

# Casting State
if @battler.casted
state = casting_pose if $game_system.mnk_det_para_spell and @battler.spelling?
state = casting_pose if $game_system.mnk_det_sd_casting and @battler.sd_casting
state = casting_pose if $game_system.mnk_det_rtab_systm and @battler.rtp != 0
end

# Victory State
if @battler.is_a?(Game_Actor)
if $game_system.victory
if not @battler.dead?
if @winning == true
# A Pre-Winning Pose display
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
# Final Pose
state = victory_pose
end
else
# Final Pose
state = victory_pose
end
end
# Perform check for Enemies
else
if $game_system.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
# Final Pose
state = victory_pose
end
else
# Final Pose
state = victory_pose
end
end
end

# Guarding State (not if dead OR in victory)
if not @battler.dead?
if not $game_system.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 $game_system.sv_angle == 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
# The standard 'full' opacity
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
self.opacity = phasing(opa) if MNK_PHASING
if @battler.is_a?(Game_Actor)
self.opacity = phasing(opa) if MNK_PHASING_ACTOR.include?(@battler.id)
else
self.opacity = phasing(opa) if MNK_PHASING_ENEMY.include?(@battler.id)
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 [email protected]?)
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 @battler.is_a?(Game_Actor)
mnk_collapse if DEFAULT_ACTOR
mnk_collapse if DEFAULT_COLLAPSE_ACTOR
if DEFAULT_ACTOR_ID != nil
mnk_collapse if DEFAULT_ACTOR_ID.include?(@battler.id)
end
else
mnk_collapse if DEFAULT_ENEMY
mnk_collapse if DEFAULT_COLLAPSE_ENEMY
if DEFAULT_ENEMY_ID != nil
mnk_collapse if DEFAULT_ENEMY_ID.include?(@battler.id)
end
end
end
end

#--------------------------------------------------------------------------
# * Phasing / Vanishing
#--------------------------------------------------------------------------
def phasing(opa)
d1 = (@display_x - @original_x).abs
d2 = (@display_y - @original_y).abs
d3 = (@display_x - @destination_x).abs
d4 = (@display_y - @destination_y).abs
return [opa - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
end

#--------------------------------------------------------------------------
# * Mirror Pose If...
#--------------------------------------------------------------------------
def mirror_pose_if(adv_value)
if $game_temp.advantage_set == adv_value
self.mirror = true
else
self.mirror = false
end
end

#--------------------------------------------------------------------------
# * Mirror Pose Unless...
#--------------------------------------------------------------------------
def mirror_pose_unless(adv_value)
unless $game_temp.advantage_set == adv_value
self.mirror = true
else
self.mirror = false
end
end

#--------------------------------------------------------------------------
# * Casting Pose
#--------------------------------------------------------------------------
def casting_pose
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
return state
end

#--------------------------------------------------------------------------
# * Final Victory Pose
#--------------------------------------------------------------------------
def victory_pose
tmp_pose = MNK_POSE10-1
tmp_pose = MNK_APOSE10[@battler.id]-1 if MNK_APOSE10[@battler.id] != nil
if not MNK_LOOPS_WINNING.include?(@battler.id)
@freeze = true
end
return tmp_pose
end
#--------------------------------------------------------------------------
# * Final Victory Pose
#--------------------------------------------------------------------------
def dying_pose
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
return state
end

#--------------------------------------------------------------------------
# * Battler Translucency
# battler : actor or enemy battler
# battler_trans : translucency array for battler
#--------------------------------------------------------------------------
def battler_translucency(battler, battler_trans)
tcheck = {}
tcheck = battler_trans
set_translucency(battler, MNK_TRANSLUCENCY) if tcheck.include?(battler.id)
end

#--------------------------------------------------------------------------
# * Set Translucency
# battler : actor or enemy battler
# trans_level : translucency level
#--------------------------------------------------------------------------
def set_translucency(battler, trans_level)
if battler.hidden
self.opacity = 0
else
self.opacity = MNK_TRANSLUCENCY
end
end

#--------------------------------------------------------------------------
# * Cell Divider
# divider_check : array to divide cells by custom actor or enemy
# divider_standard : standard number to divide by
#--------------------------------------------------------------------------
def cell_divider(divider_check, divider_standard)
dcheck = {}
divided_cell = divider_standard
dcheck = divider_check
if dcheck != nil
if dcheck.include?(@battler.id)
divided_cell = dcheck[@battler.id] if dcheck[@battler.id] != nil
end
end
return divided_cell
end

#--------------------------------------------------------------------------
# * Obtain Individual Cell
#--------------------------------------------------------------------------
def cell_obtain
# Only permit for valid poses & frames
if @pose != nil
if @frame != nil
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
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

creen otro debajo del anterior llamado 3 - Battle System
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-2007)
#
#------------------------------------------------------------------------------
# * (3) Battle System: The Scene Battle class
#==============================================================================

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
alias mnkmain main
def main
# Initialize wait count
@delay_count = 0
# Obtain the formation style
# Only once per battle start
$game_system.formation = $formation_style
$game_system.formation = 2 if $formation_style == nil
# if Formation is random
if $game_system.formation == 8 then
$game_system.formation = rand(8).to_i
end
# Perform the original call
mnkmain
end

#--------------------------------------------------------------------------
# * Frame Update (main phase)
#--------------------------------------------------------------------------
alias mnk_anim_sp3 start_phase3
def start_phase3
# Remove flag after set number of turns
if $game_temp.battle_turn >= MNK_ADV_OFF_TURN
# Turn sideview advantage mirror flag off
$game_temp.advantage_set = 0
end
# Perform the original call
mnk_anim_sp3
end

#--------------------------------------------------------------------------
# * Frame Update (main phase step 1 : action preparation)
#--------------------------------------------------------------------------
alias mkf_up4s1 update_phase4_step1
def update_phase4_step1(battler = @active_battler)
if $game_system.mnk_det_rtab_systm == true
mkf_up4s1(battler)
else
mkf_up4s1
end
if battler != nil
if $game_system.mnk_det_sd_casting == true
if battler.sd_casting
battler.casted = true
end
end
end
end

#--------------------------------------------------------------------------
# * End Skill Selection
#--------------------------------------------------------------------------
alias mkf_endss end_skill_select
def end_skill_select
mkf_endss
if $game_system.mnk_det_rtab_systm
@active_actor.skill_casted = @skill.id
else
@active_battler.skill_casted = @skill.id
end
end

#--------------------------------------------------------------------------
# * 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 $game_system.mnk_det_rtab_attck
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
battler.strike_skill = @skill.id
if $game_system.mnk_det_para_spell == true
#if battler.spelling?
battler.casted = true
#end
end
for target in (@rtab ? battler.target : @target_battlers)
target.struck_skill = @skill.id
end
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
battler.strike_item = @item.id
for target in (@rtab ? battler.target : @target_battlers)
target.struck_item = @item.id
end
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 $game_system.mnk_det_rtab_systm == 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
battler.casted = true
end
end
else
update_phase4_step1_anim
end
end

#--------------------------------------------------------------------------
# * Action Animation, Movement
#--------------------------------------------------------------------------
alias mnk_update_phase4_step3 update_phase4_step3
def update_phase4_step3(battler = @active_battler)
@rtab = !@target_battlers
target = (@rtab ? battler.target : @target_battlers)[0]
# Battle Delay System
if MNK_AT_DELAY
# Fomar's Action Cost Detection
if $game_system.mnk_det_acb_detect
for actor in $game_party.actors
actor.vitality= 0
end
for enemy in $game_troop.enemies
enemy.vitality= 0
end
end
# Trickster's AT Detection
if $game_system.mnk_det_abs_detect
for actor in $game_party.actors
actor.at_bonus= [0,0]
end
for enemy in $game_troop.enemies
enemy.at_bonus= [0,0]
end
end
# Cogwheel RTAB Detection
if $game_system.mnk_det_rtab_systm
@rtab_wait_flag = true
end
end

# 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
# Reset the 'Do Nothing' flag
dn_flag = false
# Set values and poses based on Action
case battler.current_action.kind
when 0 # Attack
# if Do Nothing, just return
if battler.current_action.basic == 3
dn_flag = true
end
if dn_flag != true
rush_type = MNK_STEP_ATTACK
full_moving = true ; if rush_type; full_moving = false; end
if MNK_MOVE2CENTER_ATK.include?(battler.weapon_id); center_move=true ; end
if MNK_STATIONARY_ENEMY_IDS.include?(battler.id) and battler.is_a?(Game_Enemy)
full_moving = false
center_move = false
rush_type = false
end
base_pose = pose_obtain(battler, MNK_POSE7, MNK_APOSE7, MNK_EPOSE7)
base_pose2 = pose_array_obtain(battler, MNK_POSES_WEAPONS, MNK_POSES_WEAPS_A, MNK_POSES_WEAPS_E, battler.weapon_id)
base_pose = base_pose2 if base_pose2 != nil
if battler.current_action.basic == 2
# If escaping, disable all movement
full_moving = false
center_move = false
rush_type = false
# Set the graphics
temp_pose = pose_obtain(battler, MNK_POSES_ESCAPE, MNK_POSES_ESCAPE_A, MNK_POSES_ESCAPE_E)
base_pose = temp_pose if temp_pose != nil
end
end
when 1 # Skill
rush_type = MNK_STEP_SKILL
if MNK_MOVING_SKILL.include?(@skill_used) ; full_moving = true ; end
if MNK_MOVE2CENTER_SKILL.include?(@skill_used) ; center_move = true ; end
base_pose = pose_obtain(battler, MNK_POSE9, MNK_APOSE9, MNK_EPOSE9)
base_pose2 = pose_array_obtain(battler, MNK_POSES_SKILLS, MNK_POSES_SKILLS_A, MNK_POSES_SKILLS_E, @skill_used)
base_pose = base_pose2 if base_pose2 != nil
when 2 # Item
rush_type = MNK_STEP_ITEM
if MNK_MOVING_ITEM.include?(@item_used) or @item_scope == 1..2 ; full_moving = true ; end
if MNK_MOVE2CENTER_ITEM.include?(@item_used); center_move = true; end
base_pose = pose_obtain(battler, MNK_POSE8, MNK_APOSE8, MNK_EPOSE8)
base_pose2 = pose_array_obtain(battler, MNK_POSES_ITEMS, MNK_POSES_ITEMS_A, MNK_POSES_ITEMS_E, @item_used)
base_pose = base_pose2 if base_pose2 != nil
end

# Only perform action if 'Do Nothing' flag is off, ie... doing something...
if dn_flag != true
# Control Movement and use current pose
@moved = {} unless @moved
return if @spriteset.battler(battler).moving
if not (@moved[battler] or battler.guarding?)
offset = offset_value(target, battler)
if rush_type # Steps forward
@spriteset.battler(battler).setmove(battler.screen_x - offset, battler.screen_y + 1, battler.screen_z)
end
if full_moving # Runs to target
@spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y - 1, target.screen_z + 10)
end
if center_move # Runs to center
@spriteset.battler(battler).setmove(320+(offset/4), battler.screen_y-1, battler.screen_z)
end
@moved[battler] = true
return
@spriteset.battler(battler).pose = base_pose
elsif not battler.guarding?
@spriteset.battler(battler).pose = base_pose
@spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y, battler.screen_z)
end

# Finish Up Skill and Item Use
case battler.current_action.kind
when 1
# Flag system that skill was used
battler.casted = false
battler.casting = false
@spriteset.battler(battler).skill_used = 0
when 2
# Flag system that item was used
@spriteset.battler(battler).item_used = 0
end

# Battle_Charge value for BattleCry script
$battle_charge = true
end

# Battle Delay System
if MNK_AT_DELAY
# Fomar's Action Cost Detection
if $game_system.mnk_det_acb_detect
for actor in $game_party.actors
actor.vitality = 1
end
for enemy in $game_troop.enemies
enemy.vitality = 1
end
end
# Trickster's AT Detection
if $game_system.mnk_det_abs_detect
for actor in $game_party.actors
actor.at_bonus = [1,0]
end
for enemy in $game_troop.enemies
enemy.at_bonus = [1,0]
end
end
# Cogwheel RTAB Detection
if $game_system.mnk_det_rtab_systm
@rtab_wait_flag = false
end
end
# Prevent 'removed battler' moved state
unless @moved == nil
@moved[battler] = false
end
# Start attack, do not move from spot
battler.attacking = true
# Perform the original call
@rtab ? mnk_update_phase4_step3(battler) : mnk_update_phase4_step3
end
#--------------------------------------------------------------------------
# * Offset Calculation
#--------------------------------------------------------------------------
def offset_value(target, battler = @active_battler)
offst = @spriteset.battler(battler).battler_offset
offst += MNK_OFFSET
# Oversized or special Battler offsets
if target.is_a?(Game_Enemy) && battler.is_a?(Game_Actor)
unless MNK_OFFSET_ACTOR == nil
offst += MNK_OFFSET_ACTOR[battler.id] if MNK_OFFSET_ACTOR.include?(battler.id)
end
unless MNK_OFFSET_ENEMY == nil
offst += MNK_OFFSET_ENEMY[target.id] if MNK_OFFSET_ENEMY.include?(target.id)
end
end
if target.is_a?(Game_Actor) && battler.is_a?(Game_Enemy)
unless MNK_OFFSET_ENEMY == nil
offst += MNK_OFFSET_ENEMY[battler.id] if MNK_OFFSET_ENEMY.include?(battler.id)
end
unless MNK_OFFSET_ACTOR == nil
offst += MNK_OFFSET_ACTOR[target.id] if MNK_OFFSET_ACTOR.include?(target.id)
end
end
# Offset calc dependant on sideview
if $game_system.sv_angle == 1
offset = (battler.is_a?(Game_Actor) ? -(offst) : offst)
else
offset = (battler.is_a?(Game_Actor) ? offst : -(offst))
end
return offset
end
#--------------------------------------------------------------------------
# * Hit Animation
#--------------------------------------------------------------------------
alias mnk_update_phase4_step4 update_phase4_step4
def update_phase4_step4(battler = @active_battler)
# Cycle through the targets
for target in (@rtab ? battler.target : @target_battlers)
damage = (@rtab ? target.damage[battler] : target.damage)
critical = (@rtab ? target.critical[battler] : target.critical)
if damage.is_a?(Numeric) and damage > 0
base_pose = pose_obtain(target, MNK_POSE2, MNK_APOSE2, MNK_EPOSE2)
weapon_used = battler.weapon_id
weapon_used = 0 if weapon_used == nil
base_pose2 = pose_array_obtain(target, MNK_STRUCK_WEAPS, MNK_STRUCK_WEAPS_A, MNK_STRUCK_WEAPS_E, weapon_used)
base_pose = base_pose2 if base_pose2 != nil
if battler.strike_skill != 0
if battler.strike_skill == target.struck_skill
base_pose2 = pose_array_obtain(target, MNK_STRUCK_SKILLS, MNK_STRUCK_SKILLS_A, MNK_STRUCK_SKILLS_E, target.struck_skill)
base_pose = base_pose2 if base_pose2 != nil
end
end
if battler.strike_item != 0
if battler.strike_item == target.struck_item
base_pose2 = pose_array_obtain(target, MNK_STRUCK_ITEMS, MNK_STRUCK_ITEMS_A, MNK_STRUCK_ITEMS_E, target.struck_item)
base_pose = base_pose2 if base_pose2 != nil
end
end
@spriteset.battler(target).pose = base_pose
if critical == true
temp_pose = pose_obtain(target, MNK_POSES_CRITICAL, MNK_POSES_CRIT_A, MNK_POSES_CRIT_E)
weapon_used = battler.weapon_id
weapon_used = 0 if weapon_used == nil
base_pose2 = pose_array_obtain(target, MNK_CRIT_WEAPS, MNK_CRIT_WEAPS_A, MNK_CRIT_WEAPS_E, weapon_used)
base_pose = base_pose2 if base_pose2 != nil
if @skill_used != 0
if @skill_used == target.struck_skill
base_pose2 = pose_array_obtain(target, MNK_CRIT_SKILLS, MNK_CRIT_SKILLS_A, MNK_CRIT_SKILLS_E, target.struck_skill)
base_pose = base_pose2 if base_pose2 != nil
end
end
if @item_used != 0
if @item_used == target.struck_item
base_pose2 = pose_array_obtain(target, MNK_CRIT_ITEMS, MNK_CRIT_ITEMS_A, MNK_CRIT_ITEMS_E, target.struck_item)
base_pose = base_pose2 if base_pose2 != nil
end
end
@spriteset.battler(target).pose = temp_pose if temp_pose != nil
end
end
end
# Reset/zero out the battler's skill & item
battler.strike_skill = 0
battler.strike_item = 0
# Perform the original call
@rtab ? mnk_update_phase4_step4(battler) : mnk_update_phase4_step4
# Finish attack n battle animation, free to move
battler.attacking = false
end

#--------------------------------------------------------------------------
# * Victory Animation
#--------------------------------------------------------------------------
alias mnk_start_phase5 start_phase5
def start_phase5
for actor in $game_party.actors
return if @spriteset.battler(actor).moving
end
# See if an actor remains alive
for actor in $game_party.actors
unless actor.dead?
$game_system.victory = true
end
end
# See if an enemy remains alive
for enemy in $game_troop.enemies.reverse
unless enemy.dead?
$game_system.defeat = true
end
end
# Perform the original call
mnk_start_phase5
end
#--------------------------------------------------------------------------
# * Change Arrow Viewport
#--------------------------------------------------------------------------
alias mnk_start_enemy_select start_enemy_select
def start_enemy_select
# Perform the original call
mnk_start_enemy_select
# Arrow manipulation
@enemy_arrow.dispose
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
@enemy_arrow.help_window = @help_window
end
#--------------------------------------------------------------------------
# * Obtain Pose (Scene Battle version)
# battler : battler performing attack
# pose_base : default pose to return
# pose_actor : list of poses for actors
# pose_enemy : list of poses for enemies
#--------------------------------------------------------------------------
def pose_obtain(battler, 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 niceties)
pose_now -= 1 if pose_now != nil
return pose_now
end

#--------------------------------------------------------------------------
# * Obtain Pose from hashes (Scene Battle version)
# battler : battler performing attack
# 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(battler, hash_base, hash_actor, hash_enemy, condition)
# create Arrays
# 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 niceties)
pose_now -= 1 if pose_now != nil
return pose_now
end
end

creen otro debajo del anterior llamado 4 - Misc Code
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-2007)
#
#------------------------------------------------------------------------------
# * (4) Miscellaneous: Formations, Viewport and various Detection routines.
#==============================================================================

#============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :advantage_set # holds value for sideview systems
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
#--------------------------------------------------------------------------
# Auto-Detection Values
attr_accessor :mnk_det_abs_detect # Trickster's ATB System Detection
attr_accessor :mnk_det_acb_detect # Action Cost Battlesystem Detection
attr_accessor :mnk_det_claihms_ts # Claihm's Tactical Skills Detection
attr_accessor :mnk_det_para_spell # ParaDog Detection
attr_accessor :mnk_det_rtab_attck # Connected Attacking Detection
attr_accessor :mnk_det_rtab_systm # RTAB Detection
attr_accessor :mnk_det_sd_casting # DBS Skill Delay Detection
# Inter-Class variables
attr_accessor :max_member # max members
attr_accessor :sv_angle # sideview system angle
attr_accessor :formation # formation
attr_accessor :form_top # formation top
attr_accessor :form_wd # formation height
attr_accessor :bstat_ht # battlestatus height
attr_accessor :victory # victory boolean
attr_accessor :defeat # defeat boolean
# Additional values for the $global's save/load feature
attr_accessor :mnk_sm # sideview mirror
attr_accessor :mnk_fmm # formation max members
attr_accessor :mnk_fmh # formation max height
attr_accessor :mnk_fmw # formation max width
attr_accessor :mnk_bh # battlestatus height
attr_accessor :mnk_fs # formation style
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias mnk_init initialize
def initialize
# Perform the original call
mnk_init
# Create the savable values
@mnk_sm = 0
@mnk_fmm = 4
@mnk_fmh = 220
@mnk_fmw = 128
@mnk_bh = 160
@mnk_fs = 0
end
end


#===================================================\==========================
# ** Scene_Save
#------------------------------------------------------------------------------
# This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# * Write Save Data
# file : write file object (opened)
#--------------------------------------------------------------------------
alias mnk_wsd write_save_data
def write_save_data(file)
# Store the globals
$game_system.mnk_sm = $sideview_mirror
$game_system.mnk_fmm = $formation_max_member
$game_system.mnk_fmh = $formation_max_height
$game_system.mnk_fmw = $formation_max_width
$game_system.mnk_bh = $battlestatus_height
$game_system.mnk_fs = $formation_style
# Perform the original call
mnk_wsd(file)
end
end


#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
# This class performs load screen processing.
#==============================================================================

class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
alias mnk_rsd read_save_data
def read_save_data(file)
#Perform the original call
mnk_rsd(file)
# ReStore the globals
$sideview_mirror = $game_system.mnk_sm
$formation_max_member = $game_system.mnk_fmm
$formation_max_height = $game_system.mnk_fmh
$formation_max_width = $game_system.mnk_fmw
$battlestatus_height = $game_system.mnk_bh
$formation_style = $game_system.mnk_fs
end
end


#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
# This class deals with battlers. It's used as a superclass for the Game_Actor
# and Game_Enemy classes.
#==============================================================================

class Game_Battler
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :attacking # if attacking
attr_accessor :casted # if spell is casted
attr_accessor :casting # if currently casting
attr_accessor :skill_casted # ID of skill used
attr_accessor :strike_skill
attr_accessor :strike_item
attr_accessor :struck_weapon
attr_accessor :struck_skill
attr_accessor :struck_item
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias mnk_init initialize
def initialize
@attacking = false
@casted = false
@casting = false
@skill_casted = 0
@strike_skill = 0
@strike_item = 0
@struck_weapon = 0
@struck_skill = 0
@struck_item = 0
mnk_init
# ParaDog's Spell Delay Detection
if defined?(spelling?)
$game_system.mnk_det_para_spell = true
end
# DBS Spell Delay Detection
if @sd_casting != nil
$game_system.mnk_det_sd_casting = true
end
# Fomar's Action Cost Detection
if @vitality != nil
$game_system.mnk_det_acb_detect = true
end
# Trickster's AT Detection
if @at_bonus != nil
$game_system.mnk_det_abs_detect = true
end
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
alias mnk_ini initialize
def initialize(actor_id)
mnk_ini(actor_id)
if defined?(change_weapon)
$game_system.mnk_det_rtab_attck = true
end
end
#--------------------------------------------------------------------------
# * Actor X Coordinate
#--------------------------------------------------------------------------
def screen_x
# Determine minimum horizontal space between battlers
x_spacer = $game_system.form_wd / $game_system.max_member
if self.index != nil
case $game_system.formation
when 0 # DIAGONAL PATTERN 1
if $game_system.sv_angle == 1
return self.index * -x_spacer + (($game_system.max_member+1)*x_spacer) #202
else
return self.index * x_spacer + (640-(($game_system.max_member+1)*x_spacer))#450
end
when 1 # DIAGONAL PATTERN 2
if $game_system.sv_angle == 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 $game_system.sv_angle == 1
if self.index < ($game_system.max_member/2)
return self.index + (($game_system.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 < ($game_system.max_member/2)
return self.index + (640-(($game_system.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 $game_system.sv_angle == 1
if self.index < ($game_system.max_member/2)
return self.index + (x_spacer/2)+(($game_system.max_member+1)* x_spacer) + (-x_spacer * self.index)
else
return self.index + (($game_system.max_member+1)* x_spacer) + (-x_spacer * self.index)
end
else
if self.index < ($game_system.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 $game_system.sv_angle == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($game_system.max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($game_system.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-($game_system.max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($game_system.max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 5 # Column Pattern 2
if $game_system.sv_angle == 1
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return self.index + ($game_system.max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))
else
return self.index + ($game_system.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-($game_system.max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))
else
return self.index + 640-($game_system.max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
end
end
when 6 # Wave Formation 1
if $game_system.sv_angle == 1
if self.index < ($game_system.max_member/2)
return 170
else
return 90
end
else
if self.index < ($game_system.max_member/2)
return 470
else
return 550
end
end
else # Wave Formation 2
if $game_system.sv_angle == 1
if self.index < ($game_system.max_member/2)
return 170
else
return 90
end
else
if self.index < ($game_system.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 - $game_system.bstat_ht - $game_system.form_top) / $game_system.max_member

if self.index != nil
case $game_system.formation
# DIAGONAL PATTERNS ( 1 & 2 )
when 0, 1
return self.index * (y_spacer * 1.25) + $game_system.form_top
# TWO-ROW SLANTS ( 1 & 2 )
when 2, 3
if self.index < ($game_system.max_member / 2)
return $game_system.form_top + ((y_spacer * 2.5) * self.index)
else
return ($game_system.form_top - (y_spacer*($game_system.max_member + 1))) + ((y_spacer*2.5) * self.index) #was 60
end
# COLUMN PATTERNS (1 & 2)
when 4
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $game_system.form_top + ($game_system.bstat_ht / 2)
else
return $game_system.form_top + ($game_system.bstat_ht / 6)
end
when 5
if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
return $game_system.form_top + ($game_system.bstat_ht / 6)
else
return $game_system.form_top + ($game_system.bstat_ht / 2)
end
# BOX PATTERN (1 & 2)
when 6
if self.index < ($game_system.max_member / 2)
return $game_system.form_top + (y_spacer * 2.5 * self.index)
else
return $game_system.form_top + (y_spacer * 2.5 * ((self.index) - ($game_system.max_member / 2)))
end
else
if self.index < ($game_system.max_member / 2)
return $game_system.form_top + (y_spacer * 2.5 * (($game_system.max_member / 2) - 1))+ (y_spacer * 2.5 * -self.index)
else
return $game_system.form_top + (y_spacer * 2.5 * (($game_system.max_member / 2) - 1)) + (y_spacer * 2.5 * -((self.index) - ($game_system.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
#--------------------------------------------------------------------------
# * Get Battle Screen X-Coordinate
#--------------------------------------------------------------------------
def screen_x
if self.index != nil
if $game_system.sv_angle == 1
return 640 - $data_troops[@troop_id].members[@member_index].x
else
return $data_troops[@troop_id].members[@member_index].x
end
end
end
#--------------------------------------------------------------------------
# * Actor Z Coordinate
#--------------------------------------------------------------------------
def screen_z
return screen_y
end
end


#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# This class handles the party. It includes information on amount of gold
# and items. Refer to "$game_party" for the instance of this class.
#==============================================================================

class Game_Party
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :party_size
end


#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
# This class brings together battle screen sprites. It's used within
# the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
#--------------------------------------------------------------------------
# * Change Enemy Viewport
#--------------------------------------------------------------------------
alias mnk_initialize initialize
def initialize
mnk_initialize
# Determine if RTAB system in use
if @real_zoom != nil
$game_system.mnk_det_rtab_systm = true
end
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
alias mnk_update update
def update
# Set current number of battlers
mnkps = 4
mnkps = $game_party.party_size if $game_party.party_size != nil
# Added routine to load battlers during combat
unless @mnk_battlers_reloaded
@actor_sprites = []
for i in 0...mnkps
@actor_sprites.push(Sprite_Battler.new(@viewport1))
end
@mnk_battlers_reloaded = true
end
# Perform the original call
mnk_update
# 'Re-'Update actor sprite contents (corresponds with actor switching)
for i in 0...mnkps
@actor_sprites.battler = $game_party.actors
end
end
#--------------------------------------------------------------------------
# * Find Sprite From Battler Handle
#--------------------------------------------------------------------------
def battler(handle)
for sprite in @actor_sprites + @enemy_sprites
return sprite if sprite.battler == handle
end
end
end


#==============================================================================
# ** Arrow_Base
#------------------------------------------------------------------------------
# This sprite is used as an arrow cursor for the battle screen. This class
# is used as a superclass for the Arrow_Enemy and Arrow_Actor classes.
#==============================================================================

class Arrow_Base < Sprite
#--------------------------------------------------------------------------
# * Reposition Arrows
#--------------------------------------------------------------------------
alias mnk_initialize initialize
def initialize(viewport)
mnk_initialize(viewport)
self.ox = MNK_ARROW_X
self.oy = MNK_ARROW_Y
end
end

este es el ultimo ! jaja creen otro debajo el anterior llamado 5 - RTAB Patch
#==============================================================================
# ** Animated Battlers - Enhanced ver. 10.5 (01-20-2007)
#
#------------------------------------------------------------------------------
# * (5) RTAB PATCH: To allow specialized pausing system (unlike other AT's)
#==============================================================================

=begin

W A R N I N G

This section of the script should be used exclusively with RTAB. Though it is
part of the Animated Battlers system, this is merely a patch to allow it to
perform the AT Delay feature for the RTAB system... and RTAB system only. If
you intend to use this patch on any other battlesystem, your project may crash,
your computer may blow up, the Eiffel Tower may melt, dogs and cats may start
to live together...

You have been warned...

=end

=begin
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :rtab_wait_flag
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
alias mnk_main main
def main
@rtab_wait_flag = false
mnk_main
end
#--------------------------------------------------------------------------
# * Frame renewal (AT gauge renewal phase)
#--------------------------------------------------------------------------
alias mnk_up0 update_phase0
def update_phase0
unless @rtab_wait_flag
mnk_up0
end
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 1 : action preparation)
#--------------------------------------------------------------------------
alias mnk_awr anime_wait_return
def anime_wait_return
if @rtab_wait_flag
return true
end
mnk_awr
end
end
=end

Bueno aqui estan las imagenes ...

Algunos que pueden ser enemigos:

sakon.png


orochimarus.png


ninja2o.png


ninja1p.png


deidarau.png


tobiv.png


Algunos Heroes o personajes utilizables:

jirayak.png


sakurap.png


rockleeu.png


nejir.png


narutoi.png


konohamaru.png


sasukez.png


kibat.png


kakashibi.png




Bueno en verdad no son muchos pero si necesitan mas, diganme en este tema el nombre del personaje to lo creare y lo subire
alguna duda pueden postearla

Agradecimientos:
Al aportador del script en verdad no se quien lo posteo pero gracias a esa persona

Posteeen!!!!

Saludos
 
Última edición:
Mensajes
2.285
Reacciones
81
Puntos
0
Muy muy buen tema, se agradece por el aporte :).
Sera muy util para cuando quieran hacer un juego de Naruto amigo.
 

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies

YOGUI007

Banneado
Mensajes
307
Reacciones
0
Puntos
0
Ubicación
En la oscuridad
Muy buen aporte.
GRACIAS:icon_mrorange::icon_mrorange:

Cuando termine el juego que estoy haciendo los usare para crear un juego de naruto.:icon_mrorange:
 

Miwel~

EMD Legend
Mensajes
2.453
Reacciones
70
Puntos
842
Mensajes
65
Reacciones
0
Puntos
0
Ubicación
Hermosillo,Sonora,Mexico! =D
jeje gracias por comentar...

ahora yo soy el dueño del tema (todo es igual, la cuenta aquella no sirve, esperare a que sea baneada)
asi que si cualquier peticion o pregunta que no quieran postear aqui pueden enviarme un mp a este usuario

see ya!
 
Mensajes
65
Reacciones
0
Puntos
0
Ubicación
Hermosillo,Sonora,Mexico! =D
una pregunta como hago para utilizar o añador eso a el RPG Maker XP, se les agradeceria la respuesta

Salu2 ;D

Para agregar los charas o los scripts??
si es para agregar los charas estos son los pasos:
1-abres rpg maker xp
2- una ves abierto tu proyecto,presionas herramientas, gestor de archivos,
3-te saldra una ventana, presionas graphics/battlers, despues presionas importar,
4- buscas los archivos, los seleccionas y abrir,
5- es probable que te salga una ventana que muestre el personaje y atras un color, clickeas con el boton izquierdo el fondo de la imagen y aceptar
6.- listo ya estan en los archivos del rpg maker xp, ahora para ponerselos a un personaje ve a base de datos, pestaña personajes, y en el grafico de batalla deves de encontrar el grafico
Listo, despues solo es cuestion de iniciar una batalla (obiamente con los scripts ya puestos) y se deve de ver de forma lateral

See Ya!
 

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
pues tengo un problema que al poner los scripts al dar a probar juego me da error, no eh echo nada mal e seguido todos los pason bien

Fíjate en las fechas de los últimos post... Si pasan más de 30 días desde la última respuesta, no puedes responder, ya que sino estarías reviviendo el tema.


Léete las reglas:
Reglas generales de los foros



Saludos,
~Angie



\\.Closed.#
 
Estado
Cerrado para nuevas respuestas
Arriba Pie