EMERALD'S EQUIPMENT SETS

RPG Maker VX Ace

Just as the name implies, allows you to create equipment sets

  • Emerald
  • 02/11/2012 06:40 PM
  • 2351 views
FEATURES
Too many distinct features to list...
  • Almost every trait can be mimicked as bonus (including equipment types)

  • Multiple bonuses per amount of pieces wearing

  • Advanced control over sets, e.g. ability to skip amount of pieces (only bonuses at 2 pieces and 4 pieces) and ability to add more pieces than the actor can even wear!

  • And some more stuff


INSTRUCTIONS
Full instructions can be found within the script

First of all, change MAX_ELEMENTS in module EME to the max amount in the database.

Inside the script you'll find two Hashes (a similar type of variable as arrays. The one major difference is that every element of a Hash has a key set to it.), Sets and Set_Bonuses. They have the following syntax:

Sets
set_id => []

Set_id is the id of the set which must be the same as the id in Set_Bonuses for the respective bonuses.
This script doesn't work on checking specific slots. Instead, it checks slots to see if the items are of the same type as equipment_type and have the same id as equipment_id. Equipment_type can be 0 (weapons tab in database) or 1 (armors tab in database). Equipment_id is obviously the id of the piece of equipment in the database.
If an array is not the last element in the array/hash, don't forget to put a comma after it. Also, add a piece of equipment which the player can't get as final element in the array of a set. Else, the last piece of equipment will count for two pieces (in other words, if you don't do this and the player equips the final piece in the array, the script will think he/she equips 2 pieces of the equipment set). Unless you break the database limit, and will do.

Example:
1 => [, , , ], # Weapon 5, Armor 1 and Armor 2 belong to this Set.
2 => [, , , ] # Weapon 5 also belongs to this one, but the player can use Weapon 6 as a substitute. Armour 5 also belongs to this Set.


Set_Bonuses
set_id => {
amount_wearing => []
}

Set_id is the id of the set defined in Sets.
Amount_wearing indicates how much pieces of the set the actor must be wearing to get the bonus in the array linked to it. In order to skip one, make the only element in its array. Always starts at 1. Note that the bonuses stack depending on how many pieces you're wearing. E.g. if you give 5 atk bonus for 1 piece and 5 atk bonus for 2 pieces, and the actor wears 2 pieces (s)he will get a total atk bonus of 10.
Parameter indicates which parameter receives the bonus. You can have multiple arrays with the same parameter linked to amount_wearing. See SPECIAL VALUES in the instructions of the script itself for a list of all parameters. Alert me if you use custom stats which are calculated in the same way as the 8 basic stats.
Bonus is of course the bonus given to a stat. For now, this can only be a direct bonus. So if it's 5, 'parameter' will receive a bonus of 5. If it's 0, no bonus will be applied. If it's -5, 5 will be subtracted from 'parameter' If an array/hash is not the last element in the array/hash, don't forget to put a comma after the ']' and '}'. Always at a blank bonus at the end of amount_wearing's array. Else, the last bonus will be doubled. You can either halve the last bonus or add the most easy blank bonus of them all, . It doesn't matter what the parameter is, as long as the bonus value is 0.

Example:
1 => {
1 => [, , ], # Actor receives 100 HP and 100 MP bonus if (s)he's wearing 1 piece of Set 1...
2 => [, , , ], # ... and 2 times 50 HP bonus and 5 atk bonus if (s)he's wearing another piece
},
2 => {
1 => [], # Actor receives 100 Atk bonus if (s)he's wearing 1 piece of Set 2.
}