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
ObjectIduintThe item's object id.
NamestringThe item's display name.
ItemTypeuintThe item's type bit mask (weapon, armor, clothing, and so on).
ValidLocationsuintBit 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.
EquippedLocationuintBit mask of the slot the item currently occupies, or zero when it is not equipped.
ContainerObjectIduintThe container holding the item, or zero when it is not inside one.
WielderObjectIduintThe creature wielding the item, or zero when nobody is.
CombatUsebyteWhat combat role the item fills (melee weapon, missile weapon, shield, ammunition) as the item's own data reports it; zero when it has none.
DamageTypeintThe damage type the item deals, from its property table.
WeaponSkillintThe skill the item attacks with, from its property table.
DamageintThe item's damage rating, from its property table.
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.
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
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
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
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
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
ContainerObjectId
The container holding the item, or zero when it is not inside one.
public uint ContainerObjectId { get; init; }
Property Value
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
Damage
The item's damage rating, from its property table.
public int Damage { get; init; }
Property Value
DamageType
The damage type the item deals, from its property table.
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
EquippedLocation
Bit mask of the slot the item currently occupies, or zero when it is not equipped.
public uint EquippedLocation { get; init; }
Property Value
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
IsEquipped
True when the item currently occupies an equipment slot.
public bool IsEquipped { get; }
Property Value
ItemType
The item's type bit mask (weapon, armor, clothing, and so on).
public uint ItemType { get; init; }
Property Value
Name
The item's display name.
public string Name { get; init; }
Property Value
ObjectClass
The object's category as classified by the client; Unknown when unavailable.
public PluginObjectClass ObjectClass { get; init; }
Property Value
ObjectId
The item's object id.
public uint ObjectId { get; init; }
Property Value
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
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
StackSize
How many of the item this stack holds; zero for an empty stack.
public int StackSize { get; init; }
Property Value
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
WeaponSkill
The skill the item attacks with, from its property table.
public int WeaponSkill { get; init; }
Property Value
WeaponType
The weapon category the item belongs to; zero when it is not a weapon.
public int WeaponType { get; init; }
Property Value
WielderObjectId
The creature wielding the item, or zero when nobody is.
public uint WielderObjectId { get; init; }