• QQ21031394

    工作时间

    周一至周五:9:30-18:30

    周末及节日:根据情况调休

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方QQ群

站长推荐
提百万 联盟管理员
  • 未知地域
  • 内测小天使

    内测期间为论坛做出突出贡献的会员
  • 优秀学员勋章

    通过近期表现由站长颁发
  • 优秀新人勋章

    通过近期表现由站长颁发
  • 高级学员勋章

    通过近期表现由站长颁发
  • 特级学员勋章

    通过近期表现由站长颁发
  • 天工合约会员

    拥有浏览和下载天工精品模型区权限
  • 3648发帖数
  • 1970主题数
  • 0关注数
  • 158粉丝

[演示和教程] 对伤害目标(UnitDamageTarget)函数,攻击类型,伤害类型,武.....

[复制链接]
提百万 发表于 2018-7-3 13:07:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题 <
提莫作坊QQ群:提莫作坊www.tbwlm.cn

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
UnitDamageTarget( 伤害来源,伤害目标,伤害值,是否攻击伤害,是否远程攻击,攻击类型,伤害类型,武器类型),这个函数是做技能时的主要函数之一,但是其中的许多参数的作用却并非一目了然,最近开始用到这个函数,所以花了一天的时间进行了系统的研究,基本上已经解决问题。
         文章分为三部分,第一部分搞清疑惑点,说明基本常识。第二部分,写出此函数的运行机制。第三部分,总结规律,简化后得出结论。
