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_ptrdisassembleRingTest{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_ptrInventory::AddItem(IT it,uint32_t amt,bool monsterDrop){ if(!ITEM_DATA.count(it))ERR("Item "<itemPtr; - std::shared_ptrnewItem; 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_ptritemRef){ + 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_ptritem); const bool IsLocked()const; + const std::string&FragmentName()const; void Lock(); void Unlock(); + void Disassemble(); friend const bool operator==(std::shared_ptrlhs,std::shared_ptrrhs){return lhs->it==rhs->it&&lhs->randomizedStats==rhs->randomizedStats;}; friend const bool operator==(std::shared_ptrlhs,const IT&rhs){return lhs->ActualName()==const_cast(rhs);}; friend const bool operator==(std::weak_ptrlhs,std::weak_ptrrhs){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_ptritemRef); 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