DoubleX_RMMZ_Permanent_States
#1
Purpose
Lets you set some states to persist after the battler's dead and revived

Introduction
Code:
*      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
Code:
*    ## 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 contents>
*          - <permanent states contents>
*          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
Plugins:
1. DoubleX RMMZ Enhanced Codebase
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
Code:
*      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
Code:
*      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
Code:
*      { codebase: "1.0.2", plugin: "v1.00a" }(2020 Sep 28 GMT 0500):
*      1. 1st version of this plugin finished

Download Link
Download Link

Demo Link
Demo Link
My RMVXA/RMMV/RMMZ scripts/plugins:
http://rpgmaker.net/users/DoubleX/scripts/
Reply }


Messages In This Thread
DoubleX_RMMZ_Permanent_States - by DoubleX - 09-28-2020, 04:16 PM



Users browsing this thread: 2 Guest(s)