diff options
author | STRWarrior <niels.breuker@hotmail.nl> | 2014-03-11 15:14:47 +0100 |
---|---|---|
committer | STRWarrior <niels.breuker@hotmail.nl> | 2014-03-11 15:14:47 +0100 |
commit | deafec874d87b5b1ef0dd7fb094fd7b38634a0db (patch) | |
tree | 6f428b48374ddf50a0a4fc6f15444e2f2dad469a | |
parent | Using ```const Vector3i &``` (diff) | |
download | cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar.gz cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar.bz2 cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar.lz cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar.xz cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.tar.zst cuberite-deafec874d87b5b1ef0dd7fb094fd7b38634a0db.zip |
-rw-r--r-- | src/Entities/ProjectileEntity.cpp | 26 | ||||
-rw-r--r-- | src/Entities/ProjectileEntity.h | 1 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/Entities/ProjectileEntity.cpp b/src/Entities/ProjectileEntity.cpp index 03bc0c99d..92890919c 100644 --- a/src/Entities/ProjectileEntity.cpp +++ b/src/Entities/ProjectileEntity.cpp @@ -655,8 +655,6 @@ cThrownSnowballEntity::cThrownSnowballEntity(cEntity * a_Creator, double a_X, do void cThrownSnowballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) { - // TODO: Apply damage to certain mobs (blaze etc.) and anger all mobs - Destroy(); } @@ -664,6 +662,30 @@ void cThrownSnowballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFac +void cThrownSnowballEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) +{ + int TotalDamage = 0; + if (a_EntityHit.IsMob()) + { + cMonster::eType MobType = ((cMonster &) a_EntityHit).GetMobType(); + if (MobType == cMonster::mtBlaze) + { + TotalDamage = 3; + } + else if (MobType == cMonster::mtEnderDragon) + { + TotalDamage = 1; + } + } + a_EntityHit.TakeDamage(dtRangedAttack, m_Creator, TotalDamage, 1); + + Destroy(true); +} + + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // cBottleOEnchantingEntity : diff --git a/src/Entities/ProjectileEntity.h b/src/Entities/ProjectileEntity.h index e80592999..840dac871 100644 --- a/src/Entities/ProjectileEntity.h +++ b/src/Entities/ProjectileEntity.h @@ -259,6 +259,7 @@ protected: // cProjectileEntity overrides: virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override; + virtual void OnHitEntity (cEntity & a_EntityHit, const Vector3d & a_HitPos) override; // tolua_begin |