Thursday, March 20, 2014

Targeting Priority Manipulator : Schala Battle System Patch

A patch for Enemy AI : Targeting Priority Manipulator for Schala Battle System has been released. Go grab it on the script page.

Enemy AI : Targeting Priority Manipulator

The default VX Ace's enemy targeting behavior just pick a random target for any actions.
This script adds some AI targeting priority. With this script, the enemies become able to pick a target based on the action specific priority.

Download the script here. You might also want to look at the patches below.
Installation

Put this script below ▼ Materials and above ▼ Main Process.

Usage

In an enemy notebox, you can add some tags.
<target [action_id] [shortcut]>
where [action_id] corresponds to the enemy's action list, and [shortcut] corresponds to one of the implemented targeting priority method.

Example:
<target 1 high_hp>
This will make the enemy target the battlers with the highest HP value when using action number 1 (by default Attack).

<target 2 low_hp_rate>
This will make the enemy target the battler with the lowest HP percentage when using action number 2. If the action no. 2 is set to Heal, the enemy will proceed to heal its ally with the lowest percentage of health.

Available targeting shortcut is as follows:
low_hp
high_hp
low_hp_rate
high_hp_rate
low_mp
high_mp
low_mp_rate
high_mp_rate
low_tp
high_tp
low_tp_rate
high_tp_rate
self
not_self

If you want to make your own targeting condition, use
<target eval [action_id]>
[eval]
</target eval>
where [eval] is a ruby expression that takes returns -1, 0, or 1.
In the eval, a and b denotes the battlers that would be sorted.

For example, to make the enemy prioritize Eric when doing its ultimate skill, the tag will be
<target eval 8>
if a.name == "Eric"
-1
elsif b.name == "Eric"
1
else
a.hp <=> b.hp
end
</target eval>


Do note that target selection is done at the start of the turn, like actors. The enemy will not suddenly change target mid-turn, for example if its target had already healed.
Also, TGR have no effect on acquiring target.

Patches:
There is a patch for Schala Battle System here.

Monday, March 10, 2014

Script Update: End Turn/Action Skill v 1.2

The End Turn/Action Skill has been updated to version 1.2. The update addressed some bugs that is missed on previous version, and expanding the tag to all feature objects. Get the new version at the script page.

Thursday, March 6, 2014

Restrict/Seal Equipment By Weapon/Armor Types

By default, VX Ace does not offer equipment restriction by weapon or armor types, only equipment slots can be sealed. This script tries to rectify that so a battler can be prohibited from equipping a specific weapon/armor types.

Download here.

Installation

Put this script below ▼ Materials and above ▼ Main Process. If there are scripts that overwrite the aliased methods below, put this script below said script.

Usage

To make an actor, class, enemy (even though it does not make sense), equipment, or state to seal a specific weapon or armor types, use these notetags:
<seal wtype: x>
<seal atype: x>
This will make the weapon/armor with specified types cannot be equipped.

You can also specify more than one types in the notetag:
<seal wtype: x, y, z>
<seal atype: x, y, z>

Example:
<seal wtype: 1>
This will make Axe-type weapons unequippable for the battler.

Wednesday, March 5, 2014

Gain TP on Kill


This script adds a gain TP by killing function. Users can specify the details
using various notetags.

Download the script here.

Installation

Put this script below ▼ Materials and above ▼ Main Process.
If there are scripts that overwrite the aliased methods below,
put this script below said script.

Usage

To make an actor, class, enemy, equipment, or state adds TP when killing
enemy, add this notetag:
<kill gain tp: x>
where x is the number of tp gained, x can be a negative value.

To make them give TP upon death, add this notetag:
<death give tp: x>
where x is the number of tp given, x can be a negative value.

Tuesday, March 4, 2014

Substitute for Enemy : Yami's BattleSymphony Compatibility Patch

I have created a patch for my Substitute for Enemy script for those who use Yami's BattleSymphony. Grab it from the Substitute for Enemy's page.

Substitute for Enemy


This script expands the substitute behavior. A battler now can substitute for his enemies when specified.

Download here.

Installation

