diff --git a/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj b/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
index 427e3b54..8d7157be 100644
--- a/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
+++ b/Adventures in Lestoria Tests/Adventures in Lestoria Tests.vcxproj
@@ -68,6 +68,9 @@
Windows
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
+
+ powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File ../unit-testing-prebuild.ps1
+
diff --git a/Adventures in Lestoria Tests/ItemTests.cpp b/Adventures in Lestoria Tests/ItemTests.cpp
index 111ae579..d641f399 100644
--- a/Adventures in Lestoria Tests/ItemTests.cpp
+++ b/Adventures in Lestoria Tests/ItemTests.cpp
@@ -61,8 +61,7 @@ namespace ItemTests
HWButton*testKey;
TEST_METHOD_INITIALIZE(ItemInitialize){
rng=std::mt19937{57189U};//Establish a fixed random seed on setup so the exact same results are generated every test run.
- testGame.reset(new AiL());
- testGame->olc_SetTestingMode(true);
+ testGame.reset(new AiL(true));
ItemAttribute::Initialize();
ItemInfo::InitializeItems();
testGame->InitializeGraphics();
@@ -184,5 +183,15 @@ namespace ItemTests
}
Assert::AreEqual(60,player->GetHealth(),L"Player should not be healed now that the Bandages effect is over.");
}
+ TEST_METHOD(DisassembleAccessoryTest){
+ Inventory::AddItem("Ring of the Slime King"s);
+ std::weak_ptr- disassembleRingTest{Inventory::AddItem("Ring of the Slime King"s)};
+ Inventory::AddItem("Ring of the Slime King"s);
+
+ Inventory::Disassemble(disassembleRingTest);
+ Assert::AreEqual(2U,Inventory::GetItemCount("Ring of the Slime King"s),L"Disassembly has removed one of the Slime King rings from our inventory.");
+ Assert::IsTrue(disassembleRingTest.expired(),L"Original reference to disassembled ring should now be invalid.");
+ Assert::AreEqual(1U,Inventory::GetItemCount(ITEM_DATA["Ring of the Slime King"].FragmentName()),L"Disassembly has given us a Slime King Ring Fragment.");
+ }
};
}
diff --git a/Adventures in Lestoria Tests/MonsterTests.cpp b/Adventures in Lestoria Tests/MonsterTests.cpp
index 9a1b963e..cf908cc5 100644
--- a/Adventures in Lestoria Tests/MonsterTests.cpp
+++ b/Adventures in Lestoria Tests/MonsterTests.cpp
@@ -65,8 +65,7 @@ namespace MonsterTests
#pragma region Setup Functions
//Makes MONSTER_DATA["TestName"] available.
void SetupTestMonster(){
- testGame.reset(new AiL());
- testGame->olc_SetTestingMode(true);
+ testGame.reset(new AiL(true));
ItemAttribute::Initialize();
ItemInfo::InitializeItems();
testGame->InitializeGraphics();
diff --git a/Adventures in Lestoria Tests/PlayerTests.cpp b/Adventures in Lestoria Tests/PlayerTests.cpp
index 2278bd22..1d196587 100644
--- a/Adventures in Lestoria Tests/PlayerTests.cpp
+++ b/Adventures in Lestoria Tests/PlayerTests.cpp
@@ -63,8 +63,7 @@ namespace PlayerTests
HWButton*testKey;
TEST_METHOD_INITIALIZE(PlayerInitialize){
rng=std::mt19937{57189U};//Establish a fixed random seed on setup so the exact same results are generated every test run.
- testGame.reset(new AiL());
- testGame->olc_SetTestingMode(true);
+ testGame.reset(new AiL(true));
ItemAttribute::Initialize();
ItemInfo::InitializeItems();
testGame->InitializeGraphics();
diff --git a/Adventures in Lestoria/AdventuresInLestoria.cpp b/Adventures in Lestoria/AdventuresInLestoria.cpp
index e924af43..be4fe7fc 100644
--- a/Adventures in Lestoria/AdventuresInLestoria.cpp
+++ b/Adventures in Lestoria/AdventuresInLestoria.cpp
@@ -157,9 +157,11 @@ InputGroup AiL::KEY_TOGGLE_MAP;
float AiL::SIZE_CHANGE_SPEED=1;
-AiL::AiL(){
+AiL::AiL(bool testingMode){
+ olc_SetTestingMode(testingMode);
GFX.Reset();
DATA.Reset();
+ MONSTER_LIST.clear();
InitializeGameConfigurations();
sAppName="GAME_NAME"_S;
game=this;
@@ -198,11 +200,18 @@ void AiL::InitializeGameConfigurations(){
std::string THEMES_CONFIG = CONFIG_PATH + "themes_config"_S;
utils::datafile::Read(DATA,THEMES_CONFIG);
- std::string ITEM_CONFIG = CONFIG_PATH + "item_config"_S;
- utils::datafile::Read(DATA,ITEM_CONFIG);
+ {
+ std::string ITEM_CONFIG = CONFIG_PATH + "item_config"_S;
+ std::string ITEM_SET_CONFIG = CONFIG_PATH + "item_set_config"_S;
+
+ if(TestingModeEnabled()){ //Unit Test-specific custom configurations.
+ ITEM_CONFIG = CONFIG_PATH + "item-test_config"_S;
+ ITEM_SET_CONFIG = CONFIG_PATH + "item_set-test_config"_S;
+ }
- std::string ITEM_SET_CONFIG = CONFIG_PATH + "item_set_config"_S;
- utils::datafile::Read(DATA,ITEM_SET_CONFIG);
+ utils::datafile::Read(DATA,ITEM_CONFIG);
+ utils::datafile::Read(DATA,ITEM_SET_CONFIG);
+ }
std::string ITEM_STATS_CONFIG = CONFIG_PATH + "item_stats_config"_S;
utils::datafile::Read(DATA,ITEM_STATS_CONFIG);
@@ -2314,8 +2323,6 @@ void AiL::_PrepareLevel(MapName map,MusicChange changeMusic){
encounterStarted=false;
totalBossEncounterMobs=0;
SetWindSpeed({});
- Inventory::Clear("Monster Loot");
- Inventory::Clear("Stage Loot");
Inventory::ResetLoadoutItemsUsed();
Input::StopVibration();
diff --git a/Adventures in Lestoria/AdventuresInLestoria.h b/Adventures in Lestoria/AdventuresInLestoria.h
index 16202f19..fe9b20e7 100644
--- a/Adventures in Lestoria/AdventuresInLestoria.h
+++ b/Adventures in Lestoria/AdventuresInLestoria.h
@@ -232,7 +232,7 @@ private:
std::vector,StackCount,MarkTime>>lockOnTargets;
float lastLockOnTargetTime{};
public:
- AiL();
+ AiL(bool testingMode=false);
bool OnUserCreate() override;
bool OnUserUpdate(float fElapsedTime) override;
bool OnUserDestroy() override;
diff --git a/Adventures in Lestoria/ArtificerRefineWindow.cpp b/Adventures in Lestoria/ArtificerRefineWindow.cpp
index 17008616..ebcb40e5 100644
--- a/Adventures in Lestoria/ArtificerRefineWindow.cpp
+++ b/Adventures in Lestoria/ArtificerRefineWindow.cpp
@@ -52,7 +52,7 @@ void Menu::InitializeArtificerRefineWindow(){
return true;
},DO_NOTHING,DO_NOTHING,
InventoryCreator::RowPlayer_InventoryUpdate,
- InventoryWindowOptions{.padding=1,.size={137,28}})END;
+ InventoryWindowOptions{.padding=1,.size={artificerRefineWindow->size.x/2-5.f,28}})END;
auto backButton=artificerRefineWindow->ADD("Back",MenuComponent)(geom2d::rect{{0.f,artificerRefineWindow->size.y-12.f},{120.f,12.f}},"Back",[](MenuFuncData data){
Menu::CloseMenu();
diff --git a/Adventures in Lestoria/InventoryScrollableWindowComponent.h b/Adventures in Lestoria/InventoryScrollableWindowComponent.h
index 628e543b..ea1ab63b 100644
--- a/Adventures in Lestoria/InventoryScrollableWindowComponent.h
+++ b/Adventures in Lestoria/InventoryScrollableWindowComponent.h
@@ -69,8 +69,8 @@ protected:
std::string itemNameLabelName;
std::string itemDescriptionLabelName;
bool inventoryButtonsActive=true;
-private:
InventoryWindowOptions options;
+private:
int invWidth;
public:
inline InventoryScrollableWindowComponent(geom2d::rectrect,std::string itemNameLabelName,std::string itemDescriptionLabelName,std::functioninventoryButtonClickAction,const InventoryCreator&creator,InventoryWindowOptions options={.padding=8,.size={24,24}},bool inventoryButtonsActive=true,ComponentAttr attributes=ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE)
diff --git a/Adventures in Lestoria/Item.cpp b/Adventures in Lestoria/Item.cpp
index ea9f4144..88b4f49a 100644
--- a/Adventures in Lestoria/Item.cpp
+++ b/Adventures in Lestoria/Item.cpp
@@ -361,36 +361,41 @@ void ItemInfo::InitializeItems(){
if(tempItem.Description().length()==0)ERR("WARNING! Item "<SetDrawTarget(GFX.at(fragmentName).Sprite());
- std::setcolors;
- for(int y=0;y<24;y++){
- for(int x=0;x<24;x++){
- colors.insert(ITEM_DATA.at(itemName).img->sprite->GetPixel(x,y));
- }
+ if(!game->TestingModeEnabled()){
+ #pragma region Collect colors from source ring image
+ std::setcolors;
+ for(int y=0;y<24;y++){
+ for(int x=0;x<24;x++){
+ colors.insert(ITEM_DATA.at(itemName).img->sprite->GetPixel(x,y));
+ }
+ }
+ colors.erase(BLANK);
+ #pragma endregion
+ #pragma region Generate fragment with randomly sampled pixels from the source ring image
+ game->SetDrawTarget(GFX.at(fragmentName).Sprite());
+ game->DrawSprite({},GFX.at("items/Fragment.png").Sprite(),1U,0U,[colors](const Pixel&in){
+ if(in==BLANK)return in;
+ for(const Pixel&p:colors){
+ if(util::random()%colors.size()==0)return PixelLerp(in,{p.r,p.g,p.b},0.5f);
+ }
+ return in;
+ });
+ game->SetDrawTarget(nullptr);
+ GFX.at(fragmentName).Decal()->Update();
+ #pragma endregion
}
- colors.erase(BLANK);
- game->DrawSprite({},GFX.at("items/Fragment.png").Sprite(),1U,0U,[colors](const Pixel&in){
- if(in==BLANK)return in;
- for(const Pixel&p:colors){
- if(util::random()%colors.size()==0)return PixelLerp(in,{p.r,p.g,p.b},0.5f);
- }
- return in;
- });
- game->SetDrawTarget(nullptr);
- GFX.at(fragmentName).Decal()->Update();
it.img=GFX.at(fragmentName).Decal();
it.name=fragmentName;
it.description="Fragment Description"_S;
it.category="Materials";
LOG(std::format("Item Fragment {} generated...",fragmentName));
}
- }
+ #pragma endregion
ITEM_DATA.SetInitialized();
ITEM_CATEGORIES.SetInitialized();
@@ -483,36 +488,31 @@ Item::Item(uint32_t amt,IT item,uint8_t enhancementLevel)
std::weak_ptr
- Inventory::AddItem(IT it,uint32_t amt,bool monsterDrop){
if(!ITEM_DATA.count(it))ERR("Item "<itemPtr;
- std::shared_ptr
- newItem;
if(ITEM_DATA[it].IsEquippable()){ //Do not stack equips!
for(uint32_t i=0;i(1,it)})).second;
- newItem->RandomizeStats();
- InsertIntoSortedInv(newItem);
- itemPtr=newItem;
+ itemPtr=(*_inventory.insert({it,std::make_shared
- (1,it)})).second;
+ itemPtr.lock()->RandomizeStats();
+ InsertIntoSortedInv(itemPtr.lock());
+ InsertIntoStageInventoryCategory(std::make_shared
- (*itemPtr.lock()),monsterDrop);
}
- goto SkipAddingStackableItem;
}
else{
//There are two places to manipulate items in (Both the sorted inventory and the actual inventory)
if(!_inventory.count(it)){
itemPtr=(*_inventory.insert({it,std::make_shared
- (amt,it)})).second;
InsertIntoSortedInv(itemPtr.lock());
- newItem=std::make_shared
- (amt,it);
}else{
auto inventory=_inventory.equal_range(it);
if(std::accumulate(inventory.first,inventory.second,0,
[&](int counter,std::pair>item){
(*item.second).amt+=amt;
itemPtr=item.second;
- newItem=std::make_shared
- (amt,it);
return counter+1;})>1)ERR("WARNING! We should not have more than 1 instance of a stackable item!");
}
+ InsertIntoStageInventoryCategory(std::make_shared
- (amt,it),monsterDrop);
}
-
- SkipAddingStackableItem:
- InsertIntoStageInventoryCategory(newItem,monsterDrop);
+
return itemPtr;
}
@@ -1385,4 +1385,21 @@ const bool Inventory::EquipsFullyMaxedOut(int maxWeaponLevel,int maxArmorLevel){
const EquipSlot ItemInfo::StringToEquipSlot(std::string_view slotName){
return nameToEquipSlot[std::string(slotName)];
+}
+
+void Inventory::Disassemble(std::weak_ptr
- itemRef){
+ if(ISBLANK(itemRef))ERR(std::format("WARNING! Trying to feed a blank item into the Disassemble function! THIS SHOULD NOT BE HAPPENING!"));
+ const std::shared_ptr
- ¤tItem{itemRef.lock()};
+ if(!currentItem->IsAccessory())ERR(std::format("WARNING! Trying to disassemble Item {} which is not an accessory! THIS SHOULD NOT BE HAPPENING!",currentItem->ActualName()));
+ Inventory::RemoveItem(itemRef);
+ Inventory::AddItem(currentItem->FragmentName(),"Fragment Disassemble Gain Amount"_I);
+}
+
+const std::string&Item::FragmentName()const{
+ return ITEM_DATA[ActualName()].FragmentName();
+}
+
+const std::string&ItemInfo::FragmentName()const{
+ if(!fragmentName.has_value())ERR(std::format("WARNING! Item {} does not break down into a fragment (fragment name not set)!",Name()));
+ return fragmentName.value();
}
\ No newline at end of file
diff --git a/Adventures in Lestoria/Item.h b/Adventures in Lestoria/Item.h
index b40cd0df..87918568 100644
--- a/Adventures in Lestoria/Item.h
+++ b/Adventures in Lestoria/Item.h
@@ -237,8 +237,10 @@ public:
//Use ISBLANK macro instead!! This should not be called directly!!
static bool IsBlank(std::weak_ptr
- item);
const bool IsLocked()const;
+ const std::string&FragmentName()const;
void Lock();
void Unlock();
+ void Disassemble();
friend const bool operator==(std::shared_ptr
- lhs,std::shared_ptr
- rhs){return lhs->it==rhs->it&&lhs->randomizedStats==rhs->randomizedStats;};
friend const bool operator==(std::shared_ptr
- lhs,const IT&rhs){return lhs->ActualName()==const_cast(rhs);};
friend const bool operator==(std::weak_ptr
- lhs,std::weak_ptr
- rhs){return !lhs.expired()&&!rhs.expired()&&lhs.lock()->it==rhs.lock()->it&&lhs.lock()->randomizedStats==rhs.lock()->randomizedStats;};
@@ -278,6 +280,7 @@ public:
static void ResetLoadoutItemsUsed();
static void GivePlayerLoadoutItemsUsed();
static const bool EquipsFullyMaxedOut(int maxWeaponLevel=10,int maxArmorLevel=10);
+ static void Disassemble(std::weak_ptr
- itemRef);
static bool SwapItems(ITCategory itemCategory,uint32_t slot1,uint32_t slot2);
//Makes sure this is a valid category. Will error out if it doesn't exist! Use for ERROR HANDLING!
@@ -377,6 +380,7 @@ public:
//Get the class that can equip this item.
const std::unordered_set&GetClass()const;
Stats RandomizeStats();
+ const std::string&FragmentName()const;
};
class ItemOverlay{
diff --git a/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h b/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h
index fe7be22e..6492a66e 100644
--- a/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h
+++ b/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h
@@ -48,7 +48,10 @@ protected:
public:
inline RowInventoryScrollableWindowComponent(geom2d::rectrect,std::string itemNameLabelName,std::string itemDescriptionLabelName,std::functioninventoryButtonClickAction,std::functioninventoryButtonHoverAction,std::functioninventoryButtonMouseOutAction,const InventoryCreator&creator,InventoryWindowOptions options={.padding=8,.size={24,24}},bool inventoryButtonsActive=true,ComponentAttr attributes=ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE)
:InventoryScrollableWindowComponent(rect,itemNameLabelName,itemDescriptionLabelName,inventoryButtonClickAction,inventoryButtonHoverAction,inventoryButtonMouseOutAction,creator,options,inventoryButtonsActive,attributes){}
-
+ virtual inline void AfterCreate()override final{
+ ScrollableWindowComponent::AfterCreate();
+ if(options.size.x>rect.size.x||options.size.y>rect.size.y)ERR(std::format("WARNING! Component {} has Inventory Option Sizes: {} which is not large enough to fit in the component whose size is {}! Please make the component larger or the items smaller.",name,options.size.str(),rect.size.str()));
+ }
virtual inline void SetCompactDescriptions(CompactText compact)override final{
this->compact=compact;
for(std::weak_ptrcomponent:components){
diff --git a/Adventures in Lestoria/ScrollableWindowComponent.h b/Adventures in Lestoria/ScrollableWindowComponent.h
index ba928203..97433909 100644
--- a/Adventures in Lestoria/ScrollableWindowComponent.h
+++ b/Adventures in Lestoria/ScrollableWindowComponent.h
@@ -153,19 +153,15 @@ protected:
upButton=Menu::menus[parentMenu]->ADD(name+vf2d(rect.pos+vf2d{rect.size.x-12,0}).str()+"_"+vf2d(12,12).str(),MenuComponent)(geom2d::rect{rect.pos+vf2d{rect.size.x-12,0},{12,12}},"^",[&](MenuFuncData dat){SetScrollAmount(GetScrollAmount()+vf2d{0,"ThemeGlobal.MenuButtonScrollSpeed"_F});return true;},ButtonAttr::UNSELECTABLE_VIA_KEYBOARD)DEPTH depth-1 END;
downButton=Menu::menus[parentMenu]->ADD(name+vf2d(rect.pos+rect.size-vf2d{12,12}).str()+"_"+vf2d(12,12).str(),MenuComponent)(geom2d::rect{rect.pos+rect.size-vf2d{12,12},{12,12}},"v",[&](MenuFuncData dat){SetScrollAmount(GetScrollAmount()-vf2d{0,"ThemeGlobal.MenuButtonScrollSpeed"_F});return true;},ButtonAttr::UNSELECTABLE_VIA_KEYBOARD)DEPTH depth-1 END;
subWindow=ViewPort::rectViewPort({},rect.size,Menu::menus[parentMenu]->pos+rect.pos);
- if(!upButton.expired()){
- if(IsEnabled()){
- upButton.lock()->Enable();
- }else{
- upButton.lock()->Disable();
- }
+ if(IsEnabled()){
+ upButton.lock()->Enable();
+ }else{
+ upButton.lock()->Disable();
}
- if(!downButton.expired()){
- if(IsEnabled()){
- downButton.lock()->Enable();
- }else{
- downButton.lock()->Disable();
- }
+ if(IsEnabled()){
+ downButton.lock()->Enable();
+ }else{
+ downButton.lock()->Disable();
}
}
virtual inline void BeforeUpdate(AiL*game)override{
diff --git a/Adventures in Lestoria/State_OverworldMap.cpp b/Adventures in Lestoria/State_OverworldMap.cpp
index dfa871bd..38484953 100644
--- a/Adventures in Lestoria/State_OverworldMap.cpp
+++ b/Adventures in Lestoria/State_OverworldMap.cpp
@@ -58,6 +58,9 @@ ConnectionPoint*State_OverworldMap::currentConnectionPoint=nullptr;
State_OverworldMap::State_OverworldMap(){}
void State_OverworldMap::OnStateChange(GameState*prevState){
+ Inventory::Clear("Monster Loot");
+ Inventory::Clear("Stage Loot");
+
Component(MenuType::PAUSE,"Return to Camp Button")->SetGrayedOut(false);
SaveFile::SaveGame();
diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h
index bee6ab7c..d250d42d 100644
--- a/Adventures in Lestoria/Version.h
+++ b/Adventures in Lestoria/Version.h
@@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_PATCH 3
-#define VERSION_BUILD 10443
+#define VERSION_BUILD 10476
#define stringify(a) stringify_(a)
#define stringify_(a) #a
diff --git a/Adventures in Lestoria/assets/config/configuration.txt b/Adventures in Lestoria/assets/config/configuration.txt
index d0569167..6b81dbd2 100644
--- a/Adventures in Lestoria/assets/config/configuration.txt
+++ b/Adventures in Lestoria/assets/config/configuration.txt
@@ -58,9 +58,15 @@ class_list = Warrior, Thief, Ranger, Trapper, Wizard, Witch
# Items Config
item_config = items/items.txt
+# Items Unit Testing Config
+item-test_config = items/items-test.txt
+
# Item Set Config
item_set_config = items/ItemSets.txt
+# Item Set Unit Testing Config
+item_set-test_config = items/ItemSets-test.txt
+
# Path to items configuration
item_directory = items/
diff --git a/Adventures in Lestoria/assets/config/items/Accessories.txt b/Adventures in Lestoria/assets/config/items/Accessories.txt
index f4130e7d..c5fc8916 100644
--- a/Adventures in Lestoria/assets/config/items/Accessories.txt
+++ b/Adventures in Lestoria/assets/config/items/Accessories.txt
@@ -1,4 +1,10 @@
Fragment Description = "A small piece of concentrated material from broken down jewelry."
+# Number of fragments earned when breaking down an accessory.
+Fragment Disassemble Gain Amount = 1
+# Number of fragments required to Refine an accessory.
+Fragment Refine Cost = 1
+# Number of fragments required to Enchant an accessory.
+Fragment Enchant Cost = 3
Equipment
{
diff --git a/unit-testing-prebuild.ps1 b/unit-testing-prebuild.ps1
new file mode 100644
index 00000000..8b9001b9
--- /dev/null
+++ b/unit-testing-prebuild.ps1
@@ -0,0 +1,2 @@
+$ErrorActionPreference = "Stop"
+cp -R -Force '../Adventures in Lestoria/assets' '../x64/Unit Testing'
\ No newline at end of file
diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe
index 71264e04..07387423 100644
Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ
diff --git a/x64/Unit Testing/assets/config/items/Equipment-test.txt b/x64/Unit Testing/assets/config/items/Equipment-test.txt
new file mode 100644
index 00000000..0d6bec8a
--- /dev/null
+++ b/x64/Unit Testing/assets/config/items/Equipment-test.txt
@@ -0,0 +1,2792 @@
+Equipment
+{
+ Leather Helmet
+ {
+ Slot = Helmet
+ PartofSet = Leather
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 3,2,0
+ StatValues[1] = 4,3,0
+ StatValues[2] = 5,3,0
+ StatValues[3] = 6,4,1
+ StatValues[4] = 6,5,2
+ StatValues[5] = 7,5,2
+ StatValues[6] = 8,5,2
+ StatValues[7] = 9,6,3
+ StatValues[8] = 9,7,4
+ StatValues[9] = 10,7,4
+ StatValues[10] = 11,8,4
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,5
+
+ Gold = 12
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,2
+ Item[1] = Blue Slime Remains,1
+ Item[2] = Flower Petals,2
+
+ Gold = 18
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,3
+ Item[1] = Red Slime Remains,1
+ Item[2] = Blue Slime Remains,1
+
+ Gold = 24
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,5
+ Item[1] = Green Slime Remains,3
+
+ Gold = 32
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Flower Petals,6
+
+ Gold = 40
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Red Slime Remains,6
+ Item[1] = Blue Slime Remains,1
+
+ Gold = 50
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,5
+ Item[1] = Red Slime Remains,2
+ Item[2] = Blue Slime Remains,2
+
+ Gold = 65
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Yellow Slime Remains,2
+
+ Gold = 80
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,12
+
+ Gold = 100
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Gemstone,1
+ Item[1] = Wolf Skin,1
+
+ Gold = 150
+ }
+ }
+ }
+ Leather Armor
+ {
+ Slot = Armor
+ PartofSet = Leather
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 5,1,0
+ StatValues[1] = 6,1,0
+ StatValues[2] = 7,2,0
+ StatValues[3] = 8,2,1
+ StatValues[4] = 9,3,2
+ StatValues[5] = 10,3,2
+ StatValues[6] = 11,4,2
+ StatValues[7] = 12,4,3
+ StatValues[8] = 13,5,4
+ StatValues[9] = 14,6,4
+ StatValues[10] = 15,7,4
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,5
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,7
+
+ Gold = 12
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Red Slime Remains,1
+ Item[2] = Blue Slime Remains,1
+
+ Gold = 18
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Red Slime Remains,3
+ Item[1] = Green Slime Remains,6
+
+ Gold = 24
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Blue Slime Remains,3
+ Item[1] = Green Slime Remains,7
+
+ Gold = 32
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Red Slime Remains,4
+
+ Gold = 40
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Yellow Slime Remains,1
+ Item[1] = Red Slime Remains,6
+
+ Gold = 50
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Yellow Slime Remains,2
+
+ Gold = 65
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Red Slime Remains,8
+ Item[1] = Green Slime Remains,4
+
+ Gold = 80
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,2
+ Item[1] = Yellow Slime Remains,3
+
+ Gold = 100
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Gemstone,1
+ Item[1] = Wolf Skin,1
+
+ Gold = 150
+ }
+ }
+ }
+ Leather Pants
+ {
+ Slot = Pants
+ PartofSet = Leather
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 4,1,1
+ StatValues[1] = 5,1,1
+ StatValues[2] = 6,1,2
+ StatValues[3] = 7,2,2
+ StatValues[4] = 8,2,3
+ StatValues[5] = 9,3,3
+ StatValues[6] = 10,3,4
+ StatValues[7] = 11,4,4
+ StatValues[8] = 12,5,5
+ StatValues[9] = 13,5,6
+ StatValues[10] = 14,5,7
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,3
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,5
+ Item[1] = Flower Petals,1
+
+ Gold = 12
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Red Slime Remains,1
+ Item[1] = Blue Slime Remains,1
+ Item[2] = Flower Petals,2
+
+ Gold = 18
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Red Slime Remains,1
+ Item[2] = Blue Slime Remains,3
+
+ Gold = 24
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,6
+ Item[1] = Blue Slime Remains,3
+
+ Gold = 32
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Green Slime Remains,3
+ Item[2] = Flower Petals,2
+
+ Gold = 40
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Bear Claw,1
+ Item[1] = Blue Slime Remains,6
+
+ Gold = 50
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Red Slime Remains,2
+ Item[1] = Yellow Slime Remains,2
+
+ Gold = 65
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,2
+ Item[1] = Green Slime Remains,4
+ Item[2] = Blue Slime Remains,4
+
+ Gold = 80
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Yellow Slime Remains,1
+ Item[1] = Red Slime Remains,1
+ Item[2] = Blue Slime Remains,5
+
+ Gold = 100
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Gemstone,1
+ Item[1] = Wolf Skin,1
+
+ Gold = 150
+ }
+ }
+ }
+ Leather Gloves
+ {
+ Slot = Gloves
+ PartofSet = Leather
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 1,0,1
+ StatValues[1] = 2,0,3
+ StatValues[2] = 3,0,3
+ StatValues[3] = 3,1,4
+ StatValues[4] = 4,2,5
+ StatValues[5] = 5,2,5
+ StatValues[6] = 6,2,5
+ StatValues[7] = 6,3,6
+ StatValues[8] = 7,4,7
+ StatValues[9] = 8,4,7
+ StatValues[10] = 8,4,8
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Flower Petals,2
+ Item[1] = Red Slime Remains,1
+
+ Gold = 12
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Blue Slime Remains,2
+ Item[1] = Red Slime Remains,3
+
+ Gold = 18
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Frog Skin,1
+ Item[1] = Green Slime Remains,6
+
+ Gold = 24
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Slime Remains,3
+ Item[1] = Red Slime Remains,3
+ Item[2] = Blue Slime Remains,3
+
+ Gold = 32
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Frog Skin,1
+ Item[1] = Red Slime Remains,6
+
+ Gold = 40
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Frog Skin,1
+ Item[1] = Blue Slime Remains,6
+
+ Gold = 50
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Bear Claw,1
+ Item[1] = Yellow Slime Remains,1
+
+ Gold = 65
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Frog Skin,1
+ Item[1] = Flower Petals,8
+
+ Gold = 80
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Bear Claw,2
+ Item[1] = Frog Skin,2
+
+ Gold = 100
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Gemstone,1
+ Item[1] = Frog Skin,1
+
+ Gold = 150
+ }
+ }
+ }
+ Leather Shoes
+ {
+ Slot = Shoes
+ PartofSet = Leather
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 2,1,0
+ StatValues[1] = 3,1,1
+ StatValues[2] = 4,2,1
+ StatValues[3] = 4,2,2
+ StatValues[4] = 5,3,2
+ StatValues[5] = 6,3,3
+ StatValues[6] = 7,4,3
+ StatValues[7] = 7,4,4
+ StatValues[8] = 8,5,4
+ StatValues[9] = 9,5,4
+ StatValues[10] = 9,5,5
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+ Item[0] = Logs,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Logs,3
+ Item[1] = Green Slime Remains,1
+ Item[2] = Flower Petals,1
+
+ Gold = 12
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Logs,4
+ Item[1] = Green Slime Remains,4
+
+ Gold = 18
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Logs,4
+ Item[1] = Frog Skin,1
+
+ Gold = 24
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Logs,6
+ Item[1] = High-Quality Logs,1
+
+ Gold = 32
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,1
+ Item[1] = Frog Skin,2
+
+ Gold = 40
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = High-Quality Logs,5
+
+ Gold = 50
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Wolf Skin,2
+
+ Gold = 65
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Logs,4
+ Item[1] = High-Quality Logs,1
+ Item[2] = Frog Skin,2
+
+ Gold = 80
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = High-Quality Logs,8
+ Item[1] = Wolf Skin,2
+
+ Gold = 100
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 1
+ Item[0] = Green Gemstone,1
+ Item[1] = Frog Skin,1
+
+ Gold = 150
+ }
+ }
+ }
+ Copper Helmet
+ {
+ Slot = Helmet
+ PartofSet = Copper
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 7,5,2
+ StatValues[1] = 9,5,2
+ StatValues[2] = 10,6,3
+ StatValues[3] = 11,7,4
+ StatValues[4] = 12,7,4
+ StatValues[5] = 13,8,4
+ StatValues[6] = 15,9,4
+ StatValues[7] = 16,10,5
+ StatValues[8] = 17,11,5
+ StatValues[9] = 18,12,5
+ StatValues[10] = 20,12,5
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 6
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Copper Armor
+ {
+ Slot = Armor
+ PartofSet = Copper
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 10,3,2
+ StatValues[1] = 11,4,2
+ StatValues[2] = 12,4,3
+ StatValues[3] = 13,5,4
+ StatValues[4] = 14,6,4
+ StatValues[5] = 15,7,4
+ StatValues[6] = 17,7,4
+ StatValues[7] = 19,8,5
+ StatValues[8] = 21,8,5
+ StatValues[9] = 23,9,5
+ StatValues[10] = 25,10,5
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 6
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Copper Pants
+ {
+ Slot = Pants
+ PartofSet = Copper
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 9,3,3
+ StatValues[1] = 10,3,4
+ StatValues[2] = 11,4,4
+ StatValues[3] = 12,5,5
+ StatValues[4] = 13,5,6
+ StatValues[5] = 14,5,7
+ StatValues[6] = 15,6,7
+ StatValues[7] = 17,6,8
+ StatValues[8] = 18,7,8
+ StatValues[9] = 20,7,9
+ StatValues[10] = 22,8,10
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 6
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Copper Gloves
+ {
+ Slot = Gloves
+ PartofSet = Copper
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 5,2,5
+ StatValues[1] = 6,2,5
+ StatValues[2] = 6,3,6
+ StatValues[3] = 7,4,7
+ StatValues[4] = 8,4,7
+ StatValues[5] = 8,4,8
+ StatValues[6] = 8,4,9
+ StatValues[7] = 9,5,10
+ StatValues[8] = 9,5,11
+ StatValues[9] = 10,5,12
+ StatValues[10] = 11,5,12
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 6
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Copper Shoes
+ {
+ Slot = Shoes
+ PartofSet = Copper
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 6,3,3
+ StatValues[1] = 7,3,3
+ StatValues[2] = 7,4,4
+ StatValues[3] = 8,5,4
+ StatValues[4] = 9,5,4
+ StatValues[5] = 9,5,5
+ StatValues[6] = 9,6,5
+ StatValues[7] = 10,6,6
+ StatValues[8] = 10,7,6
+ StatValues[9] = 11,7,7
+ StatValues[10] = 12,8,8
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 6
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 6
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Shell Helmet
+ {
+ Slot = Helmet
+ PartofSet = Shell
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 12,8,4
+ StatValues[1] = 13,8,4
+ StatValues[2] = 18,9,4
+ StatValues[3] = 20,10,5
+ StatValues[4] = 22,11,5
+ StatValues[5] = 24,12,5
+ StatValues[6] = 29,12,5
+ StatValues[7] = 31,13,5
+ StatValues[8] = 33,13,6
+ StatValues[9] = 35,14,6
+ StatValues[10] = 40,14,6
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 3
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Shell Armor
+ {
+ Slot = Armor
+ PartofSet = Shell
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 14,6,4
+ StatValues[1] = 15,7,4
+ StatValues[2] = 20,7,4
+ StatValues[3] = 24,8,5
+ StatValues[4] = 28,8,5
+ StatValues[5] = 33,9,5
+ StatValues[6] = 37,10,5
+ StatValues[7] = 41,11,5
+ StatValues[8] = 45,11,6
+ StatValues[9] = 51,12,6
+ StatValues[10] = 57,12,6
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 3
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Shell Pants
+ {
+ Slot = Pants
+ PartofSet = Shell
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 13,5,6
+ StatValues[1] = 14,5,7
+ StatValues[2] = 16,6,7
+ StatValues[3] = 19,6,8
+ StatValues[4] = 21,7,8
+ StatValues[5] = 24,7,9
+ StatValues[6] = 26,8,10
+ StatValues[7] = 30,8,11
+ StatValues[8] = 34,9,11
+ StatValues[9] = 38,9,12
+ StatValues[10] = 42,10,12
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 3
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Shell Gloves
+ {
+ Slot = Gloves
+ PartofSet = Shell
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 8,4,7
+ StatValues[1] = 8,4,8
+ StatValues[2] = 8,4,9
+ StatValues[3] = 9,5,10
+ StatValues[4] = 9,5,11
+ StatValues[5] = 10,5,12
+ StatValues[6] = 11,5,12
+ StatValues[7] = 12,5,13
+ StatValues[8] = 13,6,13
+ StatValues[9] = 14,6,14
+ StatValues[10] = 15,6,14
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 3
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Shell Shoes
+ {
+ Slot = Shoes
+ PartofSet = Shell
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 9,5,4
+ StatValues[1] = 9,5,5
+ StatValues[2] = 9,6,6
+ StatValues[3] = 10,6,6
+ StatValues[4] = 10,7,7
+ StatValues[5] = 11,7,7
+ StatValues[6] = 12,8,8
+ StatValues[7] = 13,8,8
+ StatValues[8] = 14,9,9
+ StatValues[9] = 15,9,9
+ StatValues[10] = 16,10,10
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 3
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 3
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Bone Helmet
+ {
+ Slot = Helmet
+ PartofSet = Bone
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 24,12,5
+ StatValues[1] = 29,12,5
+ StatValues[2] = 31,13,5
+ StatValues[3] = 33,13,6
+ StatValues[4] = 35,14,6
+ StatValues[5] = 40,14,6
+ StatValues[6] = 42,15,6
+ StatValues[7] = 44,16,7
+ StatValues[8] = 46,17,7
+ StatValues[9] = 51,17,7
+ StatValues[10] = 53,19,7
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Bone Armor
+ {
+ Slot = Armor
+ PartofSet = Bone
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 33,9,5
+ StatValues[1] = 37,10,5
+ StatValues[2] = 41,11,5
+ StatValues[3] = 45,11,6
+ StatValues[4] = 51,12,6
+ StatValues[5] = 57,12,6
+ StatValues[6] = 61,13,6
+ StatValues[7] = 64,13,7
+ StatValues[8] = 67,13,7
+ StatValues[9] = 70,14,7
+ StatValues[10] = 72,14,7
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Bone Pants
+ {
+ Slot = Pants
+ PartofSet = Bone
+ ItemCategory = Equipment
+ Description = Pants made out of hardened bone.
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 24,7,9
+ StatValues[1] = 26,8,10
+ StatValues[2] = 30,8,11
+ StatValues[3] = 34,9,11
+ StatValues[4] = 38,9,12
+ StatValues[5] = 42,10,12
+ StatValues[6] = 45,10,13
+ StatValues[7] = 49,11,13
+ StatValues[8] = 53,11,13
+ StatValues[9] = 57,11,14
+ StatValues[10] = 61,12,14
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Bone Gloves
+ {
+ Slot = Gloves
+ PartofSet = Bone
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 9,5,11
+ StatValues[1] = 10,5,12
+ StatValues[2] = 11,5,13
+ StatValues[3] = 12,6,13
+ StatValues[4] = 13,6,14
+ StatValues[5] = 14,6,14
+ StatValues[6] = 15,6,15
+ StatValues[7] = 16,7,16
+ StatValues[8] = 17,7,17
+ StatValues[9] = 18,7,17
+ StatValues[10] = 19,7,19
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Bone Shoes
+ {
+ Slot = Shoes
+ PartofSet = Bone
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 11,7,7
+ StatValues[1] = 11,8,8
+ StatValues[2] = 12,8,8
+ StatValues[3] = 13,9,9
+ StatValues[4] = 14,9,9
+ StatValues[5] = 15,10,10
+ StatValues[6] = 16,10,10
+ StatValues[7] = 17,11,11
+ StatValues[8] = 18,11,11
+ StatValues[9] = 19,11,11
+ StatValues[10] = 21,12,12
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Test Armor
+ {
+ Slot = Armor
+ PartofSet = Test
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 0,0,0
+ StatValues[1] = 0,0,0
+ StatValues[2] = 0,0,0
+ StatValues[3] = 0,0,0
+ StatValues[4] = 0,0,0
+ StatValues[5] = 0,0,0
+ StatValues[6] = 0,0,0
+ StatValues[7] = 0,0,0
+ StatValues[8] = 0,0,0
+ StatValues[9] = 0,0,0
+ StatValues[10] = 0,0,0
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Test Armor2
+ {
+ Slot = Armor
+ PartofSet = Test2
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 0,0,0
+ StatValues[1] = 0,0,0
+ StatValues[2] = 0,0,0
+ StatValues[3] = 0,0,0
+ StatValues[4] = 0,0,0
+ StatValues[5] = 0,0,0
+ StatValues[6] = 0,0,0
+ StatValues[7] = 0,0,0
+ StatValues[8] = 0,0,0
+ StatValues[9] = 0,0,0
+ StatValues[10] = 0,0,0
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Test Armor3
+ {
+ Slot = Armor
+ PartofSet = Test3
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 0,0,0
+ StatValues[1] = 0,0,0
+ StatValues[2] = 0,0,0
+ StatValues[3] = 0,0,0
+ StatValues[4] = 0,0,0
+ StatValues[5] = 0,0,0
+ StatValues[6] = 0,0,0
+ StatValues[7] = 0,0,0
+ StatValues[8] = 0,0,0
+ StatValues[9] = 0,0,0
+ StatValues[10] = 0,0,0
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+ Test Armor4
+ {
+ Slot = Armor
+ PartofSet = Test4
+ ItemCategory = Equipment
+
+ # Stat Values of the item based on Enhancement level.
+ # See ItemStats.txt for valid stat names
+ StatValues = Defense,Health,Attack
+ StatValues[0] = 0,0,0
+ StatValues[1] = 0,0,0
+ StatValues[2] = 0,0,0
+ StatValues[3] = 0,0,0
+ StatValues[4] = 0,0,0
+ StatValues[5] = 0,0,0
+ StatValues[6] = 0,0,0
+ StatValues[7] = 0,0,0
+ StatValues[8] = 0,0,0
+ StatValues[9] = 0,0,0
+ StatValues[10] = 0,0,0
+
+ Equip Sound = Equip Armor
+
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 4
+ Item[0] = Wolf Skin,1
+
+ Gold = 5
+
+ Level[1]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[2]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[3]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[4]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[5]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,30
+ Item[1] = High-Quality Logs,1
+
+ Gold = 150
+ }
+ Level[6]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[7]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[8]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[9]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ Level[10]
+ {
+ # When this enhancement is available.
+ AvailableChapter = 4
+ Item[0] = Green Slime Remains,1
+
+ Gold = 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/x64/Unit Testing/assets/config/items/ItemDatabase-test.txt b/x64/Unit Testing/assets/config/items/ItemDatabase-test.txt
new file mode 100644
index 00000000..cca27b45
--- /dev/null
+++ b/x64/Unit Testing/assets/config/items/ItemDatabase-test.txt
@@ -0,0 +1,389 @@
+ItemDatabase
+{
+ Berries
+ {
+ ItemScript = Restore
+ Description = Restores 15 health points and 5 mana points.
+ HP Restore = 15
+ MP Restore = 5
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 8
+ UseSound = Consume Item
+ }
+ Minor Health Potion
+ {
+ ItemScript = Restore
+ Description = Restores 50 health points.
+ HP Restore = 50
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 16
+ BuyValue = 23
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Green Slime Remains,3
+ Item[1] = Blue Slime Remains,1
+
+ Gold = 10
+ }
+ }
+ Minor Mana Potion
+ {
+ ItemScript = Restore
+ Description = Restores 45 mana points over the next 15 seconds.
+ MP Restore = 3,1,15
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 21
+ BuyValue = 30
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 2
+
+ Item[0] = Red Slime Remains,1
+ Item[1] = Yellow Slime Remains,1
+
+ Gold = 0
+ }
+ }
+ Minor Recovery Potion
+ {
+ ItemScript = Restore
+ Description = Recovers 60 health points over the next 15 seconds.
+ HP Restore = 12,3,15
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 15
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Blue Slime Remains,1
+ Item[1] = Red Slime Remains,1
+ Item[2] = Flower Petals,1
+
+ Gold = 0
+ }
+ }
+ Elixir of Bear Strength
+ {
+ ItemScript = Buff
+ Description = Increase your attack by 15% for 30 seconds.
+ Attack % = 15%,30
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 30
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Bear Claw,1
+ Item[1] = Bear Blood,1
+
+ Gold = 0
+ }
+ }
+ Bandages
+ {
+ ItemScript = RestoreDuringCast
+ Description = Restores 30% health points casting for 6 seconds. The effect can be interrupted.
+ HP % Restore = 5%,0.9,6
+ Cast Time = 6.0
+ Cooldown Time = 5.0
+ ItemCategory = Consumables
+ SellValue = 7
+ BuyValue = 10
+ UseSound = Consume Item
+ }
+ Health Potion
+ {
+ ItemScript = Restore
+ Description = Restores 75 health points.
+ HP Restore = 75
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 24
+ BuyValue = 35
+ UseSound = Consume Potion
+ }
+ Mana Potion
+ {
+ ItemScript = Restore
+ Description = Restores 60 mana points over the next 15 seconds.
+ MP Restore = 4,1,15
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 28
+ BuyValue = 40
+ UseSound = Consume Potion
+ }
+ Recovery Potion
+ {
+ ItemScript = Restore
+ Description = Recovers 90 health points over the next 15 seconds.
+ HP Restore = 18,3,15
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 29
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 2
+
+ Item[0] = Yellow Slime Remains,1
+ Item[1] = Stone Heart,1
+
+ Gold = 0
+ }
+ }
+ Elixir of the Wind
+ {
+ ItemScript = Buff
+ Description = Increase your Movement Speed by 25% for 30 seconds.
+ Move Spd % = 25%,30
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 30
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 2
+
+ Item[0] = Hawk Feather,3
+
+ Gold = 0
+ }
+ }
+ Green Slime Remains
+ {
+ Description = The remains of a green slime. It stares at you intently.
+ ItemCategory = Materials
+ SellValue = 2
+ }
+ Blue Slime Remains
+ {
+ Description = The remains of a blue slime. It stares at you intently.
+ ItemCategory = Materials
+ SellValue = 4
+ }
+ Red Slime Remains
+ {
+ Description = The remains of a red slime. It stares at you intently.
+ ItemCategory = Materials
+ SellValue = 4
+ }
+ Yellow Slime Remains
+ {
+ Description = The remains of a yellow slime. It stares at you intently.
+ ItemCategory = Materials
+ SellValue = 9
+ }
+ Slimy Bun
+ {
+ Description = It's cute and hideous at the same time.
+ ItemCategory = Materials
+ SellValue = 40
+ }
+ Flower Petals
+ {
+ Description = Some beautiful petals of a flower.
+ ItemCategory = Materials
+ SellValue = 3
+ }
+ Frog Skin
+ {
+ Description = The skin of a frog.
+ ItemCategory = Materials
+ SellValue = 5
+ }
+ Bear Claw
+ {
+ Description = The claw of a bear.
+ ItemCategory = Materials
+ SellValue = 12
+ }
+ Bear Blood
+ {
+ Description = Some uncontaminated blood of a bear.
+ ItemCategory = Materials
+ SellValue = 17
+ }
+ Windhound Skin
+ {
+ Description = The skin of a windhound with only minor damages.
+ ItemCategory = Materials
+ SellValue = 6
+
+ # Used in version 6216 and earlier.
+ Alternative Name[0] = Wolf Skin
+ }
+ Logs
+ {
+ Description = A small unrefined pile of logs.
+ ItemCategory = Materials
+ SellValue = 3
+ }
+ High-Quality Logs
+ {
+ Description = A small unrefined pile of logs of exceptional quality.
+ ItemCategory = Materials
+ SellValue = 7
+ }
+ Green Gemstone
+ {
+ Description = Radiating with energy from the forest, it is used to refine stronger equipment.
+ ItemCategory = Materials
+ SellValue = 180
+ }
+ Time Medal
+ {
+ Description = A medal provided to top athletes in Lestoria commemorating a huge victory.
+ ItemCategory = Materials
+ }
+ Boar Meat
+ {
+ ItemScript = Restore
+ Description = Recovers 120 health points over the next 120 seconds.
+ HP Restore = 1,1,120
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 9
+ UseSound = Consume Potion
+ }
+ Broken Dagger
+ {
+ Description = A broken weapon, wielded by a goblin.
+ ItemCategory = Materials
+ SellValue = 12
+ }
+ Broken Bow
+ {
+ Description = A broken weapon, wielded by a goblin.
+ ItemCategory = Materials
+ SellValue = 13
+ }
+ Blackpowder
+ {
+ Description = Just some powder found in the pockets of a goblin.
+ ItemCategory = Materials
+ SellValue = 18
+ }
+ Hawk Feather
+ {
+ Description = A Feather of a Hawk. Sadly no longer in perfect condition.
+ ItemCategory = Materials
+ SellValue = 7
+ }
+ Stone Heart
+ {
+ Description = A stone, shaped in the form of an heart.
+ ItemCategory = Materials
+ SellValue = 28
+ }
+ Flat Recovery Potion
+ {
+ ItemScript = Restore
+ Description = Restores 50 health and mana points.
+ HP Restore = 50
+ MP Restore = 50
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 16
+ BuyValue = 23
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Green Slime Remains,3
+ Item[1] = Blue Slime Remains,1
+
+ Gold = 10
+ }
+ }
+ Pct Recovery Potion
+ {
+ ItemScript = Restore
+ Description = Restores 50% health and mana points.
+ HP % Restore = 50
+ MP % Restore = 50
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 16
+ BuyValue = 23
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Green Slime Remains,3
+ Item[1] = Blue Slime Remains,1
+
+ Gold = 10
+ }
+ }
+ Stat Up Everything Potion
+ {
+ ItemScript = Buff
+ Description = Buffs every stat (Illegally)
+ Attack = 1,1.0
+ Attack % = 1%,1.0
+ Defense = 1,1.0
+ Defense % = 1%,1.0
+ Health = 1,1.0
+ Health % = 1%,1.0
+ Move Spd % = 1%,1.0
+ CDR = 1%,1.0
+ Crit Rate = 1%,1.0
+ Crit Dmg = 1%,1.0
+ HP Recovery % = 1%,1.0
+ HP6 Recovery % = 1%,1.0
+ HP4 Recovery % = 1%,1.0
+ Damage Reduction = 1%,1.0
+ Attack Spd = 1,1.0
+ Mana = 1,1.0
+ ItemCategory = Consumables
+ Cooldown Time = 5.0
+ Cast Time = 0.0
+ SellValue = 16
+ BuyValue = 23
+ UseSound = Consume Potion
+ Crafting
+ {
+ # When this crafting recipe is available.
+ AvailableChapter = 1
+
+ Item[0] = Green Slime Remains,3
+ Item[1] = Blue Slime Remains,1
+
+ Gold = 10
+ }
+ }
+}
diff --git a/x64/Unit Testing/assets/config/items/ItemSets-test.txt b/x64/Unit Testing/assets/config/items/ItemSets-test.txt
new file mode 100644
index 00000000..d021110c
--- /dev/null
+++ b/x64/Unit Testing/assets/config/items/ItemSets-test.txt
@@ -0,0 +1,181 @@
+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
+ # Defense % = 2% # Adds 2% defense
+ # Attack % = 5% # Adds 5% 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
+ #
+ #
+ # All Possible Stat modifications can be found in ItemStats.txt
+ #
+ Leather
+ {
+ 2
+ {
+ Health % = 3%
+ }
+ 4
+ {
+ HP6 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%
+ }
+ }
+ Test
+ {
+ 1
+ {
+ Defense = 100
+ Health = 1000
+ Attack = 100
+ }
+ }
+ Test2
+ {
+ 1
+ {
+ Defense % = 100%
+ Attack % = 100%
+ Move Spd % = 100%
+ CDR = 100%
+ Crit Rate = 100%
+ Crit Dmg = 100%
+ Health % = 100%
+ HP6 Recovery % = 100%
+ }
+ }
+ Test3
+ {
+ 1
+ {
+ HP4 Recovery % = 100%
+ Damage Reduction = 100%
+ }
+ }
+ Test4
+ {
+ 1
+ {
+ HP Recovery % = 100%
+ Attack Spd = 50%
+ Mana = 100
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/x64/Unit Testing/assets/config/items/items-test.txt b/x64/Unit Testing/assets/config/items/items-test.txt
new file mode 100644
index 00000000..2b3ec642
--- /dev/null
+++ b/x64/Unit Testing/assets/config/items/items-test.txt
@@ -0,0 +1,69 @@
+ItemConfiguration
+{
+ Item Database = ItemDatabase-test.txt
+ Item Scripts = ItemScript.txt
+ Item Categories = ItemCategory.txt
+ Equipment = Equipment-test.txt
+ Weapons = Weapons.txt
+ Accessories = Accessories.txt
+}
+Item
+{
+ # Amount of time to wait before an item can be used again (Global).
+ Item Cooldown Time = 5.0
+ # The maximum enhancement level of equipment.
+ Item Max Enhancement Level = 10
+ # The name of the currency in the game.
+ Currency Name = Gold
+ # Text that displays when items are craftable in the Blacksmith.
+ Craftable Item Text = Can Craft
+ # Color of the text that displays when items are craftable in the Blacksmith.
+ Craftable Item Text Color = 0,255,0,255
+ # Text that displays when items can be upgraded in the Blacksmith.
+ Upgradeable Item Text = Upgrade!
+ # Color of the text that displays when items can be upgraded in the Blacksmith.
+ Upgradeable Item Text Color = 255,255,0,255
+ # Text that displays when items can be upgraded in the Blacksmith but the player doesn't have enough material.
+ Missing Upgradeable Item Text = Missing Materials
+ # Color of the text that displays when items can be upgraded in the Blacksmith but the player doesn't have enough material.
+ Missing Upgradeable Item Text Color = 192,0,0,255
+ # Text that displays when items are maxed out at the Blacksmith.
+ Maxed Item Text = MAX LV
+ # Color of the text that displays when items are maxed out at the Blacksmith.
+ Maxed Item Text Color = 0,255,255,255
+
+ # The names of items to be sorted for equipment lists.
+ Equipment Sort Order Primary = Wooden, Leather, Steel, Copper, Shell, Bone, Laser, Plasma, Unknown, Test, Test2, Test3
+ # The types of the items to be sorted for equipment lists if they have the same primary type.
+ Equipment Sort Order Secondary = Helmet, Armor, Pants, Gloves, Shoes, Sword, Bow, Staff
+}
+ItemDrop
+{
+ # Item drops horizontal random speed range
+ Item Drop Horizontal Speed = -30,30
+
+ # Item drops vertical random speed range
+ Item Drop Vertical Speed = -15,15
+
+ # Item drop suction range
+ Item Drop Suction Range = 360
+
+ # Item drop suction strength
+ Item Drop Suction Strength = 8000
+
+ # Item drop initial rise speed
+ Item Drop Initial Rise Speed = 10
+
+ # Item drop gravity
+ Item Drop Gravity = -9.8
+
+ # Item drop scale
+ Item Drop Scale = 0.4
+}
+ItemOverlay
+{
+ # Amount of time the item overlay display remains on-screen.
+ Item Overlay Time = 5.0
+ # How fast the item overlay display moves into the screen (from the left edge).
+ Item Overlay Speed = 200
+}
\ No newline at end of file
diff --git a/x64/Unit Testing/assets/items/Pct Recovery Potion.png b/x64/Unit Testing/assets/items/Pct Recovery Potion.png
new file mode 100644
index 00000000..aadcffd5
Binary files /dev/null and b/x64/Unit Testing/assets/items/Pct Recovery Potion.png differ
diff --git a/x64/Unit Testing/assets/items/Recovery Potion.png b/x64/Unit Testing/assets/items/Recovery Potion.png
new file mode 100644
index 00000000..444adb70
Binary files /dev/null and b/x64/Unit Testing/assets/items/Recovery Potion.png differ
diff --git a/x64/Unit Testing/assets/items/Test Armor.png b/x64/Unit Testing/assets/items/Test Armor.png
new file mode 100644
index 00000000..d8f5618d
Binary files /dev/null and b/x64/Unit Testing/assets/items/Test Armor.png differ
diff --git a/x64/Unit Testing/assets/items/Test Armor2.png b/x64/Unit Testing/assets/items/Test Armor2.png
new file mode 100644
index 00000000..d8f5618d
Binary files /dev/null and b/x64/Unit Testing/assets/items/Test Armor2.png differ
diff --git a/x64/Unit Testing/assets/items/Test Armor3.png b/x64/Unit Testing/assets/items/Test Armor3.png
new file mode 100644
index 00000000..d8f5618d
Binary files /dev/null and b/x64/Unit Testing/assets/items/Test Armor3.png differ
diff --git a/x64/Unit Testing/assets/items/Test Armor4.png b/x64/Unit Testing/assets/items/Test Armor4.png
new file mode 100644
index 00000000..d8f5618d
Binary files /dev/null and b/x64/Unit Testing/assets/items/Test Armor4.png differ