diff --git a/Crawler/AttributableStat.h b/Crawler/AttributableStat.h
index 66110b7b..04868ec1 100644
--- a/Crawler/AttributableStat.h
+++ b/Crawler/AttributableStat.h
@@ -55,6 +55,9 @@ enum class ItemAttribute{
critDmgPct,
healthPct, //Percentage of health boost
healthPctRecoveryPer6sec, //Percentage of health recovered every 6 seconds.
+ healthPctRecoveryPer4sec, //Percentage of health recovered every 4 seconds.
+ damageReductionPct, //Percentage of damage reduced directly.
+ attackPct, //Percentage of damage increased by.
/////////NOTE: When adding a new item stat, provide its display name in the map below.
/*////////////////////////////////////////////*/
@@ -85,7 +88,10 @@ private:
{ItemAttribute::critPct,{"Crit Rate",DisplayType::DISPLAY_AS_PERCENT}},
{ItemAttribute::critDmgPct,{"Crit Dmg",DisplayType::DISPLAY_AS_PERCENT}},
{ItemAttribute::healthPct,{"Health %",DisplayType::DISPLAY_AS_PERCENT}}, //Percentage of health boost
- {ItemAttribute::healthPctRecoveryPer6sec,{"HP Recovery",DisplayType::DISPLAY_AS_NUMBER}} //Percentage of health recovered every 6 seconds.}
+ {ItemAttribute::healthPctRecoveryPer6sec,{"HP Recovery %",DisplayType::DISPLAY_AS_NUMBER}}, //Percentage of health recovered every 6 seconds.
+ {ItemAttribute::healthPctRecoveryPer4sec,{"HP Recovery %",DisplayType::DISPLAY_AS_NUMBER}}, //Percentage of health recovered every 4 seconds.
+ {ItemAttribute::damageReductionPct,{"Damage Reduction",DisplayType::DISPLAY_AS_PERCENT}}, //Percentage of damage reduced directly.
+ {ItemAttribute::attackPct,{"Attack %",DisplayType::DISPLAY_AS_PERCENT}}, //Percentage of damage increased by.
};
public:
//Returns a copy of all the attributes to be passed to a new instance easily / to sync values between both.
diff --git a/Crawler/Crawler.vcxproj b/Crawler/Crawler.vcxproj
index 1157e451..eb36f1ca 100644
--- a/Crawler/Crawler.vcxproj
+++ b/Crawler/Crawler.vcxproj
@@ -469,6 +469,7 @@
+
diff --git a/Crawler/Crawler.vcxproj.filters b/Crawler/Crawler.vcxproj.filters
index ed716c81..8e3edf6d 100644
--- a/Crawler/Crawler.vcxproj.filters
+++ b/Crawler/Crawler.vcxproj.filters
@@ -560,6 +560,9 @@
Configurations\Items
+
+ Configurations\Items
+
diff --git a/Crawler/assets/config/items/Equipment.txt b/Crawler/assets/config/items/Equipment.txt
index c1e7b1e7..4b79d9e1 100644
--- a/Crawler/assets/config/items/Equipment.txt
+++ b/Crawler/assets/config/items/Equipment.txt
@@ -4,10 +4,11 @@ Equipment
{
DisplayName = Leather Helmet
Slot = Helmet
- PartofSet = 1
+ PartofSet = Leather
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 3,2,0
StatValues[1] = 4,3,0
StatValues[2] = 5,3,0
@@ -24,10 +25,11 @@ Equipment
{
DisplayName = Leather Armor
Slot = Armor
- PartofSet = 1
+ PartofSet = Leather
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 5,1,0
StatValues[1] = 6,1,0
StatValues[2] = 7,2,0
@@ -44,10 +46,11 @@ Equipment
{
DisplayName = Leather Pants
Slot = Pants
- PartofSet = 1
+ PartofSet = Leather
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 4,1,1
StatValues[1] = 5,1,1
StatValues[2] = 6,1,2
@@ -64,10 +67,11 @@ Equipment
{
DisplayName = Leather Gloves
Slot = Gloves
- PartofSet = 1
+ PartofSet = Leather
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 1,0,1
StatValues[1] = 2,0,3
StatValues[2] = 3,0,3
@@ -84,10 +88,11 @@ Equipment
{
DisplayName = Leather Shoes
Slot = Shoes
- PartofSet = 1
+ PartofSet = Leather
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 2,1,0
StatValues[1] = 3,1,1
StatValues[2] = 4,2,1
@@ -104,10 +109,11 @@ Equipment
{
DisplayName = Copper Helmet
Slot = Helmet
- PartofSet = 2
+ PartofSet = Copper
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 7,5,2
StatValues[1] = 9,5,2
StatValues[2] = 10,6,3
@@ -124,10 +130,11 @@ Equipment
{
DisplayName = Copper Armor
Slot = Armor
- PartofSet = 2
+ PartofSet = Copper
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 10,3,2
StatValues[1] = 11,4,2
StatValues[2] = 12,4,3
@@ -144,10 +151,11 @@ Equipment
{
DisplayName = Copper Pants
Slot = Pants
- PartofSet = 2
+ PartofSet = Copper
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 9,3,3
StatValues[1] = 10,3,4
StatValues[2] = 11,4,4
@@ -164,10 +172,11 @@ Equipment
{
DisplayName = Copper Gloves
Slot = Gloves
- PartofSet = 2
+ PartofSet = Copper
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 5,2,5
StatValues[1] = 6,2,5
StatValues[2] = 6,3,6
@@ -184,10 +193,11 @@ Equipment
{
DisplayName = Copper Shoes
Slot = Shoes
- PartofSet = 2
+ PartofSet = Copper
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 6,3,3
StatValues[1] = 7,3,3
StatValues[2] = 7,4,4
@@ -204,10 +214,11 @@ Equipment
{
DisplayName = Shell Helmet
Slot = Helmet
- PartofSet = 3
+ PartofSet = Shell
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 12,8,4
StatValues[1] = 13,8,4
StatValues[2] = 18,9,4
@@ -224,10 +235,11 @@ Equipment
{
DisplayName = Shell Armor
Slot = Armor
- PartofSet = 3
+ PartofSet = Shell
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 14,6,4
StatValues[1] = 15,7,4
StatValues[2] = 20,7,4
@@ -244,10 +256,11 @@ Equipment
{
DisplayName = Shell Pants
Slot = Pants
- PartofSet = 3
+ PartofSet = Shell
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 13,5,6
StatValues[1] = 14,5,7
StatValues[2] = 16,6,7
@@ -264,10 +277,11 @@ Equipment
{
DisplayName = Shell Gloves
Slot = Gloves
- PartofSet = 3
+ PartofSet = Shell
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 8,4,7
StatValues[1] = 8,4,8
StatValues[2] = 8,4,9
@@ -284,10 +298,11 @@ Equipment
{
DisplayName = Shell Shoes
Slot = Shoes
- PartofSet = 3
+ PartofSet = Shell
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 9,5,4
StatValues[1] = 9,5,5
StatValues[2] = 9,6,6
@@ -304,10 +319,11 @@ Equipment
{
DisplayName = Bone Helmet
Slot = Helmet
- PartofSet = 4
+ PartofSet = Bone
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 24,12,5
StatValues[1] = 29,12,5
StatValues[2] = 31,13,5
@@ -324,10 +340,11 @@ Equipment
{
DisplayName = Bone Armor
Slot = Armor
- PartofSet = 4
+ PartofSet = Bone
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 33,9,5
StatValues[1] = 37,10,5
StatValues[2] = 41,11,5
@@ -344,10 +361,11 @@ Equipment
{
DisplayName = Bone Pants
Slot = Pants
- PartofSet = 4
+ PartofSet = Bone
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 24,7,9
StatValues[1] = 26,8,10
StatValues[2] = 30,8,11
@@ -364,10 +382,11 @@ Equipment
{
DisplayName = Bone Gloves
Slot = Gloves
- PartofSet = 4
+ PartofSet = Bone
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 9,5,11
StatValues[1] = 10,5,12
StatValues[2] = 11,5,13
@@ -384,10 +403,11 @@ Equipment
{
DisplayName = Bone Shoes
Slot = Shoes
- PartofSet = 4
+ PartofSet = Bone
ItemCategory = Equipment
- # Stat Values of the item based on Enhancement level. [Armor],[Health],[Attack]
+ # Stat Values of the item based on Enhancement level.
+ StatValues = Defense,Health,Attack # See ItemSets.txt for valid stat names
StatValues[0] = 11,7,7
StatValues[1] = 11,8,8
StatValues[2] = 12,8,8
diff --git a/Crawler/assets/config/items/ItemSets.txt b/Crawler/assets/config/items/ItemSets.txt
new file mode 100644
index 00000000..e616d19e
--- /dev/null
+++ b/Crawler/assets/config/items/ItemSets.txt
@@ -0,0 +1,135 @@
+ItemSet
+{
+ # Wrap the entire set of stats in the number of pieces required. Example:
+ #
+ # Example Armor
+ # {
+ # 3
+ # { #Add a 3-set piece bonus for Example Armor of +5 bonus attack.
+ # Attack = 5
+ # }
+ # 5
+ # { #Add a 5-set piece bonus for Example Armor of +20 Health.
+ # Health = 20
+ # }
+ # }
+ #
+ #
+ # Provide any stat name followed by its increase amount to add it to the set. Valid stat names and value examples are below:
+ #
+ # Defense = 5 # Adds 5 defense
+ # Health = 3 # Adds 3 Health
+ # Attack = 7 # Adds 7 attack
+ # Move Spd = 10% # Grants 10% more movement speed.
+ # CDR = 14% # Grants 14% cooldown reduction.
+ # Crit Rate = 5% # Grants 5% crit rate.
+ # Crit Dmg = 25% # Grants 25% bonus crit damage.
+ # Health % = 30% # Grants 30% Max health
+ # HP6 Recovery % = 4% # Grants 4% HP recovery every 6 seconds.
+ # HP4 Recovery % = 2% # Grants 2% HP recovery every 4 seconds.
+ # Damage Reduction = 2% # Grants 2% direct damage reduction
+ #
+ Leather
+ {
+ 2
+ {
+ Health % = 3%
+ }
+ 4
+ {
+ HP Recovery % = 1%
+ }
+ }
+ Copper
+ {
+ 2
+ {
+ Defense = 25
+ }
+ 4
+ {
+ Damage Reduction = 1%
+ }
+ }
+ Shell
+ {
+ 2
+ {
+ Move Spd = 5%
+ }
+ 4
+ {
+ CDR = 7%
+ }
+ }
+ Bone
+ {
+ 2
+ {
+ Crit Rate = 5%
+ }
+ 4
+ {
+ Crit Dmg = 7%
+ }
+ }
+ ???
+ {
+ 2
+ {
+ Crit Rate = 3%
+ Move Spd = 5%
+ Attack = 2%
+ }
+ 4
+ {
+ Crit Dmg = 7%
+ CDR = 5%
+ Health % = 2%
+ }
+ }
+ Enchanted Leather
+ {
+ 2
+ {
+ Health % = 10%
+ }
+ 4
+ {
+ HP4 Recovery % = 1%
+ }
+ }
+ Adamantite
+ {
+ 2
+ {
+ Defense = 120
+ }
+ 4
+ {
+ Damage Reduction = 10%
+ }
+ }
+ Iron Shell
+ {
+ 2
+ {
+ Move Spd = 10%
+ }
+ 4
+ {
+ CDR = 15%
+ }
+ }
+ Cursed Bone
+ {
+ 2
+ {
+ Crit Rate = 10%
+ }
+ 4
+ {
+ Crit Dmg = 15%
+ }
+ }
+}
\ No newline at end of file