Table of Contents

Struct PluginEquipmentItem

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

One item the player owns that can be worn or wielded, with the numbers an equipment-policy plugin needs to choose between candidates.

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

Constructors

PluginEquipmentItem(uint, string, uint, uint, uint, uint, uint, byte, int, int, int, double)

One item the player owns that can be worn or wielded, with the numbers an equipment-policy plugin needs to choose between candidates.

public PluginEquipmentItem(uint ObjectId, string Name, uint ItemType, uint ValidLocations, uint EquippedLocation, uint ContainerObjectId, uint WielderObjectId, byte CombatUse, int DamageType, int WeaponSkill, int Damage, double DamageVariance)

Parameters

ObjectId uint

The item's object id.

Name string

The item's display name.

ItemType uint

The item's type bit mask (weapon, armor, clothing, and so on).

ValidLocations uint

Bit mask of the equipment slots this item is allowed to occupy. An item with no valid slot is not reported by this surface at all.

EquippedLocation uint

Bit mask of the slot the item currently occupies, or zero when it is not equipped.

ContainerObjectId uint

The container holding the item, or zero when it is not inside one.

WielderObjectId uint

The creature wielding the item, or zero when nobody is.

CombatUse byte

What combat role the item fills (melee weapon, missile weapon, shield, ammunition) as the item's own data reports it; zero when it has none.

DamageType int

The damage type the item deals, from its property table.

WeaponSkill int

The skill the item attacks with, from its property table.

Damage int

The item's damage rating, from its property table.

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.

Properties

AmmoType

The ammunition type a launcher fires or a stack of ammunition is; zero for anything else.

public uint AmmoType { get; init; }

Property Value

uint

ArmorCleaving

Rating bonuses a quest weapon can carry. Each says only whether the weapon has the bonus at all, which is the only thing weapon choice asks: a bonus is worth a fixed number of points however large its own multiplier happens to be.

public bool ArmorCleaving { get; init; }

Property Value

bool

BitingStrike

Rating bonuses a quest weapon can carry. Each says only whether the weapon has the bonus at all, which is the only thing weapon choice asks: a bonus is worth a fixed number of points however large its own multiplier happens to be.

public bool BitingStrike { get; init; }

Property Value

bool

Cleaving

How many creatures one swing of this weapon can strike. Greater than one means a kill sentence may name a creature the swing was not aimed at.

public int Cleaving { get; init; }

Property Value

int

CombatUse

What combat role the item fills (melee weapon, missile weapon, shield, ammunition) as the item's own data reports it; zero when it has none.

public byte CombatUse { get; init; }

Property Value

byte

ContainerObjectId

The container holding the item, or zero when it is not inside one.

public uint ContainerObjectId { get; init; }

Property Value

uint

CrushingBlow

Rating bonuses a quest weapon can carry. Each says only whether the weapon has the bonus at all, which is the only thing weapon choice asks: a bonus is worth a fixed number of points however large its own multiplier happens to be.

public bool CrushingBlow { get; init; }

Property Value

bool

Damage

The item's damage rating, from its property table.

public int Damage { get; init; }

Property Value

int

DamageType

The damage type the item deals, from its property table.

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

EquippedLocation

Bit mask of the slot the item currently occupies, or zero when it is not equipped.

public uint EquippedLocation { get; init; }

Property Value

uint

ImbuedEffect

The imbue burned into the weapon: the rends that change which element it strikes with, plus the critical bonuses.

public int ImbuedEffect { get; init; }

Property Value

int

IsEquipped

True when the item currently occupies an equipment slot.

public bool IsEquipped { get; }

Property Value

bool

ItemType

The item's type bit mask (weapon, armor, clothing, and so on).

public uint ItemType { get; init; }

Property Value

uint

Name

The item's display name.

public string Name { get; init; }

Property Value

string

ObjectClass

The object's category as classified by the client; Unknown when unavailable.

public PluginObjectClass ObjectClass { get; init; }

Property Value

PluginObjectClass

ObjectId

The item's object id.

public uint ObjectId { get; init; }

Property Value

uint

ResistanceCleaving

The damage type this weapon cleaves the target's resistance to. Same bit layout as DamageType. The name is the profile format's word for it; the client calls the same property a resistance modifier type.

public int ResistanceCleaving { get; init; }

Property Value

int

SlayerCreatureType

The creature type this weapon slays, or zero. A weapon that slays what is being fought outranks every other consideration.

public int SlayerCreatureType { get; init; }

Property Value

int

StackSize

How many of the item this stack holds; zero for an empty stack.

public int StackSize { get; init; }

Property Value

int

ValidLocations

Bit mask of the equipment slots this item is allowed to occupy. An item with no valid slot is not reported by this surface at all.

public uint ValidLocations { get; init; }

Property Value

uint

WeaponSkill

The skill the item attacks with, from its property table.

public int WeaponSkill { get; init; }

Property Value

int

WeaponType

The weapon category the item belongs to; zero when it is not a weapon.

public int WeaponType { get; init; }

Property Value

int

WielderObjectId

The creature wielding the item, or zero when nobody is.

public uint WielderObjectId { get; init; }

Property Value

uint