MassBattle Docsv1.19.20

Damage.h

USTRUCT ×4 UENUM ×1

Source/MassBattle/Public/Fragments/Damage.h

概述 Overview

伤害系统的 fragment 集合。基础配置 FDamage(伤害类型、数值、百分比、暴击、范围、过滤查询、扫描/衰减/障碍选项)与三个用途专用的派生配置 FDamage_Point(单体)、FDamage_Radial(范围)与 FDamage_Beam(光束),后三者均提供从 FDamage 的转换构造,便于把作者配置分发到不同的伤害施加路径。

Damage fragment collection. The base config FDamage (type, amount, percent, crit, radius, filter query, sweep/falloff/obstacle options) plus three purpose-specific variants FDamage_Point (single target), FDamage_Radial (area) and FDamage_Beam (beam), each with a converting constructor from FDamage so authored config can be dispatched to the right application path.

EDmgType UENUM

伤害类型枚举,由 FDamage::DmgType 使用,对应 FDefence 中按类型区分的免疫比例。

Damage type enum, used by FDamage::DmgType, matching the per-type immunity ratios in FDefence.

值 Value说明 Description
Normal普通伤。Normal damage.
Fire火伤。Fire damage.
Ice冰伤。Ice damage.
Poison毒伤。Poison damage.
CustomDmgType0自定义伤害类型 0。Custom damage type 0.
CustomDmgType1自定义伤害类型 1。Custom damage type 1.
CustomDmgType2自定义伤害类型 2。Custom damage type 2.
CustomDmgType3自定义伤害类型 3。Custom damage type 3.

FDamage USTRUCT

伤害配置 fragment(FA_MassBattleBaseFragment 派生)。作者在 EntityConfig 中配置;运行时按 bUseSweep 等选项转换成分派到 FDamage_Point / FDamage_Radial / FDamage_Beam。经 MASS_FRAGMENT_ACCEPT_NOT_TRIVIALLY_COPYABLE 声明为不可平凡拷贝(含 FMassBattleQuery 成员)。

Damage config fragment (derived from FA_MassBattleBaseFragment). Authored in EntityConfig; at runtime it is converted and dispatched to FDamage_Point / FDamage_Radial / FDamage_Beam depending on bUseSweep etc. Declared via MASS_FRAGMENT_ACCEPT_NOT_TRIVIALLY_COPYABLE as not-trivially-copyable (contains FMassBattleQuery).

成员变量 Members

