| | |
| | | break; |
| | | |
| | | case ServerDamageType.SuckHpReverse: |
| | | convertedAttackTypes |= (int)DamageType.Damage; |
| | | convertedAttackTypes |= (int)DamageType.SuckHpReverse; |
| | | break; |
| | | |
| | | case ServerDamageType.SelfHarm: |
| | |
| | | Debug.LogError($"[BattleDmgInfo] 未知的服务器伤害类型: {serverDamageType}({serverValue})"); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 如果源类型包含ServerDamageType.DamageReverse:的话 则需要去掉 DamageType.Recovery |
| | | if ((originalAttackTypes & (int)ServerDamageType.DamageReverse) != 0) |
| | | { |
| | | convertedAttackTypes &= ~(int)DamageType.Recovery; |
| | | } |
| | | |
| | | // DOT技能特殊处理(SkillType == 3 或 4) |
| | |
| | | targetDamageList.Add(new BattleDmg |
| | | { |
| | | damage = suckHp, |
| | | attackType = (int)DamageType.SuckHP |
| | | attackType = IsType(DamageType.SuckHpReverse) ? (int)DamageType.Damage : (int)DamageType.SuckHP |
| | | }); |
| | | } |
| | | else |
| | |
| | | casterDamageList.Add(new BattleDmg |
| | | { |
| | | damage = suckHp, |
| | | attackType = (int)DamageType.SuckHP |
| | | attackType = IsType(DamageType.SuckHpReverse) ? (int)DamageType.Damage : (int)DamageType.SuckHP |
| | | }); |
| | | } |
| | | } |