Code:
// EVAsion rate
eva: { get: function() { return this.xparam(1); }, configurable: true }
Game_BattlerBase.prototype.xparam = function(xparamId) {
return this.traitsSum(Game_BattlerBase.TRAIT_XPARAM, xparamId);
};
Game_BattlerBase.prototype.traitsSum = function(code, id) {
return this.traitsWithId(code, id).reduce(function(r, trait) {
return r + trait.value;
}, 0);
};The 'eva' property does not have a 'set' option, so we can only 'get' the calculated value. If we look further in the code we can see that whenever you access the 'eva' property, it is executing the 'xparam' and 'traitsum' functions which go through all currently worn armors, states active on the actor, and so on to add up the current evasion rate.
So, if an attack you are working on is raising or lowering the evasion rate of an actor, it would be much easier to change the evasion rate through the use of a state.