Fixed so ink does not damage boss, because that breaks current boss battle.
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
#define DAYDREAM_EKRAKENHIT_H
|
#define DAYDREAM_EKRAKENHIT_H
|
||||||
|
|
||||||
#include "Core/EventBroker.h"
|
#include "Core/EventBroker.h"
|
||||||
|
#include "Core/CTransform.h"
|
||||||
|
|
||||||
namespace dd
|
namespace dd
|
||||||
{
|
{
|
||||||
@@ -17,6 +18,7 @@ struct KrakenHit : Event
|
|||||||
{
|
{
|
||||||
EntityID Kraken;
|
EntityID Kraken;
|
||||||
EntityID Hitter;
|
EntityID Hitter;
|
||||||
|
glm::vec3 PlaceHit;
|
||||||
int MaxHealth;
|
int MaxHealth;
|
||||||
int CurrentHealth;
|
int CurrentHealth;
|
||||||
int NewHealth;
|
int NewHealth;
|
||||||
|
|||||||
@@ -247,16 +247,20 @@ bool dd::Systems::KrakenSystem::OnContact(const dd::Events::Contact &event)
|
|||||||
|
|
||||||
auto projectile = m_World->GetComponent<Components::Projectile>(otherEntitiy);
|
auto projectile = m_World->GetComponent<Components::Projectile>(otherEntitiy);
|
||||||
if (projectile != nullptr) {
|
if (projectile != nullptr) {
|
||||||
Events::ScoreEvent es;
|
if (m_RandomKraken) {
|
||||||
es.Score = 23;
|
Events::ScoreEvent es;
|
||||||
EventBroker->Publish(es);
|
es.Score = 23;
|
||||||
Events::KrakenHit e;
|
EventBroker->Publish(es);
|
||||||
e.Kraken = krakenEntity;
|
Events::KrakenHit e;
|
||||||
e.Hitter = otherEntitiy;
|
e.Kraken = krakenEntity;
|
||||||
e.MaxHealth = kraken->MaxHealth;
|
e.Hitter = otherEntitiy;
|
||||||
e.CurrentHealth = kraken->Health;
|
auto transform = m_World->GetComponent<Components::Transform>(otherEntitiy);
|
||||||
e.NewHealth = kraken->Health - 1;
|
e.PlaceHit = transform->Position;
|
||||||
EventBroker->Publish(e);
|
e.MaxHealth = kraken->MaxHealth;
|
||||||
|
e.CurrentHealth = kraken->Health;
|
||||||
|
e.NewHealth = kraken->Health - 1;
|
||||||
|
EventBroker->Publish(e);
|
||||||
|
}
|
||||||
m_World->RemoveEntity(otherEntitiy);
|
m_World->RemoveEntity(otherEntitiy);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -273,6 +277,8 @@ bool dd::Systems::KrakenSystem::OnContact(const dd::Events::Contact &event)
|
|||||||
Events::KrakenHit e;
|
Events::KrakenHit e;
|
||||||
e.Kraken = krakenEntity;
|
e.Kraken = krakenEntity;
|
||||||
e.Hitter = otherEntitiy;
|
e.Hitter = otherEntitiy;
|
||||||
|
auto transform = m_World->GetComponent<Components::Transform>(otherEntitiy);
|
||||||
|
e.PlaceHit = transform->Position;
|
||||||
e.MaxHealth = kraken->MaxHealth;
|
e.MaxHealth = kraken->MaxHealth;
|
||||||
e.CurrentHealth = kraken->Health;
|
e.CurrentHealth = kraken->Health;
|
||||||
e.NewHealth = kraken->Health - 1;
|
e.NewHealth = kraken->Health - 1;
|
||||||
@@ -317,7 +323,6 @@ bool dd::Systems::KrakenSystem::OnKrakenAttack(const dd::Events::KrakenAttack &e
|
|||||||
bool dd::Systems::KrakenSystem::OnKrakenHit(const dd::Events::KrakenHit &event)
|
bool dd::Systems::KrakenSystem::OnKrakenHit(const dd::Events::KrakenHit &event)
|
||||||
{
|
{
|
||||||
auto kraken = m_World->GetComponent<Components::Kraken>(event.Kraken);
|
auto kraken = m_World->GetComponent<Components::Kraken>(event.Kraken);
|
||||||
auto transform = m_World->GetComponent<Components::Transform>(event.Hitter);
|
|
||||||
kraken->Health--;
|
kraken->Health--;
|
||||||
kraken->CurrentAction = 3;
|
kraken->CurrentAction = 3;
|
||||||
//kraken->Health -= 15;
|
//kraken->Health -= 15;
|
||||||
@@ -362,7 +367,7 @@ bool dd::Systems::KrakenSystem::OnKrakenHit(const dd::Events::KrakenHit &event)
|
|||||||
poof.NumberOfTicks = 1;
|
poof.NumberOfTicks = 1;
|
||||||
poof.ParticleLifeTime = 1.5f;
|
poof.ParticleLifeTime = 1.5f;
|
||||||
poof.ParticlesPerTick = 2;
|
poof.ParticlesPerTick = 2;
|
||||||
poof.Position = transform->Position;
|
poof.Position = event.PlaceHit;
|
||||||
poof.ScaleValues.clear();
|
poof.ScaleValues.clear();
|
||||||
poof.ScaleValues.push_back(glm::vec3(0.5f));
|
poof.ScaleValues.push_back(glm::vec3(0.5f));
|
||||||
poof.ScaleValues.push_back(glm::vec3(2.f, 2.f, 0.2f));
|
poof.ScaleValues.push_back(glm::vec3(2.f, 2.f, 0.2f));
|
||||||
|
|||||||
@@ -733,7 +733,7 @@ void dd::Systems::LevelSystem::GetBrickSet(int set, int setCluster) // These are
|
|||||||
0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0,
|
||||||
6, 0, 1, 0, 1, 0, 6,
|
6, 0, 1, 0, 1, 0, 6,
|
||||||
0, 1, 1, 1, 1, 1, 0,
|
0, 1, 1, 1, 1, 1, 0,
|
||||||
0, 0, 4, 1, 1, 0, 0,
|
0, 0, 5, 1, 1, 0, 0,
|
||||||
0, 0, 0, 1, 0, 0, 0 };
|
0, 0, 0, 1, 0, 0, 0 };
|
||||||
color =
|
color =
|
||||||
{b, b, b, b, b, b, b,
|
{b, b, b, b, b, b, b,
|
||||||
@@ -856,7 +856,7 @@ void dd::Systems::LevelSystem::GetBrickSet(int set, int setCluster) // These are
|
|||||||
0, 0, 1, 1, 1, 0, 0,
|
0, 0, 1, 1, 1, 0, 0,
|
||||||
1, 1, 1, 0, 1, 1, 1,
|
1, 1, 1, 0, 1, 1, 1,
|
||||||
3, 6, 1, 0, 1, 6, 1,
|
3, 6, 1, 0, 1, 6, 1,
|
||||||
1, 1, 1, 0, 1, 1, 1 };
|
1, 1, 1, 0, 1, 1, 5 };
|
||||||
color =
|
color =
|
||||||
{g, g, g, g, g, g, g,
|
{g, g, g, g, g, g, g,
|
||||||
g, g, g, g, g, g, g,
|
g, g, g, g, g, g, g,
|
||||||
@@ -1023,8 +1023,13 @@ void dd::Systems::LevelSystem::BrickHit(EntityID entityHitter, EntityID entityBr
|
|||||||
if (kraken != nullptr) {
|
if (kraken != nullptr) {
|
||||||
Events::KrakenAttack e;
|
Events::KrakenAttack e;
|
||||||
e.ChargeUpdate = 0;
|
e.ChargeUpdate = 0;
|
||||||
e.KrakenStrength = 0.1;
|
if (m_KrakenBattle) {
|
||||||
e.PlayerStrength = 0.05;
|
e.KrakenStrength = 0.1;
|
||||||
|
e.PlayerStrength = 0.12;
|
||||||
|
} else {
|
||||||
|
e.KrakenStrength = 0.1;
|
||||||
|
e.PlayerStrength = 0.05;
|
||||||
|
}
|
||||||
EventBroker->Publish(e);
|
EventBroker->Publish(e);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user