⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 missions.cpp

📁 After decades of war one company, who had gained powerful supplying both sides with weaponary, steps
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			fscanf(fp, "%d", &value);			fscanf(fp, "%d", &time);			fscanf(fp, "%d%*c", &complete);			strcpy(missions[i].secondaryObjective[j], objective);			missions[i].secondaryType[j] = type;			missions[i].target2[j] = target;			missions[i].targetValue2[j] = value;			missions[i].timeLimit2[j] = time;			missions[i].completed2[j] = complete;		}		fscanf(fp, "%d", &add);		missions[i].addAliens = add;		fclose(fp);	}}void initMissions(){loadMissions();}#elsevoid saveMissions(){	FILE *fp;	char filename[65];	for (int i = 0 ; i < MAX_MISSIONS ; i++)	{		strcpy(filename, "");		sprintf(filename, "data/mission%.2d.dat", i);		//WRITE MISSION DATA		fp = fopen(filename, "wb");		if (fp == NULL)		{			printf("Unable to write Mission Data File (%s)\n", filename);			exit(1);		}		for (int j = 0 ; j < 3 ; j++)		{			fprintf(fp, "%s\n", missions[i].primaryObjective[j]);			fprintf(fp, "%d ", missions[i].primaryType[j]);			fprintf(fp, "%d ", missions[i].target1[j]);			fprintf(fp, "%d ", missions[i].targetValue1[j]);			fprintf(fp, "%d ", missions[i].timeLimit1[j]);			fprintf(fp, "%d\n", missions[i].completed1[j]);		}		for (int j = 0 ; j < 3 ; j++)		{			fprintf(fp, "%s\n", missions[i].secondaryObjective[j]);			fprintf(fp, "%d ", missions[i].secondaryType[j]);			fprintf(fp, "%d ", missions[i].target2[j]);			fprintf(fp, "%d ", missions[i].targetValue2[j]);			fprintf(fp, "%d ", missions[i].timeLimit2[j]);			fprintf(fp, "%d\n", missions[i].completed2[j]);		}		fprintf(fp, "%d ", missions[i].addAliens);		// Put an extra line for the PAK file "just in case"		fprintf(fp, "\n");		fclose(fp);	}}/*This is where all the missions are defined. This will be placedinto a data file when the game is finished.*/void initMissions(){	clearAllMissions();	// Seconds to wait between attempting to add an enemy	int SOMETIMES    = 40 * 60;	int NORMAL       = 15 * 60;	int FREQUENT     = 5 * 60;	int ALWAYS       = 1 * 60;	int NEVER		  = -1;	// Mission 0	sprintf(missions[0].primaryObjective[0], "Escape from WEAPCO Persuit");	missions[0].primaryType[0] = M_DESTROY_ALL_TARGETS;	missions[0].completed1[0] = OB_INCOMPLETE;	// Mission 1	sprintf(missions[1].primaryObjective[0], "Collect $500 to pay Mercenary for FIREFLY");	missions[1].primaryType[0] = M_COLLECT;	missions[1].target1[0] = P_CASH;	missions[1].targetValue1[0] = 500;	missions[1].completed1[0] = OB_INCOMPLETE;	sprintf(missions[1].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[1].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[1].completed1[1] = OB_INCOMPLETE;	missions[1].addAliens = FREQUENT;	// Mission 2	sprintf(missions[2].primaryObjective[0], "Collect 6 Cargo Pods");	missions[2].primaryType[0] = M_COLLECT;	missions[2].target1[0] = P_CARGO;	missions[2].targetValue1[0] = 6;	missions[2].completed1[0] = OB_INCOMPLETE;	sprintf(missions[2].primaryObjective[1], "Do not destroy *ANY* Cargo Pods");	missions[2].primaryType[1] = M_PROTECT_PICKUP;	missions[2].target1[1] = P_CARGO;	missions[2].targetValue1[1] = 0;	missions[2].completed1[1] = OB_CONDITION;	sprintf(missions[2].secondaryObjective[0], "Destroy all remaining WEAPCO fighters");	missions[2].secondaryType[0] = M_DESTROY_ALL_TARGETS;	missions[2].completed2[0] = OB_INCOMPLETE;	missions[2].addAliens = FREQUENT;	// Mission 3	sprintf(missions[3].primaryObjective[0], "Destroy 5 WEAPCO Missile Boats");	missions[3].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[3].target1[0] = CD_MISSILEBOAT;	missions[3].targetValue1[0] = 5;	missions[3].completed1[0] = OB_INCOMPLETE;	sprintf(missions[3].secondaryObjective[0], "Destroy all remaining WEAPCO fighters");	missions[3].secondaryType[0] = M_DESTROY_ALL_TARGETS;	missions[3].completed2[0] = OB_INCOMPLETE;	missions[3].addAliens = NORMAL;	// Mission 4	sprintf(missions[4].primaryObjective[0], "Destroy 9 WEAPCO Miners");	missions[4].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[4].target1[0] = CD_MINER;	missions[4].targetValue1[0] = 9;	missions[4].completed1[0] = OB_INCOMPLETE;	sprintf(missions[4].secondaryObjective[0], "Destroy all remaining WEAPCO fighters");	missions[4].secondaryType[0] = M_DESTROY_ALL_TARGETS;	missions[4].completed2[0] = OB_INCOMPLETE;	missions[4].addAliens = NORMAL;	// Mission 5	sprintf(missions[5].primaryObjective[0], "Destroy WEAPCO Frigate");	missions[5].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[5].target1[0] = CD_BOSS;	missions[5].targetValue1[0] = 1;	missions[5].completed1[0] = OB_INCOMPLETE;		missions[5].timeLimit1[0] = 3;	missions[5].addAliens = SOMETIMES;	/*		Mission 6 is the rescue 250 slaves mission. It doesn't actually		count in this list. This is just here as a place holder	*/	// Mission 7	sprintf(missions[7].primaryObjective[0], "Rescue Phoebe Lexx");	missions[7].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[7].target1[0] = CD_CARGOSHIP;	missions[7].targetValue1[0] = 1;	missions[7].completed1[0] = OB_INCOMPLETE;	sprintf(missions[7].primaryObjective[1], "Do not allow Phoebe to be killed");	missions[7].primaryType[1] = M_PROTECT_TARGET;	missions[7].target1[1] = CD_PHOEBE;	missions[7].targetValue1[1] = 0;	missions[7].completed1[1] = OB_CONDITION;	sprintf(missions[7].primaryObjective[2], "Destroy all WEAPCO forces");	missions[7].primaryType[2] = M_DESTROY_TARGET_TYPE;	missions[7].target1[2] = CD_ANY;	missions[7].targetValue1[2] = 35;	missions[7].completed1[2] = OB_INCOMPLETE;	missions[7].addAliens = ALWAYS;	// Mission 8	sprintf(missions[8].primaryObjective[0], "Assist medical supply craft");	missions[8].primaryType[0] = M_ESCAPE_TARGET;	missions[8].target1[0] = CD_GOODTRANSPORT;	missions[8].targetValue1[0] = 0;	missions[8].completed1[0] = OB_INCOMPLETE;	sprintf(missions[8].primaryObjective[1], "Do not allow supply craft to be destroyed");	missions[8].primaryType[1] = M_PROTECT_TARGET;	missions[8].target1[1] = CD_GOODTRANSPORT;	missions[8].targetValue1[1] = 0;	missions[8].completed1[1] = OB_CONDITION;		sprintf(missions[8].secondaryObjective[0], "Destroy all remaining WEAPCO fighters");	missions[8].secondaryType[0] = M_DESTROY_ALL_TARGETS;	missions[8].completed2[0] = OB_INCOMPLETE;	missions[8].addAliens = FREQUENT;	// Mission 9	sprintf(missions[9].primaryObjective[0], "Disable five WEAPCO supply craft");	missions[9].primaryType[0] = M_DISABLE_TARGET;	missions[9].target1[0] = CD_CARGOSHIP;	missions[9].targetValue1[0] = 5;	missions[9].completed1[0] = OB_INCOMPLETE;	sprintf(missions[9].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[9].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[9].completed1[1] = OB_INCOMPLETE;	sprintf(missions[9].primaryObjective[2], "Protect supply craft AND Sid Wilson");	missions[9].primaryType[2] = M_PROTECT_TARGET;	missions[9].target1[2] = CD_CARGOSHIP;	missions[9].targetValue1[2] = 0;	missions[9].completed1[2] = OB_CONDITION;	missions[9].addAliens = FREQUENT;	// Mission 10	sprintf(missions[10].primaryObjective[0], "Locate doctor's escape pod");	missions[10].primaryType[0] = M_COLLECT;	missions[10].target1[0] = P_ESCAPEPOD;	missions[10].targetValue1[0] = 1;	missions[10].completed1[0] = OB_INCOMPLETE;	sprintf(missions[10].primaryObjective[1], "Do not destroy doctor's escape pod");	missions[10].primaryType[1] = M_PROTECT_PICKUP;	missions[10].target1[1] = P_ESCAPEPOD;	missions[10].targetValue1[1] = 1; // DONE ON PURPOSE!! DO NOT CHANGE THIS!!!!	missions[10].completed1[1] = OB_CONDITION;	sprintf(missions[10].secondaryObjective[0], "Collect 10 pieces of Ore");	missions[10].secondaryType[0] = M_COLLECT;	missions[10].target2[0] = P_ORE;	missions[10].targetValue2[0] = 10;	missions[10].completed2[0] = OB_INCOMPLETE;	missions[10].addAliens = ALWAYS;	missions[10].timeLimit1[0] = 3;	missions[10].timeLimit2[0] = 3;	// Mission 11 (hmmm, that was too easy...)	sprintf(missions[11].primaryObjective[0], "Destroy WEAPCO ore mining craft");	missions[11].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[11].target1[0] = CD_BOSS;	missions[11].targetValue1[0] = 1;	missions[11].completed1[0] = OB_INCOMPLETE;	sprintf(missions[11].secondaryObjective[0], "Save present slaves");	missions[11].secondaryType[0] = M_PROTECT_PICKUP;	missions[11].target2[0] = P_SLAVES;	missions[11].completed2[0] = OB_CONDITION;	sprintf(missions[11].primaryObjective[1], "Battle Kline");	missions[11].primaryType[1] = M_ESCAPE_TARGET;	missions[11].target1[1] = CD_KLINE;	missions[11].targetValue1[1] = 1;	missions[11].completed1[1] = OB_HIDDEN;	missions[11].addAliens = NEVER;	/*		Mission 12 is the Destroy Experimental Fighter mission		this is just a place holder	*/	// Mission 13	sprintf(missions[13].primaryObjective[0], "Destroy Ursula's ship");	missions[13].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[13].target1[0] = CD_EVILURSULA;	missions[13].targetValue1[0] = 0;	missions[13].completed1[0] = OB_INCOMPLETE;	sprintf(missions[13].primaryObjective[1], "Capture Ursula's escape pod");	missions[13].primaryType[1] = M_COLLECT;	missions[13].target1[1] = P_ESCAPEPOD;	missions[13].targetValue1[1] = 1;	missions[13].completed1[1] = OB_INCOMPLETE;	sprintf(missions[13].primaryObjective[2], "Do not kill Ursula");	missions[13].primaryType[2] = M_PROTECT_PICKUP;	missions[13].target1[2] = P_ESCAPEPOD;	missions[13].targetValue1[2] = 0;	missions[13].completed1[2] = OB_CONDITION;	sprintf(missions[13].secondaryObjective[0], "Destroy all remaining WEAPCO fighters");	missions[13].secondaryType[0] = M_DESTROY_ALL_TARGETS;	missions[13].completed2[0] = OB_INCOMPLETE;	missions[13].addAliens = FREQUENT;	// Mission 14	sprintf(missions[14].primaryObjective[0], "Assist attack on WEAPCO ore mining craft");	missions[14].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[14].target1[0] = CD_BOSS;	missions[14].targetValue1[0] = 1;	missions[14].completed1[0] = OB_INCOMPLETE;	sprintf(missions[14].primaryObjective[1], "At least 1 rebel craft must survive");	missions[14].primaryType[1] = M_PROTECT_TARGET;	missions[14].target1[1] = CD_REBELCARRIER;	missions[14].targetValue1[1] = 2;	missions[14].completed1[1] = OB_CONDITION;	sprintf(missions[14].primaryObjective[2], "Destroy all present WEAPCO forces");	missions[14].primaryType[2] = M_DESTROY_ALL_TARGETS;	missions[14].completed1[2] = OB_INCOMPLETE;	missions[14].addAliens = ALWAYS;	// Mission 15	sprintf(missions[15].primaryObjective[0], "Collect 25 pieces of Ore");	missions[15].primaryType[0] = M_COLLECT;	missions[15].target1[0] = P_ORE;	missions[15].targetValue1[0] = 25;	missions[15].completed1[0] = OB_INCOMPLETE;	sprintf(missions[15].secondaryObjective[0], "Collect 25 pieces of Ore");	missions[15].secondaryType[0] = M_COLLECT;	missions[15].target2[0] = P_ORE;	missions[15].targetValue2[0] = 25;	missions[15].completed2[0] = OB_INCOMPLETE;	missions[15].addAliens = ALWAYS;	// Mission 16	sprintf(missions[16].primaryObjective[0], "Collect $2000 to pay mercenary");	missions[16].primaryType[0] = M_COLLECT;	missions[16].target1[0] = P_CASH;	missions[16].targetValue1[0] = 2000;	missions[16].completed1[0] = OB_INCOMPLETE;	sprintf(missions[16].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[16].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[16].completed1[1] = OB_INCOMPLETE;	missions[16].addAliens = ALWAYS;	// Mission 17	sprintf(missions[17].primaryObjective[0], "Destroy escorts");	missions[17].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[17].target1[0] = CD_ESCORT;	missions[17].targetValue1[0] = 5;	missions[17].completed1[0] = OB_INCOMPLETE;	sprintf(missions[17].primaryObjective[1], "Disable executive transport");	missions[17].primaryType[1] = M_ESCAPE_TARGET;	missions[17].target1[1] = CD_BOSS;	missions[17].targetValue1[1] = 1;	missions[17].completed1[1] = OB_INCOMPLETE;	sprintf(missions[17].primaryObjective[2], "Destroy all remaining WEAPCO fighters");	missions[17].primaryType[2] = M_DESTROY_ALL_TARGETS;	missions[17].completed1[2] = OB_INCOMPLETE;	missions[17].addAliens = NORMAL;	// Mission 18	sprintf(missions[18].primaryObjective[0], "Destroy executive transport");	missions[18].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[18].target1[0] = CD_BOSS;	missions[18].targetValue1[0] = 1;	missions[18].completed1[0] = OB_INCOMPLETE;	missions[18].addAliens = ALWAYS;	// Mission 19	sprintf(missions[19].primaryObjective[0], "Destroy planetary guardian");	missions[19].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[19].target1[0] = CD_PLUTOBOSS;	missions[19].targetValue1[0] = 1;	missions[19].completed1[0] = OB_INCOMPLETE;	sprintf(missions[19].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[19].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[19].completed1[1] = OB_INCOMPLETE;	missions[19].timeLimit1[0] = 5;	missions[19].timeLimit1[1] = 5;	missions[19].addAliens = ALWAYS;	// Mission 20	sprintf(missions[20].primaryObjective[0], "Destroy planetary guardian");	missions[20].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[20].target1[0] = CD_NEPTUNEBOSS;	missions[20].targetValue1[0] = 1;	missions[20].completed1[0] = OB_INCOMPLETE;	sprintf(missions[20].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[20].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[20].completed1[1] = OB_INCOMPLETE;	missions[20].timeLimit1[0] = 5;	missions[20].timeLimit1[1] = 5;	missions[20].addAliens = ALWAYS;	// Mission 21	sprintf(missions[21].primaryObjective[0], "Destroy all present WEAPCO forces");	missions[21].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[21].target1[0] = CD_URANUSBOSS;	missions[21].targetValue1[0] = 1;	missions[21].completed1[0] = OB_INCOMPLETE;	sprintf(missions[21].primaryObjective[1], "Destroy all remaining WEAPCO fighters");	missions[21].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[21].completed1[1] = OB_INCOMPLETE;	missions[21].timeLimit1[0] = 5;	missions[21].timeLimit1[1] = 5;	missions[21].addAliens = ALWAYS;	// Mission 22	sprintf(missions[22].primaryObjective[0], "Destroy outer defence systems");	missions[22].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[22].target1[0] = CD_MOBILE_RAY;	missions[22].targetValue1[0] = 6;	missions[22].completed1[0] = OB_INCOMPLETE;	sprintf(missions[22].primaryObjective[1], "Destroy all remaining WEAPCO craft");	missions[22].primaryType[1] = M_DESTROY_ALL_TARGETS;	missions[22].completed1[1] = OB_INCOMPLETE;	missions[22].addAliens = NORMAL;	// Mission 23	sprintf(missions[23].primaryObjective[0], "Investigate distress call");	missions[23].primaryType[0] = M_DESTROY_ALL_TARGETS;	missions[23].completed1[0] = OB_CONDITION;	sprintf(missions[23].primaryObjective[1], "Defeat Krass Tyler");	missions[23].primaryType[1] = M_DESTROY_TARGET_TYPE;	missions[23].target1[1] = CD_KRASS;	missions[23].targetValue1[1] = 1;	missions[23].completed1[1] = OB_HIDDEN;	sprintf(missions[23].primaryObjective[2], "Destroy Krass' support group");	missions[23].primaryType[2] = M_DESTROY_ALL_TARGETS;	missions[23].target1[1] = CD_FIREFLY;	missions[23].targetValue1[1] = 4;	missions[23].completed1[2] = OB_HIDDEN;	missions[23].addAliens = ALWAYS;	// Mission 24	sprintf(missions[24].primaryObjective[0], "Navigate asteroid belt");	missions[24].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[24].target1[0] = CD_BOSS;	missions[24].targetValue1[0] = 1;	missions[24].completed1[0] = OB_INCOMPLETE;	missions[24].timeLimit1[0] = 2;	missions[24].addAliens = ALWAYS;	// Mission 25	sprintf(missions[25].primaryObjective[0], "Destroy WEAPCO frontline forces");	missions[25].primaryType[0] = M_DESTROY_TARGET_TYPE;	missions[25].target1[0] = CD_ANY;	missions[25].targetValue1[0] = 100;	missions[25].completed1[0] = OB_INCOMPLETE;	missions[25].addAliens = ALWAYS;	// Mission 26	sprintf(missions[26].primaryObjective[0], "Defeat Kline");	missions[26].primaryType[0] = M_DESTROY_ALL_TARGETS;	missions[26].completed1[0] = OB_INCOMPLETE;	// Interception Mission	strcpy(missions[MAX_MISSIONS - 1].primaryObjective[0], "");	missions[MAX_MISSIONS - 1].primaryType[0] = M_DESTROY_ALL_TARGETS;	missions[MAX_MISSIONS - 1].completed1[0] = OB_INCOMPLETE;	saveMissions();}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -