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

Project1

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

[有事请教] ”火焰盾“、“反弹伤害”类状态的制作

[复制链接]

Lv1.梦旅人

梦石
0
星屑
168
在线时间
45 小时
注册时间
2012-9-4
帖子
30
跳转到指定楼层
1
发表于 2019-11-11 11:33:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,现在制作状态“火焰盾”,对带有“火焰盾”状态的目标进行物理攻击的话,会受到火属性魔法伤害,并且被烧伤
利用YEP插件实现了下面的效果,但是不会写造成伤害。。求教呢~


<Custom Deselect Effect>
  if(this.isPhysical())
{    //判断是否物攻
user.startAnimation(167);       //对目标播放动画167
user.addState(15); //烧伤攻击者
user.addState(14);
    //??对 攻击者造成火属性魔法伤害=a.mat*4-b.mdf*2??
}
</Custom Deselect Effect>

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
2
发表于 2019-11-11 11:53:08 | 只看该作者
在状态里面用custom react effect里面判定吧
a是攻击者,target是被攻击者
属性伤害的话估计得查查伤害计算的公式(读取抗性之类的),然后手动写出来

反伤的例子:
<Custom React Effect>
if (this.isHpEffect() && value>0){
    a.startAnimation(2);
    a.gainHp(Math.floor(-0.5*value));
    a.startDamagePopup();
    a.clearResult();
}
</Custom React Effect>
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1075
在线时间
133 小时
注册时间
2019-5-1
帖子
59
3
发表于 2019-11-11 17:07:28 | 只看该作者
本帖最后由 chinx 于 2019-11-11 17:37 编辑

反伤的脚本尽量使用Respond标签,和react标签的区别在于前者是一个通过最终计算确定的结果,后者则可能会在受到其他增伤状态影响之前返回一个不准确的反伤数值。
具体:
<Custom Respond Effect> 每次该状态持有者受到伤害后执行.value已经决定,无法更改
<Custom React Effect> 每次该状态持有者被攻击或技能后执行.value尚未决定,可以更改 无法改暴击回避等
而LZ用的<Custom Deselect Effect> 是每次该状态持有者受到攻击后(无论攻击是否成功)执行. 无value返回,不适合用作反伤

可以这样写:

JAVASCRIPT 代码复制
  1. <Custom respond Effect>
  2. if (this.isHpEffect() && value > 0) {
  3. var dmg = Math.floor(value * 0.05); //这里的公式是一个例子,value * 0.05 将最终伤害结果的5%作为反射数值。具体的你可以根据需要自己设置。
  4. var rst = JsonEx.makeDeepCopy(user._result);
  5. user.startAnimation(ID);
  6. user.addState(ID);
  7. user.clearResult();
  8. user.gainHp(-dmg);
  9. user.startDamagePopup();
  10. user.clearResult();
  11. user._result = rst;
  12. }
  13. </Custom respond Effect>



至于这里为什么是user而不是target,关于对象,引用一下炎龙大佬的资料说明一下,user并不一定是状态持有者本身,而是产生结果的源。
【战斗者对象】
攻击方对象:user
防守方对象:target
状态来源对象:origin
这里说攻击方和防守方是为了便于理解,实际上还有对队友使用辅助技能比如加血等情况,总之user其实代表着行动者,而target代表着这个行动的目标,也就是被user锁定的对象。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
285
在线时间
74 小时
注册时间
2022-12-4
帖子
194
4
发表于 2023-5-17 11:24:39 | 只看该作者
chinx 发表于 2019-11-11 17:07
反伤的脚本尽量使用Respond标签,和react标签的区别在于前者是一个通过最终计算确定的结果,后者则可能会在 ...

太感谢了,随时是别人问的问题,正好解决了我的需求!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 09:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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