DOUBLEX RMMV STATE RESISTANCE

RPG Maker MV

Lets you set some states to have state removal/turn resistances

  • DoubleX
  • 05/28/2016 08:42 AM
  • 2109 views
Games using this plugin
None so far

Introduction
*      In the default RMMV setting, a state's either added with a fixed x-y  
 *      remaining turns for all battlers, or not added at all.                
 *      Also, battlers don't have their own resistance protecting their states
 *      from being removed                                                    
 *      With this plugin, you can set some states to have different remaining 
 *      turns on different battlers, and set some battlers to have their own  
 *      resistance protecting their states from being removed


Notetags
*    # Actor/Class/Weapon/Armor/Enemy Notetags:                              
 *      Equip notetags take the highest priority, followed by class, actor and  
 *      enemy                                                                 
 *      1. <operator state resist turn: stateId, turn>                        
 *         - Assigns turn to the modifiers of the remaining turns of state    
 *           with stateId when applying the state to the battler              
 *         - operator can be either =, +, -, *, / or %, meaning set to, add   
 *           by, subtract by, multiply by, divide by or modulo by respectively
 *         - All instances of this notetag will be used sequentially          
 *         - If the final remaining turn's nonpositive, the state won't be    
 *           added                                                            
 *         - This notetag won't work for states not having remaining turns    
 *         - E.g.: <+ state resist turn: 2, 1> means the remaining turns of   
 *           state with id 2 will be increased by 1                           
 *      2. <operator state resist step: stateId, step>                        
 *         - Assigns step to the modifiers of the remaining steps of state    
 *           with stateId when applying the state to the battler              
 *         - operator can be either =, +, -, *, / or %, meaning set to, add   
 *           by, subtract by, multiply by, divide by or modulo by respectively
 *         - All instances of this notetag will be used sequentially          
 *         - If the final remaining step's nonpositive, the state won't be    
 *           added outside battle and will be instantly removed outside battle
 *         - This notetag won't work for states not having remaining steps    
 *         - E.g.: <+ state resist step: 2, 1> means the remaining steps of   
 *           state with id 2 will be increased by 1                           
 *      3. <operator state resist damage remove: stateId, chance>             
 *         - Assigns chance to the removal chance% of state with stateId when 
 *           removing the state from the battler due to damaging that battler 
 *         - operator can be either =, +, -, *, / or %, meaning set to, add   
 *           by, subtract by, multiply by, divide by or modulo by respectively
 *         - All instances of this notetag will be used sequentially          
 *         - If the final removal chance's negative, it'll be regarded as 0%  
 *         - This notetag only works if the state has remove by damage checked
 *         - E.g.: <= state resist damage remove: 2, 50> means the removal    
 *           chance of state with id 2 due to damaging the battler will be set
 *           as 50%                                                           
 *      4. <operator state resist effect remove: stateId, chance>             
 *         - Assigns chance to the removal chance% of state with stateId when 
 *           removing the state from the battler due to skill/item effects    
 *         - operator can be either =, +, -, *, / or %, meaning set to, add   
 *           by, subtract by, multiply by, divide by or modulo by respectively
 *         - All instances of this notetag will be used sequentially          
 *         - If the final removal chance's negative, it'll be regarded as 0%  
 *         - E.g.: <- state resist effect remove: 2, 50> means the removal    
 *           chance of state with id 2 due to skill/item effects will be      
 *           reduced by 50%                                                   
 *      5. <state resist luk effect remove: stateId>                          
 *         - Applies the same luk formula for modifying the state rate to the 
 *           removal chance of state with id stateId due to skill/item effects
 *         - It'll be applied after calculating the final state removal chance
 *         - E.g.: <state resist effect luk remove: 2> sets the luk formula   
 *           for modifying the state rate to the removal chance of state with 
 *           id 2 due to skill/item effects


