Fire Aura (MV Plugin Tips & Tricks)
|
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
|
The Fire Aura, from Mega Man Battle Network, nullifies damage until broken. It will block all damage under a certain threshhold until the damage overcomes the aura or if a certain element is used to pierce the aura. Here’s how to make this effect in RPG Maker MV! Required PluginsThe following plugin(s) is required to create this Tips & Tricks effect: For help on how to install plugins, click here. For help on how to update plugins, click here. AboutThis is a Tips & Tricks effect created for RPG Maker MV. Tips & Tricks are not to be confused with plugins. Instead, they are usually customized code created for the sake of producing unique features/effects that do not require an entire plugin to do. Yanfly Engine PluginsThis Tips & Tricks effect is made possible due to the Yanfly Engine Plugins library. Click here if you want to help support Team Yanfly on Patreon. Warning for RPG Maker MZ UsersIf you are using RPG Maker MZ and VisuStella MZ, the following code may or MAY NOT work as this Tips & Tricks is made for RPG Maker MV. VisuStella MZ is NOT responsible if this Tips & Trick does not work because the code base for RPG Maker MV and RPG Maker MZ are different and the code base between Yanfly Engine Plugins and VisuStella MZ is even more drastically different. InstructionsFollow video instructions. You can grab the copy/paste code here:
<Custom Apply Effect>
// Calculate the threshhold for the effect
var threshhold = Math.ceil(target.mhp * 0.10);
// Set the state counter to display the threshhold
target.setStateCounter(stateId, threshhold);
// Create the text stating the effect's threshhold
var text = '<CENTER>\\c[4]' + state.name + '\\c[0] blocks damage under \\c[4]' + threshhold + '\\c[0]!';
// Set the wait time for the message
var wait = 60;
// Display the text.
BattleManager.addText(text, wait);
// Select which elements will pierce the barrier
var pierceElements = [10, 12];
// Create an empty slot for the element text
var elementNames = '';
// Loop through the text
while (pierceElements.length > 0) {
// Get the currently looped element
var elementId = pierceElements.shift();
// Add the name to the list
elementNames += '\\c[4]' + $dataSystem.elements[elementId] + '\\c[0]';
// Check if the length of the elements remaining exceeds 0
if (pierceElements.length > 0) {
// Add a comma
elementNames += ', ';
}
};
// Create a text explaining what elements can pierce the effect
text = '<CENTER>Deal more than \\c[4]' + threshhold + '\\c[0] damage or ' + elementNames + ' damage to break barrier!'
// Display the text
BattleManager.addText(text, 0);
</Custom Apply Effect>
<Custom Regenerate Effect>
// Calculate the threshhold
var threshhold = Math.ceil(target.mhp * 0.10);
// Display the threshhold on the state
target.setStateCounter(stateId, threshhold);
</Custom Regenerate Effect>
<Custom React Effect>
// Check if the action deals HP damage
if (this.isHpEffect() && value > 0) {
// Get the elements that can pierce the effect
var pierceElements = [10, 12];
// Calculate the threshhold
var threshhold = Math.ceil(target.mhp * 0.10);
// Get the current elements of the action
var elements = this.getItemElements();
// Check if the effect was pierced by damage alone
var pierced = value > threshhold;
// Create an empty text for the elements.
var elementNames = '';
// If the effect wasn't pierced
if (!pierced) {
// Create a loop through the elements
while (pierceElements.length > 0) {
// Get the currently looped element
var elementId = pierceElements.shift();
// Check if the action elements contain a piercing element
if (elements.contains(elementId)) {
// If it does, set it to true
pierced = true;
}
// Add the element name
elementNames += '\\c[4]' + $dataSystem.elements[elementId] + '\\c[0]';
// If the looped elements still has something left
if (pierceElements.length > 0) {
// ... Then add a comma
elementNames += ', ';
}
}
}
// Create a text to be displayed
var text = '<CENTER>\\c[4]' + state.name + '\\c[0]';
// Set the wait time
var wait = 60;
// Check if the effect was pierced
if (pierced) {
// If it is, remove the state
target.removeState(stateId);
// And state that it was pierced
text += ' has been pierced!';
// Display the text
BattleManager.addText(text, wait);
} else {
// If it wasn't, then set the damage to 0
value = 0;
// Start a barrier animation
target.startAnimation(53);
// Display the text stating how much damage it blocks
text += ' blocks damage under \\c[4]' + threshhold + '\\c[0]!';
// Add the text
BattleManager.addText(text, wait);
// Create a new line stating how to pierce the effect
text = '<CENTER>Deal more than \\c[4]' + threshhold + '\\c[0] damage or ' + elementNames + ' damage to break barrier!'
// Ad the text
BattleManager.addText(text, 0);
}
}
</Custom React Effect>
Enjoy! |








