Moved cExpBottleEntity out of ProjectileEntity.h
This commit is contained in:
parent
bc5c28a0be
commit
2f9580ad65
@ -16,6 +16,7 @@
|
|||||||
#include "ProjectileArrow.h"
|
#include "ProjectileArrow.h"
|
||||||
#include "ProjectileEgg.h"
|
#include "ProjectileEgg.h"
|
||||||
#include "ProjectileEnderPearl.h"
|
#include "ProjectileEnderPearl.h"
|
||||||
|
#include "ProjectileExpBottle.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -457,32 +458,6 @@ void cThrownSnowballEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d &
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// cBottleOEnchantingEntity :
|
|
||||||
|
|
||||||
cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed) :
|
|
||||||
super(pkExpBottle, a_Creator, a_X, a_Y, a_Z, 0.25, 0.25)
|
|
||||||
{
|
|
||||||
SetSpeed(a_Speed);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cExpBottleEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
|
||||||
{
|
|
||||||
// Spawn an experience orb with a reward between 3 and 11.
|
|
||||||
m_World->BroadcastSoundParticleEffect(2002, POSX_TOINT, POSY_TOINT, POSZ_TOINT, 0);
|
|
||||||
m_World->SpawnExperienceOrb(GetPosX(), GetPosY(), GetPosZ(), 3 + m_World->GetTickRandomNumber(8));
|
|
||||||
|
|
||||||
Destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// cFireworkEntity :
|
// cFireworkEntity :
|
||||||
|
|
||||||
|
@ -128,32 +128,6 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cExpBottleEntity :
|
|
||||||
public cProjectileEntity
|
|
||||||
{
|
|
||||||
typedef cProjectileEntity super;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// tolua_end
|
|
||||||
|
|
||||||
CLASS_PROTODEF(cExpBottleEntity);
|
|
||||||
|
|
||||||
cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// cProjectileEntity overrides:
|
|
||||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
|
||||||
|
|
||||||
// tolua_begin
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cFireworkEntity :
|
class cFireworkEntity :
|
||||||
public cProjectileEntity
|
public cProjectileEntity
|
||||||
{
|
{
|
||||||
|
27
src/Entities/ProjectileExpBottle.cpp
Normal file
27
src/Entities/ProjectileExpBottle.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "ProjectileExpBottle.h"
|
||||||
|
#include "../World.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed) :
|
||||||
|
super(pkExpBottle, a_Creator, a_X, a_Y, a_Z, 0.25, 0.25)
|
||||||
|
{
|
||||||
|
SetSpeed(a_Speed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cExpBottleEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||||
|
{
|
||||||
|
// Spawn an experience orb with a reward between 3 and 11.
|
||||||
|
m_World->BroadcastSoundParticleEffect(2002, POSX_TOINT, POSY_TOINT, POSZ_TOINT, 0);
|
||||||
|
m_World->SpawnExperienceOrb(GetPosX(), GetPosY(), GetPosZ(), 3 + m_World->GetTickRandomNumber(8));
|
||||||
|
|
||||||
|
Destroy();
|
||||||
|
}
|
33
src/Entities/ProjectileExpBottle.h
Normal file
33
src/Entities/ProjectileExpBottle.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
//
|
||||||
|
// ProjectileExpBottle.h
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "ProjectileEntity.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cExpBottleEntity :
|
||||||
|
public cProjectileEntity
|
||||||
|
{
|
||||||
|
typedef cProjectileEntity super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
// tolua_end
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cExpBottleEntity);
|
||||||
|
|
||||||
|
cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// cProjectileEntity overrides:
|
||||||
|
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||||
|
|
||||||
|
// tolua_begin
|
||||||
|
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user