summaryrefslogblamecommitdiffstats
path: root/source/Mobs/Creeper.cpp
blob: b41b05f42bbaf6970157e6a6d62187a0cf7cfb8b (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                                                                                              
                    
                     




 
                          


                                                                             
 





 
                                                             
 
                                                           

                                                                          




 















                                                   

#include "Globals.h"  // NOTE: MSVC stupidness requires this to be the same across all modules

#include "Creeper.h"
#include "../World.h"





cCreeper::cCreeper(void) :
	super("Creeper", 50, "mob.creeper.say", "mob.creeper.say", 0.6, 1.8),
	m_bIsBlowing(false),
	m_bIsCharged(false)
{
}





void cCreeper::GetDrops(cItems & a_Drops, cEntity * a_Killer)
{
	AddRandomDropItem(a_Drops, 0, 2, E_ITEM_GUNPOWDER);

	// TODO Check if killed by a skeleton, then drop random music disk
}





void cCreeper::DoTakeDamage(TakeDamageInfo & a_TDI)
{
	super::DoTakeDamage(a_TDI);

	if (a_TDI.DamageType == dtLightning)
	{
		m_bIsCharged = true;
	}

	m_World->BroadcastEntityMetadata(*this);
}