名称 Name类型 Type默认值说明 Description
DmgTypeEDmgTypeNormal伤害类型。Damage type.
Damagefloat100.f固定伤害数值。Flat damage amount.
PercentDmgfloat0.f百分比伤害(按目标生命值比例)。Percentage damage (ratio of the target's health).
CritDmgMultfloat2.f暴击伤害倍数。Critical damage multiplier.
CritProbabilityfloat0.1f暴击概率。Critical hit probability.
DmgRadiusfloat0.f伤害半径,0 为单体伤害。Damage radius; 0 for single-target damage.
QueryFMassBattleQuery—伤害过滤器(目标筛选)。Damage filter (target selection).
bUseSweepboolfalse是否使用扫描/光束施加伤害。Whether to use a sweep/beam for damage application.
bUseFalloffboolfalse是否启用距离衰减,目前为线性衰减。Whether to enable distance falloff (currently linear).
bCheckObstacleboolfalse是否排除障碍物后的目标。Whether to exclude targets behind obstacles.

FDamage_Point USTRUCT

单体伤害配置 fragment(FA_MassBattleBaseFragment 派生)。无 DmgRadius/bUseSweep/bUseFalloff/bCheckObstacle 字段;过滤查询为 FEntityQuery 类型。提供从 FDamage 的转换构造(Query 经 ToEntityQuery() 转换)。

Single-target damage config fragment (derived from FA_MassBattleBaseFragment). No DmgRadius/bUseSweep/bUseFalloff/bCheckObstacle; the filter query is an FEntityQuery. Provides a converting constructor from FDamage (Query converted via ToEntityQuery()).

成员变量 Members

名称 Name类型 Type默认值说明 Description
DmgTypeEDmgTypeNormal伤害类型。Damage type.
Damagefloat100.f固定伤害数值。Flat damage amount.
PercentDmgfloat0.f百分比伤害。Percentage damage.
CritDmgMultfloat2.f暴击伤害倍数。Critical damage multiplier.
CritProbabilityfloat0.1f暴击概率。Critical hit probability.
QueryFEntityQuery—伤害过滤器。Damage filter.

FDamage_Radial USTRUCT

范围伤害配置 fragment(FA_MassBattleBaseFragment 派生)。在 FDamage 基础上去掉 bUseSweep,保留 DmgRadius/bUseFalloff/bCheckObstacle;提供从 FDamage 的转换构造(Query 直接拷贝)。

Area damage config fragment (derived from FA_MassBattleBaseFragment). Based on FDamage minus bUseSweep, keeping DmgRadius/bUseFalloff/bCheckObstacle; provides a converting constructor from FDamage (Query copied directly).

成员变量 Members

名称 Name类型 Type默认值说明 Description
DmgType / Damage / PercentDmg / CritDmgMult / CritProbability同 FDamage同左基础伤害字段,与 FDamage 相同。Base damage fields, identical to FDamage.
DmgRadiusfloat0.f伤害半径,0 为单体伤害。Damage radius; 0 for single-target damage.
QueryFMassBattleQuery—范围伤害过滤器。Area damage filter.
bUseFalloffboolfalse是否启用范围伤害衰减。Whether to enable area damage falloff.
bCheckObstacleboolfalse是否排除障碍物后的目标。Whether to exclude targets behind obstacles.

FDamage_Beam USTRUCT

光束伤害配置 fragment(FA_MassBattleBaseFragment 派生)。在范围伤害基础上附加光束几何参数:DmgRadius 兼作光束粗细、BeamLength 长度、相对投射物的位置/旋转偏移与旋转跟随开关。提供从 FDamage 的转换构造。

Beam damage config fragment (derived from FA_MassBattleBaseFragment). Adds beam geometry on top of area damage: DmgRadius doubles as the beam thickness, BeamLength the length, relative location/rotation offsets from the projectile, and a rotation-follow toggle. Provides a converting constructor from FDamage.

成员变量 Members

名称 Name类型 Type默认值说明 Description
DmgType / Damage / PercentDmg / CritDmgMult / CritProbability同 FDamage同左基础伤害字段,与 FDamage 相同。Base damage fields, identical to FDamage.
DmgRadiusfloat50.f伤害半径(光束粗细)。Damage radius (beam thickness).
BeamLengthfloat1000.f光束长度。Beam length.
BeamRelativeLocationFVector3fZero相对投射物中心的位移偏移。Relative location offset from the projectile center.
BeamRelativeRotationFRotator3fZeroRotator相对投射物前方的旋转偏移。Relative rotation offset from the projectile forward.
bRotationFollowProjectilebooltrue为真时光束随投射物旋转;为假时使用 BeamRelativeRotation 定义的固定世界方向。If true the beam rotates with the projectile; if false it uses the fixed world rotation defined by BeamRelativeRotation.
QueryFMassBattleQuery—范围伤害过滤器。Area damage filter.
bUseFalloffboolfalse是否启用范围伤害衰减。Whether to enable area damage falloff.
bCheckObstacleboolfalse是否排除障碍物后的目标。Whether to exclude targets behind obstacles.

管线角色 Pipeline Role

三个派生配置由不同的伤害施加路径消费(grep 验证:MassBattleProjectileMonoProcessor、MassBattleAgentBehaviorProcessor、MassBattleNetworkProcessor、MassBattleProjectileSubsystem、MassBattleHostSubsystem、MassBattleSubsystem 与 FuncLib MassBattleFuncLib 均引用)。作者配置 FDamage 经转换构造分发,伤害结果(含暴击判定、防御减免)由伤害/反应处理器结算并可能触发 debuff(见 Debuff.h)与死亡(见 Death.h)。

The three variants are consumed by different damage-application paths (verified by grep: MassBattleProjectileMonoProcessor, MassBattleAgentBehaviorProcessor, MassBattleNetworkProcessor, MassBattleProjectileSubsystem, MassBattleHostSubsystem, MassBattleSubsystem and the MassBattleFuncLib func lib all reference them). The authored FDamage is dispatched via converting constructors; results (crit roll, defence mitigation) are resolved by damage/reaction processors and may trigger debuffs (see Debuff.h) and death (see Death.h).

补充说明 Notes

文件中的 Heal 枚举值与各结构体的 bDrawDebugShape 字段均为注释掉的预留定义,当前未启用。

The Heal enum value and the bDrawDebugShape fields in each struct are commented-out reserved definitions, currently disabled.