diff --git a/Adventures in Lestoria/Adventures in Lestoria.tiled-project b/Adventures in Lestoria/Adventures in Lestoria.tiled-project index b12a21e3..52be7824 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.tiled-project +++ b/Adventures in Lestoria/Adventures in Lestoria.tiled-project @@ -286,7 +286,7 @@ "Yellow Slime", "Flower Turret", "Slime King", - "Wolf", + "Windhound", "Bear", "Frog" ], diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index 602cbf87..b183d718 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -382,6 +382,10 @@ + + + + diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index 912ec2f1..ea6fb188 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -429,6 +429,9 @@ Header Files\Interface + + Header Files + diff --git a/Adventures in Lestoria/Arrow.cpp b/Adventures in Lestoria/Arrow.cpp index aba0fa02..8c1191a3 100644 --- a/Adventures in Lestoria/Arrow.cpp +++ b/Adventures in Lestoria/Arrow.cpp @@ -45,7 +45,7 @@ All rights reserved. INCLUDE_game Arrow::Arrow(vf2d pos,vf2d targetPos,vf2d vel,float radius,int damage,bool upperLevel,bool friendly,Pixel col) - :finalDistance(geom2d::line(pos,targetPos).length()),acc(PI/2*"Ranger.Auto Attack.ArrowSpd"_F), + :finalDistance(geom2d::line(pos,targetPos).length()*1.2f),acc(PI/2*"Ranger.Auto Attack.ArrowSpd"_F), Bullet(pos,vel,radius,damage, "arrow.png",upperLevel,false,INFINITE,true,friendly,col){} diff --git a/Adventures in Lestoria/Audio.cpp b/Adventures in Lestoria/Audio.cpp index 0bbfd135..a8b76f16 100644 --- a/Adventures in Lestoria/Audio.cpp +++ b/Adventures in Lestoria/Audio.cpp @@ -210,7 +210,7 @@ void Audio::BGM::AddChannel(const ChannelName&name){ } const VolumeList&Audio::EventData::GetVolumes(const Event&event)const{ - if(eventInfo.find(event)!=eventInfo.end())return eventInfo.at(event); + if(eventInfo.find(event)!=eventInfo.end()&&eventInfo.at(event).size()>0)return eventInfo.at(event); return eventInfo.at("Default Volume"); } diff --git a/Adventures in Lestoria/Item.cpp b/Adventures in Lestoria/Item.cpp index fdee5f3c..b2358da5 100644 --- a/Adventures in Lestoria/Item.cpp +++ b/Adventures in Lestoria/Item.cpp @@ -52,6 +52,7 @@ INCLUDE_GFX const std::string Item::BLANK_ITEM_NAME=""; safemapITEM_DATA; +safemapITEM_CONVERSIONS; safemapITEM_SCRIPTS; safemap>ITEM_CATEGORIES; std::shared_ptrItem::BLANK=std::make_shared(); @@ -150,6 +151,10 @@ void ItemInfo::InitializeItems(){ }else if(keyName=="UseSound"||keyName=="Equip Sound"){ useSound=data[key][keyName].GetString(); + }else + if(keyName.starts_with("Alternative Name")){ + if(ITEM_CONVERSIONS.count(data[key][keyName].GetString()))ERR(std::format("Item {} already exists in Item Conversion database! Cannot add a duplicate entry!",data[key][keyName].GetString())); + ITEM_CONVERSIONS[data[key][keyName].GetString()]=key; }else{ //THis is a custom override modifier for a script. NO-OP } } @@ -280,6 +285,7 @@ void ItemInfo::InitializeItems(){ ITEM_DATA.SetInitialized(); ITEM_CATEGORIES.SetInitialized(); + ITEM_CONVERSIONS.SetInitialized(); Menu::LockInListeners(); for(auto&[name,info]:ITEM_DATA){ @@ -382,9 +388,18 @@ Item::Item() :amt(0),it(nullptr),enhancementLevel(0){} Item::Item(uint32_t amt,IT item,uint8_t enhancementLevel) - :amt(amt),it(&ITEM_DATA.at(item)),enhancementLevel(enhancementLevel){} + :amt(amt),enhancementLevel(enhancementLevel){ + if(ITEM_CONVERSIONS.count(item)){ + it=&ITEM_DATA.at(ITEM_CONVERSIONS[item]); //Convert the item if it's using an old name. + }else{ + it=&ITEM_DATA.at(item); + } +} std::weak_ptrInventory::AddItem(IT it,uint32_t amt,bool monsterDrop){ + if(ITEM_CONVERSIONS.count(it)){ + it=ITEM_CONVERSIONS[it]; //Convert the item if it's using an old name. + } if(!ITEM_DATA.count(it))ERR("Item "<itemPtr; diff --git a/Adventures in Lestoria/ItemNameConverter.h b/Adventures in Lestoria/ItemNameConverter.h new file mode 100644 index 00000000..13967e4f --- /dev/null +++ b/Adventures in Lestoria/ItemNameConverter.h @@ -0,0 +1,38 @@ +#pragma region License +/* +License (OLC-3) +~~~~~~~~~~~~~~~ + +Copyright 2024 Joshua Sigona + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions or derivations of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions or derivative works in binary form must reproduce the above +copyright notice. This list of conditions and the following disclaimer must be +reproduced in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may +be used to endorse or promote products derived from this software without specific +prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Portions of this software are copyright © 2023 The FreeType +Project (www.freetype.org). Please see LICENSE_FT.txt for more information. +All rights reserved. +*/ +#pragma endregion +#pragma once \ No newline at end of file diff --git a/Adventures in Lestoria/MenuComponent.cpp b/Adventures in Lestoria/MenuComponent.cpp index ed05c27e..3bcce5d7 100644 --- a/Adventures in Lestoria/MenuComponent.cpp +++ b/Adventures in Lestoria/MenuComponent.cpp @@ -212,7 +212,7 @@ void MenuComponent::_OnMouseOut(){ if(runHoverFunctions){ if(hoverState){ hoverState=false; - onMouseOut(MenuFuncData{*Menu::menus[parentMenu],game,std::make_shared(*this),dynamic_pointer_cast(parentComponent.lock())}); + onMouseOut(MenuFuncData{*Menu::menus[parentMenu],game,Menu::menus[parentMenu]->components[name],dynamic_pointer_cast(parentComponent.lock())}); OnMouseOut(); } } @@ -222,7 +222,7 @@ void MenuComponent::_OnHover(){ if(hovered){ if(runHoverFunctions&&!hoverState){ hoverState=true; - onHover(MenuFuncData{*Menu::menus[parentMenu],game,std::make_shared(*this),dynamic_pointer_cast(parentComponent.lock())}); + onHover(MenuFuncData{*Menu::menus[parentMenu],game,Menu::menus[parentMenu]->components[name],dynamic_pointer_cast(parentComponent.lock())}); OnHover(); } } diff --git a/Adventures in Lestoria/TODO.txt b/Adventures in Lestoria/TODO.txt index 38720c29..71ccfe83 100644 --- a/Adventures in Lestoria/TODO.txt +++ b/Adventures in Lestoria/TODO.txt @@ -15,6 +15,8 @@ Settings Menu - Stage Loot Config - Initial Crafting of Gear. +- Experience point changes + January 31st ============ Make new unlocked nodes more obvious, made neighboring nodes more obvious @@ -63,4 +65,7 @@ ok equipment cant be sold currently anyway. So i think the easiest solution would be making gear unique. buying and upgrading it could be at the exact same location then. Only thing that needs to be changed in the ui would be removing the equipment tab in the vendor sell menu. -[12:07 AM]sigonasr2: So the process goes: See current list of gear, first you buy it, then you can choose it again to continuously upgrade it \ No newline at end of file +[12:07 AM]sigonasr2: So the process goes: See current list of gear, first you buy it, then you can choose it again to continuously upgrade it + + +- Health numbers/mana number counters decreasing/incrementing emphasis \ No newline at end of file diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index 20728461..f149c15a 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 0 #define VERSION_MINOR 3 #define VERSION_PATCH 0 -#define VERSION_BUILD 6216 +#define VERSION_BUILD 6225 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/assets/Campaigns/1_2.tmx b/Adventures in Lestoria/assets/Campaigns/1_2.tmx index 7316b718..0cf05d91 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_2.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_2.tmx @@ -1214,9 +1214,9 @@ - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_3.tmx b/Adventures in Lestoria/assets/Campaigns/1_3.tmx index 05d3661e..2e3cf128 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_3.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_3.tmx @@ -752,9 +752,9 @@ - + - + @@ -906,16 +906,16 @@ - + - + - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_4.tmx b/Adventures in Lestoria/assets/Campaigns/1_4.tmx index 5234e46d..762fb2d1 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_4.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_4.tmx @@ -448,56 +448,56 @@ - + - + - + - + - + - + - + - + @@ -665,7 +665,7 @@ - + @@ -742,14 +742,14 @@ - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_5.tmx b/Adventures in Lestoria/assets/Campaigns/1_5.tmx index 7c5ab750..93220e51 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_5.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_5.tmx @@ -1171,44 +1171,44 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -1220,44 +1220,44 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -1416,16 +1416,16 @@ - + - + - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_6.tmx b/Adventures in Lestoria/assets/Campaigns/1_6.tmx index 6f61918d..dfe35dac 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_6.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_6.tmx @@ -628,23 +628,23 @@ - + - + - + - + - + - + @@ -831,23 +831,23 @@ - + - + - + - + - + - + @@ -992,9 +992,9 @@ - + - + @@ -1048,16 +1048,16 @@ - + - + - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_7.tmx b/Adventures in Lestoria/assets/Campaigns/1_7.tmx index 747e37ab..9da4f766 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_7.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_7.tmx @@ -747,30 +747,30 @@ - + - + - + - + - + - + - + - + @@ -894,37 +894,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -950,9 +950,9 @@ - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/1_8.tmx b/Adventures in Lestoria/assets/Campaigns/1_8.tmx index ff56ff1e..5112d9ab 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_8.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_8.tmx @@ -536,37 +536,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -620,37 +620,37 @@ - + - + - + - + - + - + - + - + - + - + @@ -725,16 +725,16 @@ - + - + - + - + @@ -774,51 +774,51 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Adventures in Lestoria/assets/config/Monsters.txt b/Adventures in Lestoria/assets/config/Monsters.txt index 6264910c..c70d94e8 100644 --- a/Adventures in Lestoria/assets/config/Monsters.txt +++ b/Adventures in Lestoria/assets/config/Monsters.txt @@ -222,7 +222,7 @@ Monsters # NOTE: ANIMATION[0] will always be row 5 of an animation sheet, all numbers that follow are each below each other. ANIMATION[0] = 10, 0.04, Repeat } - Wolf + Windhound { Health = 110 Attack = 12 @@ -246,7 +246,7 @@ Monsters DeathAnimation = 4, 0.1, OneShot # Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity - DROP[0] = Wolf Skin,30%,1,1 + DROP[0] = Windhound Skin,30%,1,1 Hurt Sound = Monster Hurt Death Sound = Slime Dead diff --git a/Adventures in Lestoria/assets/config/items/ItemDatabase.txt b/Adventures in Lestoria/assets/config/items/ItemDatabase.txt index a54a2d35..743e82bc 100644 --- a/Adventures in Lestoria/assets/config/items/ItemDatabase.txt +++ b/Adventures in Lestoria/assets/config/items/ItemDatabase.txt @@ -155,15 +155,18 @@ ItemDatabase } Bear Blood { - Description = Some uncontaminated blood of a bear + Description = Some uncontaminated blood of a bear. ItemCategory = Materials SellValue = 17 } - Wolf Skin + Windhound Skin { - Description = The skin of a wolf with only minor damages. + 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 { diff --git a/Adventures in Lestoria/assets/items/Wolf Skin.png b/Adventures in Lestoria/assets/items/Windhound Skin.png similarity index 100% rename from Adventures in Lestoria/assets/items/Wolf Skin.png rename to Adventures in Lestoria/assets/items/Windhound Skin.png diff --git a/Adventures in Lestoria/assets/monsters/Wolf.png b/Adventures in Lestoria/assets/monsters/Windhound.png similarity index 100% rename from Adventures in Lestoria/assets/monsters/Wolf.png rename to Adventures in Lestoria/assets/monsters/Windhound.png