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
DamageTypeintThe damage type the weapon deals.
WeaponTimeintThe weapon's speed rating -- a rating, not a duration; higher is slower.
WeaponSkilluintThe skill the weapon attacks with.
DamageintThe weapon's damage rating. Minus one means the server left it unset.
DamageVariancedoubleHow far below
Damagea hit can roll, as a fraction of it: 0.2 means a hit lands between 80% and 100% of the damage rating.DamageModdoubleA multiplier on damage centred on 1.0: 1.05 means five percent more.
WeaponLengthdoubleThe weapon's reach.
MaxVelocitydoubleThe launch speed a missile weapon gives its ammunition.
WeaponOffensedoubleA multiplier on attack skill centred on 1.0: 0.9 means ten percent less.
MaxVelocityEstimatedintNon-zero when
MaxVelocityis 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
DamageMod
A multiplier on damage centred on 1.0: 1.05 means five percent more.
public double DamageMod { get; init; }
Property Value
DamageType
The damage type the weapon deals.
public int DamageType { get; init; }
Property Value
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
MaxVelocity
The launch speed a missile weapon gives its ammunition.
public double MaxVelocity { get; init; }
Property Value
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
WeaponLength
The weapon's reach.
public double WeaponLength { get; init; }
Property Value
WeaponOffense
A multiplier on attack skill centred on 1.0: 0.9 means ten percent less.
public double WeaponOffense { get; init; }
Property Value
WeaponSkill
The skill the weapon attacks with.
public uint WeaponSkill { get; init; }
Property Value
WeaponTime
The weapon's speed rating -- a rating, not a duration; higher is slower.
public int WeaponTime { get; init; }