Introduction
Allows for more control over sealing skills. Additionally, sealed skills may be unsealed, allowing them to be used as per normal.
How to use
Save it as APHO_SkillSeal.js and put it in your plugin folder.
The following notetags are available: Skill notetags:
<sealed>
复制代码
The skill will always be sealed by default, and may only be used if another effect unseals it.
Skills, Actors, Classes, Enemies, & States notetags:
<nullseal>
复制代码
Nullifies all 'seal skill' or 'seal skill type' effects.
For skills, affects only that skill; otherwise, affects all user's skills.
Actors, Classes, Enemies, & States notetags:
<sealp>
复制代码
,
<sealm>
复制代码
,
<sealc>
复制代码
Seals all physical, magical, or certain hit skills.
Excludes skills in the list specified in the plugin parameters.
<sealtag:x>
复制代码
Seals all skills with the notetag
<x>
复制代码
. Separate multiple tags with a comma.
<sealeval>
复制代码
//code
复制代码
</sealeval>
复制代码
Evaluates code to determine if skills should be sealed.
You may use 'skill' for the skill object, 'a' for the skill's user, or excludelist for the exclude list defined in the plugin parameters.
Must evaluate to either true (sealed) or false (not sealed).
Spoiler: EXAMPLES
<sealeval>
复制代码
skill.id % 2 == 0
复制代码
</sealeval>
复制代码
This will seal all skills with an ID divisible by 2 (even ID skills).
Odd ID skills will still be usable.
<sealeval>
复制代码
a.hpRate() < 0.5
复制代码
</sealeval>
复制代码
This will seal all skills while the user's HP is below 50%.
<sealeval>
复制代码
!excludelist.includes(skill.id)
复制代码
</sealeval>
复制代码
If excludelist is not excluded from seal eval, this will seal all skills except those in the excludelist.
<unseal:x>
复制代码
Unseals skill ID x. Separate multiple values with a comma.
<unsealtype:x>
复制代码
Unseals all skills of skill type x. x is the number of the skill type.
Separate multiple values with a comma.
<unsealp>
复制代码
,
<unsealm>
复制代码
,
<unsealc>
复制代码
Unseals all physical, magical, or certain hit skills.
<unsealtag:x>
复制代码
Unseals all skills with the notetag
<x>
复制代码
. Separate multiple tags with a comma.
<unsealeval>
复制代码
//code
复制代码
</unsealeval>
复制代码
Evaluates code to determine if skills should be unsealed.
You may use 'skill' for the skill object, 'a' for the skill's user, or excludelist for the exclude list defined in the plugin parameters.
Must evaluate to either true (unsealed) or false (not unsealed).
Script
Spoiler: code
JavaScript:
//==========================================
// APHO_SkillSeal.js
//==========================================
/*:
* @title Skill Seal
* @author Apho
* @plugindesc v1.0 Allows for more control over sealing skills.
*
* @param ExcludeFromSeal
* @text Exclude from Sealing
* @type string
* @desc List of skills that should be excluded from sealing. Separate values with a comma. See notes for more details.
* @default 1,2
*
* @param ExcludeFromEval
* @parent ExcludeFromSeal
* @text Exclude from <sealeval>
* @type boolean
* @desc Also exclude from <sealeval>?
* @default true
*
* @help
* Allows for more control over sealing skills. Additionally, sealed skills may
* be unsealed, allowing them to be used as per normal.
*
* The following notetags are available:
* Skill notetags:
* <sealed>
* The skill will always be sealed by default, and may only be used if another
* effect unseals it.
*
* Skills, Actors, Classes, Enemies, & States notetags:
* <nullseal>
* Nullifies all 'seal skill' or 'seal skill type' effects.
* For skills, affects only that skill; otherwise, affects all user's skills.
*
* Actors, Classes, Enemies, & States notetags:
* <sealp>, <sealm>, <sealc>
* Seals all physical, magical, or certain hit skills.
* Excludes skills in the list specified in the plugin parameters.
*
* <sealtag:x>
* Seals all skills with the notetag <x>. Separate multiple tags with a comma.
*
* <sealeval>
* //code
* </sealeval>
* Evaluates code to determine if skills should be sealed.
* You may use 'skill' for the skill object, 'a' for the skill's user, or
* excludelist for the exclude list defined in the plugin parameters.
* Must evaluate to either true (sealed) or false (not sealed).
*
* EXAMPLES:
* <sealeval>
* skill.id % 2 == 0
* </sealeval>
* This will seal all skills with an ID divisible by 2 (even ID skills).
* Odd ID skills will still be usable.
*
* <sealeval>
* a.hpRate() < 0.5
* </sealeval>
* This will seal all skills while the user's HP is below 50%.
*
* <sealeval>
* !excludelist.includes(skill.id)
* </sealeval>
* If excludelist is not excluded from seal eval, this will seal all skills
* except those in the excludelist.
*
* <unseal:x>
* Unseals skill ID x. Separate multiple values with a comma.
*
* <unsealtype:x>
* Unseals all skills of skill type x. x is the number of the skill type.
* Separate multiple values with a comma.
*
* <unsealp>, <unsealm>, <unsealc>
* Unseals all physical, magical, or certain hit skills.
*
* <unsealtag:x>
* Unseals all skills with the notetag <x>. Separate multiple tags with a comma.
*
* <unsealeval>
* //code
* </unsealeval>
* Evaluates code to determine if skills should be unsealed.
* You may use 'skill' for the skill object, 'a' for the skill's user, or
* excludelist for the exclude list defined in the plugin parameters.
* Must evaluate to either true (unsealed) or false (not unsealed).
*
* NOTES
* - Unsealing takes priority over sealing.
* - 'Exclude from Sealing' applies only to sealp/m/c, as well as <sealeval>
* if specified in plugin parameters. You can still seal the skills via the
* default 'seal skill/skill type' functionality or by using any of the other
* sealing notetags.
*
* TERMS OF USE
* - Free for commercial and non-commercial use, as long as I get a free copy
* of the game.
* - Edits allowed for personal use.
* - Do not repost or claim as your own, even if edited.
*
* VERSION HISTORY
* v1.1 - 2023/12/29 - Compatibility fix for actor cooldowns with Skill Cooldowns Visustella MZ.
* v1.0 - 2023/07/18 - Initial release.
*/
(function(){
var parameters = PluginManager.parameters('APHO_SkillSeal');
var ExcludeFromSeal = parameters['ExcludeFromSeal'].split(",").map(Number);
var ExcludeFromEval = JSON.parse(parameters['ExcludeFromEval']);
'Exclude from Sealing' applies only to sealp/m/c, as well as
<sealeval>
复制代码
if specified in plugin parameters. You can still seal the skills via the default 'seal skill/skill type' functionality or by using any of the other sealing notetags.
Terms of use
Free for commercial and non-commercial use, as long as I get a free copy of the game.
Edits allowed for personal use.
Do not repost or claim as your own, even if edited.
Do not use for training AI models. This includes, but is not limited to, inputting the plugin contents or part thereof into AI models that train on user input.
Version history
v1.1 - 2023/12/29 - Compatibility fix for actor cooldowns with Skill Cooldowns Visustella MZ.
v1.0 - 2023/7/18- Initial release.