Custom Skill EffectsLast Update: 2009.06.23By: YanflyTHIS SCRIPT IS NOT COMPATIBLE WITH TANKENTAI!!! IntroductionThis is actually a merging of two Yanfly Engine ReDux scripts with a bit more features tacked on top of it all. With this script, you can do all sorts of things regarding miscellaneous skill properties and effects. You can alter costs beyond RPG Maker VX's default limitations and then some. In addition to that, there's now a Rage system added to the work of things, which basically functions like a mini-overdrive system. Skills can now have warm up preparation, casting time, and recharge. There's even a fatigue system added for skills that are too powerful for their own good. If you want your skills to produce unique effects and you know a bit of scripting, there's some templates to make life super easy for you as well.
Having skills cost only MP is boring. Having them sacrifice health, cost rage, and having recharge is a lot more interesting and adds more depth to battles. This script provides that flexibility. It allows for skills to cost a percent of your max MP, cost HP, a percent of max HP, a new stat called rage, and even custom costs if that's what you prefer. Also with this script comes and adds a new dimension to skill properties. There exists a recharge system and limited usage system to add more dimension to your battles.
The main things this script offers are changes to the default property of skills using only MP to perform actions. Now, skills can require a percentile of your MaxMP to cast (for those more powerful skills or if you just happen to have incredibly high MP growth on a character). Physical characters who have low MP but high HP can now have skills that cost HP or a percentile of their MaxHP to perform skills. Bounty hunter and mercenary types can now feed off of gold to perform skills. There is also a rage stat which increases whenever characters attack, get attacked, or use skills. Rage can be treated like a mini-overdrive system of sorts, too. And if those costs types aren't satisfactory, there is a custom cost template which is provided with the script to allow for some Lunatic Level scripting. You can then use things such as items, variables, anything your imagination (and scripting proficiency) allows you to do.
In addition to all that stuff, skills can now require recharging after usage. This makes it so that powerful skills cannot be spammed over and over again even if the user has enough MP to cast them and allowing more balance when creating skills. Alongside the recharge property, there is also now a limited usage property. You can limit the amount of times a skill can be used per battle (as shown in the screenshots below). When the skill is used to its limit during battle, it'll be disabled until the next battle where your actors will have access to that skill once again.
Update History- 2009.06.25 - Upgrade Pack 3
Added Require Any/All Item
Added Require Any/All Weapon
Added Require Any/All Armour
Added Suicide property
Added Throw Item property - 2009.05.25 - Upgrade Pack 2
Added Mix Items ability
Added Instant Cast property
Added Subskills extension
Added Chain Skill functionality
Added Learn skills upon being hit - 2009.04.25 - Reflect bugfix.
- 2009.04.22 - Major Updates.
Enemies are now affected by Recharge.
Enemies are now affected by Limited Usage.
Enemies are now affected by Prepare.
Reflect now bounces to opposing parties if reflected from the same party. Party to enemy and enemy to party. - 2009.04.19 - Upgrade Pack 1
Added Rage Boost modifiers.
Added Unreflect property for skills.
Added skill cost modifiers.
Added Charge Skill Effect for Lunatics. - 2009.04.15 - Major bugfixes.
Added Scene_Skill functionality. Can't believe I forgot that.
Fixed allowing battlers to use skills even if they don't have enough MP. - 2009.04.14 - Compatibility update with KGC Equip Learn Skill.
For all the Lunatics: common_before, common_during, common_after, calc_common_cost have been added.
Screenshots
ScriptClick here to view it. InstructionsSince this is a big script, I've included a number of screenshots to explain everything (hopefully).

This is basically how you would use this script for the most part. Just open up your skills tab in the database editor and input one of the tags into the notebox for it to have an effect. For example, in the screenshot above, <cost cur mp 65535> will cause the MP cost for that skill to become 65535 MP. Poor Halbarad would never be able to use it.
<cost cur mp x> x is the value which the MP cost will become directly.
<cost max mp x> x is the value which the MP cost will become as a percentage to the user's max MP.
Module related options you can edit:
YE::BATTLE::USE_ICONS
- If true, skill costs will use icons instead of words.
YE::BATTLE::MP_ICON
- This value sets the icon ID to replace "MP Cost" in the skill menu.
YE::BATTLE::MP_COST
- This string determines how you want MP Cost to show if you're not using icons.
---------

