太阳神三国杀lua吧 关注:2,645贴子:73,508
  • 2回复贴,共1

【求助】日神是否可以区分某个特定的DamageStruct

只看楼主收藏回复

假设有这样一个技能:
当你于出牌阶段内造成的第一次伤害结算结束后,你可以XXX。
初看上去是个很简单的技能,在DamageComplete触发就行了。
然而并不可以,因为在造成伤害后受到伤害后还有一大堆的插入结算(最简单的例子是三尖两刃刀)。
那么在PreDamageDone记录一下,再在DamageComplete触发吗?
还不行,如果你用Mark或者Flag,那么先触发的会是插入结算的DamageComplete而不是原本的DamageComplete,于是就懵逼了。
现在想在PreDamageDone用Tag把整个DamageStruct存下来,再在DamageComplete判断收到的还是不是记录的那个结构。但是在lua中并没法直接判断两个struct是否相等……
而判断各个参数的话,又有可能两个struct各参数完全一样但又不是同一个伤害(再考虑一个技能,当你对一名角色造成伤害后,你可以判定,若结果为黑桃,你对其造成同点数同属性的伤害)。
所以现在好像没什么好办法……


1楼2016-08-13 20:12回复
    其实曹植的酒诗也存在这个问题……在PreDamageDone判断是否满足条件,但是发动要到DamageComplete。
    只是现在的体系很难让曹植在这之间再受到二次伤害(但是用丕儒仁大阵的话也不是问题)。


    2楼2016-08-13 20:17
    回复
      2026-02-08 05:30:06
      广告
      不感兴趣
      开通SVIP免广告
      (装13版)可以考虑用引用计数思想,(普通版)在PreDamageDone增加一个Mark,在DamageComplete减少一个mark,如果发现为0了,就XXXX并立上flag
      未测试,不知道行不行


      IP属地:天津来自Android客户端3楼2016-08-14 14:34
      回复