#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"

CCell::CCell ( CBasePlayer *player ): CBaseClass(player) 
{	
}

void CCell::AddAllAttacks()
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");	
	m_pPlayer->GiveNamedItem("weapon_friezadisc");
	m_pPlayer->GiveNamedItem("weapon_kamehameha");
	m_pPlayer->GiveNamedItem("weapon_specialbeamcannon");
	m_pPlayer->GiveNamedItem("weapon_solarflare");
	m_pPlayer->GiveNamedItem("weapon_sensu");
}

void CCell2::AddAllAttacks()
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");	
	m_pPlayer->GiveNamedItem("weapon_friezadisc");
	m_pPlayer->GiveNamedItem("weapon_gallitgun");
	m_pPlayer->GiveNamedItem("weapon_specialbeamcannon");
	m_pPlayer->GiveNamedItem("weapon_solarflare");
	m_pPlayer->GiveNamedItem("weapon_sensu");
}

void CPCell::AddAllAttacks()
{	m_pPlayer->GiveNamedItem("weapon_melee");
	m_pPlayer->GiveNamedItem("weapon_kiblast");
	m_pPlayer->GiveNamedItem("weapon_genericbeam");	
	m_pPlayer->GiveNamedItem("weapon_friezadisc");
	m_pPlayer->GiveNamedItem("weapon_gallitgun");
	m_pPlayer->GiveNamedItem("weapon_specialbeamcannon");
	m_pPlayer->GiveNamedItem("weapon_solarflare");
	m_pPlayer->GiveNamedItem("weapon_sensu");
}

CBaseClass* CCell::GetAscendedClass(void)
{	return new CCell2(m_pPlayer);
}

//cell2
CCell2::CCell2(CBasePlayer *player): CCell(player)
{	
}

CBaseClass* CCell2::GetDescendedClass(void)
{	return new CCell(m_pPlayer);
}

CBaseClass* CCell2::GetAscendedClass(void)
{	return new CPCell(m_pPlayer);
}

// perfect cell
CPCell::CPCell(CBasePlayer *player): CCell(player)
{	
}

CBaseClass* CPCell::GetDescendedClass(void)
{	return new CCell2(m_pPlayer);
}
