示例#1
0
文件: cp_xvi.cpp 项目: cigo/ufoai
/**
 * @brief Spread XVI for each mission that needs to be daily spread.
 * @note Daily called
 */
void CP_SpreadXVI (void)
{
	/* don't check if XVI spreading didn't start yet */
	if (!CP_IsXVIStarted())
		return;

	MIS_Foreach(mission) {
		if (mission->stage == STAGE_SPREAD_XVI)
			CP_SpreadXVIAtPos(mission->pos);
	}
}
示例#2
0
/**
 * @brief Supply mission is over and is a success (from an alien point of view): change interest values.
 * @note Supply mission
 */
void CP_SupplyMissionIsSuccess (mission_t *mission)
{
	alienBase_t *base;
	INT_ChangeIndividualInterest(-0.2f, INTERESTCATEGORY_SUPPLY);

	/* Spread XVI */
	base = mission->data.alienBase;
	assert(base);
	CP_SpreadXVIAtPos(base->pos);

	CP_MissionRemove(mission);
}
示例#3
0
/**
 * @brief Build Base mission is over and is a success (from an alien point of view): change interest values.
 * @note Build Base mission
 */
void CP_BuildBaseMissionIsSuccess (mission_t *mission)
{
	if (CP_BasemissionIsSubvertingGovernmentMission(mission)) {
		/* This is a subverting government mission */
		CL_ChangeIndividualInterest(0.1f, INTERESTCATEGORY_TERROR_ATTACK);
	} else {
		/* An alien base has been built */
		const alienBase_t *base = mission->data.alienBase;
		assert(base);
		CP_SpreadXVIAtPos(base->pos);

		CL_ChangeIndividualInterest(0.4f, INTERESTCATEGORY_XVI);
		CL_ChangeIndividualInterest(0.4f, INTERESTCATEGORY_SUPPLY);
		CL_ChangeIndividualInterest(0.1f, INTERESTCATEGORY_HARVEST);
	}

	CP_MissionRemove(mission);
}