Put this script below ▼ Materials and above ▼ Main Process.

Usage

To mark an actor, class, weapon, armor, enemy, or state to act as substitute for enemy, use this notetag:
<substitute enemy>

Patches

A compatibility patch for Yami's BattleSymphony is available here. Put Substitute for Enemy script before BattleSymphony, and put the patch below them.

Sunday, March 2, 2014

Skill Hit Increase from Other Skills

This script makes it possible for a skill to have other skills' effect as extra hits. These extra hits are calculated separately.

Download here.

Installation

Put this script below ▼ Materials and above ▼ Main Process. If there are scripts that overwrite the aliased methods listed in the script, put this script below those scripts.
If you use scripts that aliases use_item in Scene_Battle, you'll want to put this script above them. If you use Yami's BattleSymphony, put this script below Yami's.

Usage

Tag a skill with any of the specified notetags:
<hit inc: x>
<hit inc: x, x>
where x is skill ids you want the skill to add to damage and effect to. When the actor or enemy has the listed skills, the original skill will gain hits from them.
<hit inc always: x>
<hit inc always: x,x>
this will make the skill will always gain hits from the listed skills, even if the battler utilizing said skill doesn't have them.

Example:
<hit inc: 51, 55>
will add fire and ice to hits. When the notetag is put to Attack skills, all battlers who knows Fire or Ice will gain extra hits from their attacks.

Note that for actors, said actor needs only to have the listed skill for hit increase to work, but an enemy need to have the skill listed in Actions List and met the conditions there. The priority of the skill does not matter.
Also, please do not self-reference or make looping references. Doing so will make endless loops, and the game will throw a Stack Level Too Deep error.

Friday, February 28, 2014

Favor System

This script adds favor system to your game. You can increase/decrease favors by using skills in battle. Also, you can control what skills can be learned by the amount of favor.

Download: here.

Installation

Place this script below ▼ Materials and above ▼ Main Process.

Usage

When a character gain favor to a god, he/she will lose favors with another gods.

To make a skill gain or lose favor with a specific god, tag the skill with any of the specified notetags:
<favor increase: god, amount>
<favor increase: god, amount>
where god is the name of the gods specified in God_List, and amount isthe amount of faih increased/decreased by skill usage. Amount can contain decimals.

Example:

<favor increase: Thor, 5>
This will make you gain 5 favor to Thor by using the skill.
<favor decrease: Loki, 3.6>
This will make you lose 3.6 favor to Loki by using the skill.

To make a skill needs some amount of favor to be learned, tag the skill with the following notetags:
<learn need favor: god, amount>
where god is the name of the gods specified in God_List, and amount is the amount of faith needed. Amount can contain decimals.

Example:

<learn need favor: Thor, 50>
This will make the skill needs 50 favors to Thor to be able to be learned.

All note-tags above can be used multiple times to add different gods to the list.
Note that the god's name is case-sensitive, "freya" is different from "Freya".

Thursday, February 27, 2014

State Effect: Use Skill on Turn/Action End

This script allows users to set up states that will force the battlers affected with objects that is tagged to execute a specific skill on action or turn end.

Download here.

Installation

Put this script below Materials and above Main Process.

Usage

Tag a feature object (actors, classes, enemies, weapons, armors, or states) with any of the specified notetags:
<end turn skill: skill_id>
<end action skill: skill_id>
where skill_id is the skill that will be used when inflicted with the state.

For example, tagging Poison state with
<end turn skill: 10>
will make battlers inflicted with Poison utilize skill number 10 (Shock) on turn end.

By default, normal restrictions for the skill (MP/TP cost, weapon restrictions, skill seals) also apply. If you want the battler to execute the skill even when he is normally unable to, add "forced" to the notetag.
For example, tagging Stun state with
<end action skill: 94, forced>
will make a stunned battler execute skill number 94 (Zero Storm) on action end, even when stunned.

A New Blog

For years, I've been using RPG Makers from XP to VX Ace. In those years, I've made quite a bit, but never find a desire to share. But now the desire is there, so I've decided to start a new blog for my RPG Maker adventures.