Skip to main content

CTakeDamageInfo

Wraps the native CTakeDamageInfo damage descriptor. Can be owned (created via constructor, must be Disposed) or non-owning (obtained from an OnTakeDamage hook). Exposes attacker, inflictor, ability, damage amount, type, and flags.

public sealed class CTakeDamageInfo : IDisposable

Namespace: DeadworksManaged.Api
Inherits / implements: IDisposable
Source: Damage.cs#L7

Constructors​

new CTakeDamageInfo()​

Creates a new native CTakeDamageInfo. Must be disposed after use.

Signature

public CTakeDamageInfo(float damage, CBaseEntity? attacker = null, CBaseEntity? inflictor = null, CBaseEntity? ability = null, int damageType = 0)

Source: Damage.cs#L20

Properties​

CTakeDamageInfo.Handle​

Signature

public nint Handle { get; }

Source: Damage.cs#L8

CTakeDamageInfo.Inflictor​

Signature

public CBaseEntity? Inflictor { get; }

Source: Damage.cs#L37

CTakeDamageInfo.Attacker​

Signature

public CBaseEntity? Attacker { get; }

Source: Damage.cs#L46

CTakeDamageInfo.Ability​

Signature

public CBaseEntity? Ability { get; }

Source: Damage.cs#L55

CTakeDamageInfo.Originator​

Signature

public CBaseEntity? Originator { get; }

Source: Damage.cs#L64

CTakeDamageInfo.Damage​

Signature

public float Damage { get; set; }

Source: Damage.cs#L73

CTakeDamageInfo.TotalledDamage​

Signature

public float TotalledDamage { get; set; }

Source: Damage.cs#L76

CTakeDamageInfo.DamageType​

Signature

public int DamageType { get; set; }

Source: Damage.cs#L79

CTakeDamageInfo.DamageFlags​

Signature

public TakeDamageFlags DamageFlags { get; set; }

Source: Damage.cs#L82

CTakeDamageInfo.CitadelDamageType​

The kind of damage (bullet, spirit, melee, ...). Starts as ECitadelDamageType.None; set it before CBaseEntity.ApplyDamage so the right resistances and modifiers apply.

Signature

public ECitadelDamageType CitadelDamageType { get; set; }

Source: Damage.cs#L89

Methods​

CTakeDamageInfo.Dispose()​

Signature

public void Dispose()

Source: Damage.cs#L29