| | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | public override bool NeedWaitSibling() |
| | | { |
| | | return HasDeathTriggerSkill(); |
| | | } |
| | | } |
| | |
| | | |
| | | public class BattleDmgInfo |
| | | { |
| | | // 排除展示的伤害类型 |
| | | protected static List<DamageType> ExcludeDamageTypes = new List<DamageType> |
| | | { |
| | | DamageType.SuckHpReverse, |
| | | DamageType.Parry, |
| | | DamageType.BreakArmor, |
| | | DamageType.Protected, |
| | | }; |
| | | |
| | | public string battleFieldGuid { get; private set; } |
| | | public BattleHurtParam battleHurtParam { get; private set; } |
| | | |
| | |
| | | targetDamageList.Add(new BattleDmg { damage = damage, attackType = attackType }); |
| | | } |
| | | |
| | | protected static List<DamageType> ExcludeDamageTypes = new List<DamageType> |
| | | { |
| | | DamageType.SuckHpReverse, |
| | | DamageType.Parry, |
| | | DamageType.BreakArmor, |
| | | DamageType.Protected, |
| | | }; |
| | | |
| | | |
| | | /// <summary> |
| | | /// 验证并修复攻击类型 |
| | |
| | | |
| | | CritRealdamage = Crit + Realdamage, //暴击真伤 |
| | | |
| | | SuckHpReverse = 8192, //吸血反转为伤害 |
| | | SuckHpReverse = 8192,//吸血毒药 (2^13 序号13) |
| | | |
| | | Protected = 16384,//本次伤害有受保护标记 (2^13 序号13) |
| | | Protected = 16384,//本次伤害有受保护标记 (2^14 序号14) |
| | | |
| | | |
| | | |
| | | BreakArmor = 32768,//破甲伤害 (2^15 序号15) |
| | | |
| | |
| | | } |
| | | return battleField.guid; |
| | | } |
| | | |
| | | public virtual bool NeedWaitSibling() |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | |
| | | if (prevAction != null && prevAction.parentAction == action.parentAction) |
| | | { |
| | | // 找到同级前置节点,如果它还在执行中,则当前节点需要等待 |
| | | if (!prevAction.IsFinished()) |
| | | if (!prevAction.IsFinished() && action.NeedWaitSibling()) |
| | | { |
| | | shouldWaitForSibling = true; |
| | | // BattleDebug.LogError($"RecordPlayer: {action.GetType().Name} 等待同级前置节点 {prevAction.GetType().Name} 完成"); |
| | |
| | | } |
| | | |
| | | // 传递parentRecordAction,让死亡技能等待当前技能完成 |
| | | battleField.OnObjsDead(new List<BattleDeadPack>(tempDeadPackList.Values), parentRecordAction); |
| | | battleField.OnObjsDead(new List<BattleDeadPack>(tempDeadPackList.Values)); |
| | | |
| | | // 1. 强制结束技能效果 |
| | | skillEffect?.ForceFinished(); |