ToolEvent.prototype.isInvunerableAction = function(target,battler) {
if (battler._ras.invunerable && this.user() != target) {return true};
var invunerable = false;
if(this.user() != target && target.battler().isStateAffected(19)){
if((Math.random() * 100) < $dataStates[19].meta.blockChance){
return true;
}
}
for (var i = 0; i < battler._ras.invunerableActions.length; i++) {
var actionID = Number(battler._ras.invunerableActions[i]);
if (actionID === this._tool.id) {invunerable = true;break};
};
return invunerable;
};
Game_Chrono.prototype.executeTouchDamage = function(user,target) {
if (target.battler()._ras.collisionD > 0) {return};
if (this.isGuardingDirectionTouch(user,target)) {
this.executeGuardTouch(user,target);
return
};
if(target.battler().isStateAffected(19)){
if((Math.random() * 100) < $dataStates[19].meta.blockChance){
this.executeGuardTouch(user,target);
return;
}
}
var subject = user.battler();
var action = new Game_Action(subject);
action.setAbsSubject(subject)
var oldHP = target.battler()._hp;
var coop = [];
var skillId = user.battler().attackSkillId();
action.setSkill(skillId);
action.applyCN(target.battler(),coop);
target.battler().startDamagePopup();
target.battler()._ras.collisionD = 30;
if (oldHP > target.battler()._hp) {
this.executeTouchTouchAfterHit(user,target,skillId);
};
};