Project1

标题: 如何实处于某状态时 某属性的技能威力增强 [打印本页]

作者: porlutia    时间: 2017-2-17 22:11
标题: 如何实处于某状态时 某属性的技能威力增强
如何实现当使用者处于某种状态时 使用携带某个属性的技能时 威力增强  
举个栗子
当 “佩斯特”这个角色处于“暗夜之心”状态时,使用[暗]属性攻击技能威力增加30%  
或者 当“夜行迷之生物”这个敌人处于“黑夜”状态时,使用[暗]属性技能攻击时, 威力增加40%.

作者: guoxiaomi    时间: 2017-2-18 15:47
这位朋友,我是不是跟你杠上了……

https://rpg.blue/forum.php?mod=viewthread&tid=389962&_dsign=b7bdb0f4
作者: porlutia    时间: 2017-2-18 19:35
guoxiaomi 发表于 2017-2-18 15:47
这位朋友,我是不是跟你杠上了……

https://rpg.blue/forum.php?mod=viewthread&tid=389962&_dsign=b7b ...

这个里面说的是开关是否开启而不是是否处于某状态吧  虽然可能可以照猫画虎在脚本里面再写一段判断状态的 但是窝是脚本盲囧
作者: guoxiaomi    时间: 2017-2-18 21:08
本帖最后由 guoxiaomi 于 2017-2-18 21:49 编辑

携带某个技能,首先你要把所有的满足条件的技能放到一个(全局变量)数组里比如 $dark_skills = [1,2,3] 游戏一开始就执行在 main 前新建一个脚本把这句话插进去,然后用

!!(a.skills & $dark_skills)[0]来判断,如果学习了$dark_skills里的技能,这两个数组有重复的元素,这个式子会返回 true 反之会返回 false

  1. (power * ((!!(a.skills & $dark_skills)[0])?1.4:1)).to_i
复制代码


由于我不太清楚 ! 和 ? 的顺序,干脆全部用括号括起来,用括号来表示运算的优先级

请注意,敌人没有学会的技能一说

[line]2[/line]

看错了标题……上面的请无视,上面这个实际上实现的是一个被动技能,学习此被动技能后,其他技能的效果会增强……如果技能只有一个,比如是10号技能,可以这样判断

  1. (power * ((a.skills.include?(10))?1.4:1)).to_i
复制代码





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