2014-06-06 07:16:33 +00:00
|
|
|
//
|
|
|
|
// SplashPotionEntity.h
|
|
|
|
//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ProjectileEntity.h"
|
2014-06-17 03:22:17 +00:00
|
|
|
#include "EntityEffect.h"
|
2014-06-08 04:56:01 +00:00
|
|
|
#include "../World.h"
|
2014-06-09 01:14:34 +00:00
|
|
|
#include "Entity.h"
|
2014-06-06 07:16:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// tolua_begin
|
|
|
|
|
|
|
|
class cSplashPotionEntity :
|
2014-06-08 04:56:01 +00:00
|
|
|
public cProjectileEntity
|
2014-06-06 07:16:33 +00:00
|
|
|
{
|
|
|
|
typedef cProjectileEntity super;
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
// tolua_end
|
|
|
|
|
|
|
|
CLASS_PROTODEF(cSplashPotionEntity);
|
|
|
|
|
2014-07-15 20:41:42 +00:00
|
|
|
cSplashPotionEntity(
|
|
|
|
cEntity * a_Creator,
|
|
|
|
double a_X, double a_Y, double a_Z,
|
|
|
|
const Vector3d & a_Speed,
|
|
|
|
cEntityEffect::eType a_EntityEffectType,
|
|
|
|
cEntityEffect a_EntityEffect,
|
2014-07-19 09:51:39 +00:00
|
|
|
int a_PotionColor
|
2014-07-15 20:41:42 +00:00
|
|
|
);
|
|
|
|
|
2014-07-19 09:51:39 +00:00
|
|
|
cEntityEffect::eType GetEntityEffectType(void) const { return m_EntityEffectType; }
|
|
|
|
cEntityEffect GetEntityEffect(void) const { return m_EntityEffect; }
|
|
|
|
int GetPotionColor(void) const { return m_PotionColor; }
|
2014-07-12 01:58:11 +00:00
|
|
|
|
|
|
|
void SetEntityEffectType(cEntityEffect::eType a_EntityEffectType) { m_EntityEffectType = a_EntityEffectType; }
|
|
|
|
void SetEntityEffect(cEntityEffect a_EntityEffect) { m_EntityEffect = a_EntityEffect; }
|
2014-07-19 09:51:39 +00:00
|
|
|
void SetPotionColor(int a_PotionColor) { m_PotionColor = a_PotionColor; }
|
2014-07-12 01:58:11 +00:00
|
|
|
|
2014-06-06 07:16:33 +00:00
|
|
|
protected:
|
|
|
|
|
2014-07-15 20:41:42 +00:00
|
|
|
cEntityEffect::eType m_EntityEffectType;
|
|
|
|
cEntityEffect m_EntityEffect;
|
2014-07-19 09:51:39 +00:00
|
|
|
int m_PotionColor;
|
2014-07-15 20:41:42 +00:00
|
|
|
|
|
|
|
|
2014-06-06 07:16:33 +00:00
|
|
|
// cProjectileEntity overrides:
|
|
|
|
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
|
|
|
virtual void OnHitEntity (cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
|
|
|
|
2014-06-08 04:56:01 +00:00
|
|
|
/** Splashes the potion, fires its particle effects and sounds
|
2014-07-15 20:41:42 +00:00
|
|
|
@param a_HitPos The position where the potion will splash */
|
2014-06-08 04:56:01 +00:00
|
|
|
void Splash(const Vector3d & a_HitPos);
|
2014-07-19 09:46:31 +00:00
|
|
|
|
|
|
|
virtual void SpawnOn(cClientHandle & a_Client) override;
|
2014-07-17 20:15:34 +00:00
|
|
|
} ; // tolua_export
|