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









