83 lines
3.1 KiB
C#
83 lines
3.1 KiB
C#
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,
|
||
}
|
||
|
||
// ── 交互标签 ────────────────────────────────────────────────────────────
|
||
[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 }
|
||
}
|