DoubleX RMVXA Item Triggers

0 Members and 1 Guest are viewing this topic.

***
Scripter
Rep:
Level 34
Changelog
Code: [Select]
#    v1.01a(GMT 1300 26-2-2016):                                               |
#    1. itcx and itax take the skill/item calling them as an argument as well  |
#    2. Fixed passing Scene_battle instead of a battler into itcx/itax bug     |
#    v1.00b(GMT 0400 7-11-2015):                                               |
#    1. Notetag values are now symbols of methods in the configuration regions |
#    2. This script doesn't need DoubleX RMVXA Item Triggers Compatibility to  |
#       be compatible with all its addressed scripts                           |
#    3. Further improved this script's compatibility, efficiency and simplicity|
#    v1.00a(GMT 1300 11-5-2015):                                               |
#    1. 1st version of this script finished                                    |

Authors
DoubleX

Credits
DoubleX(Optional)

Purpose
Sets some skills/items to trigger effects before and/or after being used

Games using this script
None so far

Notetag
Code: [Select]
#  * Skill/Item Notetags:                                                      |
#    1. <timing item trigger: itcx, itax>                                      |
#       - Sets a skill/item to trigger itax when timing and itcx are met       |
#       - It only works in battles using the default battle scene(Scene_Battle)|
#       - timing can be pre, post or custom timings set by you                 |
#       - pre means right before using the skill/item                          |
#       - post means right after using the skill/item                          |
#       - timing must only consist of alphanumeric characters                  |
#       - itcx can be set in Item Trigger Condition Notetag Values             |
#       - itax can be set in Item Trigger Action Notetag Values                |
Code: [Select]
    #--------------------------------------------------------------------------|
    #  Item Trigger Condition Notetag Values                                   |
    #  - Setups itcx used by <timing item trigger: itcx, itax>                 |
    #--------------------------------------------------------------------------|
    # itcx are used at:
    # 1. Scene_Battle
    #    - it.send(trigger[1], self) if it.send(trigger[0], self) in
    #      exec_item_triggers
    # itcx are strings of names of methods under DoubleX_RMVXA::Item_Triggers
    # itcx names can only use alphanumeric characters
    # battler is the battler using item
    # item is the skill/item using the itcx
    # The below itcx are examples added to help you set your itcx
    # You can freely use, rewrite and/or delete these examples

    # Sets the item trigger condition as always true
    def self.itc1(battler, item)
      true
    end

    # Sets the item trigger condition as always false
    def self.itc2(battler, item)
      false
    end

    # Sets the item trigger condition as needing switch with id x to be on
    def self.itc3(battler, item)
      $game_switches[x]
    end

    # Adds new itcx here
   

    #--------------------------------------------------------------------------|
    #  Item Trigger Action Notetag Values                                      |
    #  - Setups itax used by <timing item trigger: itcx, itax>                 |
    #--------------------------------------------------------------------------|
    # itax are used at:
    # 1. Scene_Battle
    #    - it.send(trigger[1], self) if it.send(trigger[0], self) in
    #      exec_item_triggers
    # itax are strings of names of methods under DoubleX_RMVXA::Item_Triggers
    # itax names can only use alphanumeric characters
    # battler is the battler using item
    # item is the skill/item using the itax
    # The below itax are examples added to help you set your itax
    # You can freely use, rewrite and/or delete these examples

    # Sets the item trigger action as what Special Effect Escape does
    def self.ita1(battler, item)
      battler.hide
    end

    # Sets the item trigger action as calling common event with id
    # common_event_id
    def self.ita2(battler, item)
      $game_temp.reserve_common_event(common_event_id)
      SceneManager.scene.process_event
    end

    # Sets the item trigger action as executing damage equal to the value of
    # game variable with id x to self with type equal to that of skill with id
    # equal to y
    def self.ita3(battler, item)
      battler.result.clear
      battler.result.make_damage($game_variables[x], $data_skills[y])
      battler.execute_damage(battler)
    end

    # Adds new itax here
   

Script Call
Code: [Select]
#  * Scene manipulation                                                        |
#    1. exec_item_triggers(item, timing)                                       |
#       - Executes all item triggers with timing timing of item item           |

Prerequisites
Abilities:
1. Decent RGSS3 scripting proficiency to fully utilize this script

Terms Of Use

You shall:
1. Keep this script's Script Info part's contents intact
You shalln't:
1. Claim that this script is written by anyone other than DoubleX or his aliases
None of the above applies to DoubleX or his/her aliases

Instructions
Open the script editor and put this script into an open slot between Materials and Main. Save to take effect.
« Last Edit: February 27, 2016, 02:03:28 AM by DoubleX »

***
Scripter
Rep:
Level 34
Updates
Code: [Select]
#    v1.00b(GMT 0400 7-11-2015):                                               |
#    1. Notetag values are now symbols of methods in the configuration regions |
#    2. This script doesn't need DoubleX RMVXA Item Triggers Compatibility to  |
#       be compatible with all its addressed scripts                           |
#    3. Further improved this script's compatibility, efficiency and simplicity|

***
Scripter
Rep:
Level 34
Updates
Code: [Select]
#    v1.01a(GMT 1300 26-2-2016):                                               |
#    1. itcx and itax take the skill/item calling them as an argument as well  |
#    2. Fixed passing Scene_battle instead of a battler into itcx/itax bug     |