Project1
标题: 【原创】口袋妖怪式 能力升降 [打印本页]
作者: 清澈淌漾 时间: 2021-5-31 17:38
标题: 【原创】口袋妖怪式 能力升降
重新定义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;
};
-
-
Limpid_PeculiarRate.zip
1.52 KB, 下载次数: 36
作者: ww984957002 时间: 2021-6-1 20:28
支持支持!!!
作者: mengjiyao122 时间: 2021-8-18 16:30
多谢分享,收藏一下。
作者: 超凡入梦 时间: 2021-9-3 22:35
正在做这个类型的 支持
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |