09-12-2018, 08:57 PM
With my hand .... roughly 40% healed from being broken, I've begun typing more. And typing more involves... the retooling of Animated Battlers! Finally, I've begun reworking that hodge podge that I inherited over a decade ago from Minkoff himself. I guess I can finally remove his name from the system... he laughed I kept it on there for years.
I've spent a few days on this with the following steps:
I used to have a value called MNK_POSES, and separate values for MNK_POSES_ACTOR and MNK_POSES_ENEMY. AND on top of that, I used a screwed up way to set how many poses an individual battler had if he/she was different from the others:
Now, I have a single POSES argument. POSES[0] is the base, holding how many poses every battler has. If the value in the brackets is different, it's a different battler. So POSES[5] would be setting the number of poses for Actor #5. And negative values in there will handle enemies. So POSES[-1] will cover the poses for your typical Ghosts. And all other values that have such brackets work the same!!!
Oh, you may notice that SPEED and RUSH_SPEED have brackets. Yep, you can now set the animation framerate and running speed of each actor and enemy separately. I was requested this a long time ago, and always assumed I couldn't. HAH! It was easier than I thought!
So now, I'm here and about to tackle the basic Minkoff range of poses: Pose 1 through to Pose 11, and work them out in much the same manner as above.
And yes, it still supports Default-Style and Ccoa-Style battlers.
I've spent a few days on this with the following steps:
- Separating the individual classes from the code, each having its own place in the Script Editor (ie Game_Battler separate from Game_Enemy from Game_Actor from Interpreter). Arranging them in 'proper' order according to the default scripts of course.
- Examining each class to see what needs work. Some actually didn't.
- Breaking up massive methods into manageable chunks. Did the update method in Sprite Battler need to be 190+ lines long?
- Rename the various custom methods according to a naming standard. All new methods begin with 'minkoff_function_'
- Rename the alias names according to a standard from ye olde RMXP SDK: classname_script_method_description.
- Tidy. No script should have lines extending beyond the right margin. It's not good if someone wants to read it and needs to scroll.
- Re-address detection values. Animated Battlers can detect seven battlesystems. I just cleaned up the code a little.
- SAVE A NEW FOLDER/PACKAGE AT EACH STEP!!!
Code:
module Minkoff
#==========================================================================
# Do not touch
POSES, FRAMES, SPEED, RUSH_SPEED, LOW_HP_PERCENT = {}, {}, {}, {}, {}
#==========================================================================
#==========================================================================
# **** 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 = [3] # Ids of enemies using default battlers
DEFAULT_ACTOR_ID = [1] # 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)
# * Ccoa Spritestrip Style Switches
#--------------------------------------------------------------------------
CCOA_ENEMY = false # If true, these switches allows the use
CCOA_ACTOR = false # of ccoa spritestrips for actors/enemies
CCOA_ENEMY_ID = [] # Ids of enemies using ccoa spritestrips
CCOA_ACTOR_ID = [5] # Ids of actors using ccoa spritestrips
# * Animation Frames and Animation Speed
#--------------------------------------------------------------------------
SPEED[0] = 4 # Animation speed per frame (1-9, 1=slowest)
SPEED[7] = 3 # Gloria's animation speed is slower
RUSH_SPEED[0] = 1.5 # Melee/Skill/Item motion speed
RUSH_SPEED[2] = 0.75 # Basil runs slowly
RUSH_SPEED[-1] = 2.0 # Ghosts move fast
POSES[0] = 11 # Number of poses (stances) in the template
POSES[-1] = 4 # Ghost has 4 poses
POSES[2] = 4 # Basil has 4 poses
FRAMES[0] = 4 # Maximum number of frames in each pose
# * Wooziness Rates
#--------------------------------------------------------------------------
LOW_HP_PERCENT[0] = 0.25 # Default 25% woozy setting
LOW_HP_PERCENT[7] = 0.50 # Ind. health% for actors.
LOW_HP_PERCENT[5] = 0.75 # #7 is Gloria, #5 is Estelle
LOW_HP_PERCENT[-1] = 0.50 # Ind. health% for enemies.
LOW_HP_FLAT = false # If true, flat rate hp
#==========================================================================
# **** CCOA POSE CENTER **** #
#==========================================================================
# This is a simple array holding the individual string names of your custom
# ccoa spritesheet suffixes. They are loaded into the array in the order
# of the pose values. So your first pose (typically 'Ready') would be the
# first pose in the array, followed by the next, and thereafter.
#--------------------------------------------------------------------------
CCOA_POSES = [ "_ready", "_hit", "_lowhp", "_guard", "_moveto", "_movefrom",
"_attack", "_item", "_skill", "_victory", "_dead"]
end
I used to have a value called MNK_POSES, and separate values for MNK_POSES_ACTOR and MNK_POSES_ENEMY. AND on top of that, I used a screwed up way to set how many poses an individual battler had if he/she was different from the others:
MNK_POSES_ACTOR = {2 => 4} .... it wasn't the best.
Now, I have a single POSES argument. POSES[0] is the base, holding how many poses every battler has. If the value in the brackets is different, it's a different battler. So POSES[5] would be setting the number of poses for Actor #5. And negative values in there will handle enemies. So POSES[-1] will cover the poses for your typical Ghosts. And all other values that have such brackets work the same!!!
Oh, you may notice that SPEED and RUSH_SPEED have brackets. Yep, you can now set the animation framerate and running speed of each actor and enemy separately. I was requested this a long time ago, and always assumed I couldn't. HAH! It was easier than I thought!
So now, I'm here and about to tackle the basic Minkoff range of poses: Pose 1 through to Pose 11, and work them out in much the same manner as above.
And yes, it still supports Default-Style and Ccoa-Style battlers.