[YEP] Yanfly Engine Plugins

Discussion in 'JS Plugin Releases (RMMV)' started by Yanfly, Nov 2, 2015.

Thread Status:
Not open for further replies.
  1. Fernyfer775

    Fernyfer775 Veteran Veteran

    Messages:
    1,297
    Likes Received:
    798
    First Language:
    English
    I believe I found a bug with the Action Sequence portions of the ATB script.

    Example: An enemy attack has this tag:

    ATB GAUGE: target, -50%

    But instead of reducing the gauge, it's increasing it.

    EDIT: It is correctly reducing the ATB "speed" but when a character is in "charge" mode for an attack, it's making it fill faster instead of reducing it.
     
    Last edited by a moderator: Nov 7, 2015
    Yanfly likes this.
  2. Riff

    Riff Eorzean Veteran

    Messages:
    261
    Likes Received:
    82
    Location:
    Brunei Darussalam
    First Language:
    English
    Primarily Uses:
    RMMV
    Ah, that's handy. Cheers!

    Oh, since action speed = agi, can we make the action speed evaluated using a formula? Like using <speed = user.agi*0.5> in notebox or something.
     
  3. MikePjr

    MikePjr Artist Veteran

    Messages:
    551
    Likes Received:
    231
    Location:
    Texas USA
    First Language:
    English
    Here Yanfly, i did a video... maybe it will help me explain what's happening..




    Oh dammit.... i just realized the music when i test is so loud.. ugh.. nothing is going right for me tonight..
     
    Last edited by a moderator: Nov 7, 2015
  4. Vassim74

    Vassim74 It's a Secret! Veteran

    Messages:
    103
    Likes Received:
    70
    Location:
    California
    First Language:
    English
    Primarily Uses:
    RMMV
    Here's what I set for the reset item:

    I even tried moving Slots 0 to above Reset Full to see if it worked, but to no avail.
     
  5. Lupinos

    Lupinos Villager Member

    Messages:
    24
    Likes Received:
    33
    Location:
    Germany
    First Language:
    German
    Hi,

    first of all I want to thank you for the awesome engines. :)

    I have a question about setting up action sequences. If this question already got answered, I'm sorry, then I might have overseen it. ^.^

    I want to set up the default attack. What I want is, that melee battlers move to the target, while range battlers just step forward and do not move to the target.

    How do I do this?

    Thanks in advance and keep up the great work. :)

    Edit: Nevermind. Found the answer in the premade sequences thread. Thanks. ;)
     
    Last edited by a moderator: Nov 7, 2015
    Yanfly likes this.
  6. MikePjr

    MikePjr Artist Veteran

    Messages:
    551
    Likes Received:
    231
    Location:
    Texas USA
    First Language:
    English
    Thank goodness, i figured out how to correct the problem i was having man.

    It had to do with there not being a $gameTroop.select(null); at the end of Window_BattleEnemy.prototype.refresh = function() {

    Below is where i added it, and now it's working fine, and the game's not freezing up with the changes i made to the enemy window not vanishing.

    Window_BattleEnemy.prototype.refresh = function() { this._enemies = $gameTroop.aliveMembers(); this.sortTargets(); Window_Selectable.prototype.refresh.call(this); $gameTroop.select(null);Funny how something so minor could cause such a big issue.

    I just hope i don't find any more issues after making this change, but i should not.
     
  7. lolshtar

    lolshtar Master of Magic thatknow nospell Veteran

    Messages:
    694
    Likes Received:
    99
    First Language:
    French
    Primarily Uses:
    RMMV
    Your notetags on skill cooldown need to be fixed you have both

    <SType x Cooldown: +y>

    and

    <SType x Cooldown: y>

    On the same skill tag

    Only <SType x Cooldown: y> works

    You'll probably ignore it but whatever, at least some people will know the mistake.
     
  8. Yanfly

    Yanfly Developer

    Messages:
    1,696
    Likes Received:
    2,316
     

     

    Thanks! Got it fixed! http://yanfly.moe/plugins/en/YEP_X_BattleSysATB.js



    I'm unable to replicate your error at all...

    [​IMG]

     

     

    The <SType x Cooldown: y> notetag is applied to the user.

     

    <SType x Cooldown: +y> is applied to the targets.

    Code:
    <SType x Cooldown: +y><SType x Cooldown: -y>Targets hit by this skill will have all skills in their skill library withSkill Type x to have their cooldowns adjusted by y. This does not apply tothe user and applies only to the targets.
     
  9. RyanBram

    RyanBram Veteran Veteran

    Messages:
    184
    Likes Received:
    143
    First Language:
    Indonesian
    Primarily Uses:
    RMMV
    Dear, Yanfly.

    I have some suggestion for your ATB script:

    1. Random initial ATB Gauge. Your ATB gauge always start from zero which make the actor act almost simultaneously. If there is a configuration for choosing minimum and maximum number of initial gauge the battle will start more dynamically as every actors (and enemies) will have different ATB starting gauge;
    2. Option for disabling Charge Gauge. This is the default in almost every Final Fantasy series. After ATB bar is full, the player can choose the action, and the game actor will response instantly without waiting again for charging, except maybe can be made optional for some special skills.
    3. Active ATB. Your ATB always waiting the player for inputting command. Final Fantasy, ATB always run when the player inputting command (except during choosing skills or item the ATB will stop) which can be very useful for some strategy during battle.
    Sorry if I cannot explain clear enough.

    Thanks,

    Ryan
     
    Last edited by a moderator: Nov 8, 2015
  10. Yanfly

    Yanfly Developer

    Messages:
    1,696
    Likes Received:
    2,316
    Hi Ryan:

    1. Go to the plugin's parameters. Under the 'Initial Speed' setting, type in the formula of how you want the ATB gauge to be filled up randomly.

    2. Go to the plugin's parameters. Under Charge Gauge, replace it with 0.

    3. For active ATB, I'll link to this again: http://forums.rpgmakerweb.com/index.php?/topic/48860-yep-yanfly-engine-plugins-newest-battle-system-atb-plugin-count-24/page-6#entry491855
     
    RyanBram likes this.
  11. Yanfly

    Yanfly Developer

    Messages:
    1,696
    Likes Received:
    2,316
    Damage Core

    Features and How to Use




    The Damage Core plugin enables you to have full control over the damage calculation process of your game ranging from individual damage formulas to damage caps to damage calculation steps.

    Plugin: http://yanfly.moe/plugins/en/YEP_DamageCore.js

    Instructions

    Introduction

     

    The game gives a lot of control over the damage formula, but it doesn’t give much control for everything else after calculating the damage formula. This plugin will give you control over the order the damage fomrula is calculated in addition to letting you insert your own changes to the damage formula at whatever you you wish.

     

    If you have YEP_BattleEngineCore.js installed, place this plugin under YEP_BattleEngineCore.js if you wish to make use of the extra features this plugin has to offer.

     

    Notetags

     

    The following are some notetags you can use to modify the damage caps.

     

    Skill and Item Notetag:

     

    <Bypass Damage Cap>

    This causes the skill/item to ignore the damage cap and go with the regular value of the calculated damage. This will cancel out any damage cap effects otherwise. This will take priority over any damage cap breaking effects.

     

    Actor, Class, Enemy, Weapon, Armor, and State Notetags:

     

    <Bypass Damage Cap>

    This will cause the related battler to bypass any damage capping effects and its skills/items will go with the uncapped calculated value.

     

    <Damage Cap: x>

    <Heal Cap: x>

    This will set the skill to have a damage/healing cap of x. This will cancel out any damage cap bypassers. If a battler has more than one damage cap, it will go with the highest value. This means if an actor that has a weapon that brings the damage cap to 99,999 and an accessory that brings the damage cap to 999,999, then the battler’s damage cap will be the highest value of 999,999.

     

    Plugin Commands

     

    The following are plugins you can use to set the damage cap rulings for your game. Keep in mind that individual aspects such as equipment traits, skill properties, etc. will take priority over these default caps.

     

    Plugin Command:

     

    SetDamageCap 9999

    Sets the default damage cap to 9999.

     

    SetHealingCap 9999

    Sets the default healing cap to 9999.

     

    EnableDamageCap

    Enables default cap for both damage and healing.

     

    DisableDamageCap

    Disables default cap for both damage and healing.

     

    Lunatic Mode – Damage Formula

     

    For those who think the damage formula box is too small and would like to use the notebox instead to declare the damage formula, you can use the notetags below:

     

    Skill and Item Notetags:

     

    <damage formula>

    value = 500;

    value += 2500;

    </damage formula>

    This will overwrite the damage formula found at the top and use the strings in the middle as the formula instead. Keep in mind that using comments here will cancel out anything following after. New variables can be used, too, to make damage calculations a bit easier.

     

    value – Refers to the amount that will become the base damage value.

    user – Refers to the actor/enemy using the skill/item.

    subject – Refers to the actor/enemy using the skill/item.

    target – Refers to the target actor/enemy on the receiving end of the skill/item.

     

    Lunatic Mode – Damage Steps

     

    The damage formula isn’t all there is to calculating the damage that appears at the very end. In this plugin’s parameters towards the bottom, you’ll see a large list of Damage Steps. Each one of these steps is a line of code that the damage count will run through in order to calculate and finalize the damage output.

     

    The purpose of those parameters is to allow you ease of access on where you want to insert code that is your own or custom code provided by another plugin. Here’s a quick reference on how the original damage flow looked like:

     

    Game_Action.prototype.makeDamageValue = function(target, critical) {

    var item = this.item();

    var baseDamage = this.evalDamageFormula(target);

    var value = baseDamage * this.calcElementRate(target);

    if (this.isPhysical()) {

    value *= target.pdr;

    }

    if (this.isMagical()) {

    value *= target.mdr;

    }

    if (baseDamage < 0) {

    value *= target.rec;

    }

    if (critical) {

    value = this.applyCritical(value);

    }

    value = this.applyVariance(value, item.damage.variance);

    value = this.applyGuard(value, target);

    value = Math.round(value);

    return value;

    };

     

    In the vein of keeping everything organized, the following lines have been incorporated into new functions:

     

    Formula New Function

    value *= target.pdr value = this.applyPhysicalRate

    value *= target.mdr value = this.applyMagicalRate

    value *= target.rec value = this.applyHealRate

    value = this.applyCritical(value) value = this.applyCriticalRate

     

    Yanfly Engine Plugins – Battle Engine Extension – Action Sequence Commands

     

    If you have YEP_BattleEngineCore.js installed with this plugin located underneath it in the Plugin Manager, you can make use of these extra damage related action sequences.

     

    BYPASS DAMAGE CAP

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This will override all damage caps. This is applied to healing, too.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: bypass damage cap

     

    DAMAGE CAP: x

    HEALING CAP: x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This sets the action’s damage cap to x, overriding all over damage caps in play except its own. This will also apply to healing, too.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: damage cap: 999

    healing cap: 999999

     

    DAMAGE RATE: x%

    DAMAGE RATE: x.y

    DAMAGE RATE: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This changes the damage rate across all types of damage (physical, magical, and certain hit). The damage rate is reset at the end of each action sequence. If you use a variable, it is treated as a percentage.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: damage rate: 50%

    damage rate: 8.667

    damage rate: variable 3

     

    FLAT DAMAGE: +x

    FLAT DAMAGE: -x

    FLAT DAMAGE: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This adds a flat damage across all types of damage (physical, magical, and certain hit). The flat damage is reset at the end of each action sequence. If you use a variable, it is added onto the damage.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: flat damage: +100

    flat damage: -250

    flat damage: variable 3

     

    FLAT GLOBAL: +x

    FLAT GLOBAL: -x

    FLAT GLOBAL: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This adds a flat global damage and heal across all types of damage (physical, magical, and certain hit). The flat damage and heal is reset at the end of each action sequence. If you use a variable, it is added onto the damage and heal.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: flat global: +100

    flat global: -250

    flat global: variable 3

     

    FLAT HEAL: +x

    FLAT HEAL: -x

    FLAT HEAL: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This adds a flat heal across all types of damage (physical, magical, and certain hit). The flat heal is reset at the end of each action sequence. If you use a variable, it is added onto the heal.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: flat heal: +100

    flat heal: -250

    flat heal: variable 3

     

    GLOBAL RATE: x%

    GLOBAL RATE: x.y

    GLOBAL RATE: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This changes the damage and healing rates across all types of damage (physical, magical, and certain hit). The damage and healing rates are reset at the end of each action sequence. If you use a variable, it is treated as a percentage.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: global rate: 50%

    global rate: 8.667

    global rate: variable 3

     

    HEAL RATE: x%

    HEAL RATE: x.y

    HEAL RATE: VARIABLE x

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This changes the healing rate across all types of damage (physical, magical, and certain hit). The healing rate is reset at the end of each action sequence. If you use a variable, it is treated as a percentage.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: heal rate: 50%

    heal rate: 8.667

    heal rate: variable 3

     

    RESET DAMAGE CAP

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This will reset the damage cap implemented by the Damage Cap action sequence. This will also reset the effects of the Bypass Damage Cap action sequence.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: reset damage cap

     

    RESET DAMAGE MODIFIERS

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    This will cause all damage and healing modifiers caused by action sequences to reset. While they normally reset at the end of each action sequence, this will allow you to do it manually.

    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

    Usage Example: reset damage modifiers
     
    Last edited by a moderator: Nov 10, 2015
  12. YEEART

    YEEART Super Highschool Level... Veteran

    Messages:
    90
    Likes Received:
    40
    Location:
    In the world of twelve.
    First Language:
    English
    Primarily Uses:
    N/A
    Uhhh, I'm encountering a major bug(?) here Yanfly. The only plugins I'm using are the ones from your most recent plugin updates, but an issue with the battle system keeps occurring. I can't select skills in battle.

    [​IMG]

    This is what happens when I attempt to select a skill. I can't choose my target, nor can I actually select a skill.
     
  13. TheGamedawg

    TheGamedawg Veteran Veteran

    Messages:
    350
    Likes Received:
    132
    Location:
    United States
    First Language:
    English
    Hello Yanfly!  I found an odd glitch involving the Equip plugin.  I can't find out how to fix it.

    Plugin Name: YEP_EquipCore

    Error Message/How to ReplicateThere's really no error message.  It's just a strange occurrence having to do with how the plugin appears to handle initialized equipment.  Here's the story.  In my game, you equip one weapon and 3 accessories.  I set one accessory to the initialized equipment as a test, then another, but later I decided to add one in for good, and it had a strange interaction with the plugin.

    http://imgur.com/a/yTD94

    This image is what the initialized equipment is now, as well as what it shows up as when I attempt to start a new game.  For some reason, it seems to of locked in the previous equipment I had, and I can't find a way to fix it.  Now, I have downloaded the 1.04 patch, which claims to of fixed some initialized equipment bug, but this is still happening.  I've tried turned the plugin off then back on, uninstalling it then reinstalling it back into my project.  Getting rid of the notetags in this charater's actor's slot in the database then adding them back in, but nothing seems to fix this strange bug.
     
    Last edited by a moderator: Nov 8, 2015
  14. Sol Rising

    Sol Rising Veteran Veteran

    Messages:
    162
    Likes Received:
    21
    First Language:
    English
    I had this bug before too... Think you might have to manually go to plugin list and click on each plugin as "ON"(even if it says it is on already) then hit "OK". 

    Basically after installing the plugins or updating the plugins you have to go through everyone of them and manually click "OK" for the system to register. Then save your game and start new game for everything to kick in. Should be fine after.
     
    YEEART likes this.
  15. YEEART

    YEEART Super Highschool Level... Veteran

    Messages:
    90
    Likes Received:
    40
    Location:
    In the world of twelve.
    First Language:
    English
    Primarily Uses:
    N/A
    Oh my... thanks!

    It actually worked :)
     
  16. Yanfly

    Yanfly Developer

    Messages:
    1,696
    Likes Received:
    2,316
    This is due to an error with the RPG Maker MV editor not updating the Actors.json files properly when changing the System tab's equipment type. I'm going to make a guess that you've changed the equipment types within the systems tab to less. Here's how you'll fix it:

    1. Go to your game's database system tab. 
    2. Change your equipment types to the original 5, Weapon, Shield, Head, Body, Accessory. Click OK.
    3. Save your project.
    4. Start your game.
    5. Exit your game.
    6. Exit the editor.
    7. Open back up the editor.
    8. Go into your database's actor's tab.
    9. Remove all of the starting equipment. They will have nothing equipped.
    10. Once this is done, go back to the system tab and change it back to Weapon, Accessory, Accessory, Accessory or whatever you wanted it as.
    11. Don't go to the Actor tab yet. Instead, click OK, save your project. Start your game. Exit your game.
    12. Go back into the Database, then reassign your starting equipment.
    They really need to get that bug fixed for the MV editor. :/
     
  17. Fernyfer775

    Fernyfer775 Veteran Veteran

    Messages:
    1,297
    Likes Received:
    798
    First Language:
    English
    Woohooo, damage core! :D

    Found a bug my dear Senpai.

    The action sequence tag for "damage rate: x%" doesn't seem to register.

    I re-downloaded and updated every one of your plugins to make sure I wasn't using an older version of the core/battlecore engine and still, it's not registering.
     
  18. YEEART

    YEEART Super Highschool Level... Veteran

    Messages:
    90
    Likes Received:
    40
    Location:
    In the world of twelve.
    First Language:
    English
    Primarily Uses:
    N/A
    So this leads onto my second question then, for the ATB. What would I need to do to for the atb gauge to fill up by agi + luk + atk + m.atk rather than agi alone? 

    It'd be awesome if someone could help me with this  :( ....
     
  19. Yanfly

    Yanfly Developer

    Messages:
    1,696
    Likes Received:
    2,316
    That's strange. I just tested it and it works.

    <target action>

    damage rate: 50%

    action effect

    damage rate: 100%

    action effect

    damage rate: 150%

    action effect

    damage rate: 200%

    action effect

    damage rate: 300%

    action effect

    damage rate: 400%

    action effect

    damage rate: 500%

    action effect

    </target action>

    That made the damage go progressively higher.

     

     

    For that, you'd have to modify the code.

    Game_Battler.prototype.atbSpeedTick = function() { var value = this.agi; if (BattleManager.atbRubberband()) { var min = BattleManager.atbMinimumSpeed(); var max = BattleManager.atbMaximumSpeed(); value = value.clamp(min, max); } return value * BattleManager.tickRate();};Change the var value = bit to

    Code:
    Game_Battler.prototype.atbSpeedTick = function() {    var value = this.agi + this.atk + this.mat + this.luk;    if (BattleManager.atbRubberband()) {      var min = BattleManager.atbMinimumSpeed();      var max = BattleManager.atbMaximumSpeed();      value = value.clamp(min, max);    }    return value * BattleManager.tickRate();};
     
    Last edited by a moderator: Nov 8, 2015
  20. Farr

    Farr Veteran Veteran

    Messages:
    247
    Likes Received:
    92
    Location:
    C-bus, Ohio
    First Language:
    Portuguese
    Is it possible to do lunatic damage formulas for weapons using note tags? (replacing #1 attack skill)
     
    Last edited by a moderator: Nov 8, 2015
Thread Status:
Not open for further replies.

Share This Page