/*
 * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
 */

#line 4 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"

#include "StdH.h"
#include "Models/Items/ItemHolder/ItemHolder.h"

#include <EntitiesMP/HealthItem.h>
#include <EntitiesMP/HealthItem_tables.h>
CEntityEvent *EHealth::MakeCopy(void) { CEntityEvent *peeCopy = new EHealth(*this); return peeCopy;}
EHealth::EHealth() : CEntityEvent(EVENTCODE_EHealth) {;
 ClearToDefault(fHealth);
 ClearToDefault(bOverTopHealth);
};
void CHealthItem::SetDefaultProperties(void) {
  m_EhitType = HIT_SMALL ;
  m_bOverTopHealth = FALSE ;
  m_iSoundComponent = 0;
  CItem::SetDefaultProperties();
}
  
#line 76 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
void CHealthItem::Precache(void) {
#line 77 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
switch(m_EhitType ){
#line 78 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_PILL : PrecacheSound  (SOUND_PILL );break ;
#line 79 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SMALL : PrecacheSound  (SOUND_SMALL );break ;
#line 80 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_MEDIUM : PrecacheSound  (SOUND_MEDIUM );break ;
#line 81 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_LARGE : PrecacheSound  (SOUND_LARGE );break ;
#line 82 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SUPER : PrecacheSound  (SOUND_SUPER );break ;
#line 83 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 84 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
  
#line 86 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
BOOL CHealthItem::FillEntityStatistics(EntityStats * pes) 
#line 87 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
{
#line 88 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
pes  -> es_strName  = "Health";
#line 89 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
pes  -> es_ctCount  = 1;
#line 90 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
pes  -> es_ctAmmount  = m_fValue ;
#line 91 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
pes  -> es_fValue  = m_fValue ;
#line 92 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
pes  -> es_iScore  = 0;
#line 94 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
switch(m_EhitType ){
#line 95 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_PILL : pes  -> es_strName  += " pill";break ;
#line 96 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SMALL : pes  -> es_strName  += " small";break ;
#line 97 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_MEDIUM : pes  -> es_strName  += " medium";break ;
#line 98 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_LARGE : pes  -> es_strName  += " large";break ;
#line 99 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SUPER : pes  -> es_strName  += " super";break ;
#line 100 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 102 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
return TRUE ;
#line 103 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
  
#line 106 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
void CHealthItem::RenderParticles(void) {
#line 108 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(GetRenderType  () != CEntity  :: RT_MODEL  || GetSP  () -> sp_gmGameMode  > CSessionProperties  :: GM_COOPERATIVE  
#line 109 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
|| ! ShowItemParticles  ())
#line 110 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
{
#line 111 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
return ;
#line 112 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 113 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
switch(m_EhitType ){
#line 114 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_PILL : 
#line 115 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Particles_Stardust  (this  , 0.9f * 0.75f , 0.70f * 0.75f , PT_STAR08  , 32);
#line 116 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 117 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SMALL : 
#line 118 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Particles_Stardust  (this  , 1.0f * 0.75f , 0.75f * 0.75f , PT_STAR08  , 128);
#line 119 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 120 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_MEDIUM : 
#line 121 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Particles_Stardust  (this  , 1.0f * 0.75f , 0.75f * 0.75f , PT_STAR08  , 128);
#line 122 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 123 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_LARGE : 
#line 124 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Particles_Stardust  (this  , 2.0f * 0.75f , 1.0f * 0.75f , PT_STAR08  , 192);
#line 125 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 126 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SUPER : 
#line 127 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Particles_Stardust  (this  , 2.3f * 0.75f , 1.5f * 0.75f , PT_STAR08  , 320);
#line 128 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 129 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 130 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
  
#line 133 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
void CHealthItem::SetProperties(void) {
#line 134 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
switch(m_EhitType ){
#line 135 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_PILL : 
#line 136 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StartModelAnim  (ITEMHOLDER_ANIM_SMALLOSCILATION  , AOF_LOOPING  | AOF_NORESTART );
#line 137 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ForceCollisionBoxIndexChange  (ITEMHOLDER_COLLISION_BOX_SMALL );
#line 138 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fValue  = 1.0f;
#line 139 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_bOverTopHealth  = TRUE ;
#line 140 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fRespawnTime  = (m_fCustomRespawnTime  > 0) ? m_fCustomRespawnTime  : 10.0f;
#line 141 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_strDescription  . PrintF  ("Pill - H:%g  T:%g" , m_fValue  , m_fRespawnTime );
#line 143 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddItem  (MODEL_PILL  , TEXTURE_PILL  , 0 , TEXTURE_SPECULAR_STRONG  , TEXTURE_PILL_BUMP );
#line 145 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddFlare  (MODEL_FLARE  , TEXTURE_FLARE  , FLOAT3D (0 , 0.2f , 0) , FLOAT3D (1 , 1 , 0.3f));
#line 146 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StretchItem  (FLOAT3D (1.0f * 0.75f , 1.0f * 0.75f , 1.0f * 0.75));
#line 147 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_iSoundComponent  = SOUND_PILL ;
#line 148 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 149 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SMALL : 
#line 150 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StartModelAnim  (ITEMHOLDER_ANIM_SMALLOSCILATION  , AOF_LOOPING  | AOF_NORESTART );
#line 151 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ForceCollisionBoxIndexChange  (ITEMHOLDER_COLLISION_BOX_MEDIUM );
#line 152 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fValue  = 10.0f;
#line 153 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_bOverTopHealth  = FALSE ;
#line 154 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fRespawnTime  = (m_fCustomRespawnTime  > 0) ? m_fCustomRespawnTime  : 10.0f;
#line 155 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_strDescription  . PrintF  ("Small - H:%g  T:%g" , m_fValue  , m_fRespawnTime );
#line 157 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddItem  (MODEL_SMALL  , TEXTURE_SMALL  , TEXTURE_REFLECTION_LIGHTMETAL01  , TEXTURE_SPECULAR_MEDIUM  , 0);
#line 158 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddFlare  (MODEL_FLARE  , TEXTURE_FLARE  , FLOAT3D (0 , 0.4f , 0) , FLOAT3D (2 , 2 , 0.4f));
#line 159 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StretchItem  (FLOAT3D (1.0f * 0.75f , 1.0f * 0.75f , 1.0f * 0.75));
#line 160 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_iSoundComponent  = SOUND_SMALL ;
#line 161 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 163 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_MEDIUM : 
#line 164 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StartModelAnim  (ITEMHOLDER_ANIM_SMALLOSCILATION  , AOF_LOOPING  | AOF_NORESTART );
#line 165 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ForceCollisionBoxIndexChange  (ITEMHOLDER_COLLISION_BOX_MEDIUM );
#line 166 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fValue  = 25.0f;
#line 167 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_bOverTopHealth  = FALSE ;
#line 168 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fRespawnTime  = (m_fCustomRespawnTime  > 0) ? m_fCustomRespawnTime  : 25.0f;
#line 169 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_strDescription  . PrintF  ("Medium - H:%g  T:%g" , m_fValue  , m_fRespawnTime );
#line 171 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddItem  (MODEL_MEDIUM  , TEXTURE_MEDIUM  , TEXTURE_REFLECTION_LIGHTMETAL01  , TEXTURE_SPECULAR_MEDIUM  , 0);
#line 172 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddFlare  (MODEL_FLARE  , TEXTURE_FLARE  , FLOAT3D (0 , 0.6f , 0) , FLOAT3D (2.5f , 2.5f , 0.5f));
#line 173 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StretchItem  (FLOAT3D (1.5f * 0.75f , 1.5f * 0.75f , 1.5f * 0.75));
#line 174 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_iSoundComponent  = SOUND_MEDIUM ;
#line 175 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 176 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_LARGE : 
#line 177 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StartModelAnim  (ITEMHOLDER_ANIM_SMALLOSCILATION  , AOF_LOOPING  | AOF_NORESTART );
#line 178 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ForceCollisionBoxIndexChange  (ITEMHOLDER_COLLISION_BOX_MEDIUM );
#line 179 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fValue  = 50.0f;
#line 180 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_bOverTopHealth  = FALSE ;
#line 181 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fRespawnTime  = (m_fCustomRespawnTime  > 0) ? m_fCustomRespawnTime  : 60.0f;
#line 182 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_strDescription  . PrintF  ("Large - H:%g  T:%g" , m_fValue  , m_fRespawnTime );
#line 184 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddItem  (MODEL_LARGE  , TEXTURE_LARGE  , TEXTURE_REFLECTION_GOLD01  , TEXTURE_SPECULAR_STRONG  , 0);
#line 185 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddFlare  (MODEL_FLARE  , TEXTURE_FLARE  , FLOAT3D (0 , 0.8f , 0) , FLOAT3D (2.8f , 2.8f , 1.0f));
#line 186 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StretchItem  (FLOAT3D (1.2f * 0.75f , 1.2f * 0.75f , 1.2f * 0.75));
#line 187 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_iSoundComponent  = SOUND_LARGE ;
#line 188 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 189 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SUPER : 
#line 190 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StartModelAnim  (ITEMHOLDER_ANIM_SMALLOSCILATION  , AOF_LOOPING  | AOF_NORESTART );
#line 191 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ForceCollisionBoxIndexChange  (ITEMHOLDER_COLLISION_BOX_MEDIUM );
#line 192 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fValue  = 100.0f;
#line 193 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_bOverTopHealth  = TRUE ;
#line 194 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fRespawnTime  = (m_fCustomRespawnTime  > 0) ? m_fCustomRespawnTime  : 120.0f;
#line 195 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_strDescription  . PrintF  ("Super - H:%g  T:%g" , m_fValue  , m_fRespawnTime );
#line 197 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddItem  (MODEL_SUPER  , TEXTURE_SUPER  , 0 , TEXTURE_SPECULAR_MEDIUM  , 0);
#line 198 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
AddFlare  (MODEL_FLARE  , TEXTURE_FLARE  , FLOAT3D (0 , 1.0f , 0) , FLOAT3D (3 , 3 , 1.0f));
#line 199 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
StretchItem  (FLOAT3D (1.0f * 0.75f , 1.0f * 0.75f , 1.0f * 0.75));
#line 200 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
CModelObject & mo  = GetModelObject  () -> GetAttachmentModel  (ITEMHOLDER_ATTACHMENT_ITEM ) -> amo_moModelObject ;
#line 201 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
mo  . PlayAnim  (0 , AOF_LOOPING );
#line 203 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_iSoundComponent  = SOUND_SUPER ;
#line 204 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
break ;
#line 205 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 206 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
  
#line 208 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
void CHealthItem::AdjustDifficulty(void) 
#line 209 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
{
#line 210 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(! GetSP  () -> sp_bAllowHealth  && m_penTarget  == NULL ){
#line 211 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Destroy  ();
#line 212 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 213 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
BOOL CHealthItem::
#line 215 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ItemCollected(const CEntityEvent &__eeInput) {
#undef STATE_CURRENT
#define STATE_CURRENT STATE_CHealthItem_ItemCollected
  ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EPass, "CHealthItem::ItemCollected expects 'EPass' as input!");  const EPass &epass = (const EPass &)__eeInput;
#line 216 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
ASSERT  (epass  . penOther  != NULL );
#line 219 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(GetSP  () -> sp_bHealthArmorStays  && ! (m_bPickupOnce  || m_bRespawn )){
#line 221 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
BOOL bWasPicked  = MarkPickedBy  (epass  . penOther );
#line 222 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(bWasPicked ){
#line 224 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Return(STATE_CURRENT,EVoid());
#line 224 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
return TRUE;
#line 225 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 226 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 229 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
EHealth  eHealth ;
#line 230 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
eHealth  . fHealth  = m_fValue ;
#line 231 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
eHealth  . bOverTopHealth  = m_bOverTopHealth ;
#line 233 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(epass  . penOther  -> ReceiveItem  (eHealth )){
#line 235 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(_pNetwork  -> IsPlayerLocal  (epass  . penOther ))
#line 236 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
{
#line 237 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
switch(m_EhitType )
#line 238 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
{
#line 239 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_PILL : IFeel_PlayEffect  ("PU_HealthPill");break ;
#line 240 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SMALL : IFeel_PlayEffect  ("PU_HealthSmall");break ;
#line 241 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_MEDIUM : IFeel_PlayEffect  ("PU_HealthMedium");break ;
#line 242 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_LARGE : IFeel_PlayEffect  ("PU_HealthLarge");break ;
#line 243 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
case HIT_SUPER : IFeel_PlayEffect  ("PU_HealthSuper");break ;
#line 244 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 245 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 248 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_soPick  . Set3DParameters  (50.0f , 1.0f , 1.0f , 1.0f);
#line 249 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
PlaySound  (m_soPick  , m_iSoundComponent  , SOF_3D );
#line 250 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
m_fPickSoundLen  = GetSoundLength  (m_iSoundComponent );
#line 251 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
if(! GetSP  () -> sp_bHealthArmorStays  || (m_bPickupOnce  || m_bRespawn )){
#line 252 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Jump(STATE_CURRENT, STATE_CItem_ItemReceived, FALSE, EVoid());return TRUE;
#line 253 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 254 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
}
#line 255 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Return(STATE_CURRENT,EVoid());
#line 255 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CHealthItem::
#line 258 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Main(const CEntityEvent &__eeInput) {
#undef STATE_CURRENT
#define STATE_CURRENT STATE_CHealthItem_Main
  ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CHealthItem::Main expects 'EVoid' as input!");  const EVoid &e = (const EVoid &)__eeInput;
#line 259 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Initialize  ();
#line 260 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
SetProperties  ();
#line 262 "D:/SE1_GPL/Sources/EntitiesMP/HealthItem.es"
Jump(STATE_CURRENT, STATE_CItem_ItemLoop, FALSE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};