Welcome to PGMV! My goal is to make it easy for everyone to find and share great plugins for creating amazing games. As a plugin developer myself, I'm excited to grow this community with all of you.
FTKR Skill Expansion - FTKR_SkillExpansion.js
Plugin desc : v1.4.2 Skill Extension Plugin
License : MIT License
Author : Futokoro
Desc page : https://github.com/munokura/futokoro-MV-plugins/tree/master
Download Page : https://raw.githubusercontent.com/munokura/futokoro-MV-plugins/refs/heads/master/FTKR_SkillExpansion.js
File name : FTKR_SkillExpansion.js
Help of plugin :
@plugindesc v1.4.2 Skill Extension Plugin @author Futokoro @license MIT License @help English Help Translator: munokura This is an unofficial English translation of the plugin help, created to support global RPG Maker users. Feedback is welcome to improve translation quality (see: https://github.com/munokura/futokoro-MV-plugins ). Original plugin by Futokoro. Please check the URL below for the latest version of the plugin. URL https://github.com/futokoro/RPGMaker ----- ----------------------------------------------------------------------------- Overview ----------------------------------------------------------------------------- Implementing this plugin expands skill specifications and allows for more detailed settings. The following main changes have been made: 1. The damage dealt by skills is changed as follows: [Damage] = [Damage ID 0] + [Damage ID 1] + ... Damage for each damage ID has a separate value and is calculated separately. 2. The target of the effect can now be freely changed, and non-numeric values can be used. 3. For skills that attack multiple times, the skill success rate and damage can be changed for each attack. 4. Conditions other than weapon can be added to skill usage conditions. 5. Skill costs can now be set to non-numeric values. In addition, HP can be set as a cost. 6. Skill descriptions can be displayed differently depending on the conditions. 7. The calculation method for damage against multiple Elements can be changed. Also, by combining this with the separately distributed FTKR_SEP_ShowSkillStatus.js, you can display the parameters of the skills you set in the Skills menu. ----------------------------------------------------------------------------- Setup Instructions ----------------------------------------------------------------------------- 1. Add this plugin to the "Plugin Manager." 2. When using this plugin in conjunction with FTKR_ItemSelfVariables.js, add this plugin below FTKR_ItemSelfVariables.js. <About Conflicts with Other Plugins> 1. When using this plugin in conjunction with YEP_BattleEngineCore.js, place this plugin above YEP_BattleEngineCore.js. <About Save Data> When applying this plugin, be sure to start the game with new data, including test play. ----------------------------------------------------------------------------- Damage Settings ----------------------------------------------------------------------------- Applying this plugin will change the damage dealt by skills to the following specifications. [Damage] = [Damage for Damage ID 0] + [Damage for Damage ID 1] + ... For each damage ID, attack and Guard damage are calculated, and the sum of these results is the final damage dealt to the opponent. For example, you can create a skill with multiple Elements that deals different damage for each Elements, or a skill that deals both physical and magical damage. You can set each damage ID by adding the following note tag to a skill. By setting a skill ID for each damage ID, damage calculation for each damage ID will be based on that skill ID's Elements, damage formula, hit type, and damage type. In addition, the skill ID's effect and TP gain will also be calculated along with the damage. Damage ID 0 Reflections the database settings of the base skill. ************************************************************************** Note: When adding damage IDs, be sure to add them in order, starting with ID 1. ********************************************************************** <Set Sep Damage: x> code </Set Sep Damage> : The settings described in the code section will be applied to damage ID x. [Items that can be used in code] SkillId: y : Copy the skill settings for skill ID y. : Basically, use this code to create settings for each damage ID. ElementId: y1,y2,... : Add the Elements specified by Elements IDs y1,y2,.... DamageRate: y : Change the damage multiplier to y (%). CriticalRate: y : Change the critical damage multiplier to y (%). Trait Elements: type1,type2,... : Add the Elements in the traits section of the target specified by type. The targets that can be specified with :type are Actor, Class, Weapon, :Armor, and States. Enabled: eval :Enables the target damage ID under the conditions set by eval. If not set, it is always enabled. :Cannot be set for damage ID 0. :If not enabled, it will not be Reflectioned in damage. [About eval Values] The eval section allows you to use values other than fixed values by entering a calculation formula, like a damage calculation formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power) s[x] - References the state of switch ID x. v[x] - References the value of variable ID x. Input Example) As damage ID 1, when the The User is level 11 or higher and switch ID 1 is ON, adds the damage of skill ID 10. The damage multiplier will be changed to 50% and critical damage to 400%. Elements, hit type, calculation formula, etc. will be used from skill ID 10. <Set Sep Damage: 1> SkillId: 10 DamageRate: 50 CriticalRate: 400 Enabled: a.level > 10 && s[1] </Set Sep Damage> [Plugin Parameter Settings] <Critical For Each> :Choose whether to check for a critical hit only for the first hit (damage ID 0), :or whether to check for each damage ID. <AutoAddition Damage Rate> :Choose whether to automatically calculate the damage multiplier code without entering it in the damage formula. :If you disable this option, the damage multiplier will be multiplied by the result of the damage formula. :Note that even if you disable this option, entering the damage multiplier code in the formula will result in double calculation. <Default Rate> : Sets the default damage multiplier (%). <Critical Rate> : Sets the default critical damage multiplier (%). [Codes Usable in Damage Formulas] The following codes can also be used in damage formulas. d.rate: Retrieves the damage multiplier value set by the skill. rct: Retrieves the Repeat. The first is 0. For consecutive attacks, : Can be used to vary the damage for each hit. Usage Example) <AutoAddition Damage Rate: 0> (4 * a.atk * (1 - rct * 0.2) - 2 * b.def) * d.rate * 0.01 The damage multiplier is multiplied by 4 times the The User's attack power minus 2 times the opponent's Guard power. However, if a consecutive count is set, attack power will decrease by 20% from the second hit onwards. ----------------------------------------------------------------------------- Effect Settings ----------------------------------------------------------------------------- You can change the effect settings by adding the following notetag to a skill. <Set Sep Effect: x> code </Set Sep Effect> : The settings described in the code section will be applied to the effect with ID x. : The effect IDs are assigned sequentially from top to bottom in the order they are set in the effects section, starting from 0, 1, and so on. [Items that can be used in code] Target: y: Changes the target of the effect to y. : The following codes can be used for y. : The User - The User : randomFriends - Select one random ally. : randomOpponents - Select one enemy at random. Value1: eval1 : Changes the effect's content 1 to the value set in eval1. : Content 1 is the first value set in the effect. : For example, for HP Recover, the value set in %. Value2: eval1 : Changes the effect's content 2 to the value set in eval1. : Content 2 is the second value set in the effect. : For example, for HP Recover, the value set in +. Rate: y : Sets the value of the rate code, which can be used with eval1, to y. Enabled: eval2 : Enables the target effect ID under the conditions set in eval2. : If not set, it will always be enabled. : If not enabled, no effect will occur. Display: DISPAYNAME : Changes the on-screen effect name for effect ID x to DISPAYNAME. Using %1 : converts that part to a rate value. [About the eval1 Value] The eval section, like the damage calculation formula, allows you to use non-fixed values by entering a formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power) b.param - References the target's parameters. v[x] - References the value of variable ID x. hpDamage - References the HP damage amount. mpDamage - References the MP damage amount. e.rate - References the rate value set in the tag above. [About the eval2 Value] The eval section, like the damage calculation formula, allows you to use non-fixed values by entering a formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power) s[x] - References the state of switch ID x. v[x] - References the value of variable ID x. Input example) By adding "HP Recover" to the first effect and entering the following tag, when switch ID 1 or switch ID 2 is ON, the The User will recover 20% of the damage dealt to the opponent. In addition, the display name (distributed separately) will be changed to "HP Drain 20%" by the FTKR_SEP_ShowSkillStatus.js. <Set Sep Effect: 0> Target: The User Value1: 0 Value2: hpDamage * e.rate * 0.01 Rate: 20 Enabled: s[1] || s[2] Display: HP Drain %1% </Set Sep Effect> ----------------------------------------------------------------------------- Setting Repeat Count ----------------------------------------------------------------------------- You can set the repeat count by adding the following note tag to the skill. <Set Sep Repeat> code </Set Sep Repeat> : The repeat count setting specified in the code section is applied. [Items that can be used in code] Count: y: Changes the repeat count to y. Success Rate: eval: Sets the skill's success rate per repeat to eval. Rate: y: A code that can be used in eval. Sets the rate value to y. [About eval values] The eval section allows you to use non-fixed values by entering a formula, like a damage calculation formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power) b.param - References the target's parameters. v[x] - References the value of variable ID x. rct - References the number of consecutive hits. Counts from 0, 1,... starting with the first hit. rate - References the rate value set in the tag above. base - References the success rate (based on the skill success rate set in the database multiplied by the The User's hit rate). The value is expressed as a decimal between 0 and 1. Input example) The skill is used five times in a row, with the success rate decreasing by 10% each time. If the first use is 100%, the second use is 90%, the third use is 80%, and so on. <Set Sep Repeat> Count: 5 Rate: 10 Success Rate: base - rct * rate * 0.01 </Set Sep Repeat> ----------------------------------------------------------------------------- Setting Usage Conditions ---------------------------------------------------------------------------- You can set usage conditions by adding the following note tags to a skill. <Set Sep Required> : The usage conditions are Reflectioned in the code section. </Set Sep Required> [Items that can be used in code] WtypeId: y1,y2,... : Adds required weapon types y1,y2,... EtypeId: y1,y2,... : Specific equipment types are required to use the skill. Logic: type : Sets the logic calculation method when multiple required weapons or equipment are specified. Set the following code for type. : and - All items must be equipped. : or - Only one of them must be equipped. : nand - Combinations of the specified equipment are prohibited. : nor - None of the items must be equipped. : If not set in code, 'or' is applied. Condition: eval: Adds the condition set in eval to the skill usage conditions. Forget: eval: Sets the condition for forgetting the skill in eval. : If not set, the skill will be forgotten unconditionally. [About the eval Value] The eval section allows you to use values other than fixed values by entering a calculation formula, such as a damage calculation formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power.) s[x] - References the state of switch ID x. v[x] - References the value of variable ID x. Input Example) Sets the weapon required to use the skill to weapon type 1 or 2. However, you must be equipped with both weapon types 1 and 2. Also, to use this skill, you must be level 10 or higher and switch ID 1 must be ON. <Set Sep Required> WtypeId: 1,2 Logic: and Condition: a.level >= 10 && s[1] </Set Sep Required> --------------------------------------------------------------------------- Setting Cost Cost ---------------------------------------------------------------------------- You can change the cost cost setting by adding the following note tag to the skill. <Set Sep Cost> code </Set Sep Cost> : The cost cost setting written in the code section is Reflectioned in the code section. [Items that can be used in code] Mp: eval : Changes the MP cost to the value set in eval. Tp: eval : Changes the TP cost to the value set in eval. Hp: eval : Sets the HP cost to the value set in eval. Rate: eval : A code that can be used in eval. The value of rate is Reflectioned in the code. Set it to :y. [About the eval value] The eval section allows you to use non-fixed values by entering a formula, like a damage calculation formula. The following code can be used: a.param - References the The User's parameters. (a.atk is the The User's attack power) v[x] - References the value of variable ID x. rate - References the rate value set in the tag above. Input example) Consume all of the The User's current MP and TP. However, a minimum of 1 is required. <Set Sep Cost> Mp: Math.max(a.mp, 1) Tp: Math.max(a.tp, 1) </Set Sep Cost> ----------------------------------------------------------------------------- Setting the Skill Description ----------------------------------------------------------------------------- You can change the skill description by adding the following note tag to the skill. Skill descriptions can be registered by ID, and by setting display conditions for each ID, you can change the description displayed in-game. The description in the database is registered under ID0. Display conditions for ID0 cannot be set, and if the display conditions for other IDs are not met, the description for ID0 will be displayed. <Set Sep Desc: x> : The code setting and the description code (lines 1 and 2) are Reflectioned for ID x. code Description Line 1 Description Line 2 </Set Sep Desc> [Items that can be used in code] Enabled: eval : Sets the display conditions for the description for ID x using eval. : If the display conditions overlap for multiple IDs, the one with the higher ID will be displayed. [About the eval value] The eval section allows you to use values other than fixed values by entering a formula, such as a damage formula. The following codes can be used: a.param - References the The User's parameters (a.atk is the The User's attack power). s[x] - References the state of switch ID x. v[x] - Refers to the value of variable ID x. Input example) Sets the description to display when switch ID 1 is ON. <Set Sep Desc: 1> Enabled: s[1] This is the string displayed on the first line of the description. This is the string displayed on the second line of the description. </Set Sep Desc> ----------------------------------------------------------------------------- About elemental damage calculation ----------------------------------------------------------------------------- The <Element Damage Calc> plugin parameter allows you to change how the Guard's effectiveness is calculated when attacking with multiple elements. You can choose from four calculation methods: maximum, average, cumulative, and minimum. <0: Maximum> : The maximum value of the Guard's corresponding elemental effectiveness will be the final damage multiplier. (Standard method for RPG Maker MV) Example) A dual-element attack (physical + fire), with the defender's physical effectiveness at 50% and fire effectiveness at 70% ⇒ The final effectiveness is 70% ( = max(50%, 70%)) <1: Average>: The average of the defender's corresponding Elements effectiveness is the final damage multiplier. Example) A dual-element attack (physical + fire), with the defender's physical effectiveness at 50% and fire effectiveness at 70% ⇒ The final effectiveness is 60% ( = (50% + 70%) / 2) <2: Accumulation>: The cumulative value of the defender's corresponding Elements effectiveness is the final damage multiplier. Example) A dual-element attack (physical + fire), with the defender's physical effectiveness at 50% and fire effectiveness at 70% ⇒ The final effectiveness is 35% ( = 50% × 70%) <3: Minimum>: The minimum value of the defender's corresponding Elements effectiveness is the final damage multiplier. Example: A dual-element attack (physical + fire) with the defender's physical effectiveness set to 50% and fire effectiveness set to 70%. ⇒ The final effectiveness is 50% ( = min(50%, 70%)). Please note that this calculation is performed separately for each damage ID. The following two patterns will result in the same damage if the defender's effectiveness is not set. However, if the effectiveness is set, the final damage will change. Pattern 1: Damage ID 0 only Elements: Physical + Fire Calculation Formula: 200 ⇒ When the defender's effectiveness is 50% Physical and 70% Fire, and the settings are maximum 200 * 70% = 140 damage Pattern 2: Damage ID 0 and Damage ID 1 ID 0 Elements: Physical ID 0 Calculation Formula: 100 ID 1 Elements: Fire ID 1 Calculation Formula: 100 ⇒ When the defender's effectiveness is 50% Physical and 70% Fire, and the settings are maximum 100 * 50% + 100 * 70% = 120 damage ----------------------------------------------------------------------------- Other Settings ----------------------------------------------------------------------------- Other settings that can be configured with this plugin are described below. [Tags Available] Target: Skill <Sep Scope Random: y> : If the scope is set to "X random enemies," : Changes the random target X to y. [Plugin Parameter Settings] <Make Sep For Each> : Automatically creates individual data for each skill when an actor learns it. : If using the separately distributed FTKR_SkillUpgradeSystem.js, set this to '1'. : The created data can be modified, reset, or deleted using the plugin commands described below. <Enabled Repeat Failure> : This setting determines whether to stop attacks when a skill fails, misses, or is Evasiond during a series of attacks. : 0 - Continue attacking, 1 - Stop attacking. ----------------------------------------------------------------------------- Plugin Commands ----------------------------------------------------------------------------- The following plugin commands can be used. Note that you can specify in-game variables as values for plugin commands, not just numbers. Example: To use the value of variable ID1 in the actor ID specification section: ⇒ actor(v[1]) 1. Change the skill parameters of the specified target. Note that this command is invalid if the specified actor does not have individual data for the specified skill. <SEP SET ACTOR(x1) SKILL(x2) PROP VALUE> : x1 - Specifies the actor ID. : x2 - Specifies the skill ID. : PROP VALUE - Select from the following depending on the skill parameter you want to change. : Be sure to enter lowercase letters. : damages(y1) rate(y2) - Changes the rate of damage ID y1 to y2. : effects(y1) rate(y2) - Changes the rate of effect ID y1 to y2. : speed value(y) - Changes the speed modifier to y. : repeats rate(y) - Changes the repeat rate to y. : repeats count(y) - Changes the repeat count to y. : sepCost rate(y) - Changes the cost rate to y. : scope value(y) - Changes the scope to y. : scoperandom value(y) - Changes the number of random targets to y. : name SKILLNAME - Changes the skill name to 'SKILLNAME'. : name v[y] - Changes the skill name to the string stored in variable ID y. Example) <SEP SET ACTOR(1) SKILL(1) damages(0) rate(200)> : Changes the damage multiplier to 200 for damage ID 0 set for skill ID 1 learned by actor 1. 2. Resets the individual data for the specified actor's skill. Note that this is invalid if the specified actor does not have individual data for the specified skill. <SEP RESET ACTOR(x1) SKILL(x2)> : x1 - Specify the actor ID. : x2 - Specify the skill ID. 3. Deletes the individual skill data for the specified actor. Note that this command is invalid if the specified actor does not have individual skill data for the specified skill. After deletion, the default skill data will be referenced. <SEP ERASE ACTOR(x1) SKILL(x2)> : x1 - Specify the actor ID. : x2 - Specify the skill ID. 4. Creates individual skill data for the specified actor. Note that this command is invalid if the specified actor already has individual skill data for the specified skill. Also invalid if the specified skill is not known. After creation, the individual skill data will be referenced. <SEP MAKE ACTOR(x1) SKILL(x2)> : x1 - Specify the actor ID. : x2 - Specify the skill ID. ----------------------------------------------------------------------------- Script Command ----------------------------------------------------------------------------- You can use the following script command to determine whether a skill has individual data. $gameActors.actor(x).isMakedSepSkill(y) : Returns true if the specified actor has individual skill data. : x - Actor ID : y - Skill ID ----------------------------------------------------------------------------- About the eval value's The User parameter ----------------------------------------------------------------------------- In addition to parameters such as HP and hit rate, you can also obtain various actor status information as The User parameters. Below are some examples. You can also use these as script commands by changing 'a' to '$gameActors.actor(y)'. (y is the actor ID) 1. Determine whether a specific piece of equipment is being worn a.isEquipped(x) : x - $dataWeapons[n] for weapons, $dataArmors[n] for armor : n is the weapon/armor ID 2. Determine whether a specific skill has been acquired a.isLearnedSkill(x) : x - Skill ID 3. Determine whether a specific state effect has been applied a.isStateAffected(x) : x - State ID 4. Determine whether a specific buff has been applied a.isBuffAffected(x) : x - Buff ID (IDs are as follows): : 0 - Max HP, 1 - Max MP, 2 - Attack Power, 3 - Guard Power, 4 - Magic Attack, : 5 - Magic Guard, 6 - Agility, 7 - Luck 5. Determine whether a specific debuff has been applied a.isDebuffAffected(x) : x - Weak ID (ID applies to the same effect as buffs) ----------------------------------------------------------------------------- License for this plugin ----------------------------------------------------------------------------- This plugin is released under the MIT License. Copyright (c) 2017,2018 Futokoro http://opensource.org/licenses/mit-license.php Plugin source https://github.com/futokoro/RPGMaker/blob/master/README.md ----------------------------------------------------------------------------- Change History ----------------------------------------------------------------------------- v1.4.2 - 2018/11/18: Bug Fixes 1. Fixed an issue where command memory was disabled when the plugin parameter Make Sep For Each was set to 1. v1.4.1 - 2018/08/13: Conflict Avoidance 1. Avoided a conflict in the HP cost consumption process in YEP_SkillCore.js. v1.4.0 - 2018/08/05: Traits Added 1. Added a Traits to exclude 100% Elements effectiveness when calculating Elements damage. v1.3.4 - 2017/10/16: Bug Fixes 1. Fixed an issue where the conditional branching of Event¥s Contents" would not correctly determine whether a skill was learned. v1.3.3 - 2017/04/09: Bug Fixes 1. Added exception handling for when damage is not set. 2. Added exception handling for when the The User is not set. v1.3.2 - 2017/04/09: Bug Fixes 1. Fixed an issue where an error occurred when using an item. v1.3.1 - April 4, 2017: Some processing revisions and help revisions. 1. Processing revisions made to allow this plugin's functions to be applied to some items. 2. Help revisions. 3. License information changed. v1.3.0 - March 24, 2017: Bug fixes, specification changes, and Traits additions. 1. Fixed an issue where the critical damage multiplier was not being read correctly. 2. Changed the code name of the note tag used to set the damage multiplier. 3. Added a Traits that allows you to skip entering the damage multiplier code in the damage calculation formula. 4. Added exception handling to the Elements reading section in the Traits section. v1.2.5 - March 23, 2017: Bug fixes. 1. Fixed a typographical error in the critical damage processing section. 2. Fixed an issue where the <Critical For Each> setting was not Reflectioned in critical hit determinations for damage IDs 1 and above. v1.2.4 - 2017/03/18: Bug Fixes 1. Fixed an error that occurred when using an item. v1.2.3 - 2017/03/18: Fixed a typo. v1.2.2 - 2017/03/18: Reviewed processing and added Traits 1. Reviewed how damage IDs are handled during skill execution. 2. Changed so that the skill effect and TP gained when assigned to each damage ID are generated. v1.2.1 - 2017/03/17: Added Traits 1. Added a Traits that allows you to set whether to stop attacks when a consecutive attack is judged to be a failure. v1.2.0 - 2017/03/16: Reviewed processing 1. Reviewed processing to match FTKR_SEP_ShowSkillStatus.js v1.3.0. v1.1.9 - 2017/03/16: Bug Fixes 1. Fixed an issue where the damage ID setting was shared with other skills. v1.1.8 - 2017/03/11: Processing Review 1. Changed the timing for reading the effect value to avoid conflicts with YEP_BattleEngineCore.js. v1.1.7 - 2017/03/07: Bug Fixes 1. Fixed an error that occurred when using a resurrection item. v1.1.6 - 2017/03/05: Traits Additions 1. Added the Param to set conditions for skill deletion to the skill usage conditions. v1.1.5 - 2017/03/04: Specification Changes, Traits Additions 1. Changed the default logical calculation method to 'or' when multiple weapon/equipment types are set as usage conditions. 2. Added a logical calculation method when multiple weapon/equipment types are set as usage conditions. v1.1.4 - 2017/03/04: Bug Fixes 1. Fixed an issue where the equipment type of the usage conditions was not being correctly determined. v1.1.3 - 2017/03/03: Bug Fixes 1. Fixed an issue where an error would occur when an enemy used a skill that had a usage effect. 2. Fixed an issue where ally normal attacks were not processed correctly. 3. Revised the plugin command and note tag retrieval functions. v1.1.2 - 2017/02/26: Revised some code. 1. Revised some code to accommodate new Traits added to FTKR_SkillTreeSystem.js. v1.1.1 - 2017/02/26: Bug fixes. 1. Fixed an error that occurred when using items. v1.1.0 - 2017/02/24: Revised damage calculation process and added new Traits. 1. Changed the calculation process for damage IDs 1 and above to allow damage types for each damage ID to function. 2. Added a Traits that allows the use of JS calculation formulas for cost consumption. 3. Added code that can be used in the effect tag. 4. Added a tag that allows the equipment type to be specified in the conditions of use. 5. Changed the parameter determination for conditions of use to use JS calculation formulas. 6. Added the Param to use JS calculations for the success rate of consecutive attempts. 7. Added the Param to set activation conditions for damage and effects. 8. Added the Param to register multiple skill descriptions and change their display. 9. Added plugin commands. 10. Revised the Help content. v1.0.4 - 2017/02/19: Bug Fixes 1. Fixed an issue where skill data created for each actor was not being read correctly. v1.0.3 - 2017/02/19: Bug Fixes 1. Fixed a typo in the itemEffectAddDebuff function. v1.0.2 - 2017/02/19: Bug Fixes 1. Fixed an issue where damage would not be dealt correctly if d.rate was entered into the calculation formula without changing damage ID 0. v1.0.1 - 2017/02/19: Bug Fixes and Help Content Updates 1. Fixed a typo in the addTraitsElementId function, causing it to function improperly. 2. Fixed an issue where changing the values of Content 1 and Content 2 for effects other than HP Recover was not applied. 3. Added a note about adding damage IDs to the Help section. 4. Added a note about calculating elemental damage to the Help section. v1.0.0 - February 18, 2017: Initial release ----------------------------------------------------------------------------- @param Elements Damage Calc @desc Damage calculation for multiple Elements: 0 - Max, 1 - Average, 2 - Accumulation, 3 - Min @default 0 @param Exclude 100% Elements @desc If it is maximum or average, will 100% Elements effectiveness be excluded when calculating damage? @default false @type boolean @on exclude @off Do not exclude @param Critical For Each @desc Whether to perform critical hit detection for each damage ID: 0 - Do not detect, 1 - Detect @default 0 @param Make Sep For Each @desc Do you want to create individual data when acquiring skills? 0 - Do not create, 1 - Create @default 0 @param Enabled Repeat Failure @desc When attacking consecutively, if you fail midway, will the attack stop? 0 - Do not stop attacking, 1 - Stop attacking @default 0 @param AutoAddition Damage Rate @desc Damage multiplier does not need to be entered into the damage calculation formula. 0 - Requires input, 1 - No input @default 0 @param --- Default Param --- @param Damage Rate @desc Default Damage Multiplier (%) @default 100 @param Critical Rate @desc Default Critical Damage Multiplier (%) @default 300