Plugin Calls
*    # Actor/Class/Weapon/Armor/Enemy manipulations                          
 *      1. meta.stateResistTurn[stateId]                                      
 *         - Returns the Array of state turn modifiers turns with their       
 *           corresponding operators stored in                                
 *           <operator state resist turn: stateId, turn> in the form of       
 *           [opeartor, turn] for state with stateId                          
 *      2. meta.stateResistTurn[stateId] = [[opeartor, turn], ...]            
 *         - Sets the Array of state turn modifiers turns with their          
 *           corresponding operators stored in                                
 *           <operator state resist turn: stateId, turn> in the form of       
 *           [opeartor, turn] for state with stateId                          
 *         - All meta.stateResistanceTurn changes can be saved if             
 *           DoubleX RMMV Dynamic Data is used                                
 *      3. meta.stateResistStep[stateId]                                      
 *         - Returns the Array of state step modifiers steps with their       
 *           corresponding operators stored in                                
 *           <operator state resist step: stateId, step> in the form of       
 *           [opeartor, step] for state with stateId                          
 *      4. meta.stateResistStep[stateId] = [[opeartor, turn], ...]            
 *         - Sets the Array of state step modifiers steps with their          
 *           corresponding operators stored in                                
 *           <operator state resist step: stateId, turn> in the form of       
 *           [opeartor, step] for state with stateId                          
 *         - All meta.stateResistanceStep changes can be saved if             
 *           DoubleX RMMV Dynamic Data is used                                
 *      5. meta.stateResistDamageRemove[stateId]                              
 *         - Returns the Array of state removal chance modifiers chance with  
 *           their corresponding operators stored in                          
 *           <operator state resist damage eemove: stateId, chance> in the    
 *           form of [opeartor, chance] for state with stateId being removed  
 *           due to damaging the battler                                      
 *      6. meta.stateResistDamageRemove[stateId] = [[opeartor, turn], ...]    
 *         - Sets the Array of state removal chance modifiers chance with     
 *           their corresponding operators stored in                          
 *           <operator state resist damage remove: stateId, chance> in the    
 *           form of [opeartor, chance] for state with stateId being removed  
 *           due to damaging the battler                                      
 *         - All meta.stateResistanceDamageRemove changes can be saved if    
 *           DoubleX RMMV Dynamic Data is used                                
 *      7. meta.stateResistEffectRemove[stateId]                              
 *         - Returns the Array of state removal chance modifiers chance with  
 *           their corresponding operators stored in                          
 *           <operator state resist effect remove: stateId, chance> in the    
 *           form of [opeartor, chance] for state with stateId being removed  
 *           due to skill/item effects                                        
 *      8. meta.stateResistEffectRemove[stateId] = [[opeartor, turn], ...]    
 *         - Sets the Array of state removal chance modifiers chance with     
 *           their corresponding operators stored in                          
 *           <operator state resist effect remove: stateId, chance> in the    
 *           form of [opeartor, chance] for state with stateId being removed  
 *           due to skill/item effects                                        
 *         - All meta.stateResistanceEffectRemove changes can be saved if    
 *           DoubleX RMMV Dynamic Data is used                                
 *      9. meta.stateResistLukEffectRemove                                    
 *         - Returns the Array of id of states having the luk formula for     
 *           modifying the state rate to also be applied to the final state   
 *           removal chance, stored in                                        
 *           <state resist luk effect remove: stateId>, in the form of        
 *           [stateId, stateId, stateId, ...]                                 
 *      10. meta.stateResistLukEffectRemove = [stateId, stateId, stateId, ...]
 *          - Sets the Array of id of states having the luk formula for       
 *            modifying the state rate to also be applied to the final state  
 *            removal chance, stored in                                        
 *           <state resist luk effect remove: stateId>, in the form of        
 *           [stateId, stateId, stateId, ...]                                 
 *          - All meta.stateResistLukEffectRemove changes can be saved if     
 *            DoubleX RMMV Dynamic Data is used


Prerequisites
1. Little Javascript coding proficiency to fully utilize this plugin

Terms Of Use
*      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. CC BY 4.0, except those conflicting with any of the above, applies 
 *         to this plugin, unless you've my permissions to not to follow so.  
 *      5. I always reserve the right to deny you from using this plugin      
 *         anymore if you've violated any of the above.


Changelog
*      v1.00a(GMT 0800 28-5-2016):                                           
 *      1. 1st version of this plugin finished