Fixed so ink does not damage boss, because that breaks current boss battle.

This commit is contained in:
PlatinumSkink
2015-10-23 16:46:45 +02:00
parent 857eaf4b7f
commit 1beb873efc
3 changed files with 28 additions and 16 deletions
+2
View File
@@ -6,6 +6,7 @@
#define DAYDREAM_EKRAKENHIT_H
#include "Core/EventBroker.h"
#include "Core/CTransform.h"
namespace dd
{
@@ -17,6 +18,7 @@ struct KrakenHit : Event
{
EntityID Kraken;
EntityID Hitter;
glm::vec3 PlaceHit;
int MaxHealth;
int CurrentHealth;
int NewHealth;
+17 -12
View File
@@ -247,16 +247,20 @@ bool dd::Systems::KrakenSystem::OnContact(const dd::Events::Contact &event)
auto projectile = m_World->GetComponent<Components::Projectile>(otherEntitiy);
if (projectile != nullptr) {
Events::ScoreEvent es;
es.Score = 23;
EventBroker->Publish(es);
Events::KrakenHit e;
e.Kraken = krakenEntity;
e.Hitter = otherEntitiy;
e.MaxHealth = kraken->MaxHealth;
e.CurrentHealth = kraken->Health;
e.NewHealth = kraken->Health - 1;
EventBroker->Publish(e);
if (m_RandomKraken) {
Events::ScoreEvent es;
es.Score = 23;
EventBroker->Publish(es);
Events::KrakenHit e;
e.Kraken = krakenEntity;
e.Hitter = otherEntitiy;
auto transform = m_World->GetComponent<Components::Transform>(otherEntitiy);
e.PlaceHit = transform->Position;
e.MaxHealth = kraken->MaxHealth;
e.CurrentHealth = kraken->Health;
e.NewHealth = kraken->Health - 1;
EventBroker->Publish(e);
}
m_World->RemoveEntity(otherEntitiy);
return true;
}
@@ -273,6 +277,8 @@ bool dd::Systems::KrakenSystem::OnContact(const dd::Events::Contact &event)
Events::KrakenHit e;
e.Kraken = krakenEntity;
e.Hitter = otherEntitiy;
auto transform = m_World->GetComponent<Components::Transform>(otherEntitiy);
e.PlaceHit = transform->Position;
e.MaxHealth = kraken->MaxHealth;
e.CurrentHealth = kraken->Health;
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)
{
auto kraken = m_World->GetComponent<Components::Kraken>(event.Kraken);
auto transform = m_World->GetComponent<Components::Transform>(event.Hitter);
kraken->Health--;
kraken->CurrentAction = 3;
//kraken->Health -= 15;
@@ -362,7 +367,7 @@ bool dd::Systems::KrakenSystem::OnKrakenHit(const dd::Events::KrakenHit &event)
poof.NumberOfTicks = 1;
poof.ParticleLifeTime = 1.5f;
poof.ParticlesPerTick = 2;
poof.Position = transform->Position;
poof.Position = event.PlaceHit;
poof.ScaleValues.clear();
poof.ScaleValues.push_back(glm::vec3(0.5f));
poof.ScaleValues.push_back(glm::vec3(2.f, 2.f, 0.2f));
+9 -4
View File
@@ -733,7 +733,7 @@ void dd::Systems::LevelSystem::GetBrickSet(int set, int setCluster) // These are
0, 0, 0, 0, 0, 0, 0,
6, 0, 1, 0, 1, 0, 6,
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 };
color =
{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,
1, 1, 1, 0, 1, 1, 1,
3, 6, 1, 0, 1, 6, 1,
1, 1, 1, 0, 1, 1, 1 };
1, 1, 1, 0, 1, 1, 5 };
color =
{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) {
Events::KrakenAttack e;
e.ChargeUpdate = 0;
e.KrakenStrength = 0.1;
e.PlayerStrength = 0.05;
if (m_KrakenBattle) {
e.KrakenStrength = 0.1;
e.PlayerStrength = 0.12;
} else {
e.KrakenStrength = 0.1;
e.PlayerStrength = 0.05;
}
EventBroker->Publish(e);
}
else {