From 1d4c6d3fbef0e39d7bad9e2352be642c92bc2ff5 Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Mon, 2 Nov 2015 19:04:56 +0000 Subject: Destroy an ender crystal, damage a dragon when hit by an egg. --- src/Entities/ThrownEggEntity.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/Entities/ThrownEggEntity.cpp') diff --git a/src/Entities/ThrownEggEntity.cpp b/src/Entities/ThrownEggEntity.cpp index 91bca1da7..d302151d8 100644 --- a/src/Entities/ThrownEggEntity.cpp +++ b/src/Entities/ThrownEggEntity.cpp @@ -21,7 +21,7 @@ cThrownEggEntity::cThrownEggEntity(cEntity * a_Creator, double a_X, double a_Y, void cThrownEggEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) { TrySpawnChicken(a_HitPos); - + m_DestroyTimer = 2; } @@ -32,11 +32,18 @@ void cThrownEggEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_H void cThrownEggEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) { int TotalDamage = 0; - // TODO: If entity is Ender Crystal, destroy it - + // If entity is an Ender Dragon or Ender Crystal, it is damaged. + if ( + (a_EntityHit.IsMob() && (static_cast(a_EntityHit).GetMobType() == mtEnderDragon)) || + a_EntityHit.IsEnderCrystal() + ) + { + TotalDamage = 1; + } + TrySpawnChicken(a_HitPos); a_EntityHit.TakeDamage(dtRangedAttack, this, TotalDamage, 1); - + m_DestroyTimer = 5; } @@ -79,3 +86,7 @@ void cThrownEggEntity::TrySpawnChicken(const Vector3d & a_HitPos) m_World->SpawnMob(a_HitPos.x, a_HitPos.y, a_HitPos.z, mtChicken, false); } } + + + + -- cgit v1.2.3