#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "nodes.h"
#include "weapons.h"
#include "soundent.h"
#include "monsters.h"
#include "decals.h"
#include "gamerules.h"
#include "effects.h"
#include "aura.h"
#include "classes.h"
#include "magicattack.h"
#include "explodingattack.h"
#include "player.h"

CBuu::CBuu ( CBasePlayer *player ): CBaseClass(player) 
{	
}
CBuu2::CBuu2 ( CBasePlayer *player ): CBuu(player) 
{	
}
CBuu3::CBuu3 ( CBasePlayer *player ): CBuu(player) 
{	
}
CBuu4::CBuu4 ( CBasePlayer *player ): CBuu(player) 
{	
}
void CBuu::AddAllAttacks(void)
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");
	m_pPlayer->GiveNamedItem("weapon_candy");
	m_pPlayer->GiveNamedItem("weapon_mouthblast");
	m_pPlayer->GiveNamedItem("weapon_bodypart");
	m_pPlayer->GiveNamedItem("weapon_regeneration");
}

CBaseClass* CBuu::GetAscendedClass(void)
{	return new CBuu2(m_pPlayer);
}

CBaseClass* CBuu2::GetAscendedClass(void)
{	return new CBuu3(m_pPlayer);
}

CBaseClass* CBuu3::GetAscendedClass(void)
{	return new CBuu4(m_pPlayer);
}


void CBuu2::AddAllAttacks(void)
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");
	m_pPlayer->GiveNamedItem("weapon_candy");
	m_pPlayer->GiveNamedItem("weapon_mouthblast");
	m_pPlayer->GiveNamedItem("weapon_bodypart");
	m_pPlayer->GiveNamedItem("weapon_regeneration");	
}

void CBuu3::AddAllAttacks(void)
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");
	m_pPlayer->GiveNamedItem("weapon_candy");
	m_pPlayer->GiveNamedItem("weapon_mouthblast");
	m_pPlayer->GiveNamedItem("weapon_bodypart");
	m_pPlayer->GiveNamedItem("weapon_regeneration");	
}

void CBuu4::AddAllAttacks(void)
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");
	m_pPlayer->GiveNamedItem("weapon_candy");
	m_pPlayer->GiveNamedItem("weapon_mouthblast");
	//m_pPlayer->GiveNamedItem("weapon_bodypart");
	m_pPlayer->GiveNamedItem("weapon_regeneration");	
}

CBaseClass* CBuu2::GetDescendedClass(void)
{	return new CBuu(m_pPlayer);
}

CBaseClass* CBuu3::GetDescendedClass(void)
{	return new CBuu2(m_pPlayer);
}

CBaseClass* CBuu4::GetDescendedClass(void)
{	return new CBuu3(m_pPlayer);
}