From ece5454c96b7914ebf476ff182ca8c9b432ba9e3 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 4 Dec 2023 18:19:05 -0600 Subject: [PATCH] Modify Equipment config and add in Item Sets config to comply with engine design and future flexibility --- Crawler/AttributableStat.h | 8 +- Crawler/Crawler.vcxproj | 1 + Crawler/Crawler.vcxproj.filters | 3 + Crawler/assets/config/items/Equipment.txt | 100 +++++++++------- Crawler/assets/config/items/ItemSets.txt | 135 ++++++++++++++++++++++ 5 files changed, 206 insertions(+), 41 deletions(-) create mode 100644 Crawler/assets/config/items/ItemSets.txt 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