本帖最后由 在野月光族 于 2019-1-22 22:02 编辑
var GA_SS = Game_Action.prototype.setSkill; Game_Action.prototype.setSkill = function(skillId) { if(this._subjectActorId > 0){ $dataSkills[skillId].effects.forEach(function(effect) { if (effect.code === 44) { this._effect = 1; $gameTemp.reserveCommonEvent(effect.dataId); }; }, this); }; GA_SS.call(this, skillId); }; var GA_AG = Game_Action.prototype.applyGlobal; Game_Action.prototype.applyGlobal = function() { if(!!this._effect) {this._effect = 0; return }; GA_AG.call(this); };
var GA_SS = Game_Action.prototype.setSkill;
Game_Action.prototype.setSkill = function(skillId) {
if(this._subjectActorId > 0){
$dataSkills[skillId].effects.forEach(function(effect) {
if (effect.code === 44) {
this._effect = 1;
$gameTemp.reserveCommonEvent(effect.dataId);
};
}, this);
};
GA_SS.call(this, skillId);
};
var GA_AG = Game_Action.prototype.applyGlobal;
Game_Action.prototype.applyGlobal = function() {
if(!!this._effect) {this._effect = 0; return };
GA_AG.call(this);
};
粘贴到记事本另存为js文件,放到插件。
就是将公共事件的发动提前了一下,没其他了。
另外,重置了这个技能中的公共事件为敌人不能触发。
this._subjectActorId > 0 :公共事件效果的发动者是玩家角色
$dataSkills :数据库→技能
skillId :技能编号
effects :数据库→技能→效果
44 : (数据库接口常量)表示技能中插入了公共事件
this._effect :(自定义参数) 是否提前使用过公共事件 → 1、是 | 0、否
$gameTemp.reserveCommonEvent(公共事件ID) : 让MV调用公共事件(事件编号)
Game_Action.prototype.applyGlobal → MV默认技能伤害结算后检查是否有公共事件,发现有就触发。
版本:MV1.6.1
|