There is now a recharging property for skills. If you use a skill with the <recharge x> tag in its notebox, it will begin undergoing recharge. When it's undergoing recharge, that skill cannot be used until it is done recharging.
<recharge x> x is the value which determines the number of turns the skill will recharge for.
Module related options you can edit:
YE::BATTLE::REPLACE_ICON_RECHARGE
- If set to true, this will replace the default skill cost with the recharge statistic.
YE::BATTLE::RECHARGE_ICON
- This value sets the icon ID to replace "Turns Until Recharged" in the skill menu.
YE::BATTLE::RECHARGE_MSG
- This string determines how you want Turns Until Recharged to show if you're not using icons.
---------

Some skills can have limited usage per battle. If you input <limit uses x> into the notebox, you can set how many times max you would allow for a skill to be used. Once a skill is used up past its max, it cannot be used until the next battle starts. Even dying and reviving won't bring it back.
<limit uses x> x is the value which determines how many times per battle a skill can be used before it becomes disabled.
Module related options you can edit:
YE::BATTLE::REPLACE_ICON_USAGE
- If set to true, this will replace the default skill cost when a skill is used up for that battle.
YE::BATTLE::USAGE_ICON
- This value sets the icon ID to replace "Used Up" in the skill menu.
YE::BATTLE::USAGE_MSG
- This string determines how you want Used Up to show if you're not using icons.
---------

Rage is a new statistic added to battlers in this script. Rage can be increased a number of ways. The skills that cost rage will not become usable until the actor with the skill has enough rage for it to be used. You can basically think of it like a miniature overdrive system.
<cost rage x> x is the value which determines the rage cost for the skill.
Module related options you can edit:
YE::BATTLE::INC_RAGE_ATTACK, INC_RAGE_DAMAGED, INC_RAGE_SKILL
- If these are set to true, they will respectively allow an increase in rage from attacking normally, being damaged, and using skills.
YE::BATTLE::NUM_RAGE_ATTACK, NUM_RAGE_DAMAGED, NUM_RAGE_SKILL
- These values determine the increase in rage if any of the above are set to true.
YE::BATTLE::RAGE_ICON
- This value sets the icon ID to replace "Rage Cost" in the skill menu.
YE::BATTLE::RAGE_COST
- This string determines how you want Rage Cost to show if you're not using icons.
YE::BATTLE::MAX_RAGE
- This value determines how high rage can increase.
YE::BATTLE::RAGE_RESET_BATTLE
- If set to true, rage resets at the start of each battle for every character.
---------

If you wish for some skills to raise rage manually, you can add the <rage boost x> tag into your skill's notebox. Note that even though the number you've put in for rage can go past its max, rage will automatically scale it back down to maximum capacity.
<rage boost x> x is the value which the skill will raise the rage meter by.
You can add these to your status effects to have them alter the rage gain.
<rage boost per x> x is the percentage adjustment to rage gain.
<rage boost add x> x is the set value added to each rage gain.
<rage boost sub x> x is the set value subtracted from each rage gain.
---------

Skills can now cost HP, too, instead of MP. You can set it to cost either a static amount of HP or a percentile amount of HP. Note that with a particular module option, you may allow for players to even use skills that go beyond their HP capacity and cause them to die. I will not take responsibility for anything of the sort happening so there's not a single chance in hell I'd allow you to sue me for your players sacrificing themselves to death.
<cost cur hp x> x is the value which determines the static HP cost of the skill.
<cost max hp x> x is the value which determines the percentile HP cost of the skill based on the actor's max HP.
Module related options you can edit:
YE::BATTLE::HP_ICON
- This value sets the icon ID to replace "HP Cost" in the skill menu.
YE::BATTLE::HP_COST
- This string determines how you want HP Cost to show if you're not using icons.
YE::BATTLE::ALLOW_DEATH_HP_COST
- If set to true, players can use skills that can potentially kill the actors through HP cost.
---------

In addition to recharging, there is now a preparation property added. At the start of battle, not all skills will be available from the start. In fact, they'd have a wait a few turns first if you use the <prepare x> tag in your skill box. Once those turns are passed, that skill is ready and good to go.
<prepare x> x is the value which determines how many turns after battle has started before the skill is usable.
---------

For the mercenary types, some skills can require a gold cost, too. You can set it to cost a set amount of even a percentage of your entire gold. This is pretty straight forward in how the skill cost functions.
<cost gold x> x is the value which determines the static cost of the skill.
<cost max gold x> x is the value which determines the percentile cost of the skill.
Module related options you can edit:
YE::BATTLE::GOLD_ICON
- This value sets the icon ID to replace "Gold Cost" in the skill menu.
YE::BATTLE::GOLD_COST
- This string determines how you want Gold Cost to show if you're not using icons.
YE::BATTLE::MGOLD_COST
- This string determines how you want Max Gold Cost to show if you're not using icons.
---------

