重新定义Buff,现在能力提升为战斗内永续,编辑器内的回合数变为等级提升量。
HP MP提升无效。其他属性正负6级 (Base_Capa)
基数为Base_Upg (负数从2/2-2/8 正数从2/2-8/2)
JAVASCRIPT 代码
- /**基础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){
- returnthis._buffs[paramId] > 0 ? (Base_Upg + this._buffs[paramId])/ Base_Upg :Base_Upg / (Base_Upg+ Math.abs(this._buffs[paramId]))};
复制代码
JAVASCRIPT 代码
- /**能力提升上下限改变*/
- /**
- *原生只能提高/降低2级 这两个方法return 改变即可
- **/
- Game_BattlerBase.prototype.isMaxBuffAffected = function(paramId){returnthis._buffs[paramId] >= Base_Capa;};
- Game_BattlerBase.prototype.isMaxDebuffAffected = function(paramId){returnthis._buffs[paramId] 1){this.increaseBuff(paramId,lvl);this._result.pushAddedBuff(paramId);}
- elsethis._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](paramId>1?Base_Upg/2:300)?1:0) * 8 + paramId;
- elseif(buffLevel < 0)return Game_BattlerBase.ICON_DEBUFF_START + (-1*buffLevel>Base_Upg/2?1:0) * 8 + paramId;
- };
复制代码
本帖来自P1论坛作者清澈淌漾,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:
https://rpg.blue/forum.php?mod=viewthread&tid=485848 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。