设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3024|回复: 8
打印 上一主题 下一主题

[有事请教] 请问在yep自动被动状态中,如何判定敌人目标的血量?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3008
在线时间
140 小时
注册时间
2018-1-22
帖子
137
跳转到指定楼层
1
发表于 2018-3-20 07:35:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 526396987 于 2018-3-20 12:14 编辑

我理想中的效果是给角色一个被动状态,该被动会在战斗中自动判定目标敌人的HP,假如说目标HP≤50%,那么物理伤害×50%,
如果有该被动的角色使用多目标技能,那么只有符合条件的目标敌人受到的物理伤害会×50%,其他的则不会,个人感觉插件中
好像没有定义opponent的语句,所以在custom condition中即使输入target,也不会有作用,所以想请教各路大佬,有没有什么
解决方法呢?


万分感谢!!!
(话说伤害核心好像可以实现,但不过只是对命中类型的判定= =)


我重新用伤害核心的lunatic mode对公式编辑了一下,但是为什么伤害是0呢?还请大佬帮忙看一下,是不是哪里出错了,谢谢!!
<damage formula>
if (a. isStateAffected(25) && (b. hp / b. mhp < 0.5)) {
value = a.atk * 4 - b.def * 2;
value *= 1.5;
}

</damage formula>





自分自身の神様になること

Lv3.寻梦者

梦石
0
星屑
1525
在线时间
308 小时
注册时间
2011-7-23
帖子
150
2
发表于 2018-3-20 08:34:16 | 只看该作者
直接在伤害公式里写就行了....  
比如 100 * b.hp <= b.mhp/2? 1.5 :1
就是造成100点伤害,如果对方HP小于等于对方最大HP的一半,则伤害×1.5倍..
如果这个角色的技能含其他人也会的通用技能的话
要么单独做一份技能,要么再在伤害公式加一个判断 100 * ( b.hp <= b.mhp/2? (a.isLearnedSkill(9) ? 1.5 : 1 ) :1 )
里面的isLearnedSkill用来判断使用者是否学会了9号技能(就改成你的那个被动的ID就行了,即使不需要用到技能,总还是要做个没效果的假技能伪装一下,毕竟效果是模拟的)
不知身之何死,愿幻梦不灭。不知情之何起,愿一往而深。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3008
在线时间
140 小时
注册时间
2018-1-22
帖子
137
3
 楼主| 发表于 2018-3-20 09:13:23 | 只看该作者
墓雷 发表于 2018-3-20 08:34
直接在伤害公式里写就行了....  
比如 100 * b.hp

谢谢!不过这样的话就要所有技能都要加= =请问还有更好的办法吗?
自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1525
在线时间
308 小时
注册时间
2011-7-23
帖子
150
4
发表于 2018-3-20 14:14:46 | 只看该作者
526396987 发表于 2018-3-20 09:13
谢谢!不过这样的话就要所有技能都要加= =请问还有更好的办法吗?

需要此效果的技能多的话...你可以用攻击属性....给这个角色添加一种额外的攻击属性  使得所有怪物对于这个属性的有效率是150%...
这个应该比公式要简单些...
与其他属性冲突的问题  可以用yep的属性插件解决
不知身之何死,愿幻梦不灭。不知情之何起,愿一往而深。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1525
在线时间
308 小时
注册时间
2011-7-23
帖子
150
5
发表于 2018-3-20 14:15:45 | 只看该作者
呃...卡了一下...连贴了...
不知身之何死,愿幻梦不灭。不知情之何起,愿一往而深。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3008
在线时间
140 小时
注册时间
2018-1-22
帖子
137
6
 楼主| 发表于 2018-3-21 00:57:48 | 只看该作者
墓雷 发表于 2018-3-20 14:14
需要此效果的技能多的话...你可以用攻击属性....给这个角色添加一种额外的攻击属性  使得所有怪物对于这 ...

那么请问用下面伤害核心的标签来判定的话,为什么最终伤害是0呢?是不是哪里出错了
<damage formula>
if (a. isStateAffected(25) && (b. hp / b. mhp < 0.5)) {
value = a.atk * 4 - b.def * 2;
value *= 1.5;
}

</damage formula>
自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1525
在线时间
308 小时
注册时间
2011-7-23
帖子
150
7
发表于 2018-3-21 08:22:13 | 只看该作者
526396987 发表于 2018-3-21 00:57
那么请问用下面伤害核心的标签来判定的话,为什么最终伤害是0呢?是不是哪里出错了

if (a. isStateAffec ...

没有用过这个插件......但是看上去,伤害应该写在分歧外面吧,不然如果对方血量在一半以上或者没有25号状态的话,不仅没有那1.5倍伤害,连基础的伤害公式都不会用到
不知身之何死,愿幻梦不灭。不知情之何起,愿一往而深。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3008
在线时间
140 小时
注册时间
2018-1-22
帖子
137
8
 楼主| 发表于 2018-3-21 11:04:00 | 只看该作者
墓雷 发表于 2018-3-21 08:22
没有用过这个插件......但是看上去,伤害应该写在分歧外面吧,不然如果对方血量在一半以上或者没有25号状 ...

好的 谢谢  我再修改修改
自分自身の神様になること
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3008
在线时间
140 小时
注册时间
2018-1-22
帖子
137
9
 楼主| 发表于 2018-3-22 13:32:47 | 只看该作者
本帖最后由 526396987 于 2018-3-22 13:34 编辑

本问题个人研究了一下已经解决,可以用yep伤害核心修改伤害公式,下面贴出一段代码= =
<damage formula>
if (a. isStateAffected(29) && (b. hp / b. mhp < 0.15)) {
value = a.atk * 4 - b.def * 2;
value *= 1.5;
} else if (a. isLearnedSkill(29) && (b. hp / b. mhp < 0.25)) {
value = a.atk * 4 - b.def * 2;
value *= 1.35;
} else if (a. isLearnedSkill(29) && (b. hp / b. mhp < 0.35)) {
value = a.atk * 4 - b.def * 2;
value *= 1.2;
} else if (a. isLearnedSkill(29) && (b. hp / b. mhp < 0.5)) {
value = a.atk * 4 - b.def * 2;
value *= 1.05;
} else {
value = a.atk * 4 - b.def * 2;
}
</damage formula>


这么做虽然麻烦了点,但是确实是可以根据敌方血量来不同程度地提高己方伤害,里面的原伤害公式是默认的,可以随意修改
自分自身の神様になること
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 08:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表