Some skills can now be charged a number of turns before they're cast. During that time, the character cannot act or input any new commands nor can you cancel that character from continuing to cast. However, once that character becomes dead, unable to move or act, or becomes silent, the casting is halted prematurely and the skill fizzles and you'd have to start all over again.
<cast time x> x is the value which determines how many turns the skill is required to cast for.
Module related options you can edit:
YE::BATTLE::CHARGE_MSG
- This string displays what message you'd like to appear when an actor starts charging a spell.
YE::BATTLE::CHARGE_CON
- This string displays what message you'd like to appear when an actor continues charging a spell.
YE::BATTLE::CHARGE_SND
- This determines what sound will be played when an actor starts charging a spell.
Fatigue is a new property added to the skill pool, too. After an actor finishes casting a spell (for example, a really powerful one), that actor becomes fatigued. This does not count as a status effect or anything else and healing won't help it (unless you script it to), but it does not allow that actor to perform any actions until the fatigue wears off. You can set how many turns a spell will cause fatigue for through the fatigue tag.
<fatigue x> x is the value which determines how many turns the actor will be fatigued for.
Module related options you can edit:
YE::BATTLE::FATIGUE_MSG
- This string displays what message you'd like to appear when an actor becomes fatigued from using a skill.
YE::BATTLE::FATIGUE_SND
- This determines what sound will be played when an actor becomes fatigued.
---------

The <reflect> tag is actually for a status effect and not a skill. However, there is a pair skill property with <reflect> called <unreflectable>. Status effects that reflect will repel and bounce back any skills used on them back to the user. In most cases, reflect is used to bounce back magic and not physical attacks. Placing <unreflectable> into your skill's notebox will allow for it to bypass the reflect status.
<reflect>
FOR STATUS EFFECTS ONLY! Causes skills to bounce back to the caster.
<unreflectable>
FOR SKILLS ONLY! Makes the skill able to bypass reflect status effects.
---------

In Upgrade Pack 2, Item Mixing is now available for your skills. When a skill with item mixing properties is selected, it'll pop up a window and allow the player to pick two items. The effects the item will produce can be randomized or pre-set depending on the combination of items choosen. To affect what type of items the skill is allowed the use, place the following tags into your skill's notebox:
<mix items all>
Allows the actor to mix items and produce a new effect. This tag will enable the actor to use all items available to the game party except for those with the <do not mix> tag.
<mix type x> or <mix type x,x>
Allows the actor to mix items of type x. Items with the same tag will be selectable for this form of item mixing. Include more of this tag to enable more item mixing types or use the following tag: <mix type x,x>.
<do not mix>
This is included in for items. If the item has this tag, the item cannot be mixed at all. Used for key items.
Then, under the module, you can adjust the following options:
RANDOM_ITEM_MIX_TYPES
This hash will determine what random skill effects will be launched if the item combinations aren't found in the preset combination hash.
ITEM_MIX_COMBO_HASH
This hash will determine what item combinations will yield which set of special effects. Note that if you include more than one skill ID in an item mix combo, it will randomly choose amongst the skills you've placed in it.
---------

Upgrade Pack 2 also allows you to reduce clutter in your skill menus by throwing various skills into a subskill menu. Now, these subskill menus can include skills that aren't even learned by the actor. For those who dislike that portion, you can disable some skills from appearing in the subskill menu through a simple <require learn> tag in the skill's notebox. You can also limit some skills from appearing in the skill's main menu at all and have it appear only in the subskill window with <subskill only>. Here are the following tags you can use regarding subskills:
<subskills x> or <subskills x,x>
The skill, if selected from the skill window, will pull up a subskills window that can store extra skills. These skills can be skills that the actor hasn't learned and skills that the actor can possibly never learn.
<subskill only>
This skill can only be shown if it's inside the subskill window. Otherwise, it will not appear.
<require learn>
This means that in order for this skill to be used inside the subskill window or the chain casting window, this skill must be learned. Used mostly for skills that would otherwise appear if not inside the actor's skill list.
---------

In Upgrade Pack 2, chain casting is now possible through three types of chain casting methods. The first type is an Open Chain, which allows the player to pick any skill from the actor's list (except for those marked as unchainable or those with special properties such as subskills, mixing items, and other chain casting skills). A Closed Chain still selects skills from the actor's skill list but restricts the skills to various closed types. A Forced Chain will prompt a very specific set of skills to chain (whether or not the actor has learned them). Here are the various tags used for chain casting:
<open chain x>
This creates an open chain casting for the actor. The actor is able to select any skills it has learned outside of skills with specific properties. These skills are the skills available to it in the skill window. x is the number of skills that the chain skill may continuously cast.
<closed chain x:y> or <closed chain x:y,y>
This creates a closed chain. Closed chains can only chain skills of certain closed types. x marks the number of skills the chain skill can continuously cast. y marks the closed types the chain skill is allowed select from.
<closed type x> or <closed type x,x>
This is the closed type that is available for specific chains. Closed chains of the match closed type will select these skills from the actor's skill list to choose for chain casting.
<forced chain x:y,y>
These give a very specific set of skills that the actor is allowed to chain cast. These skills will appear on the list regardless of whether or not the actor has learned the skill with the exception of <require learn>.
<reselect chain>
This allows the chain skill to reselect skills it has already choosen.
<unchainable>
This causes a skill to be not chainable.
---------

