Table of Contents

Struct PluginWeaponProfile

Namespace
AcDream.Plugin.Abstractions
Assembly
AcDream.Plugin.Abstractions.dll

A weapon's real damage/offense numbers as the server's appraisal response reported them, straight from the WeaponProfile blob -- not the PropertyInt/PropertyFloat table, which the server does not populate for most weapons. Null until the item has been successfully appraised, or if it never carries a WeaponProfile blob (i.e. it is not a weapon).

public readonly record struct PluginWeaponProfile : IEquatable<PluginWeaponProfile>
Implements
Inherited Members

Constructors

PluginWeaponProfile(int, int, uint, int, double, double, double, double, double, int)

A weapon's real damage/offense numbers as the server's appraisal response reported them, straight from the WeaponProfile blob -- not the PropertyInt/PropertyFloat table, which the server does not populate for most weapons. Null until the item has been successfully appraised, or if it never carries a WeaponProfile blob (i.e. it is not a weapon).

public PluginWeaponProfile(int DamageType, int WeaponTime, uint WeaponSkill, int Damage, double DamageVariance, double DamageMod, double WeaponLength, double MaxVelocity, double WeaponOffense, int MaxVelocityEstimated)

Parameters

DamageType int

The damage type the weapon deals.

WeaponTime int

The weapon's speed rating -- a rating, not a duration; higher is slower.

WeaponSkill uint

The skill the weapon attacks with.

Damage int

The weapon's damage rating. Minus one means the server left it unset.

DamageVariance double

How far below Damage a hit can roll, as a fraction of it: 0.2 means a hit lands between 80% and 100% of the damage rating.

DamageMod double

A multiplier on damage centred on 1.0: 1.05 means five percent more.

WeaponLength double

The weapon's reach.

MaxVelocity double

The launch speed a missile weapon gives its ammunition.

WeaponOffense double

A multiplier on attack skill centred on 1.0: 0.9 means ten percent less.

MaxVelocityEstimated int

Non-zero when MaxVelocity is an estimate the server worked out at a nominal strength rather than the wielder's own.

Properties

Damage

The weapon's damage rating. Minus one means the server left it unset.

public int Damage { get; init; }

Property Value

int

DamageMod

A multiplier on damage centred on 1.0: 1.05 means five percent more.

public double DamageMod { get; init; }

Property Value

double

DamageType

The damage type the weapon deals.

public int DamageType { get; init; }

Property Value

int

DamageVariance

How far below Damage a hit can roll, as a fraction of it: 0.2 means a hit lands between 80% and 100% of the damage rating.

public double DamageVariance { get; init; }

Property Value

double

MaxVelocity

The launch speed a missile weapon gives its ammunition.

public double MaxVelocity { get; init; }

Property Value

double

MaxVelocityEstimated

Non-zero when MaxVelocity is an estimate the server worked out at a nominal strength rather than the wielder's own.

public int MaxVelocityEstimated { get; init; }

Property Value

int

WeaponLength

The weapon's reach.

public double WeaponLength { get; init; }

Property Value

double

WeaponOffense

A multiplier on attack skill centred on 1.0: 0.9 means ten percent less.

public double WeaponOffense { get; init; }

Property Value

double

WeaponSkill

The skill the weapon attacks with.

public uint WeaponSkill { get; init; }

Property Value

uint

WeaponTime

The weapon's speed rating -- a rating, not a duration; higher is slower.

public int WeaponTime { get; init; }

Property Value

int