-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add various interfaces for equipment
- Loading branch information
Showing
11 changed files
with
80 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
using GuildWars2.Hero; | ||
|
||
namespace GuildWars2.Items; | ||
|
||
/// <summary>The interface for items that can be equipped to increase the player's combat attributes.</summary> | ||
public interface ICombatEquipment | ||
{ | ||
/// <summary>The Attribute Adjustment factor. To calculate the final item stats of the item, multiply this value with an | ||
/// attribute's multiplier, then add the result to the attribute's base value.</summary> | ||
/// <remarks>The formula is: attribute_adjustment * multiplier + value.</remarks> | ||
double AttributeAdjustment { get; } | ||
|
||
/// <summary>The ID of the item's attribute combination, used for items with fixed stats. This property is not used for | ||
/// items with selectable stats.</summary> | ||
int? AttributeCombinationId { get; } | ||
|
||
/// <summary>The IDs of the attribute combinations that can be chosen for the item. This property is only used for items | ||
/// with selectable stats.</summary> | ||
IReadOnlyList<int> StatChoices { get; } | ||
|
||
/// <summary>The effective stats of the item.</summary> | ||
IDictionary<Extensible<AttributeName>, int> Attributes { get; } | ||
|
||
/// <summary>The effect which is applied to the player when the item is equipped.</summary> | ||
Buff? Buff { get; } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace GuildWars2.Items; | ||
|
||
|
||
/// <summary>The interface for items that can be infused (or attuned) to add one extra infusion slot.</summary> | ||
public interface IInfusable | ||
{ | ||
/// <summary>If the current item is used in the Mystic Forge to infuse (or attune) equipment, this collection contains the IDs | ||
/// of the infused (or attuned) items. Each item in the collection represents a different recipe.</summary> | ||
IReadOnlyCollection<InfusionSlotUpgradePath> UpgradesInto { get; } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
namespace GuildWars2.Items; | ||
|
||
/// <summary>The interface for items with an extra infusion slot.</summary> | ||
public interface IInfused | ||
{ | ||
/// <summary>If the current item is upgraded, this collection contains the IDs of possible source items.</summary> | ||
IReadOnlyCollection<InfusionSlotUpgradeSource> UpgradesFrom { get; } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
namespace GuildWars2.Items; | ||
|
||
/// <summary>The interface for items with upgrade or infusion slots.</summary> | ||
public interface IUpgradable | ||
{ | ||
/// <summary>The ID of the upgrade component in the upgrade slot, if any.</summary> | ||
int? SuffixItemId { get; } | ||
|
||
/// <summary>The ID of the upgrade component in the second upgrade slot (two-handed weapons only), if any.</summary> | ||
int? SecondarySuffixItemId { get; } | ||
|
||
/// <summary>The infusion slots of the item (only available on ascended and legendary items).</summary> | ||
IReadOnlyList<InfusionSlot> InfusionSlots { get; } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters