想修改命中公式(实际使用中插件无效),求指教原因
虽然我自己本身没有什么语法知识,不过我也不想永远靠人,想以具体事例去学一些基本的知识。在RMVA里,我是这样修改的
RUBY 代码
def item_hit(user, item)
rate = 1#item.success_rate * 0.01 # 取得成功率
rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -eva)if item.physical? # 物理攻击:计算命中率的乘积
rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -mev)if item.magical?#魔法攻击:计算命中率的乘积
return rate # 返回计算后的命中率
end
这个公式的命中是“角色命中+技能命中-60%-回避
如果我没猜错,在MV里应该是这几句了
JAVASCRIPT 代码
//1622
Game_Action.prototype.itemHit = function(target){
if(this.isPhysical()){
returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.eva;
}elseif(this.isMagical()){
returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.mev;
}else{
returnthis.item().successRate * 0.01;
}
};
Game_Action.prototype.itemEva = function(target){
if(this.isPhysical()){
return target.pha;
}elseif(this.isMagical()){
return target.fdr;
}else{
return0;
}
Game_Action.prototype.itemCri = function(target){
returnthis.item().damage.critical ? this.subject().cri- target.cev : 0;
};
//1825
Game_Action.prototype.itemEffectRecoverHp = function(target, effect){
var value = (target.mhp * effect.value1 + effect.value2) * target.rec;
if(this.isItem()){
value *= 1;
}
value = Math.floor(value);
if(value !== 0){
target.gainHp(value);
this.makeSuccess(target);
}
};
Game_Action.prototype.itemEffectRecoverMp = function(target, effect){
var value = (target.mmp * effect.value1 + effect.value2) * target.rec;
if(this.isItem()){
value *= 1;
}
value = Math.floor(value);
if(value !== 0){
target.gainMp(value);
this.makeSuccess(target);
}
};
在这里,我修改为
物理命中率为“技能成功率% + 角色命中-0.6 - 目标回避” 0.6的含义是60%的技能成功率相当于100的基础命中。
魔法命中率为”技能成功率% + 角色命中-0.6 - 目标魔法回避”
必中的就直接为技能成功率
必杀的几率改为“角色必杀-目标必杀回避”
同时我将物理挡格更改为药物知识,将魔法挡格改为地面伤害,因为这两个不太常用。将药物知识相关的系数改为*1,地面伤害的暂时没改。
另外,我好像没有发现必杀伤害倍率的位置?
=============================
论坛的代码的话,JS代码写的名字叫什么?还是随便写一个就好?
本帖来自P1论坛作者lirn,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=385444若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]