CHero::CHero(void) : CUnit(UT_HERO)
{
	SetHP(100);
	SetMaxHP(100);
	SetAttack(9);
	SetSpeed(4);
	SetRange(1);
	SetEXPValue(0);

	SetHasAttacked(false);
	SetShielded(false);
	SetIsMoving(false);

	// TODO: Setup abilities when they are in place5
	 
	// Finds specified spell for the Hero
	CAbilityManager * pAM = CAbilityManager::GetInstance();

	GiveSpell(SP_BLANK);
	GiveSpell(SP_BLANK);
	GiveSpell(SP_BLANK);
	GiveSpell(SP_BLANK);

	for (int i=0; i<4;++i)
		m_ncooldown[i]=0;
}
Beispiel #2
0
void Hero::ResetHero()
{
	SetPos(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
	LV = 0;
	MAX_EXP = 20;
	EXP = 0;
	MAX_DEF = 10;
	MAX_MP = 10;
	SowrdCharge = 0.0;
	MAX_SC = 500;
	state = STAND;
	speedup = false;
	TargetX = GetX();
	TargetY = GetY();
	locked = false;
	Attack = 10;
	lives = 1;
	Isreborned = false;
	adddmg = 0;
	score = 0;
	peerless = false;
	peerless_time = 0;
	ShootCD = 15;
	battlestate = 0;
	bulletnum = 1;
	RageCountDown = 250;
	countaddMp = 200;
	bosskill = 0;
	kills = 0;
	modescore = 0;
	maxcombo = 0;
	itemget = 0;
	combo = 0;
	expadded = 0;
	bstats = no;
	varyHP(100);
	SetMaxHP(100);
	SetDEF(0);
	SetSpeed(SPEED);
	SetDMG(5);
	SetAlive(true);
	BeTheGod(250);
    bulletspeed = 800;
	SetExtraDMG(0);
	SetDelayrender(false);
	recoverMP = 175;
	SetMP(10);
	SetCrit(1);
	SetCritDMG(2);
	ResetBreakArmor();
	SetDodge(1);
	lvuprate = 1;
	magic = 0;
	atk = 0;
	dex = 0;
	knockback = 0;
	ObjectPool::GetObjPool().UnLockToken();
	ObjectPool::GetObjPool().GetSkillToken(LENSBULLET);
	SFXManager::GetSFXManager().PlaySFX(GETSKILLSFX);
}
Beispiel #3
0
bool Player::LevelUp()
{
	if (GetXP() < GetXPToLevelUp(level + 1))
		return false;

	level++;

	unsigned int statIncreases[3] = { 0, 0, 0 };
	float statMultipliers[3] = { 0, 0, 0 };
	statMultipliers[0] = 13.0f;
	statMultipliers[1] = className == "Fighter" ? 8.0f : 6.0f;
	statMultipliers[2] = className == "Rogue" ? 8.0f : 6.0f;

	for (int i = 0; i < 3; i++)
	{
		float base = std::tanh(level / 30.0) * ((level % 2) + 1);
		statIncreases[i] += static_cast<int>(1 + statMultipliers[i] * base);
	}

	SetHP(GetHP() + statIncreases[0]);
	SetMaxHP(GetMaxHP() + statIncreases[0]);
	SetStrength(GetStrength() + statIncreases[1]);
	SetAgility(GetAgility() + statIncreases[2]);

	std::cout << GetName() << " grew to level " << level << "!\n";
	std::cout << "Health   +" << statIncreases[0] << " -> " << GetMaxHP() << std::endl;
	std::cout << "Strength +" << statIncreases[1] << " -> " << GetStrength() << std::endl;
	std::cout << "Agility  +" << statIncreases[2] << " -> " << GetAgility() << std::endl;
	std::cout << "----------------\n";

	return true;
}
Beispiel #4
0
bool Hero::AddStats(int type)
{
	switch (type)
	{
	case ADD_ATK:
		atk++;
		if (atk > 15)
		{
			atk = 15;
			return false;
		}
		if (atk % 5 == 0)
		{
			SetKnockBack(GetKnockBack() + 5);
			SetExtraDMG(GetExtraDMG() + GetDMG()*0.2);
			BulletsAdjust(GetBullets() + 1);
		}
		SetBulletSpeed(GetBulletSpeed() - atk * 3);
		SetDMG(GetDMG() + atk * 3);
		SetMaxHP(GetMaxHP() + atk * 10);
		break;
	case ADD_DEX:
		dex++;
		if (dex > 15)
		{
			dex = 15;
			return false;
		}
		if (dex % 5 == 0)
		{
			SetCritDMG(GetCritDMG() + 0.5);
			ShootCD -= 3;
		}
		SetBulletSpeed(GetBulletSpeed() + dex * 3);
		SetCrit(GetCrit() + 3+dex/5);
		SetDodge(GetDodge() + 2+dex/5);
		break;
	case ADD_INT:
		magic++;
		if (magic > 15)
		{
			magic = 15;
			return false;
		}
		if (magic % 5 == 0)
		{
			SetSpeed(GetSpeed() + 100);
			recoverMP = 175 - 10 * magic;
		}
		SetMaxMP(GetMaxMP() + 2 * magic);
		break;
	}
	return true;
}
CSwordsman::CSwordsman(void) : CUnit(UT_SWORDSMAN)
{
	SetHP(25);
	SetMaxHP(25);
	SetAttack(8);
	SetSpeed(3);
	SetRange(1);
	SetEXPValue(75);

	SetHasAttacked(false);
	SetShielded(false);
	SetIsMoving(false);
	// TODO: Setup abilities when they are in place
}
Beispiel #6
0
BOOL CGate::InitProperty(CGateList::tagGate *p)
{
	SetName(p->cName);//名字
	SetLenth(p->wLenth);//长		
	SetWidth(p->wWidth);//宽
	SetLevel(p->wLevel);//等级
	SetGraphicsID(p->dwModelId);//模型ID
	SetMaxHP(p->wMaxHp);//最大HP
	SetHP(p->wMaxHp);	//当前HP
	SetUnAttack(p->bIsunbeatable);//是否无敌
	SetBlockType(p->byBlockType);//阻挡类型
	SetDef(p->lDef);//物防	
	SetMagicDef(p->lMagicDef);//魔防
	SetNameColor(p->wNameColor);//名字颜色
	SetHitSound(string(p->cHitSound));//击中音效
	SetDestorySound(string(p->cDestorySound));//损毁音效
	SetOpenSound(string(p->cOpenSound));//打开音效
	SetCloseSound(string(p->cCloseSound));//关闭音效
	return TRUE;
}