Kraken grows redder with more hits, and uses more dangerous brick-sets. Kraken can change reaction time depending on damage by changing Max/MinSeconds to action in KrakenSystem.

This commit is contained in:
PlatinumSkink
2015-10-23 12:10:09 +02:00
parent 1ed52102d1
commit 3de06991e2
12 changed files with 542 additions and 143 deletions
+5 -4
View File
@@ -17,13 +17,14 @@ struct Kraken : Component {
int MaxHealth = 30;
int Health = MaxHealth;
int CurrentAction = 1;
int CurrentAction = 3;
float RetreatSpeed = 0.2;
const int Idle = 1;
const int Grabbing = 2;
const int Taunting = 3;
const int Moving = 4;
const int BrickGenerating = 5;
const int BrickGenerating = 3;
const int BrickGenerating2 = 4;
const int Waiting = 5;
// Idle. Generating bricks. Taunting. No idea.
};
+5 -1
View File
@@ -16,8 +16,12 @@ namespace Components
struct Life : Component
{
int Number = 0;
float SinusAltitude = 1;
float SinusAltitude = 0;
float Amplitude = 1;
float Frequency = 1;
float SinusSpeed = 1;
bool Left = false;
bool Dead = false;
};
}
+25
View File
@@ -0,0 +1,25 @@
//
// Created by Adniklastrator on 2015-10-23.
//
#ifndef DAYDREAM_EBREAKALLBRICKS_H
#define DAYDREAM_EBREAKALLBRICKS_H
#include "Core/EventBroker.h"
namespace dd
{
namespace Events
{
struct BreakAllBricks : Event
{
};
}
}
#endif //DAYDREAM_EBREAKALLBRICKS_H
+1
View File
@@ -19,6 +19,7 @@ struct BrickGenerating : Event
glm::vec3 Origin2;
int TargetLine;
int Set;
int SetCluster;
};
}
+7 -1
View File
@@ -28,6 +28,7 @@
#include "Game/EKrakenHit.h"
#include "Game/EKrakenDefeated.h"
#include "Game/EBrickGenerating.h"
#include "Game/EArrivedAtNewStage.h"
#include "Game/CTravels.h"
#include "Game/CKraken.h"
#include "Game/CBall.h"
@@ -64,12 +65,15 @@ private:
bool m_Pause = false;
bool m_KrakenBattle = false;
bool m_KrakenHasArrived = false;
bool m_ReturnToIdle = false;
EntityID m_KrakenTemplate;
std::string m_Action = "Idle";
int m_NumberOfActions;
float m_KrakenTimer = 0;
float m_KrakenSecondsToAction = 10;
float m_KrakenMaxSecondsToAction = 10;
float m_KrakenMinSecondsToAction = 10;
float m_KrakenCurrentSecondsToAction = 15;
const int Idle = 1;
std::array<int, 42> m_Bricks;
@@ -83,6 +87,7 @@ private:
dd::EventRelay<KrakenSystem, dd::Events::KrakenHit> m_EKrakenHit;
dd::EventRelay<KrakenSystem, dd::Events::KrakenDefeated> m_EKrakenDefeated;
dd::EventRelay<KrakenSystem, dd::Events::BrickGenerating> m_EBrickGenerating;
dd::EventRelay<KrakenSystem, dd::Events::ArrivedAtNewStage> m_EArrivedAtNewStage;
bool OnPause(const dd::Events::Pause &event);
bool OnResume(const dd::Events::Resume &event);
bool OnContact(const dd::Events::Contact &event);
@@ -91,6 +96,7 @@ private:
bool OnKrakenHit(const dd::Events::KrakenHit &event);
bool OnKrakenDefeated(const dd::Events::KrakenDefeated &event);
bool OnBrickGenerating(const dd::Events::BrickGenerating &event);
bool OnArrivedAtNewStage(const dd::Events::ArrivedAtNewStage &event);
void GetBrickSet();
};
+3 -1
View File
@@ -180,6 +180,8 @@ private:
bool m_BrickGenerating = false;
dd::Events::BrickGenerating m_BrickGeneratingEvent;
bool m_BreakAllBricks = false;
dd::EventRelay<LevelSystem, dd::Events::Contact> m_EContact;
dd::EventRelay<LevelSystem, dd::Events::ScoreEvent> m_EScoreEvent;
dd::EventRelay<LevelSystem, dd::Events::MultiBall> m_EMultiBall;
@@ -207,7 +209,7 @@ private:
bool OnHitPad(const dd::Events::HitPad &event);
bool OnBrickGenerating(const dd::Events::BrickGenerating &event);
bool BrickGenerating(const dd::Events::BrickGenerating &event);
void GetBrickSet(int Set);
void GetBrickSet(int Set, int SetCluster);
bool OnKrakenDefeated(const dd::Events::KrakenDefeated &event);
void GetNextLevel();
+2
View File
@@ -25,6 +25,8 @@
#include "Game/EKrakenAttackEnd.h"
#include "Rendering/CAnimation.h"
#include "Physics/CParticleEmitter.h"
#include "Physics/ECreateParticleSequence.h"
namespace dd
+1
View File
@@ -12,6 +12,7 @@
#include "Core/CTemplate.h"
#include "Core/EventBroker.h"
#include "Core/World.h"
#include "Rendering/CCamera.h"
#include "Game/EPause.h"
#include "Game/EResume.h"
#include "Game/EScreenShake.h"