using System; namespace BaseGames.Combat { // ── 元素/物理属性 ─────────────────────────────────────────────────────── public enum DamageType { Normal, True, Fire, Poison, Ice, Lightning, Void } // ── 来源分类 ──────────────────────────────────────────────────────────── public enum DamageCategory { NormalAttack = 0, SoulSkill = 1, SpiritSkill = 2, Projectile = 3, EnvironmentTrap = 4, StatusEffect = 5, FallDamage = 6, Reflected = 7, } // ── 行为标志 ──────────────────────────────────────────────────────────── [Flags] public enum DamageFlags { None = 0, Unblockable = 1 << 0, CanBeParried = 1 << 1, IgnoreIFrame = 1 << 2, PerfectParryOnly = 1 << 3, IsProjectile = 1 << 4, CanClash = 1 << 5, ForceBreak = 1 << 6, NoKnockback = 1 << 7, /// 击飞:使敌人进入 KnockUp 状态(腾空 + 落地)。仅在伤害量 >= HitTierConfig.launchThreshold 时生效。 Launch = 1 << 8, } // ── 交互标签 ──────────────────────────────────────────────────────────── [Flags] public enum DamageTags : uint { None = 0, MeleeHit = 1 << 0, RangedHit = 1 << 1, SkillHit = 1 << 2, ElementFire = 1 << 3, ElementPoison = 1 << 4, ElementVoid = 1 << 5, AfterParry = 1 << 6, ChargedAttack = 1 << 7, SkyFormOnly = 1 << 8, EarthFormOnly = 1 << 9, DeathFormOnly = 1 << 10, BreakLight = 1 << 11, BreakMedium = 1 << 12, BreakHeavy = 1 << 13, BreakBreaker = 1 << 14, } public enum HitFxType { Spark, Slash, Blood, Magic, Heavy, Crit, Void, Heal, Parry, Fire, Ice } // ── 攻击方打断等级 ────────────────────────────────────────────────────── public enum BreakLevel { None = 0, Light = 1, Medium = 2, Heavy = 3, Breaker = 4, } // ── 承受方霸体等级 ────────────────────────────────────────────────────── public enum PoiseLevel { None = 0, Light = 1, Medium = 2, Heavy = 3, Unbreakable = 100, } // ── 攻击方向(PlayerCombat / WeaponSO 使用)──────────────────────────── public enum AttackDirection { Ground, Up, Down, Air } }