Jump to content
DoubleX

DoubleX_RMMZ_Permanent_States

Recommended Posts

Purpose

Lets you set some states to persist after the battler's dead and revived

 

Introduction

*      1. The default RMMZ states are all gone when the battler's dead
*      2. This plugin lets you set some states to persist after the battler's
*         dead and revived afterwards

 

Video

 

Games using this plugin

None so far

 

Notetags

Spoiler

*    ## Notetag Info
*       1. Among all the same notetag types in the same data, all can be
*          effective
*       2. Each line can only have at most 1 notetag
*       3. The following is the structure of all notetags in this plugin:
*          - <doublex rmmz permanent states>
*          - <permanent states>
*          Where contents are in the form of type suffixes: entries
*          Either of the above can be used, but the 1st one reduce the chance
*          of causing other plugins to treat the notetags of this plugin as
*          theirs, while the 2nd one is more user-friendly
*          - type is one of the following:
*            1. battle
*            2. map
*            (Search tag: NOTE_TYPE)
*          - suffixes is the list of suffixes in the form of:
*            suffix1 suffix2 suffix3 ... suffixn
*            Where each suffix is either of the following:
*            val(The notetag value will be used as-is)
*            switch(The value of the game switch with id as the notetag value
*                   will be used)
*            var(The value of the game variable with id as the notetag value
*                will be used)
*            (Advanced)script(The value of the game variable with id as the
*                            notetag value will be used as the contents of
*                            the functions to be called upon using the
*                            notetag)
*          - The this pointer of the script suffix is the battler involved
*            (Game_BattlerBase.prototype)
*          - entries is the list of entries in the form of:
*            entry1, entry2, entry3, ..., entryn
*            Where entryi must conform with the suffixi specifications
*----------------------------------------------------------------------------
*    # State Notetags
*      1. battle condSuffix typeSuffix: condEntry, typeEntry
*         - Sets the permanent state type as specified by typeEntry inside
*           battles if condEntry returns a truthy result
*         - condSuffix can be val, switch or script
*         - The result of condEntry can be anything as only whether it's
*           truthy matters
*         - typeEntry can be val, var or script
*         - typeEntry must be either of the following:
*           persist - The state will be kept upon death
*           recover - The state will be kept upon recover all
*           revive - The state will be added back upon revival
*         - E.g.:
*           <permanent states battle switch val: 1, persist> will make the
*           state to be kept upon death inside battles if the game switch
*           with id 1 is on
*      2. map condSuffix typeSuffix: condEntry, typeEntry
*         - Sets the permanent state type as specified by typeEntry outside
*           battles if condEntry returns a truthy result
*         - condSuffix can be val, switch or script
*         - The result of condEntry can be anything as only whether it's
*           truthy matters
*         - typeEntry can be val, var or script
*         - typeEntry must be either of the following:
*           persist - The state will be kept upon death
*           recover - The state will be kept upon recover all
*           revive - The state will be added back upon revival
*         - E.g.:
*           <permanent states battle val var: true, 1> will make the
*           state to be kept upon recover all outside battles if the value of
*           the game variable with id 1 is "recover"

 

 

Prerequisites

Spoiler

Plugins:

1. DoubleX RMMZ Enhanced Codebase

Abilities:

1. Nothing special for most ordinary cases

2. Little RMMZ plugin development proficiency to fully utilize this

    (Elementary Javascript exposures being able to write beginner codes up to 300LoC scale)

 

Terms Of Use

Spoiler

*      1. Commercial use's always allowed and crediting me's always optional.
*      2. You shall keep this plugin's Plugin Info part's contents intact.
*      3. You shalln't claim that this plugin's written by anyone other than
*         DoubleX or my aliases. I always reserve the right to deny you from
*         using any of my plugins anymore if you've violated this.
*      4. If you repost this plugin directly(rather than just linking back),
*         you shall inform me of these direct repostings. I always reserve
*         the right to request you to edit those direct repostings.
*      5. CC BY 4.0, except those conflicting with any of the above, applies
*         to this plugin, unless you've my permissions not needing follow so.
*      6. I always reserve the right to deny you from using this plugin
*         anymore if you've violated any of the above.

 

 

Contributors

Spoiler

*      Authors:
*      1. DoubleX
*      Plugin Development Collaborators:
*      - None So Far
*      Bug Reporters:
*      - None So Far
*      Compatibility Issue Raisers:
*      - None So Far
*      Feature Requesters:
*      - None So Far

 

 

Changelog

Spoiler

*      { codebase: "1.0.2", plugin: "v1.00a" }(2020 Sep 28 GMT 0500):
*      1. 1st version of this plugin finished

 

 

Download Link

Demo Link

Edited by DoubleX

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×