Instant cast skills are added in Upgrade Pack 2 as inspiration from Super Robot Wars. These skills will instantly be casted the moment they have been selected and the target choosen. Once the skill is instantly casted, it goes right back to action select for the actor without wasting a turn. The actor can then reselect what else to do with that free turn.
<instant cast>
The skill will be instantly cast the moment it's selected and the actor will not waste a turn. This does not require the actor to enter battle phase to cast the skill.
---------

Upgrade Pack 2 also offers similar skill learning properties similar to Blue Mages in the Final Fantasy series. An enemy can cast a skill on an actor and that actor can learn the skill. The skill learning process can be actor specific or class specific. Once the skill is learned, it is instantly added to the actor's skill list permanently.
<hit learn actor x> or <hit learn actor x,x>
<hit learn class x> or <hit learn class x,x>
Skills with this tag will teach actor x the skill once hit. Hit learn actor will designate specific actors to be targetted for the skill. Hit learn class will designate actors with that class equipped to learn the skill.
---------

The throw skill property allows the player to select an item to be thrown. That item can be a usable (or even non-usable) item, weapon, or piece of armour. Damage calculations will vary from the default damage calculations. Damage is calculated based on the actor's speed (by default) and the item's strength. This is easily modifiable within the module itself shold you want to tone down the multipliers or even change it completely. You may even adjust the throw skill to be only able to throw items of a certain type (for example, Shuriken Technique would only throw shurikens) and the like. This way, you can have a variety of throw skills, too.
<throw all>
Skill has the throw property. Any item that can be thrown can be used by this skill. Throw skills have unique damage formulas that can be adjusted below in the module.
<throw type x> or <throw type x,x>
Skill has the throw property. The skill can only throw item, weapon, and armour types of x. If this tag is used on an item, it will tag that item as type x and it becomes throwable. If you want the skill or item to have more than one throw type, insert more tags or use the x,x tag.
<throwable> or <unthrowable>
The item becomes throwable or unthrowable depending on which tag you use inside the item's notebox.
The following can be modified in the module.
DEFAULT_THROW_ITEM, DEFAULT_THROW_WEAPON, DEFAULT_THROW_ARMOUR
These three values adjust whether or not all items, weapons, or armours can be thrown by default.
THROW_POWER, THROW_ATTACKER, THROW_DEFENDER
These are the values used to determine the damage formula used when using a throw skill.
---------

There's a plethora of tags you can place into your status effects to directly alter the costs. Overall, you can affect skill costs via a percentage or via a set value. Skill costs, however, will not go under 0 for obvious reasons. These cost changing status effects will affect both set and percentile costs. Percentile costs, however, won't inflate an extra percentage. If a skill, for example, costs 50% of Jiu's max HP which is 287, <cost hp add 100> will change that amount to 387. In other words, they work as they should.
<cost hp per x> <cost hp add x> <cost hp sub x>
<cost mp per x> <cost mp add x> <cost mp sub x>
<cost gold per x> <cost gold add x> <cost gold sub x>
<cost maxgold per x> <cost maxgold add x> <cost maxgold sub x>
<cost rage per x> <cost rage add x> <cost rage sub x>
FOR STATUS EFFECTS ONLY! x is the percentage or set value which increases or decreases the respective skill cost. Costs cannot go under 0 for obvious and controlled reasons.
---------

For those with a bit more scripting experience or wouldn't mind trying it, you can go ahead and script your own custom costs to your skills. I'm not going to go into detail about it, but if you read the included instructions inside the script, everything should become pretty self explanatory.
<cost custom x> x is the case number which will determine how you want your skill cost to end up showing.
Notes I kinda want to play Guild Wars again. c_c
Compatibility - Works with KGC Steal and OnScreenBattle.
Terms and ConditionsJust give credit where due.
Credits and Thanks-Guild Wars Icons
Originally Found Here: http://pockethouse.wordpress.com/vx/custom-skill-effects/
This post has been edited by Yanfly: Jun 22 2009, 08:32 PM