2014-06-06 03:16:33 -04:00
|
|
|
//
|
|
|
|
// SplashPotionEntity.h
|
|
|
|
//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ProjectileEntity.h"
|
2014-06-16 23:22:17 -04:00
|
|
|
#include "EntityEffect.h"
|
2014-06-08 00:56:01 -04:00
|
|
|
#include "../World.h"
|
2014-06-08 21:14:34 -04:00
|
|
|
#include "Entity.h"
|
2014-06-06 03:16:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// tolua_begin
|
|
|
|
|
|
|
|
class cSplashPotionEntity :
|
2014-06-08 00:56:01 -04:00
|
|
|
public cProjectileEntity
|
2014-06-06 03:16:33 -04:00
|
|
|
{
|
|
|
|
typedef cProjectileEntity super;
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
// tolua_end
|
|
|
|
|
|
|
|
CLASS_PROTODEF(cSplashPotionEntity);
|
|
|
|
|
2014-07-15 16:41:42 -04: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 05:51:39 -04:00
|
|
|
int a_PotionColor
|
2014-07-15 16:41:42 -04:00
|
|
|
);
|
|
|
|
|
2014-07-19 05:51:39 -04: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-11 21:58:11 -04:00
|
|
|
|
|
|
|
void SetEntityEffectType(cEntityEffect::eType a_EntityEffectType) { m_EntityEffectType = a_EntityEffectType; }
|
|
|
|
void SetEntityEffect(cEntityEffect a_EntityEffect) { m_EntityEffect = a_EntityEffect; }
|
2014-07-19 05:51:39 -04:00
|
|
|
void SetPotionColor(int a_PotionColor) { m_PotionColor = a_PotionColor; }
|
2014-07-11 21:58:11 -04:00
|
|
|
|
2014-06-06 03:16:33 -04:00
|
|
|
protected:
|
|
|
|
|
2014-07-15 16:41:42 -04:00
|
|
|
cEntityEffect::eType m_EntityEffectType;
|
|
|
|
cEntityEffect m_EntityEffect;
|
2014-07-19 05:51:39 -04:00
|
|
|
int m_PotionColor;
|
2014-07-15 16:41:42 -04:00
|
|
|
|
|
|
|
|
2014-06-06 03:16:33 -04: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 00:56:01 -04:00
|
|
|
/** Splashes the potion, fires its particle effects and sounds
|
2014-07-15 16:41:42 -04:00
|
|
|
@param a_HitPos The position where the potion will splash */
|
2014-06-08 00:56:01 -04:00
|
|
|
void Splash(const Vector3d & a_HitPos);
|
2014-07-19 05:46:31 -04:00
|
|
|
|
|
|
|
virtual void SpawnOn(cClientHandle & a_Client) override;
|
2014-07-17 16:15:34 -04:00
|
|
|
} ; // tolua_export
|