Introduction
This CBS supports front and side view positions (possibly more if you work with the script), included with the CBS is my Animated Battlers script, and my Battle Formation System. This is still in a beta state, but almost all of the features I planned for the first version are done and the script is in a "presentable" state. This script is also SDK compliant. (was originally a Front View Battle System)
Copy all of the scripts from the demo above main but below the SDK, The Options can be configured in the script Master Options List The options are pretty self-explanatory since these lines are commented.
Options
Code:
module Battler_Setup
#==============================================================================
# Graphical Settings
#==============================================================================
#set this to true for animated enemies (Do not set to false for now)
ANIMATED_ENEMIES = true
#default number of frames for each sprite
DEFAULT_FRAMES = 4
#==============================================================================
# System Settings (Positions Features Etc)
#==============================================================================
#Party command window enable
Party_Command_Window_Enable = false
#Battle Status Hidden?
Battle_Status_Hidden = true
#Battle Status Visible During Command Phase
Battle_Status_Command_Phase = false
#Battle Status Show Buttion (Input::BUTTON)
Battle_Status_Show = Input::SHIFT
#Battle Help Window Enable
Battle_Help_Enable = true
#Allow To Attack Backer Rows Before Rows in front are dealt with
#Attack_Rows_In_Back = false
end
#==============================================================================
# ** Game_BattleOptions
#------------------------------------------------------------------------------
# Controls all battle options that are able to be switched on and off at runtime
# and also is saved with save data
#==============================================================================
class Game_BattleOptions
attr_accessor :view_style
attr_accessor :command_window_x
attr_accessor :command_window_y
attr_accessor :moving_battlers
def initialize
# The View Style Front or Side for now (for movement)
@view_style = 'front'
# The X Position of the Command Window (String)
@command_window_x = "0"
# The Y Position of the Command Window (String)
@command_window_y = "0"
# Moving Battlers
@moving_battlers = true
# Move into Battle
@move_into_battle = true
# In Scene_Formation Move into battle
@move_into_formation = true
# Actors Move into Battle X offset (Scene_Battle/Scene_Formation)
@actor_move_in_x_offset = "actor.screen_x"
# Actors Move into Battle Y offset (Scene_Battle/Scene_Formation)
# actor = Game_Battler object
@actor_move_in_y_offset = "actor.screen_y + 404"
# Enemies Move into Battle X offset (Scene_Battle)
@enemy_move_in_x_offset = "actor.screen_x"
# Enemies Move into Battle Y offset (Scene_Battle)
@enemy_move_in_y_offset = "actor.screen_y - 420"
# Move out of Battle when won (FF2 Style)
@move_out_battle = true
# Move out of Battle Position X
@actor_move_out_x_offset = "740"
# Move out of Battle Position Y (actor = Sprite_Battler)
@actor_move_out_y_offset = "actor.y"
# Move out of Battle Position X
@enemy_move_out_x_offset = "0"
# Move out of Battle Position Y (actor = Sprite_Battler)
@enemy_move_out_y_offset = "actor.y-420"
# Move out When Escaping
@move_out_escape = true
# Move out of Battle Position X
@actor_escape_x_offset = "actor.x"
# Move out of Battle Position Y (actor = Sprite_Battler)
@actor_escape_y_offset = "404 + actor.y"
# Move out of Battle Position X
@enemy_escape_x_offset = "0"
# Move out of Battle Position Y (actor = Sprite_Battler)
@enemy_escape_y_offset = "actor.y-420"
# Pose Used in Scene_Formation
@formation_pose = 'down'
# Command Pose Direction (Character sets)
@command_direction = 'down'
# Victory Pose Direction (Character sets)
@victory_direction = 'down'
# Other Poses Direction (Character sets)
@other_direction = {'Game_Actor' => 'up', 'Game_Enemy' => 'down'}
# Use Battle backs for battle background
@battleback = true
# Use The Current Map for battle background
@current_map = false
# If using Current Map show Events?
@show_events = false
# If using Map for battle back the map id used (0=disable)
@map_id = 0
# If using Map for battle back update map while battling
@update_map = false
end
end
Notes: Frames, Zoom level, and Opacity
the format for their hashes are
{file => value, file => value, ...} (the ... means going on and on)
where file is the name of the battler to set a default for the whole sprite
or file_(pose) to the the value for that pose, yes this allows for multiple frames per battler, I'll talk about the different poses later (see template).
Battle Formations
This is the probably the core of this script along with the animated battlers, since this sets the battlers position in battle I have came up with a few formations that I included in the demo, lets take a look at the data structure.
#============================================================================
# Free Fight Formation
#----------------------------------------------------------------------------
# Description:
# Default Formation. Note: The First Formation must support 1 to the the maximum number
# of Actors in your party
#----------------------------------------------------------------------------
# Appearance:
#
# For One Actor Party
#
#
# 1
# For Two Actor Party
#
#
# 2 3
# For Three Actor Party
#
#
# 1 2 3
# For Four Actor Party
#
#
# 1 2 3 4
#============================================================================
Names << "Free Fight"
Number_Members << '1-4'
Front_Row << []
Middle_Row << []
Back_Row << [0,1,2,3]
Screen_X << "(4 - $game_party.actors.size) * 80 + index * 160 + 80"
Screen_Y << "452"
Effects << {}
Description << "The Default Formation"
Names
is a String and is the name of the formation
Number of Members
is a Special String (A Range String) which may be setup like so "n, a-b, ^n"' Entries are separated by commas (n, a, and b are Integers)
the first adds n to the range, the second adds a-b to the range, and the last deletes n from the range
Examples
"1-3" will result in numbers 1, 2 and 3
"4" will result in the number 4
"^7" will result in nothing (which will propably result in a bug later)
"1-5, 7" will result in the numbers 1,2,3,4,5, and 7
"4-7, ^6" will result in the numbers 4,5,7
"7, ^7" will result in nothing
"1-10, ^4, 16, 11-12" will result with 1,2,3,5,6,7,8,9,10,11,12, and 16
Number Members is the number of members allowable in the formation if the number of numbers is not included in the numbers formed a formation break occurs (The Formation is Broken and will go to the default formation)
Note: The Default (First) Formation must support the 1 to the maximum number of people in the party or else you will receive an error
Front Row, Middle Row, and Back Row
These sets the row the actor is on, The classes Position variable was
replaced with this. Also influences who the enemy attacks. (use 0 for
the first member in the party 1 for the second and so on)
Screen_X and Screen_Y
This can either be a String (holds the formula) or a Hash (appoints the
positions by member index here are two pictures to help you with that.
Here is a good example it places the four battlers in positions forming a square (Go on ahead scribble on the pictures to get a good look at this example)
Screen_X << {0 => 240, 1 => 320, 2 => 240, 3 => 320}
Screen_Y << {0 => 388, 1 => 388, 2 => 452, 3 => 452}
Effects
Here comes the fun part, you get to decide on stat bonuses and other effects of using this formation. It is a Special String (Increaser String) setup like so {, }
where index is an index of a party member, all is for every party member
and row type is either front, middle, or back for their respective rows
effects is a string setup like so ":<*/-+><*/-+>..., ..."
is one of the stats (maxhp, maxsp, str, dex, agi, int, pdef, mdef, eva, atk) or damage for now, obviously <*/-+> is an operator and and an integer
so {0 => "atk:*3+40,maxhp:+50,maxsp:+40", 'front' => 'damage:*2', 'back' => 'damage:/2'} will..
Raise Party members 1's 3 times and adds 40, Raises Maximum Hp by 50, and Maximum Sp by 40
Anyone in Front Row Damage is increased by twice as much
Anyone in Back Row Damage is reduced by Half
Description
self-explanatory, press shift in Scene_Formation to display it, which utilizes my draw text scripting tool see this topic for information on how to use it
But really if you don't get any of these then check the demo for examples
Using Formations
By Default Every Formation is Disabled and will not appear in Scene_Formation (I did this to prevent formations that give uber bonuses to be gained later in the game), To enable a formation do this.
and it will appear in the Formation list in Scene_Formation, provided if the correct number of party members are in the party.
Templates
There are two templates for this CBS but only one of them is required (movement template for enemies) (you'll get better results if you use both), The First Template is the movement template, just look at any characterset for the template (Down Facing, Left Facing, Right Facing, Up Facing).
You may remove down and up facing (leaving a blank space for the poses) if you plan to use this as a side-view battle system, if you edit the options correctly you can allow for eight movement poses (or you can wait for an update), If the movement template is not found (for actors loads their characterset, for enemies you will recieve an error) the movement template file must be named (battler_name) + _movement (ex. name_movement)
where battler_name is in lowercase and all spaces replaced with underscores "_"
Exceptions
If you name a file (battler_name) + one of the pose names (see template) then that file will be loaded and the one from the template (if found) will be removed, this is similiar to how ccoa's CBS loads battlers
Conversions
You can use the other templates in this battle system (Minkoff's and Cybersams (You just have rename the battlers used from ccoa's), and you may configure a custom template (not completed)), but they must be named specially. For Minkoff its (battler_name) + _default + _m, for Cybersam its (battler_name) + _default + _c, and for custom templates (Supports 3 Custom Templates) its (battler_name) + _default + _c(1 2 or 3). This Also loads the movement poses from the templates (loading from cybersam's requires flipping the move to enemy pose).
Last Feature
If the Upper Left Pixel on a Pose is Black (0,0,0) then it will load the default for that pose (see Second Template Not Found), you shouldn't use black as a transparent color. since the script will get confused and load the default when you didn't want it to. (If anything I've added a debug method called test, call it in a call script to see each pose for the battler), here it is just add it in a new script above main and do test() where is a Game_Battler object ($game_party.actors[0], $game_actors[4])
Code:
def test(battler)
array = ['down','left','right','up','command','ready','attack','skill','defend','item',
'damaged','status','death','victory']
sprite = Sprite.new
poses = RPG::Poses.new(battler)
for i in 0...14
sprite.bitmap = poses[array[i]].bitmap
p array[i]
end
end
Change to Side View
Ctrl+Shift+F is your Friend
Code:
# The View Style Front or Side for now (for movement)
@view_style = 'side'
Code:
# Command Pose Direction (Character sets)
@command_direction = 'left'
# Victory Pose Direction (Character sets)
@victory_direction = 'left'
# Other Poses Direction (Character sets)
@other_direction = {'Game_Actor' => 'left', 'Game_Enemy' => 'right'}
Code:
#============================================================================
# Free Fight Formation
#----------------------------------------------------------------------------
# Description:
# Default Formation. The Same as the position setup if formations are disabled
#----------------------------------------------------------------------------
# Appearance:
#
# For One Actor Party
#
#
#
# 1
#
#
#
# For Two Actor Party
#
#
# 1
#
# 2
#
#
# For Three Actor Party
#
# 1
#
# 2
#
# 3
#
# For Four Actor Party
# 1
#
# 2
#
# 3
#
# 4
#============================================================================
Names << "Free Fight"
Number_Members << '1-4'
Front_Row << []
Middle_Row << []
Back_Row << [0,1,2,3]
Screen_X << "576"
Screen_Y << "(4 - $game_party.actors.size) * 60 + index * 120 + 120"
Effects << {}
Description << "The Default Formation"
#============================================================================
# Diamond Dust Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a diamond requires a four actor party
# All Actors Defense is increased by 1.5x when in this formation
#----------------------------------------------------------------------------
# Appearance:
#
# 2
#
# 1 4
#
# 3
#
#============================================================================
Names << "Diamond Dust"
Number_Members << '4'
Front_Row << [0]
Middle_Row << [1,2]
Back_Row << [3]
Screen_X << {0 => 448, 1 => 512, 2 => 512, 3 => 576}
Screen_Y << {0 => 320, 1 => 240, 2 => 400, 3 => 320}
Effects << {'all' => 'pdef:*2'}
Description << "All Members Physical Defense is 200% when in this formation"
#============================================================================
# Power Triangle Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a triangle requires a three or four actor party
#----------------------------------------------------------------------------
# Appearance:
#
# 2
#
# 1 4
#
# 3
#
#============================================================================
Names << "Power Triangle"
Number_Members << '3-4'
Front_Row << [0]
Middle_Row << []
Back_Row << [1,3,2]
Screen_X << {0 => 512, 1 => 576, 2 => 576, 3 => 576}
Screen_Y << {0 => 320, 1 => 160, 2 => 480, 3 => 320}
Effects << {0 => 'atk:*3'}
Description << "Front Rows Attack is Greatly increased"
#============================================================================
# Magic Square Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a square requires a four actor party
#----------------------------------------------------------------------------
# Appearance:
#
#
# 1 3
#
# 2 4
#
#
#============================================================================
Names << "Magic Square"
Number_Members << '4'
Front_Row << [0,1]
Middle_Row << []
Back_Row << [2,3]
Screen_X << {0 => 512, 1 => 512, 2 => 576, 3 => 576}
Screen_Y << {0 => 280, 1 => 360, 2 => 280, 3 => 360}
Effects << {'all' => 'int:+50'}
Description << "All Members Intellience is increased"
Compatibility
Incompatible with RTAB, but you already knew that (would defeat the purpose if it was, since I'm creating my own)
I wouldn't try this with any of my other scripts just yet as this system is still in beta form
Addons
Here are the addons for this script
- Required Addons (Included)
- Battle Options (Master Options List) V1.0
- Trickster's Animated Battlers V1.0
- Pose System V1.0 BETA
- Battle Formation System V1.0
Optional Addons
Trickster Plug And Play Gradient Bars V1.5
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Credits and Thanks
Raziel, Zuzzu, Chaosg1, and others for betatesting
RPG for his animated sprites class (which I modified alot)
People @ rmxpu.net for being my "guinea pigs"
J-Street for saying that I can't explain anything to "normal" people :P
kayin33 for requesting the base script for the Animated Battlers (changing the Battler Graphic to the Character set graphic)
Rmdude333 for requesting a front view battle system
MaxXx for requesting no Battlebacks (included as an option)
Romancing Saga 3 for the formation scene style (almost a complete copy), and parts of the battle scene_style (the default options)
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This script allows you to play the mini game BlackJack in rmxp. I'm pretty sure everyone knows the rules for this game, but the objective is to get close to 21 without going over. Aces are worth 1 or 11 and all face cards are worth 10. If you get an Ace + (10|face card) it is considered BlackJack and you get 2.5 times your bet.
Features
Animated Dealing
Double Command (Doubles your Bet - Draw one hard - and stands)
Two Different AI's (Hit on 16 Stand on 17 - Hits when Advantageous Risk Taker)
Easily Customizable (Choose Number of Decks used, min and max bet, etc)
Script
No Thanks I prefer not to save families, too long too complicated, too much of a hassle to update when bugs are found.
Instructions
Add this in a new script above main, see the Game_System section for changable options and the Setup Script for System Settings
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatibility
Should be compatible with any script not making promises though
Credits and Thanks
Jstreet for requesting/betatesting
EiB for graphics/sounds/betatesting
Night for betatesting?
Yeyinde for betatesting
Dragonkid image by Tana
If I missed anyone PM me and I'll add you to the list
Author's Notes
The Data structure classes are reusable feel free to use them. I encourage some of the scripters here to use them to make more card mini games. In fact I would love to see that happen :D.
Next version will include Splitting (If you get two cards of the same value you can split into two hands), and other features I've seen in various BlackJack variations.
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Instructions
To add this to your project
1) Copy the Five scripts (Scene_Panel(1-3) Scene_Result Window_Result)
2) Note the changes I've made in class Game_System)
3) In a call script event command see using this script
4) If you did it correctly then you will be playing the minigame
5) If not then take a look at how I did it in the demo (Before bugging me)
Tutorial mode
$scene = Scene_PanelAttack.new(special, false, 1, 100, 5, false, type)
or
$scene = Scene_PanelAttack.new(special, false)
where special is the number in Scene_PanelAttack 3 that correspond to the panels you want
and type is the mode that will appear in the Results Window if you use the second one the Standard will appear as the mode
Endless mode
$scene = Scene_PanelAttack.new(nil, true, speed, inc_speed, colors, false, type)
speed is the starting speed
inc_speed is the number of panels needed to clear before speed increase
colors is the number of colors
type is the name of the mode that will appear in the results window
Timed mode
$scene = Scene_PanelAttack.new(nil, true, speed, inc_speed, colors, true, type)
where the time_left is stored in $game_system.time_left
speed is the starting speed
inc_speed is the number of panels needed to clear before speed increase
colors is the number of colors
type is the name of the mode that will appear in the results window
Extra Stuff
Music is stored in $game_system.music
Background is stored in $game_system.background
Panels is stored in $game_system.panels
Time for Time mode is stored in $game_system.time_left
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatibility
Should be 100% compatible with everything
Credits and Thanks
People who created Tetris Attack/Panel De Pon/Puzzle League - Original Panels are an edit of their panels (added a gradient feel to them)
Sir Lord Biowulve -- Panel Design
Author's Notes
This is a repost from .net before It goes down again.
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This is a new bestiary script based on the Scan Window I created for my Stealing/Mugging/Scanning script. It works both with or without that script (Although the secondary and rare items will appear if you use it in conjunction with that script). It also shows Enemy Hp, Sp, Stats, Enemy Weaknesses and Resistance Elements, Number of times Encontered, Number of times Killed, Maps Found, and a Description.
Script
Sorry the families should not be looking at a Bestiary
Instructions
Add above main
See the Setup Script, its pretty much self-explanatory
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatibility
Requires SDK Part 1, but it really requires SDK Part III (Required Scripts)
Credits and Thanks
Kurisu, Panda, Yeyinde, for commenting on the screenies :D
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This script seriously adds a Battle Help Window for Phase 4, this replaces the original help window and it looks a bit more neat in my serious opinion
Instructions
Just add above main, if you can't do that you seriously need help seriously
FAQ
No longer awaiting serious questions
Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatibility
Seriously compliant with SDK 2.x (Serious Development Kit)
Credits and Thanks
Yeyinde for the serious styled post seriously!
Author's Notes
I'm serious that this was scripted in less than hour Seriously a part of MVCBS (Multi View Custom Battle Serious System) and yes I am seriously still working on Version 2.0 Seriously!
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This is a fairly simple script that allows you to display an animation at any (x,y) instead of at an event or the player. This means no more blank events just to be used for the show animation event command. If used correctly you can have a smoke effect to chimneys, etc. You may also choose to have the animation loop a certain amount of times or infinite. This Script can be easily implemented into a scene so you can have animations playing in that scene. You may also choose to disable the sounds with the animation. This also allows you to show an animation at an event or the player and specify x and y offset from their coordinate.
Screenshots
Yeah go to the Animations tab in the database and look at the animations there, play them a few times. There is your screenshot.
Script
Families?, what Families?, because I'm not saving them so you might as well say goodbye to them
type is the type of animation use either 1,2,3 or 'screen','tile','map'
1 or 'screen' follows the player it stays on the screen
2 or 'tile' stays at a particular tile (x,y)
3 or 'map' stays at a particular position (x,y) on the map
4 or 'player' follows the player (x,y) defines the offset
5 or 'event' follows an event (use x parameter for id and [x,y] for offset)
id is the animation id to play
Optional loop is the number of times to play the animation.
Set this to nil an the animation plays forever, otherwise the default value is 1
sound set to true and you will hear the animation's sounds
Set this to false and the sounds will not play, otherwise the default value is true
viewport is the animations viewport the default is the whole screen
If you want animations in your scene just add this to the update method (Note: You can only use type 1 or 'screen' when in a Scene other than Scene_Map)
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatability
Should be compatible with any script.
Credits and Thanks
DarkZero for mentioning the problem of displaying animations at a specific point.
Twilight for providing the latest version that I lost :)
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This is a fairly advanced script that allows some of the party members in battle to be controlled by an algorithm I made up. The system may still have a few hiccups. The algorithm is setup up to ten different variables aggressiveness, magic_casting, item_using, supportive, defensiveness, intelligence, cautiousness, laziness, cowardice, and strategist. The script also comes with an implementation AutoBattle command which just runs the algorithm and chooses the action for you
Instructions
See Setup Section everything is explained there.
Note this: Some of the variables are not meant to be set to 20 (cautiousness for one)
Compatibility
May be incompatible with your battle system
SDK 2.x compliant
Any Battle Addons Like Overdrive Systems and Skill Effects will not be taken into consideration in the AI formula
Credits and Thanks
BlueScope for betatesting
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too (would be nice if you gave me a free version of your game haha)
Instroduction
This script is the Ip System featured in Lufia 2. This system can be explained like so: The Heros have another stat ip. This stat grows (depending upon damage taken) whenever a character is attacked. When a character dies their ip goes back to zero. Ip (Ikari/Item Points) allows you to execute an ip skill. The Ip Skills you have are determined by what weapons/armor you have equipped. Not all equipment has a skill associated with it. Whenever you execute an IP skill your Ip drops depending on how much ip the skill requires.
This script is also part of my CBS
This version allows your ip bar to grow in 20 different styles instead of just being damaged, see the demo for more information.
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatability
SDK 1.5 compliant
Possibly compatible with your Battle System (seeing as though all methods have been aliased)
Possibly compatible with any Multi-Equip Scripts
Possibly compatible with Multi-Weapon Scripts
May be incompatible with your Window_BattleStatus (instructions on setting it up are given)
Credits and Thanks
Got Rid of Seph's Bar =D
Author's Notes
Find any bugs/errors
1) Give a description of the bug/error
2) Post the line the bug/error appears on (not the line number)
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
A completely rewritten version of my Skill Scope Library and Hero/Enemy/Single/All Target Switching, The Skill Scope Library builds upon the default scopes (None, One Enemy, All Enemies, ...), and adds new ones (Random Ally, All Enemies and Allies, All Enemies and the User), and the Hero/Enemy Target Switching allows you to switch targets in battle (from enemies to allies and single to all targets). Also adds four new scopes, and the scopes also be tagged to items/weapons/skills/enemies.
Features
39 new Scopes (27 from older version + 4 new ones + 8 Original)
New Scopes
nrou# -- N Roulette (# is the number chosen)
lvl## -- Level ## Divisible All
lv##A -- Level ## Divisible Actors
lv##E -- Level ## Divisible Enemies
The 8 Original Scopes have calling codes now as well, which you will see why they are there later
Can be tagged onto enemies, items, weapons, and skills
Hero/Enemy Target Switching also to switch between heroes and enemies
Hero/Enemy Target Switching can be disabled for certain items/weapons/skills
Single/All Target Switching allows you to switch between a single target to all targets
Single/All Target Switching can be disabled for certain items/weapons/skills
Shows who is targeted in battle
If used in conjunction with SephirothSpawn's Dynamic Enemies (or another script that gives enemies a level) allows the scopes Level ## Divisible All, andLevel ## Divisible Enemies to work on enemies
Initial Setup
If using Seph's Dynamic Enemies set that up
Create a new element and call it overide scope In the script Setup set this to the id of the element you just created:
Code:
Overidden_Scope_Element = 17[/code[
[b]Tagging Scopes[/b]
To Tag a scope to a item/weapon/skill, set the element which you created above to the skill/weapon/items in question
In the description of the item/weapon/skill enter one of these codes depending on which scope you want. Use the first five characters, there is no space between the code and the Description
[list][*]scop0 - None
[*]scop1 - One Enemy
[*]scop2 - All Enemies
[*]scop3 - One Ally
[*]scop4 - All Allies
[*]scop5 - One Ally Hp0
[*]scop6 - All Allies Hp0
[*]scop7 - User
[*]allEA - All Enemies and All Heroes
[*]randA - One Random Ally
[*]randE - One Random Enemy
[*]ran#A - # Random Allies
[*]ran#E - # Random Enemies
[*]ranEA - A Random Amount of Everyone
[*]ranRA - Random Number of Allies
[*]ranRE - Random Number of Enemies
[*]Rhp0A - Random Number of Allies HP 0
[*]rhp0A - One Random Ally Hp 0
[*]sbl#A - Side by side grouping # next to each other is selected (left to right)
[*]sbl#E - Side by side but for enemies
[*]sbr#A - Same as above but right to left
[*]sbr#E - Same as above
[*]gsg#A - Golden Sun Grouping System # must be 1 or 3 Heros
[*]gsg#E - Same as above n must be 1,3,5,7
[*]allEU - All Enemies and the user
[*]allAE - All Allies and ONE Random Enemy
[*]roule - One random battler
[*]doubr - Two random battlers
[*]oneAE - One hero one enemy Random
[*]strAE - Hero and enemy with most HP
[*]stroA - Strongest Hero
[*]stroE - Strongest Enemy
[*]weaAE - Weakest Hero and Enemy
[*]weakA - Weakest Hero
[*]weakE - Weakest Enemy
[*]nrou# - # amount of random people
[*]lvl## - Level Divisible by ## actors and enemies
[*]lv##A - Level Divisible by ## actors
[*]lv##E - Level Divisible by ## enemies[/list]
[b]Tagging Scopes to Enemies[/b]
To Tag a scope to the enemy see the Script Setup
[Code]Enemy_Scopes = {3 => 'scop2'}[/b]
The format for this hash is {enemy_id => scope, enemy_id => scope, ...}
where enemy id this the id of the enemy and scope is one of the scopes above (This is where scopes 1-8 on the list are useful, you can alternatively just use 0-7 for these scopes) So now you may have an enemy that attacks all heroes, or just attacks itself :P
[b]Disabling[/b]
Again refer to the setup script take note to this section
[code] #--------------------------------------------------------------------------
# * Hero Enemy Switch syntax id => (bool) [true: enable false: disable]
#--------------------------------------------------------------------------
Hero_Enemy_Switch_Weapons = {}
Hero_Enemy_Switch_Skills = {15 => false}
Hero_Enemy_Switch_Items = {1 => false}
#--------------------------------------------------------------------------
# * Defaults for Hero Enemy Switch [true: enable false: disable]
#--------------------------------------------------------------------------
Hero_Enemy_Switch_Weapons.default = true
Hero_Enemy_Switch_Skills.default = true
Hero_Enemy_Switch_Items.default = true
The first section disables/enables Hero Enemy Target Switching for weapon/skills/items just enter the id of the object in question and enter true to enable or false to disable. The second part sets the default which everything not defined is enabled. From the default setup:
Skill id 15 or Mass Thunder can't be switched from All Enemies to All Heroes. It can only be switched from all enemies to a enemy
Item id 1 or Potion can't be switched from All Enemies to All Heroes. It can only be switched from all heroes to a hero.
Everything else can be switched from Heroes/Enemies since the default is true
Code:
#--------------------------------------------------------------------------
# * Single All Switch syntax id => (bool) [true: enable false: disable]
#--------------------------------------------------------------------------
Single_All_Switch_Weapons = {1 => false}
Single_All_Switch_Skills = {}
Single_All_Switch_Items = {1 => false}
#--------------------------------------------------------------------------
# * Defaults for Single All Switch [true: enable false: disable]
#--------------------------------------------------------------------------
Single_All_Switch_Weapons.default = true
Single_All_Switch_Skills.default = true
Single_All_Switch_Items.default = true[/list]
The first section disables/enables Single/All Target Switching for weapon/skills/items just enter the id of the object in question and enter true to enable or false to disable. The second part sets the default which everything not defined is enabled. From the default setup:
[list][*]Weapon id 1 or Bronze Sword can't be switched from All to Single. It can only be switched from a enemy to a hero
[*]Item id 1 or Potion can't be switched from All Enemies to All Heroes. It can only be switched from an enemy to a hero, but since Hero/Enemy Switching is also disabled there is no switching at all, it is fixed at a single hero.
[*]Everything else can be switched from Single/All since the default is true[/list]
This section deals with the damage multiplier when you switch from a single to all target if the flag for the object here is true then the damage will be split up by the number of targets.
Other Stuff
Code:
#--------------------------------------------------------------------------
# * Show Enemy Hp
#--------------------------------------------------------------------------
Show_Enemy_Hp = true
In the target window if this is true then enemy hp will be shown. If false it will not show.
[Code] #--------------------------------------------------------------------------
# * Advanced - Phase 3 Selection Windows syntax: variable => method
#--------------------------------------------------------------------------
Selection_Windows = {}[/list]
This is an "in case something goes screwy" option if you see a window not disappearing after selection is complete then you need to setup this option the syntax is variable of the window => end_method. This option increases compatibility if used correctly since you may have some other windows used for selection or in the selection process.
Compatibility
As this script completely rewrites the whole scope/targetting system, there is sure to be some incompatibility, there is also a change to make_basic_action_result_attack to flatten the array of battlers to prevent errors
SDK compliant
If using my Multi-View Battle System, this script should be compatible except for the one change to make_basic_action_result_attack, which could not be aliased, if you put that one script above the CBS then it should work, also there will be an extra addon for this script, dealing with the formation system + this script, which will add a few more scopes Row, Column, and allowing to attack rows more in front before attacking backer rows
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Credits and Thanks
Alistor for requesting the Level Divisible Scope to be added
Night for betatesting
Raven for betatesting
RPG Advocate for his multi-random methods (which were edited by me)
Author's Notes
Enjoy XD
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.
Introduction
This script allows you greater control over the commands that show up in battle. It also allows you to define the names of the Attack, Skill, Item, and Defend and allows you to create new commands. This script also works with my Bag of Battle Commands allowing you to create more diverse commands. This script also has the functionality of commands being learned at a certain level (class or actor), or learning a command when a certain item is equipped, or by a condition in battle.
Features
Individual Battle Commands
Make commands depend on ammo
Make commands learnable by level, weapon, armor, condition
Make commands that link to a skill/common event
Make commands that have a subset of the actor's skills
Make commands have their own skill set
Make commands which name depends on the actor
Make commands which have their own icon/description/help text
Instructions
Copy the scripts form the demo to your project. Also Copy the file BattleCommands.rxdata from the data folder of the demo to the data folder of your project. You can edit the Command Properties by opening the file in Notepad. Instructions are also given in the file
In the script Setup you can define the Actor's starting commands. Again Instructions are given
If you downloaded the non text file version you must download my Command editor program - The Database. In addition you may need to install ruby to get this to work. For more info see the read me file.
FAQ Note:Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.
Compatibility
SDK Compliant
Requires MACL V1.2 or later
Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.