...
 
Commits (3)
......@@ -135,6 +135,28 @@ bool ActionBox::UpdateTurnState() //not intuitive
return !Finished;
}
bool ActionBox::UpgradeRandomSkill()
{
bool upgraded = false;
std::vector<std::unique_ptr<Skill>*> temp;
for (auto& s : boxPool)
{
temp.push_back(&s);
}
for (int i = 0; i < boxPool.size(); i++)
{
size_t k = (size_t)(RU.GetUInt(0u, temp.size() - 1u));
if (!temp[k]->get()->IsUpgraded())
{
temp[k]->get()->Upgrade();
upgraded = true;
}
temp.erase(temp.begin() + k);
if (upgraded)break;
}
return !upgraded;
}
void ActionBox::InitializeAboxSkillInfoMicroicons()
{
for(size_t i = 0u; i < nBoxSkills; i++)aboxSkillInfoMicroicons.emplace_back();
......
......@@ -36,6 +36,8 @@ public:
bool UpdateTurnState(); //checks if the turn is finished (if yes returns 1)
bool UpgradeRandomSkill();//returns 1 if all skills are upgraded
protected:
std::vector<std::unique_ptr<class Skill>>& boxPool;
std::vector<std::unique_ptr<class Skill>*> pickedSkills;
......
......@@ -44,7 +44,7 @@ public:
}
void AddSpeed(float dSpeed)
{
speed *= dSpeed;
speed += dSpeed;
}
void AddBlock(size_t in_block)
{
......
......@@ -14,12 +14,13 @@ CombatManager::CombatManager()
keysForActionBoxes.push_back('D');
}
void CombatManager::StartBattle(int enemyID)
void CombatManager::StartBattle(size_t enemyID)
{
currentTurn = 0u;
returningToMenu = false;
playMan->BeginBattle();
enMan = std::make_unique<Ghoul>();
enMan->AddSpeed((float)killcount/5.0f); //the more enemies you kill - the faster they become
combatData.enemyIntent = AbilityType::NoType;
CombatManager::curTurn = Turn::Prefase;
turnAnnouncer.SetAnnouncment(TurnAnnouncer::AnnTurn::TheBattleBegins);
......@@ -288,9 +289,18 @@ void CombatManager::UpdateCombatState(float dt)
case CombatManager::Turn::EnemyDied:
if (turnAnnouncer.Update(dt))
{
StartBattle(0);
curTurn = Turn::ChoosingReward;
rewardMenuIsActive = true;
}
break;
case CombatManager::Turn::ChoosingReward:
if (!rewardMenuIsActive)
{
StartBattle(0);
}
break;
default:
assert(false && "Missed a combat state");
break;
......@@ -303,6 +313,34 @@ CombatEntity::State CombatManager::GetEnemyState()const
if (enMan) return enMan->GetState(); else return CombatEntity::State::NoEntity;
}
void CombatManager::ChoseBandage()
{
playMan->CureBleed();
rewardMenuIsActive = false;
}
void CombatManager::ChoseCrit()
{
playMan->AddPassiveCrit(critBuffEmount);
rewardMenuIsActive = false;
}
void CombatManager::ChoseDodge()
{
playMan->AddPassiveDodge(critBuffEmount);
rewardMenuIsActive = false;
}
void CombatManager::ChoseUpgrade()
{
if (playMan->UpgradeRandomSkill()) //if all skills are upgraded
{
playMan->AddPassiveDodge(dodgeBuffEmount);
playMan->AddPassiveCrit(critBuffEmount);
}
rewardMenuIsActive = false;
}
void CombatManager::UpdateCombatData()
{
combatData.playerHP = playMan->GetHP();
......@@ -481,6 +519,11 @@ void CombatManager::HandleEvent(SkillEvent ev)
}
}
bool CombatManager::GetRewardMenuActiveness() const
{
return rewardMenuIsActive;
}
void DrawIntent()
{
assert(false);
......
......@@ -27,7 +27,7 @@ class CombatManager
{
public: //why the fuck are they all public?? //at least make some friends
CombatManager();
void StartBattle(int enemyID);
void StartBattle(size_t enemyID);
void EndBattle();
PlayerManager& GetPlayerManager()
{
......@@ -55,6 +55,13 @@ public: //why the fuck are they all public?? //at least make some frien
void Draw(class DXGraphics& gfx);
void UpdateCombatState(float dt);
CombatEntity::State GetEnemyState()const;
bool GetRewardMenuActiveness() const;
//make menu friends
void ChoseBandage();
void ChoseCrit();
void ChoseDodge();
void ChoseUpgrade();
private:
enum class Turn //this will definitely require reworking as more animations and states will be added
{
......@@ -71,6 +78,7 @@ private:
EnemyDied,
PlayerDied,
StartingTurn,
ChoosingReward,
NotInCombat
};
enum class TurnBeginningState
......@@ -101,10 +109,14 @@ private:
std::unique_ptr<PlayerManager>playMan;
std::unique_ptr<EnemyCombat>enMan;
bool returningToMenu = false;
bool rewardMenuIsActive = false;
size_t currentProcingEffect = 0u;
size_t killcount = 0u;
size_t currentTurn = 0u;
float accumulatedTime = 0.0f;
static constexpr float enemyTurnAnimationLength = 1.0f;
static constexpr float statusEffetAnnounceTime = 1.0f;
static constexpr float critBuffEmount = 0.05f; //from reward menu
static constexpr float dodgeBuffEmount = 0.05f;
};
\ No newline at end of file
......@@ -247,6 +247,7 @@
<ClInclude Include="InitiativeBar.h" />
<ClInclude Include="IntentIcons.h" />
<ClInclude Include="Mesh.h" />
<ClInclude Include="RewardMenu.h" />
<ClInclude Include="SideButtons.h" />
<ClInclude Include="LevelMap.h" />
<ClInclude Include="MainMenuHolder.h" />
......@@ -453,6 +454,7 @@
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="RewardMenu.cpp" />
<ClCompile Include="SkillMicroicons.cpp" />
<ClCompile Include="StatusBar.cpp" />
<ClCompile Include="RandomBoxManager.cpp" />
......
......@@ -573,6 +573,9 @@
<ClInclude Include="SkillMicroicons.h">
<Filter>Header Files\HUDs</Filter>
</ClInclude>
<ClInclude Include="RewardMenu.h">
<Filter>Header Files\HUDs</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Game.cpp">
......@@ -857,6 +860,9 @@
<ClCompile Include="SkillMicroicons.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RewardMenu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<FxCompile Include="FramebufferPS.hlsl">
......
......@@ -15,8 +15,8 @@ Letter::Letter(std::wstring fontSprite, DXGraphics& gfx, wchar_t letter)
Technique standard;
{
Step only(4);
constexpr int charsInRow = 32;
constexpr int charsInColumn = 3;
constexpr wchar_t charsInRow = 32;
constexpr wchar_t charsInColumn = 3;
auto tex = Texture::Resolve(gfx, fontSprite);
float letterAspectRatio = ((float)tex->GetWidth()/charsInRow)
/ //-----------------------------------------
......@@ -38,12 +38,12 @@ Letter::Letter(std::wstring fontSprite, DXGraphics& gfx, wchar_t letter)
const float topY = (charID / charsInRow) * singleHeight;
const float rightX = leftX + singleWdth;
const float bottomY = topY + singleHeight;
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, 1.0f }, dx::XMFLOAT2{ 1.001f * leftX, 1.001f * topY }); //assembling a rectangle of 2 triangles
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , -1.0f }, dx::XMFLOAT2{ 0.999f * rightX,0.999f * bottomY });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, -1.0f },dx::XMFLOAT2{ 1.001f * leftX, 0.999f * bottomY });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, 1.0f }, dx::XMFLOAT2{ 1.001f * leftX, 1.001f * topY });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , 1.0f }, dx::XMFLOAT2{ 0.999f * rightX,1.001f * topY });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , -1.0f }, dx::XMFLOAT2{ 0.999f * rightX,0.999f * bottomY });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, 1.0f }, dx::XMFLOAT2{leftX-0.001f, topY+0.001f }); //assembling a rectangle of 2 triangles
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , -1.0f }, dx::XMFLOAT2{rightX-0.001f,bottomY-0.001f });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, -1.0f },dx::XMFLOAT2{leftX-0.001f, bottomY-0.001f });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR * -1.0f, 1.0f }, dx::XMFLOAT2{leftX-0.001f, topY+0.001f });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , 1.0f }, dx::XMFLOAT2{rightX-0.001f,topY+0.001f });
vbuf.EmplaceBack(dx::XMFLOAT2{totalAR , -1.0f }, dx::XMFLOAT2{rightX-0.001f,bottomY-0.001f });
std::vector<unsigned short> indices{ 0,1,2,3,4,5 };
only.AddBindable(PixelShader::Resolve(gfx, L"TextPS.cso"));
......
......@@ -10,6 +10,9 @@
using namespace std::string_literals;
namespace dx = DirectX;
Game::Game()
......@@ -84,11 +87,6 @@ int Game::Go()
//planeTN.Submit(fc);
ll.SubmitDrawables();
cm.Draw(wnd.DXGfx());
//cube.Submit(fc);
// cube2.Submit(fc);
// bluePlane.Submit(fc);
//redPlane.Draw( wnd.Gfx() );
td.SubmitText(dt);
fc.Execute(wnd.DXGfx());
......
......@@ -105,7 +105,7 @@ public:
Ghoul::Ghoul()
{
HP = 75u;
HP = 1u;
maxHP = 75u;
speed = 1.0f;
block = 0u;
......
......@@ -15,6 +15,7 @@
#include "StatusBar.h"
#include "IntentIcons.h"
#include "InitiativeBar.h"
#include "RewardMenu.h"
HUD::HUD(Menu& menu, FrameCommander& fc, DXGraphics& gfx, const ActionBox& abox, const CombatManager& cm) : //will require a rework to support any number of skills other than 4
menu(menu), fc(fc), gfx(gfx), cd(cm.GetCombatDataReference())
......@@ -34,6 +35,7 @@ HUD::HUD(Menu& menu, FrameCommander& fc, DXGraphics& gfx, const ActionBox& abox,
elements.emplace(std::make_pair(Element::EnemyStatusBar, std::make_unique<EnemyStatusBar>(cm.GetCombatDataReference(), gfx)));
elements.emplace(std::make_pair(Element::IntentIcon, std::make_unique<IntentIconManager>(cm.GetCombatDataReference(), gfx)));
elements.emplace(std::make_pair(Element::InitiativeBar, std::make_unique<InitiativeBar>(gfx, cm.GetCombatDataReference())));
elements.emplace(std::make_pair(Element::RewardMenu, std::make_unique<RewardMenu>(gfx, cm)));
}
void HUD::Submit() const
......@@ -97,6 +99,7 @@ void HUD::Submit() const
elements.at(Element::PlayerStatusBar)->SmartSubmit(fc);
elements.at(Element::EnemyStatusBar)->SmartSubmit(fc);
elements.at(Element::InitiativeBar)->SmartSubmit(fc);
elements.at(Element::RewardMenu)->SmartSubmit(fc);
break;
default:
assert(false && "MissedMenuState");
......@@ -104,9 +107,3 @@ void HUD::Submit() const
}
}
void HUD::Update()
{
assert(false && "why call this?");
}
......@@ -22,12 +22,12 @@ class HUD //responsible for drawing hud
PlayerStatusBar,
EnemyStatusBar,
IntentIcon,
RewardMenu,
InitiativeBar
};
public:
HUD(Menu& menu,FrameCommander& fc, DXGraphics& gfx, const ActionBox& abox,const CombatManager& cm);
void Submit()const;
void Update(); //remove this?
private:
Menu& menu; //const?
FrameCommander& fc;
......
......@@ -6,25 +6,24 @@ MainMenuHolder::MainMenuHolder(DXGraphics& gfx)
achievements(L"Media\\Sprites\\achievements.png", gfx),
quit(L"Media\\Sprites\\quit.png", gfx),
tutorial(L"Media\\Sprites\\tutorial.png", gfx)
{
posDataX.emplace_back(0.0f,0.0f,0.625f);
BindPositionData(&posDataX);
playPosData.emplace_back(0.01f, 0.6f, 0.55f);
play.AddParent(this, 0);
play.AddParent(this, 0u);
play.BindPositionData(&playPosData);
quitPosData.emplace_back(0.615f, -0.52f, 0.55f);
quit.AddParent(this, 0);
quit.AddParent(this, 0u);
quit.BindPositionData(&quitPosData);
achievementsPosData.emplace_back(-0.62f, -0.52f, 0.55f);
achievements.AddParent(this, 0);
achievements.AddParent(this, 0u);
achievements.BindPositionData(&achievementsPosData);
tutorialPosData.emplace_back(0.01f, -0.52f, 0.55f);
tutorial.AddParent(this, 0);
tutorial.AddParent(this, 0u);
tutorial.BindPositionData(&tutorialPosData);
}
......@@ -35,9 +34,4 @@ void MainMenuHolder::SmartSubmit(FrameCommander& fc) const
quit.SmartSubmit(fc);
tutorial.SmartSubmit(fc);
achievements.SmartSubmit(fc);
}
std::vector<PositionData> MainMenuHolder::posDataX;
std::vector<PositionData> MainMenuHolder::quitPosData;
std::vector<PositionData> MainMenuHolder::playPosData;
std::vector<PositionData> MainMenuHolder::tutorialPosData;
std::vector<PositionData> MainMenuHolder::achievementsPosData;
\ No newline at end of file
}
\ No newline at end of file
......@@ -7,11 +7,11 @@ public:
MainMenuHolder(DXGraphics& gfx);
void SmartSubmit(FrameCommander& fc) const override;
private:
static std::vector<PositionData> posDataX; //why static???????
static std::vector<PositionData> playPosData;
static std::vector<PositionData> quitPosData;
static std::vector<PositionData> tutorialPosData;
static std::vector<PositionData> achievementsPosData;
std::vector<PositionData> posDataX; //why static???????
std::vector<PositionData> playPosData;
std::vector<PositionData> quitPosData;
std::vector<PositionData> tutorialPosData;
std::vector<PositionData> achievementsPosData;
HudElement play;
HudElement quit;
HudElement tutorial;
......
Engine/Media/Sprites/SkillSheet.png

