Reserve Actions

● ARCHIVED · READ-ONLY
Started by Solar_Flare 3 posts View original ↗
  1. Reserve Actions v1.0
    Solarflare Software​

    Introduction

    I posted this in my misc plugins thread yesterday, but after some thought, I decided that it really deserves its own thread.

    This adds a new system that allows "reserve actors", that is, actors who are in your party but would normally not participate in battle, to occasionally leap into the fray based on certain conditions. It's an idea inspired by a 3DS game called Radiant Historia: Perfect Chronology.

    In short, when certain events occur, such as ambushing the enemy, protecting an ally and nearly dying, or getting a critical hit and almost killing the enemy, the plugin searches the reserve members of your party to find one who can use a reserve skill in the given context. If any are found, the plugin picks one at random, and then that member hops out onto the field, uses the chosen skill, and then immediately retreats back off the edge.

    This is intended for use with side-view battle – I have not tested it with front view.

    Features

    • Set skills to be available to reserve actions, and the conditions under which they trigger.
    • Set a position where reserve actors will appear on the battlefield – their home position.

    Video

    Here you can see a reserve actor casting a buff at battle start.

    [embedded media]

    How to Use

    1. Download SFG_Utils (from my misc plugins thread, or direct link here) and the plugin file (linked below).
    2. Put both files in the plugins folder in your project.
    3. Add the plugins to the plugins manager. Make sure SFG_Utils is on top.
    4. Add note tags to your skills and make sure there is a reserve actor in your party who can use those skills.

    The format of the note tags is documented in the plugin itself.

    Download

    Download Link (RPGMaker Forums attachment)

    Alt Download Link (My website)

    A demo can be downloaded here.

    Terms and Credits
    • You can use this plugin in commercial or non-commercial games, free of charge.
    • Don't remove me from the "author" field in the plugin file.
    • Credit would be appreciated. You can credit me as "Solar Flare" or "Solarflare Software".
    • Feel free to modify this however you need for your game. Note: This only applies to SFG_ReserveActions – you may not modify SFG_Utils for any reason. If you need something added to or altered in SFG_Utils, just create a new plugin.
  2. Solar_Flare said:
    3DS game called Radiant Historia: Perfect Chronicle.
    its Radiant Historia: Perfect Chronology (not Chronicle).

    but not sure of what I didn't paid attention on those, nice plugin though.
  3. I've released version 2.0, which smooths out some rough edges in some areas and adds a bunch more trigger contexts. There is also a demo available for download now.

    General things:
    • Previously it was possible for reserve actions to trigger other reserve actions in a chain. This is now disabled... but there's a plugin setting to turn it back on if you really want.
    • Multi-target actions can trigger a new reserve action for each target. There was previously no limit on that. Now there's a new plugin setting to limit how many reserve actions can be triggered by another (usually user-chosen) action.
    • There was no limit on how many times a particular reserve actor could hop in. Now it's limited to once per round by default, but that can be increased in the plugin settings.
    • The documentation stated that the <reserveCondition> formula could access the substitute actor as c, but that wasn't implemented. Now it is.
    • The documentation stated that items could be set as reserve skills, but that didn't actually do anything. Now it works. In addition, a note tag was added to limit use of items in reserve actions based on how many of the item the party owns.
    • Now you don't have to use <reserveCondition> just to limit actions to specific classes or actors – there are separate note tags for this.
    • Reserve actions triggered by substitute can now target the actor that was protected, instead of the actor that protected them.
    • A death will no longer trigger actions of the "restricted" context.
    • Fixed reserve actions at the start of battle cancelling out the surprise attack or preemptive attack flags.
    • There were a lot of cases where the reserve actor sprites appeared glitchy when multiple actions happen in close proximity. Most of those glitches have been fixed. There may still be a few remaining.
    • Previously, reserve actors would happily do things that won't have any effect, such as healing an actor at full health or applying a state that's already applied. They no longer do that.
    • Previously, if you used Force Action in an event, it could trigger a reserve action in response. Now it won't.
    • The p and t available in reserve condition formulas now allow grabbing a specific member by indexing, eg p[2].
    • Fixed starting to check for reserve actions when the party isn't in battle. This wasn't really a bug (later checks would've aborted the process), but maybe it could be a performance issue in a larger game.
    • Reserve actions triggered from a skill now automatically select either the user or target of the original skill based on whether the reserve skill applies to enemies or allies.
    • The reserve condition formula can now access a number of new variables.
    • Actions can now target reserve actors if the code explicitly set them to. This could happen if a reserve action triggered a reflect or counter which then triggered another reserve action targeting the previous reserve actor. Previously, the game would've redirected the action to target the first non-reserve member; now it properly targets the intended reserve member.
    • For actions targeting All Allies, you can now specify that this extends to the reserve members.
    • Added a check that there are any enemies left before starting a reserve action.
    • Don't consider a damaging reserve action valid if the intended target is already dead.
    • States and buffs now wear off on reserve members, and HP/MP/TP regenerate is applied.

    New available contexts:
    • When a battler dies. Use <reserveCondition> if you need to restrict it to only an enemy or actor dying.
    • When a battler becomes restricted – that is, they are afflicted by a state with a restriction but weren't before. Use <reserveCondition> if you need to restrict it to only an enemy or actor dying. The condition can access the state in the formula as state. (Note: Though death is technically a restriction, it won't trigger this context since it has its own context.)
    • When an actor's MP gets low (below 25%).
    • When an actor's TP hits the maximum value.
    • When an actor almost dies.
    • When an area attack nearly defeats the party.
    • When any damage is dealt to a battler. Meant to be used with <reserveCondition> for more complicated situations.
    • When any state is afflicted to a battler. Meant to be used with <reserveCondition> for more complicated situations.
    • When battle starts and the party is taken by surprise.
    • When a battle the party cannot escape from starts. (Note: previously this was included in the normal "start" context. It no longer is.)
    • When a battler counterattacks
    • When a battler reflects magic
    • When the party tries to escape and fails

    New condition formula variable:
    • when: contains the actual context – useful if you want a skill to trigger in multiple contexts with different conditions
    • user: contains the user of the skill, for actions triggered from a skill.
    • target: contains the target of the skill, for actions triggered from a skill (This was already available as b. However, now b refers to the target if it exists, otherwise the user.)
    • trigger: the actual skill that triggered the action, if any.
    • magic: this allows you to check if a skill is magic via an in test.