コード例 #1
0
ファイル: ArbiterAgent.cpp プロジェクト: jieverson/BTHAIMOD
void ArbiterAgent::computeActions()
{
	if (chargeShields())
	{
		return;
	}

	NavigationAgent::getInstance()->computeMove(this, goal, true);
}
コード例 #2
0
ファイル: DragoonAgent.cpp プロジェクト: jieverson/BTHAIMOD
void DragoonAgent::computeActions()
{
	if (chargeShields())
	{
		return;
	}

	defensive = false;
	if (unit->getAirWeaponCooldown() > 2 || unit->getGroundWeaponCooldown() > 2) defensive = true;
	
	NavigationAgent::getInstance()->computeMove(this, goal, defensive);
	if (!defensive) TargetingAgent::checkTarget(this);
}
コード例 #3
0
ファイル: ScoutAgent.cpp プロジェクト: JongKul/bthai
void ScoutAgent::computeActions()
{
	//Necessary to avoid cancelling attacks
	if (unit->isAttacking() || unit->isStartingAttack()) return;

	if (chargeShields()) return;
	
	defensive = false;
	if (unit->getAirWeaponCooldown() > 2 || unit->getGroundWeaponCooldown() > 2) defensive = true;
	
	if (TargetingAgent::checkTarget(this)) return;

	NavigationAgent::getInstance()->computeMove(this, goal, defensive);
}
コード例 #4
0
ファイル: DarkTemplarAgent.cpp プロジェクト: JongKul/bthai
void DarkTemplarAgent::computeActions()
{
	//Necessary to avoid cancelling attacks
	if (unit->isAttacking() || unit->isStartingAttack()) return;

	if (chargeShields()) return;

	defensive = false;
	if (!unit->isCloaked() || unit->isVisible()) defensive = true;
	
	if (TargetingAgent::checkTarget(this)) return;

	NavigationAgent::getInstance()->computeMove(this, goal, defensive);
}