259 KB | W: | H:

Engine/Media/Sprites/SkillSheet.png

214 KB | W: | H:

Engine/Media/Sprites/SkillSheet.png
Engine/Media/Sprites/SkillSheet.png
Engine/Media/Sprites/SkillSheet.png
Engine/Media/Sprites/SkillSheet.png
  • 2-up
  • Swipe
  • Onion skin
Engine/Media/Sprites/font.png

27.7 KB | W: | H:

Engine/Media/Sprites/font.png

32.5 KB | W: | H:

Engine/Media/Sprites/font.png
Engine/Media/Sprites/font.png
Engine/Media/Sprites/font.png
Engine/Media/Sprites/font.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -6,6 +6,7 @@ bool Menu::Update(Keyboard::Event in_event)
if (in_event.IsPress())
{
if (cm.IsReturningToMenu())mState = Menu::MenuState::Main;
if(cm.GetRewardMenuActiveness())mState = Menu::MenuState::ChoosingReward;
auto code = in_event.GetCode();
switch (mState)
{
......@@ -117,6 +118,28 @@ bool Menu::Update(Keyboard::Event in_event)
case Menu::MenuState::Inactive:
if (cm.IsReturningToMenu())mState = MenuState::Main;
break;
case Menu::MenuState::ChoosingReward:
if (code == 'W')
{
cm.ChoseBandage();
mState = MenuState::Inactive;
}
if (code == 'A')
{
cm.ChoseCrit();
mState = MenuState::Inactive;
}
if (code == 'S')
{
cm.ChoseUpgrade();
mState = MenuState::Inactive;
}
if (code == 'D')
{
cm.ChoseDodge();
mState = MenuState::Inactive;
}
break;
default:
assert("missed a menue state" && false);
break;
......
......@@ -17,6 +17,7 @@ public:
Tutorial3,
Tutorial4,
Tutorial5,
ChoosingReward,
Inactive
};
MenuState GetMenuState()
......
......@@ -51,6 +51,11 @@ bool PlayerManager::ProcessInput(const char input)
return actionBox.ProcessInput(input);
}
bool PlayerManager::UpgradeRandomSkill()
{
return actionBox.UpgradeRandomSkill();
}
void PlayerManager::SufferPhysicalDamage(size_t incDmg)
{
if (incDmg < HP + block) //if does not kill
......@@ -107,6 +112,7 @@ void PlayerManager::AddTimePool(float in_time)
void PlayerManager::ResetTimePool()
{
curTurnTime = baseTurnTime;
speed = 1.0f;
}
void PlayerManager::AddCrit(float in_crit)
......@@ -119,6 +125,16 @@ void PlayerManager::AddDodge(float in_dodge)
activeStatusEffects[StatusEffects::Dodge].first += in_dodge;
}
void PlayerManager::AddPassiveCrit(float in_crit)
{
baseCrit += in_crit;
}
void PlayerManager::AddPassiveDodge(float in_dodge)
{
baseDodge += in_dodge;
}
void PlayerManager::DumpTemporaryStatus()
{
block /= 4u;
......
......@@ -33,16 +33,22 @@ public:
void AddDodge(float in_dodge);
void AddPassiveCrit(float in_crit);
void AddPassiveDodge(float in_dodge);
void DumpTemporaryStatus() override;
bool UpgradeRandomSkill(); //returns true if all skills are upgraded
private:
void ResetTimePool();
std::vector<std::unique_ptr<Skill>> skillPool;
float curTurnTime = baseTurnTime; //all mutiplyers are applied later
float baseCrit = 0.0f;
float baseCrit = 0.0f;
float baseDodge = 0.0f;
//bool AtDeathsDoor = false;
ActionBox actionBox;
float baseTurnTime = 6.0f;
float baseTurnTime = 10.0f;
};
\ No newline at end of file
#include "RewardMenu.h"
RewardMenu::RewardMenu(DXGraphics& gfx, const CombatManager& cm):
cm(cm),
HudElement(L"Media\\Sprites\\MainMenuHolder.png", gfx),
healBleed(L"Media\\Sprites\\RewardBandage.png", gfx),
buffDodge(L"Media\\Sprites\\RewardDodge.png", gfx),
buffCrit(L"Media\\Sprites\\RewardCrit.png", gfx),
upgradeSkill(L"Media\\Sprites\\RewardUpgrade.png", gfx)
{
posDataX.emplace_back(0.0f, 0.0f, 0.325f);
BindPositionData(&posDataX);
healBleedPosData.emplace_back(0.01f, 0.6f, 0.55f);
healBleed.AddParent(this, 0u);
healBleed.BindPositionData(&healBleedPosData);
buffDodgePosData.emplace_back(0.615f, -0.52f, 0.55f);
buffDodge.AddParent(this, 0u);
buffDodge.BindPositionData(&buffDodgePosData);
buffCritPosData.emplace_back(-0.62f, -0.52f, 0.55f);
buffCrit.AddParent(this, 0u);
buffCrit.BindPositionData(&buffCritPosData);
upgradeSkillPosData.emplace_back(0.01f, -0.52f, 0.55f);
upgradeSkill.AddParent(this, 0u);
upgradeSkill.BindPositionData(&upgradeSkillPosData);
}
void RewardMenu::SmartSubmit(FrameCommander& fc) const
{
if (cm.GetRewardMenuActiveness())
{
this->Submit(fc, Techniques::Standart);
healBleed.SmartSubmit(fc);
buffDodge.SmartSubmit(fc);
buffCrit.SmartSubmit(fc);
upgradeSkill.SmartSubmit(fc);
}
}
\ No newline at end of file
#pragma once
#include"Framework\HudElement.h"
#include "CombatManager.h"
class RewardMenu :public HudElement
{
public:
RewardMenu(DXGraphics& gfx, const CombatManager& cm);
~RewardMenu() = default;
void SmartSubmit(FrameCommander& fc) const override;
private:
std::vector<PositionData> posDataX;
std::vector<PositionData> healBleedPosData;
std::vector<PositionData> buffDodgePosData;
std::vector<PositionData> buffCritPosData;
std::vector<PositionData> upgradeSkillPosData;
HudElement healBleed;
HudElement buffDodge;
HudElement buffCrit;
HudElement upgradeSkill;
const CombatManager& cm;
};
......@@ -34,6 +34,7 @@ public:
{
return upgraded;
}
virtual void Upgrade() {};
protected:
size_t id = 0; //is used to extract sprite from file
bool quick = 0;
......
......@@ -19,14 +19,19 @@ public:
Cut(CombatEntity* owner) : Skill(owner)
{
id = 1;
valLow = 15.0f;
valHigh = 25.0f;
succChance = 0.15f;
valLow = 10.0f;
valHigh = 15.0f;
};
void Activate()
void Activate() override
{
owner->AddEvent(SkillEvent(EventType::Enemy_PhysicalDamage, valLow, valHigh));
}
void Upgrade() override
{
upgraded = true;
valLow = 15.0f;
valHigh = 20.0f;
}
};
class Deflect : public Skill
......@@ -35,15 +40,20 @@ public:
Deflect(CombatEntity* owner) : Skill(owner)
{
id = 2;
valLow = 1u;
valHigh = 60u;
valLow = 10u;
valHigh = 20u;
succChance = 0.0f;
};
void Activate()
void Activate() override
{
owner->AddEvent(SkillEvent(EventType::Player_AddBlock, valLow, valHigh));
}
void Upgrade() override
{
upgraded = true;
valLow = 20.0f;
valHigh = 30.0f;
}
};
class SandStorm : public Skill
......@@ -54,13 +64,19 @@ public:
id = 3;
valLow = valHigh = 0.7f;
};
void Activate()
void Activate() override
{
SPI::Play(Sounds::SandStorm, 1.0f, 1.0f);
owner->AddEvent(SkillEvent(EventType::Player_AddDodge, valLow, valHigh));
//std::unique_ptr<scenarios::sandStormScenario> scen = std::make_unique<scenarios::sandStormScenario>();
//MainScene::AddScenario(std::move(scen));
}
void Upgrade() override
{
upgraded = true;
valLow = valHigh = 0.6f;
quick = true;
}
};
......@@ -73,11 +89,17 @@ public:
valLow = valHigh = 0.55f;
quick = 1;
};
void Activate()
void Activate() override
{
SPI::Play(Sounds::SharpenTheBlade, 1.0f, 1.3f);
owner->AddEvent(SkillEvent(EventType::Player_AddCrit, valLow, valHigh));
}
void Upgrade() override
{
upgraded = true;
valLow = valHigh = 0.4f;
rewinding = true;
}
};
class SandsOfTime : public Skill
......@@ -86,15 +108,20 @@ public:
SandsOfTime(CombatEntity* owner) : Skill(owner)
{
id = 5;
valLow = valHigh = 1.15;
valLow = valHigh = 0.15f;
quick = 1;
rewinding = 1;
};
void Activate()
void Activate() override
{
SPI::Play(Sounds::SandsOfTime, 1.0f, 0.4f);
owner->AddEvent(SkillEvent(EventType::Player_AddSpeed, valLow, valHigh));
}
void Upgrade() override
{
upgraded = true;
valLow = valHigh = 0.3f;
}
};
class DustThrow : public Skill
......@@ -107,12 +134,18 @@ public:
quick = 1;
};
public:
void Activate()
void Activate() override
{
SPI::Play(Sounds::Dust_Throw, 1.4f, 0.8f);
owner->AddEvent(SkillEvent(EventType::Enemy_DecreaceAcc, valLow, valHigh));
//std::unique_ptr<scenarios::dustThrowScenario> scen = std::make_unique<scenarios::dustThrowScenario>();
//MainScene::AddScenario(std::move(scen));
}
void Upgrade() override
{
upgraded = true;
valLow = valHigh = 0.3f;
rewinding = true;
}
};
......@@ -44,7 +44,7 @@ public:
TD::DrawString(L"YOU\nDIED", Vec2(-0.2f, 0.0f), Colors::Red, 0.3f);
break;
case AnnTurn::EnemyDead:
TD::DrawString(L" Killed it!\nHere comes another one", Vec2(-0.5f, 0.0f), Colors::Green, 0.05f);
TD::DrawString(L" Killed it!\nChoose your reward!", Vec2(-0.5f, 0.0f), Colors::Green, 0.05f);
break;
case AnnTurn::TheBattleBegins:
TD::DrawString(L"Let The Battle\n Begin!", Vec2(-0.5f, 0.0f), Colors::LightBlue, 0.06f);
......