Add a tutorial task that requires the player to equip a crafted piece of gear. Release Build 8467.

pull/57/head
sigonasr2 11 months ago
parent ea74eec6f8
commit daa90538ad
  1. 4
      Adventures in Lestoria/CraftItemWindow.cpp
  2. 2
      Adventures in Lestoria/TODO.txt
  3. 1
      Adventures in Lestoria/Tutorial.cpp
  4. 38
      Adventures in Lestoria/Tutorial.h
  5. 2
      Adventures in Lestoria/Version.h
  6. BIN
      x64/Release/Adventures in Lestoria.exe

@ -40,6 +40,7 @@ All rights reserved.
#include "EnhancementStatsLabel.h" #include "EnhancementStatsLabel.h"
#include "RequiredMaterialsList.h" #include "RequiredMaterialsList.h"
#include "SoundEffect.h" #include "SoundEffect.h"
#include "Tutorial.h"
void Menu::InitializeCraftItemWindow(){ void Menu::InitializeCraftItemWindow(){
Menu*craftItemWindow=CreateMenu(CRAFT_ITEM,CENTERED,{240,120}); Menu*craftItemWindow=CreateMenu(CRAFT_ITEM,CENTERED,{240,120});
@ -76,6 +77,9 @@ void Menu::InitializeCraftItemWindow(){
}else{ //Since we already own this equipment, just enhance it. }else{ //Since we already own this equipment, just enhance it.
item.lock()->EnhanceItem(); item.lock()->EnhanceItem();
} }
if(!Tutorial::TaskIsComplete(TutorialTaskName::EQUIP_GEAR)){
Tutorial::SetNextTask(TutorialTaskName::EQUIP_GEAR);
}
} }
std::string label=""; std::string label="";
if(item.lock()->EnhancementIsPossible()&&item.lock()->GetEnhancementInfo().size()>item.lock()->EnhancementLevel()+1 if(item.lock()->EnhancementIsPossible()&&item.lock()->GetEnhancementInfo().size()>item.lock()->EnhancementLevel()+1

@ -1,5 +1,3 @@
Equip Gear using Start menu tutorial
============================================ ============================================
Make another actions config file for the main build (The app # is different) Make another actions config file for the main build (The app # is different)

@ -50,6 +50,7 @@ void Tutorial::Initialize(){
CREATETASK(TutorialTaskName::USE_DEFENSIVE,UseDefensiveTask); CREATETASK(TutorialTaskName::USE_DEFENSIVE,UseDefensiveTask);
CREATETASK(TutorialTaskName::USE_RECOVERY_ITEMS,UseRecoveryItemsTask); CREATETASK(TutorialTaskName::USE_RECOVERY_ITEMS,UseRecoveryItemsTask);
CREATETASK(TutorialTaskName::BLACKSMITH,BlacksmithTask); CREATETASK(TutorialTaskName::BLACKSMITH,BlacksmithTask);
CREATETASK(TutorialTaskName::EQUIP_GEAR,EquipGearTask);
currentTaskState=TutorialTaskName::SET_LOADOUT_ITEM; currentTaskState=TutorialTaskName::SET_LOADOUT_ITEM;
ResetTasks(); ResetTasks();
} }

@ -61,6 +61,7 @@ enum class TutorialTaskName{
USE_DEFENSIVE, USE_DEFENSIVE,
USE_RECOVERY_ITEMS, USE_RECOVERY_ITEMS,
BLACKSMITH, BLACKSMITH,
EQUIP_GEAR,
NONE, NONE,
}; };
@ -316,4 +317,41 @@ private:
float textWidth=game->GetTextSizeProp(helpText).x; float textWidth=game->GetTextSizeProp(helpText).x;
game->DrawShadowStringPropDecal({game->ScreenWidth()/2.f-textWidth/2.f,48.f},helpText); game->DrawShadowStringPropDecal({game->ScreenWidth()/2.f-textWidth/2.f,48.f},helpText);
} }
};
class EquipGearTask:public TutorialTask{
public:
inline EquipGearTask():TutorialTask(){};
private:
InputGroup startGroup;
virtual inline void OnActivate()override final{
startGroup.ClearAllKeybinds();
ADDKEYBIND(startGroup,game->KEY_MENU,CONTROLLER);
ADDKEYBIND(startGroup,game->KEY_MENU,KEY);
ADDKEYBIND(startGroup,game->KEY_MENU,STEAM);
Component<MenuComponent>(SHERMAN,"Leave Button")->SetGrayedOut(true);
Component<MenuComponent>(MenuType::PAUSE,"Return to Camp Button")->SetGrayedOut(true);
}
virtual inline bool CompleteCondition()override final{
for(int i=int(EquipSlot::HELMET);i<=int(EquipSlot::RING2);i<<=1){
EquipSlot slot=EquipSlot(i);
if(!ISBLANK(Inventory::GetEquip(slot)))return true;
}
return false;
}
virtual inline void OnComplete()override final{
Component<MenuComponent>(SHERMAN,"Leave Button")->SetGrayedOut(false);
Component<MenuComponent>(MenuType::PAUSE,"Return to Camp Button")->SetGrayedOut(false);
}
virtual inline void Draw()const override final{
if(Input::UsingGamepad()){
STEAMINPUT(
startGroup.DrawInput(game,{game->ScreenWidth()/2.f,48.f},"Open the #FFCF0CCharacter#FFFFFF menu and equip your new gear.",180,InputType::STEAM);
)else{
startGroup.DrawInput(game,{game->ScreenWidth()/2.f,48.f},"Open the #FFCF0CCharacter#FFFFFF menu and equip your new gear.",180,InputType::CONTROLLER);
}
}else{
startGroup.DrawInput(game,{game->ScreenWidth()/2.f,48.f},"Open the #FFCF0CCharacter#FFFFFF menu and equip your new gear.",180,InputType::KEY);
}
}
}; };

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 0 #define VERSION_MINOR 0
#define VERSION_PATCH 0 #define VERSION_PATCH 0
#define VERSION_BUILD 8465 #define VERSION_BUILD 8467
#define stringify(a) stringify_(a) #define stringify(a) stringify_(a)
#define stringify_(a) #a #define stringify_(a) #a

Loading…
Cancel
Save