加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
重新定义Buff,现在能力提升为战斗内永续,编辑器内的回合数变为等级提升量。
HP MP提升无效。其他属性正负6级 (Base_Capa)
基数为Base_Upg (负数从2/2-2/8 正数从2/2-8/2)
/**基础buff加成算法*/ /** * 仿造口袋妖怪 * 大于0 为 (2+x)/2 1级 *1.5 2级*2 6级 *4 * 小于0 为 2/(x+2) 1级 *0.66 2级*0.5 6级*0.25 * */ Game_BattlerBase.prototype.paramBuffRate = function(paramId) { return this._buffs[paramId] > 0 ? (Base_Upg + this._buffs[paramId]) / Base_Upg :Base_Upg / (Base_Upg+ Math.abs(this._buffs[paramId]))};
/**基础buff加成算法*/
/**
* 仿造口袋妖怪
* 大于0 为 (2+x)/2 1级 *1.5 2级*2 6级 *4
* 小于0 为 2/(x+2) 1级 *0.66 2级*0.5 6级*0.25
* */
Game_BattlerBase.prototype.paramBuffRate = function(paramId) {
return this._buffs[paramId] > 0 ? (Base_Upg + this._buffs[paramId]) / Base_Upg :Base_Upg / (Base_Upg+ Math.abs(this._buffs[paramId]))};
/**能力提升上下限改变*/ /** *原生只能提高/降低2级 这两个方法return 改变即可 **/ Game_BattlerBase.prototype.isMaxBuffAffected = function(paramId) {return this._buffs[paramId] >= Base_Capa;}; Game_BattlerBase.prototype.isMaxDebuffAffected = function(paramId) {return this._buffs[paramId] <= -1*Base_Capa;};
/**能力提升上下限改变*/
/**
*原生只能提高/降低2级 这两个方法return 改变即可
**/
Game_BattlerBase.prototype.isMaxBuffAffected = function(paramId) {return this._buffs[paramId] >= Base_Capa;};
Game_BattlerBase.prototype.isMaxDebuffAffected = function(paramId) {return this._buffs[paramId] <= -1*Base_Capa;};
/**添加正面效果*/ /** * 原来第二个参数是truns 回合数 * 我将其作用变为等级提升,回合默认为1 ,配合下面的清空 * 做到能力提升在战斗能永续 * */ Game_Battler.prototype.addBuff = function(paramId, lvl) { if (this.isAlive()) { if(paramId>1) {this.increaseBuff(paramId,lvl);this._result.pushAddedBuff(paramId);} else this._buffs[paramId] += lvl this.overwriteBuffTurns(paramId, 1); this.refresh(); } }; Game_BattlerBase.prototype.increaseBuff = function(paramId,lvl) {if (!this.isMaxBuffAffected(paramId)) {this._buffs[paramId]+=lvl;if(this._buffs[paramId]>Base_Capa) this._buffs[paramId]=Base_Capa}}; /**添加减益效果*/ Game_Battler.prototype.addDebuff = function(paramId, lvl) { if (this.isAlive()) { if(paramId>1) {this.decreaseBuff(paramId,lvl);this._result.pushAddedDebuff(paramId);} else {this._buffs[paramId] -= lvl; if (this._buffs[paramId]<0) this._buffs[paramId] =0} this.overwriteBuffTurns(paramId, 1); this.refresh(); } }; Game_BattlerBase.prototype.decreaseBuff = function(paramId,lvl) {if (!this.isMaxDebuffAffected(paramId)) {this._buffs[paramId]-=lvl;if(this._buffs[paramId]<-1*Base_Capa) this._buffs[paramId]=-1*Base_Capa}};
/**添加正面效果*/
/**
* 原来第二个参数是truns 回合数
* 我将其作用变为等级提升,回合默认为1 ,配合下面的清空
* 做到能力提升在战斗能永续
* */
Game_Battler.prototype.addBuff = function(paramId, lvl) {
if (this.isAlive()) {
if(paramId>1) {this.increaseBuff(paramId,lvl);this._result.pushAddedBuff(paramId);}
else this._buffs[paramId] += lvl
this.overwriteBuffTurns(paramId, 1);
this.refresh();
}
};
Game_BattlerBase.prototype.increaseBuff = function(paramId,lvl) {if (!this.isMaxBuffAffected(paramId)) {this._buffs[paramId]+=lvl;if(this._buffs[paramId]>Base_Capa) this._buffs[paramId]=Base_Capa}};
/**添加减益效果*/
Game_Battler.prototype.addDebuff = function(paramId, lvl) {
if (this.isAlive()) {
if(paramId>1) {this.decreaseBuff(paramId,lvl);this._result.pushAddedDebuff(paramId);}
else {this._buffs[paramId] -= lvl; if (this._buffs[paramId]<0) this._buffs[paramId] =0}
this.overwriteBuffTurns(paramId, 1);
this.refresh();
}
};
Game_BattlerBase.prototype.decreaseBuff = function(paramId,lvl) {if (!this.isMaxDebuffAffected(paramId)) {this._buffs[paramId]-=lvl;if(this._buffs[paramId]<-1*Base_Capa) this._buffs[paramId]=-1*Base_Capa}};
/**基础能力提升变为永续*/ /** *将此方法清空 **/ Game_BattlerBase.prototype.updateBuffTurns = function() {}; /**修改状态图标*/ /**原生MV只有2级图标 这里我处理了一下 让高于2的显示2级*/ Game_BattlerBase.prototype.buffIconIndex = function(buffLevel, paramId) { if (buffLevel > 0) return Game_BattlerBase.ICON_BUFF_START + (buffLevel>(paramId>1?Base_Upg/2:300)?1:0) * 8 + paramId; else if (buffLevel < 0) return Game_BattlerBase.ICON_DEBUFF_START + (-1*buffLevel>Base_Upg/2?1:0) * 8 + paramId; };
/**基础能力提升变为永续*/
/**
*将此方法清空
**/
Game_BattlerBase.prototype.updateBuffTurns = function() {};
/**修改状态图标*/
/**原生MV只有2级图标 这里我处理了一下 让高于2的显示2级*/
Game_BattlerBase.prototype.buffIconIndex = function(buffLevel, paramId) {
if (buffLevel > 0) return Game_BattlerBase.ICON_BUFF_START + (buffLevel>(paramId>1?Base_Upg/2:300)?1:0) * 8 + paramId;
else if (buffLevel < 0) return Game_BattlerBase.ICON_DEBUFF_START + (-1*buffLevel>Base_Upg/2?1:0) * 8 + paramId;
};
|