Project1

标题: 怎样做一个增加其他技能威力的被动技能 [打印本页]

作者: 根五    时间: 2022-11-9 19:30
标题: 怎样做一个增加其他技能威力的被动技能
比如做一个火焰精通被动,可以增加火球术的威力。
我记得以前好像在哪里见过,但是找不到了!
作者: 任小雪    时间: 2022-11-9 21:17
本帖最后由 任小雪 于 2022-11-9 21:20 编辑

方法1:伤害公式使用公共变量。
方法2:该技能用脚本调整伤害公式,data文件里的技能文件的数据要实现保存。
建议使用方法1,所谓被动技能是装饰,关键是你怎么控制相关公共变量
作者: fnhjjrrk    时间: 2022-11-10 12:23
<Custom Confirm Effect>
if(this.isDamage() && this.item() && this.item().damage){
if((this.item().damage.elementId == 2)){
value +=Math.floor(value*0.30);
}
}
</Custom Confirm Effect>

如果使用火系魔法时,伤害提升30%。
不过需要YEP系列的BUFF核心和被动插件。
作者: 根五    时间: 2022-11-11 09:43
任小雪 发表于 2022-11-9 21:17
方法1:伤害公式使用公共变量。
方法2:该技能用脚本调整伤害公式,data文件里的技能文件的数据要实现保存 ...

感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + 5号变量,这个变量怎么写出来。
作者: fnhjjrrk    时间: 2022-11-11 16:33
fnhjjrrk 发表于 2022-11-10 12:23
if(this.isDamage() && this.item() && this.item().damage){
if((this.item().damage.elementId == 2)){
...

<Custom Confirm Effect>
if (value > 0 && this.item() && this.item().id === 13) {
  var bonus = Math.ceil(value*0.30);
  value += bonus;
}
</Custom Confirm Effect>

这个是使用13号技能时,增加30%的伤害。
作者: 任小雪    时间: 2022-11-11 20:12
根五 发表于 2022-11-11 09:43
感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + ...

$gameVariables.value(5)

论坛搜索“【新手入门/进阶必备】MV技能伤害公式大全”,
论坛搜索“【RMMV】事件脚本整合”非常好的脚本调用手册“”“MZ脚本调用大全(MV可用)”。
作者: loveinyou200    时间: 2022-11-11 22:56
根五 发表于 2022-11-11 09:43
感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + ...

a.atk * 4 - b.def*2 + v[5]
作者: loveinyou200    时间: 2022-11-12 00:17
按以下指令放入伤害公式:
( a.atk *2 - b.def ) * ( a.skills().contains($dataSkills[66]) ? 1.5 : 1 )
(拥有66号技能的情况下,伤害为原来的1.5倍,没有66技能的话,是原来的伤害)
如果有多个增加伤害的被动技能就继续往后面叠加就好

附赠你一个团队加强的伤害效果:
( a.atk *2 - b.def ) * ( a=$gameParty.members().some( x=>{return x.skills().some(b=>b.id==66)} ) ? 1.5 : 1 )
(整个队伍中,只有人拥有66号技能,就造成1.5倍伤害,整个队伍中都没有66号技能,造成原来伤害)
作者: 根五    时间: 2022-11-14 09:00
感谢各位的指点,问题完美解决!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1