【第一部分】
[搞清疑惑点
         简单来说,我们希望搞清楚4个问题。
         什么情况下计算护甲。
         什么情况下计算法抗。
         什么情况下无视魔法免疫。
         什么情况下可以伤害虚无。(经研究,发现,如果能伤害虚无单位,那么一定有伤害加成(平衡常数里调节的那个),不会出现虚无单位受伤但是没有加成的情况。)
         
         补充:对 是否攻击伤害,是否 远程攻击,2项测试后没有任何发现,是攻击伤害后此函数也不会触发 单位被攻击事件,也不会对 尖刺外壳,硬化皮肤,步兵的盾牌等技能产生影响,所以这2个参数暂不讨论。
[基本常识]      
攻击类型决定是否计算法抗。是否计算法抗只看是否攻击类型 为 法术 或者 魔法。与 伤害类型无关。     
伤害类型决定是否计算护甲。是否计算护甲只看是否伤害类型 为 普通。与 攻击类型 无关。


         【法抗】
                   法抗应该分为2种法抗,一种是 攻击类型为魔法时 需要计算的 魔攻法抗。(比如对战中人族女巫的物理攻击)另一种是 攻击类型为法术时需要计算的 法术法抗。(比如暴风雪等技能造成的伤害)
                   因为法抗其实只由2类技能提供,一类是 神秘腰带(魔法伤害减少),另一类 艾露尼之优雅(防御(物品),魔法防御属同类)
                            [神秘腰带只提供 法术法抗(即只抵挡技能伤害,不抵挡魔法攻击伤害),并且 不能叠加,后获得的技能直接将 法术法抗值 覆盖(直接对变量赋值)。(覆盖后再丢弃物品就可以让法抗还原)
                            [艾露尼之优雅在物编里只能设置 所受魔法伤害,所设置同时影响法术法抗和魔攻法抗(即2种法抗都乘以所受魔法伤害系数)。艾露尼之优雅可以完美叠加,与以前的法抗为相乘关系(法抗=法抗*艾露尼之优雅)
                   下面列出公式,一下就懂。
                            魔攻法抗=艾露尼之优雅*艾露尼之优雅*艾露尼之优雅….(魔法攻击法抗仅受艾露尼之优雅影响,且互相之间相乘)
                            法术法抗=最后一个获得的神秘腰带*神秘腰带之后的艾露尼之优雅*神秘腰带之后的艾露尼之优雅…(神秘腰带技能将以前的法抗系数都覆盖了,不过之后获得的艾露尼之优雅无影响)
         【伤害类型】:伤害类型共22(13+1+6+2),主要有4类,分别为 普通类,魔法类,强化类,通用类。
                   [普通类(1):只有 普通伤害类型
                          对战游戏中,所有物理攻击的伤害类型为 普通。【特点】普通伤害类型一定而且只有普通伤害类型计算单位护甲
                   [魔法类(13):火焰,冰冻,闪电,神圣(神圣伤害类型其实应该翻译为光明系,如圣骑士的圣光伤害不死族),魔法,音速,力量,死亡,精神,植物,防御,灵魂锁链,暗影突袭
                            魔法类很容易理解,死亡缠绕(攻击类型-法术,伤害类型-死亡)就是这种伤害类型的代表。【特点】无视护甲(只有普通伤害类型计算且一定计算护甲),不能伤害魔法免疫,如果攻击类型是法术则可以伤害虚无,与是否计算法抗无关。   
                          可以看到,和死亡缠绕,暴风雪这种小技能完全对应。(法术攻击,魔法伤害)                       
                   [强化类(6):强化,毒药,疾病,酸性,破坏,********
                            【特点】无视护甲(因为不是普通伤害类型),与是否计算法抗无关,攻击类型不是魔法则无视魔法免疫,攻击类型不是魔法则不能伤害虚无单位。
                   [通用类(2):通用,未知
                            【特点】无视护甲(因为不是普通伤害类型), 与是否计算法抗无关,如果攻击类型不是魔法则无视魔法免疫,如果攻击类型是法术则可以伤害虚无单位。
【攻击类型】:攻击类型共75+1+1)种,分为3类,物理攻击类,魔法物理攻击类,法术。
         [物理攻击类(5):普通,穿刺,攻城,英雄,混乱
                   【特点】无视法抗。
         [魔法物理攻击类(1):魔法-攻击类型
                   【特点】需要计算 魔攻法抗。可以伤害虚无单位,无法攻击魔免单位(可以在平衡常数里修改为允许攻击魔免单位)[代表对战中,女巫等法师的物理攻击。
         [法术类(1):法术
                   【特点】需要计算 法术魔抗。
楼主热帖
免责条款:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。

本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

本网站所提供的信息,只供参考之用。本网站不保证信息的准确性、有效性、及时性和完整性。本网站及其雇员一概毋须以任何方式就任何信息传递或传送的失误、不准确或错误,对用户或任何其他人士负任何直接或间接责任。在法律允许的范围内,本网站在此声明,不承担用户或任何人士就使用或未能使用本网站所提供的信息或任何链接所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿。

精彩评论2

 楼主| 提百万 发表于 2018-7-3 13:07:31 | 显示全部楼层 <
【第二部分-摸清内部运行步骤】
         UnitDamageTarget函数调用后,设置 伤害Real 为函数调入的伤害值, 魔攻法抗Real为单位的 魔法攻击类型抗性, 法术法抗Real 为单位的 法术攻击类型抗性。                  
         [第一步根据 攻击类型,护甲类型对 伤害Real 进行调整。
         [第二步检测是否计算护甲.
                            如果( 伤害类型 == 普通 ) Then ( 根据 护甲伤害减少 对 伤害Real 进行调整 )
         [第三步检测是否伤害魔免单位,或者虚无单位
                            如果( 单位是魔法免疫 )Then ( 判断伤害 是否 无视魔免 )
                                               如果( 攻击类型==魔法 OR 伤害类型==魔法类13种 )Then( 此类伤害 不能伤害魔免单位, 伤害Real = 0 )
                            否则如果( 单位是 虚无状态 )Then(判断伤害 是否 伤害虚无单位)//虚无无法与魔免同时存在
                                             如果{ 攻击类型 == 魔法 OR [攻击类型==法术 AND 伤害类型== (魔法类13种 OR 通用类2种 ) ]} Then( 设置 伤害Real * 虚无加成系数 )否则(说明不能伤害虚无单位 伤害Real = 0 )
         [第四步计算法抗
                            如果( 攻击类型 == 魔法 ) Then ( 伤害Real = 伤害Real * (1 –魔攻抗性Real )
                            否则如果( 攻击类型 == 法术 ) Then ( 伤害Real = 伤害Real *(1- 法术法抗Real)
*        【第三部分-总结】
[所有组合] 下面写出常见的常用的组合方式
从目标看,是否计算护甲,是否计算法抗,是否无视魔免,是否伤害虚无,共2*2*2*2=16种。其中有些种类不可能存在,如不可能既伤害虚无又不计法抗。
        从结果看,由3种攻击类型和4种伤害类型组合,共12种。
        最后总结得到8种情况。
        [计算护甲,无视魔免,不能伤害虚无,不计法抗] 物理攻击-普通伤害
        [计算护甲,无视魔免,不能伤害虚无, 计算法抗] 法术攻击-普通伤害
[计算护甲,不能伤害魔免,伤害虚无,计算法抗] 魔法攻击-普通伤害
        [不计护甲,不能伤害魔免,不能伤害虚无,不计法抗] 物理攻击-魔法伤害
        [不计护甲,不能伤害魔免,伤害虚无,计算法抗] 魔法攻击-魔法伤害, 魔法攻击-加强伤害, 魔法攻击-通用伤害, 法术攻击-魔法伤害
        [不计护甲,无视魔免,不能伤害虚无,不计法抗] 物理攻击-加强伤害, 物理攻击-通用伤害
        [不计护甲,无视魔免,不能伤害虚无, 计算法抗] 法术攻击-加强伤害
        [不计护甲,无视魔免,伤害虚无, 计算法抗] 法术攻击-通用伤害

神圣伤害:混乱攻击,加强伤害。这并非真正无敌的神圣伤害,因为 伤害虚无与不计法抗无法同时存在。混乱攻击,所以不计算法抗,并且护甲类型无影响(混乱攻击一般都是设为100%),加强伤害所以无视魔免,不计护甲。所以是写多少,打多少。不过不能打虚无单位。
               
附言:还有很多很细节的测试,比如,当单位身上有灵魂锁链技能时,受到 任意攻击类型-灵魂锁链伤害类型 伤害时就不分摊伤害…!!!而且单位既是虚无又有灵魂锁链BUFF时,所有魔法类13种伤害类型搭配任意攻击类型(不只是法术魔法)都可以伤害虚无单位,不过伤害量很小.(应该是伤害连续分摊的结果吧).不过,现在先不研究这个了…
最终大赢家 发表于 2018-7-3 20:55:20 | 显示全部楼层 <
奥利给 冲冲冲

强调下版规的规定,如有恶意灌水从重处罚:
=====发表主题规则=======
1.主题内容请一定要附带预览图片,谢谢;
2.搬运来的东西请尽量不要卖钱!;
3.发帖有任何疑问请联系QQ21031394;
=====发表回复规则=======
1.禁止直接复制标题内容的;
2.禁止纯数字或者纯字母的;
3.禁止乱打一通文不对题;
4.禁止屠版和刷分行为;
第一次扣分处理,第二次扣分+警告,警告三次禁言三天,绝不手软,情况严重的直接封号,请大家珍惜自己的账号!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
天工维度唯一QQ群
786014245

欢迎进群交流,入群答案:编辑器

  • 官方在线客服

    QQ客服:小雪

    点击交谈

    QQ客服:砂糖

    点击交谈

    团队老大:荀公子

    商务合作
  • 上海市静安区共和新路4718号宏慧新汇园6号楼603室

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方QQ群

Powered by 天天RPG&DZX3.4 ©2020-2021 Comsenz Inc.提百万设计( 沪ICP备18032615号-1 )营业执照