亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? missions.cpp

?? After decades of war one company, who had gained powerful supplying both sides with weaponary, steps
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/*Copyright (C) 2003 Parallel RealitiesThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/#include "missions.h"// God, I hate this file! :((void initPlanetMissions(signed char system){	for (int i = 0 ; i < 10 ; i++)	{		systemPlanet[i].missionNumber = -1; // no mission for this planet		systemPlanet[i].missionCompleted = 1;	}	switch(system)	{		// Spirit		case 0:			for (int i = 0 ; i < 4 ; i++)			{				systemPlanet[i].missionNumber = i + 1;				systemPlanet[i].missionCompleted = 0;			}			systemPlanet[4].missionNumber = 5;			systemPlanet[4].missionCompleted = -1;			break;		// Eyananth		case 1:			systemPlanet[0].missionNumber = 7;			systemPlanet[0].missionCompleted = 0;			systemPlanet[1].missionNumber = 8;			systemPlanet[1].missionCompleted = 0;			systemPlanet[2].missionNumber = 9;			systemPlanet[2].missionCompleted = -1;			systemPlanet[3].missionNumber = 10;			systemPlanet[3].missionCompleted = -1;			systemPlanet[4].missionNumber = 11;			systemPlanet[4].missionCompleted = -2;			// This one is for the slaves			systemPlanet[9].missionNumber = 6;			systemPlanet[9].missionCompleted = 0;			break;		// Mordor		case 2:			systemPlanet[0].missionNumber = 13;			systemPlanet[0].missionCompleted = 0;			systemPlanet[1].missionNumber = 14;			systemPlanet[1].missionCompleted = 0;			systemPlanet[2].missionNumber = 15;			systemPlanet[2].missionCompleted = -1;			systemPlanet[3].missionNumber = 16;			systemPlanet[3].missionCompleted = -1;			systemPlanet[4].missionNumber = 17;			systemPlanet[4].missionCompleted = -2;			systemPlanet[5].missionNumber = 18;			systemPlanet[5].missionCompleted = -3;			// This one is for the experimental fighter			systemPlanet[9].missionNumber = 12;			systemPlanet[9].missionCompleted = 0;			break;		// Sol		case 3:			systemPlanet[8].missionNumber = 19;			systemPlanet[8].missionCompleted = 0;			systemPlanet[7].missionNumber = 20;			systemPlanet[7].missionCompleted = 0;			systemPlanet[6].missionNumber = 21;			systemPlanet[6].missionCompleted = 0;			systemPlanet[5].missionNumber = 22;			systemPlanet[5].missionCompleted = -1;			systemPlanet[4].missionNumber = 23;			systemPlanet[4].missionCompleted = -2;			systemPlanet[3].missionNumber = 24;			systemPlanet[3].missionCompleted = -3;			systemPlanet[2].missionNumber = 25;			systemPlanet[2].missionCompleted = -4;			systemPlanet[1].missionNumber = 26;			systemPlanet[1].missionCompleted = -5;			break;	}}void checkForBossMission(){	for (int i = 0 ; i < 10 ; i++)	{		if ((systemPlanet[i].missionCompleted == 0) && (systemPlanet[i].missionNumber != -1))			return;	}	for (int i = 0 ; i < 10 ; i++)	{		if (systemPlanet[i].missionCompleted < 0)			systemPlanet[i].missionCompleted++;	}}void updateSystemStatus(){	if (currentGame.area == 0)	{		currentGame.stationedPlanet = 0;		currentGame.area = 1;		strcpy(currentGame.stationedName, "Hail");		initPlanetMissions(currentGame.system);	}	else if (currentGame.area == 5)	{		currentGame.stationedPlanet = 0;		currentGame.system = 1;		currentGame.area = 6;		strcpy(currentGame.stationedName, "Nerod");		initPlanetMissions(currentGame.system);		currentGame.shieldUnits = 2;	}	else if (currentGame.area == 11)	{		currentGame.stationedPlanet = 0;		currentGame.system = 2;		currentGame.area = 12;		strcpy(currentGame.stationedName, "Odeon");		initPlanetMissions(currentGame.system);		currentGame.shieldUnits = 3;	}	else if (currentGame.area == 18)	{		currentGame.stationedPlanet = 8;		currentGame.system = 3;		currentGame.area = 19;		strcpy(currentGame.stationedName, "Pluto");		initPlanetMissions(currentGame.system);		currentGame.shieldUnits = 4;	}	else // Update the mission for the planet	{		systemPlanet[currentGame.stationedPlanet].missionCompleted = 1;	}	strcpy(currentGame.destinationName, "None");	currentGame.destinationPlanet = currentGame.stationedPlanet;}/*Mission Completed Variables:0  : Not Completed1  : Completed2  : Just Completed3  : Constraint-1 : Mission Failed-2 : Just FailedTimer Variable:1+ : Time in minutes-1 : Time up-2 : No timer*/void clearAllMissions(){	for (int m = 0 ; m < MAX_MISSIONS ; m++)	{		for (int i = 0 ; i < 3 ; i++)		{			strcpy(missions[m].primaryObjective[i], "");			missions[m].primaryType[i] = NONE;			missions[m].target1[i] = -1;			missions[m].targetValue1[i] = -1;			missions[m].timeLimit1[i] = -2;			missions[m].completed1[i] = 1;		}		for (int i = 0 ; i < 3 ; i++)		{			strcpy(missions[m].secondaryObjective[i], "");			missions[m].secondaryType[i] = NONE;			missions[m].target2[i] = -1;			missions[m].targetValue2[i] = -1;			missions[m].timeLimit2[i] = -2;			missions[m].completed2[i] = 1;		}		missions[m].addAliens = -1;	}}/*Sets the currentMission object to the mission number the playeris currently on. Timing is assigned if it is required. The rateat which to add enemies in this mission is also set.*/void setMission(int mission){	currentMission = missions[mission];	engine.minutes = currentMission.timeLimit1[0];	for (int i = 0 ; i < 3 ; i++)	{		if (currentMission.timeLimit1[i] > engine.minutes)			engine.minutes = currentMission.timeLimit1[i];		if (currentMission.timeLimit2[i] > engine.minutes)			engine.minutes = currentMission.timeLimit2[i];		if (currentMission.completed1[i] == 0)			currentMission.remainingObjectives1++;		if (currentMission.completed2[i] == 0)			currentMission.remainingObjectives1++;	}	engine.addAliens = currentMission.addAliens;	if (engine.minutes > -1)	{		engine.timeMission = 1;		engine.seconds = 0;	}	engine.counter2 = 0;	engine.timeTaken = 0;}void checkTimer(){	for (int i = 0 ; i < 3 ; i++)	{		if ((currentMission.timeLimit1[i] == -1) && (currentMission.completed1[i] == OB_INCOMPLETE))			currentMission.completed1[i] = -2;	}	for (int i = 0 ; i < 3 ; i++)	{		if ((currentMission.timeLimit2[i] == -1) && (currentMission.completed2[i] == OB_INCOMPLETE))			currentMission.completed2[i] = -2;	}	// Find out if there are any uncompleted missions that require the timer	engine.timeMission = 0;	for (int i = 0 ; i < 3 ; i++)	{		if ((currentMission.timeLimit1[i] > -1) && (currentMission.completed1[i] == OB_INCOMPLETE))			engine.timeMission = 1;		if ((currentMission.timeLimit2[i] > -1) && (currentMission.completed2[i] == OB_INCOMPLETE))			engine.timeMission = 1;	}	// specific to Spirit Boss	if ((currentGame.area == 5) && (currentMission.completed1[0] < OB_INCOMPLETE))		engine.timeMission = 1;	// specific to the Asteroid belt	if ((currentGame.area == 24) && (currentMission.completed1[0] < OB_INCOMPLETE))	{		currentMission.completed1[0] = OB_COMPLETED;		killAllAliens();		engine.addAliens = -1;		setInfoLine("*** All Primary Objectives Completed ***", FONT_GREEN);	}}void evaluteRequirement(int type, int id, int value, int *completed, int *targetValue, int fontColor){	char message[25];	if ((*targetValue <= 0) && (type != M_PROTECT_TARGET) && (type != M_PROTECT_PICKUP))	{		*completed = 2;		checkTimer();		if ((currentGame.area == 9) && (type == M_DISABLE_TARGET))			setRadioMessage(FACE_SID, "All vessels disabled!", 1);	}	else	{		strcpy(message, "");		switch(type)		{			case M_COLLECT:				switch(id)				{					case P_CASH:						sprintf(message, "Collect $%d more...", *targetValue);						if ((rand() % 2) == 0)							sprintf(message, "$%d more to go...", *targetValue);						break;					case P_CARGO:						sprintf(message, "Collect %d more...", *targetValue);						if ((rand() % 2) == 0)							sprintf(message, "%d more to go...", *targetValue);						break;					case P_ORE:						sprintf(message, "Collect %d more...", *targetValue);						if ((rand() % 2) == 0)							sprintf(message, "%d more to go...", *targetValue);						break;				}				break;			case M_PROTECT_PICKUP:				*completed = -2;				switch(id)				{					case P_CARGO:						sprintf(message, "Cargo pod destroy!");						if (currentGame.area == 2) // Get lectured by Sid							setRadioMessage(FACE_SID, "Chris, we needed that pod!! I warned you that we couldn't afford to lose a single one!!", 1);						break;					case P_ESCAPEPOD:						sprintf(message, "Escape Pod lost!");						if (currentGame.area == 13) // Get lectured by Phoebe							setRadioMessage(FACE_PHOEBE, "No... Ursula...", 1);						break;				}				break;			case M_PROTECT_TARGET:				if (*targetValue <= 0)				{					*completed = -2;					switch (currentGame.area)					{						case 7:							setRadioMessage(FACE_SID, "Dammit, Chris! We just lost her!", 1);							break;						case 8:							setRadioMessage(FACE_CREW, "Noooo!! Hull bre...", 1);							break;						case 9:							setRadioMessage(FACE_SID, "Chris, we've got to disable them, not destroy them!!", 1);							break;					}				}				break;			case M_DESTROY_TARGET_TYPE:				if ((*targetValue <= 10) || (*targetValue % 10 == 0))				{					sprintf(message, "Destroy %d more...", *targetValue);					if ((rand() % 2) == 0)						sprintf(message, "%d more to go...", *targetValue);				}				break;			case M_DISABLE_TARGET:				sprintf(message, "Disable %d more...", *targetValue);				break;		}		if (strcmp(message, "") != 0)			setInfoLine(message, fontColor);	}}void updateMissionRequirements(int type, int id, int value){	// Can't complete missions if you're dead!	if (engine.missionCompleteTimer != 0)		return;	char message[25];	char matched = 0;	// We don't need to worry here since if Sid dies,	// you will automatically fail the mission(!)	if ((type == M_DESTROY_TARGET_TYPE) && (id == CD_SID))	{		setInfoLine("Sid has been killed!!", FONT_RED);		setRadioMessage(FACE_CHRIS, "Sid... I... I'm sorry...", 1);		currentMission.completed1[0] = -2;	}	for (int i = 0 ; i < 3 ; i++)	{		if ((currentMission.completed1[i] == OB_INCOMPLETE) || (currentMission.completed1[i] == OB_CONDITION))		{			if ((currentMission.primaryType[i] == type) && ((currentMission.target1[i] == id) || (currentMission.target1[i] == CD_ANY)))			{				matched = 1;				currentMission.targetValue1[i] -= value;				evaluteRequirement(type, id, value, &currentMission.completed1[i], &currentMission.targetValue1[i], FONT_CYAN);			}		}	}	// Don't evaluate secondary objectives at the same time!	if (matched)		return;	for (int i = 0 ; i < 3 ; i++)	{		if ((currentMission.completed2[i] == OB_INCOMPLETE) || (currentMission.completed2[i] == OB_CONDITION))		{			if ((currentMission.secondaryType[i] == type) && ((currentMission.target2[i] == id) || (currentMission.target2[i] == CD_ANY)))			{				currentMission.targetValue2[i] -= value;				evaluteRequirement(type, id, value, &currentMission.completed2[i], &currentMission.targetValue2[i], FONT_YELLOW);				return;			}		}	}	// Special Case - Interceptions	if (currentGame.area == MAX_MISSIONS - 1)	{		if ((type == M_COLLECT) && (id == P_SLAVES))		{			if (systemPlanet[9].missionCompleted == 0)			{				if (currentGame.slavesRescued >= 250)				{					setInfoLine("*** Slaves Rescued - Mission Completed ***", FONT_GREEN);					systemPlanet[9].missionCompleted = 1;				}				else				{					sprintf(message, "Rescue %d more...", 250 - currentGame.slavesRescued);					setInfoLine(message, FONT_CYAN);				}			}		}		if ((type == M_DESTROY_TARGET_TYPE) && (id == CD_CLOAKFIGHTER))		{			setInfoLine("*** Experimental Fighter Destroyed - Mission Completed ***", FONT_GREEN);			systemPlanet[9].missionCompleted = 1;			setRadioMessage(FACE_CHRIS, "That's one less suprise that WEAPCO can spring on us!", 1);			currentGame.experimentalShield = 0;		}	}}/*This is only used as few times in the game.Missions 11 and 23 to be exact!*/char revealHiddenObjectives(){	char allDone = 1;	char string[255];	strcpy(string, "");	for (int i = 0 ; i < 3 ; i++)	{		if (currentMission.completed1[i] == OB_HIDDEN)		{			currentMission.completed1[i] = OB_INCOMPLETE;			sprintf(string, "New Objective - %s", currentMission.primaryObjective[i]);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机一区二区| 欧美一区午夜视频在线观看| 久久久91精品国产一区二区精品 | 国产在线视频一区二区| 欧美大白屁股肥臀xxxxxx| 久久精品av麻豆的观看方式| 欧美电影免费观看高清完整版在线| 老鸭窝一区二区久久精品| 久久午夜色播影院免费高清| 国产成人亚洲综合a∨猫咪 | 国产欧美日韩在线视频| 懂色av一区二区三区蜜臀| 亚洲日本护士毛茸茸| 欧美日韩激情一区二区| 九九在线精品视频| 欧美韩国日本不卡| 91麻豆国产在线观看| 天堂资源在线中文精品| 久久影音资源网| 91论坛在线播放| 免费观看在线色综合| 久久久久国产免费免费 | 免费在线观看日韩欧美| 国产日韩欧美精品在线| 91免费在线视频观看| 日韩国产欧美三级| 中文成人综合网| 欧美手机在线视频| 国产麻豆成人精品| 夜夜爽夜夜爽精品视频| 久久亚洲欧美国产精品乐播| 色天使久久综合网天天| 久久爱另类一区二区小说| 国产精品久久国产精麻豆99网站| 欧美性猛交xxxx乱大交退制版 | 亚洲男人的天堂网| 欧美成人伊人久久综合网| 99天天综合性| 精品在线一区二区三区| 亚洲免费观看在线视频| 精品免费视频.| 欧美综合天天夜夜久久| 国产宾馆实践打屁股91| 丝袜美腿亚洲一区二区图片| 亚洲国产高清在线观看视频| 欧美精品一二三区| 波多野结衣中文字幕一区二区三区| 亚洲 欧美综合在线网络| 国产女人aaa级久久久级| 在线播放视频一区| 色香色香欲天天天影视综合网| 蜜臀av在线播放一区二区三区| 国产亚洲欧美日韩在线一区| 欧亚一区二区三区| 不卡大黄网站免费看| 免费精品视频在线| 亚洲成人先锋电影| **欧美大码日韩| 久久精品人人爽人人爽| 日韩欧美中文字幕公布| 中文字幕精品一区| 日韩一区二区三区观看| 在线看日本不卡| 色综合天天做天天爱| 丁香啪啪综合成人亚洲小说| 久久精品国产精品亚洲精品| 婷婷综合在线观看| 亚洲最大成人综合| 亚洲欧美一区二区三区久本道91| 国产精品午夜电影| 久久久久久毛片| 亚洲一区二区视频| 精品福利二区三区| 欧美tickling挠脚心丨vk| 欧美男女性生活在线直播观看| 色综合久久精品| 色欧美乱欧美15图片| 99久久久无码国产精品| 成人白浆超碰人人人人| 成人av免费在线播放| 大桥未久av一区二区三区中文| 国产综合色产在线精品| 激情综合网最新| 韩国一区二区三区| 国产suv精品一区二区三区| 国产精华液一区二区三区| 国产69精品久久99不卡| 成人激情校园春色| 99精品欧美一区| 欧美性大战久久久久久久| 色国产精品一区在线观看| 欧美中文字幕一二三区视频| 欧美日本一区二区三区四区| 制服丝袜av成人在线看| 精品国精品国产尤物美女| 久久你懂得1024| 中文字幕在线不卡一区二区三区| 亚洲欧美色图小说| 日韩高清不卡一区| 国产乱子伦视频一区二区三区| 成人黄色在线看| 欧美色视频在线观看| 日韩一区二区三区观看| 国产亚洲精品7777| 一区二区在线看| 美腿丝袜亚洲三区| 不卡的av在线| 4438x亚洲最大成人网| 国产亚洲欧洲997久久综合| 亚洲欧美在线视频| 视频一区在线视频| 成人性生交大片免费看中文网站| 色欲综合视频天天天| 欧美一区二区视频网站| 国产欧美视频一区二区| 一区二区三区中文字幕| 久久精品国产在热久久| 不卡一二三区首页| 日韩一区二区免费电影| 国产精品人人做人人爽人人添| 亚洲国产精品视频| 国产精品亚洲专一区二区三区| 欧美最新大片在线看| www国产精品av| 一区二区三区高清| 国产精品一区在线观看乱码| 欧美影院精品一区| 欧美激情一区在线| 日韩一区欧美二区| 91在线观看一区二区| 欧美α欧美αv大片| 一区二区三区成人| 成人小视频免费观看| 91精品综合久久久久久| 亚洲嫩草精品久久| 国产传媒久久文化传媒| 欧美一区二区三区在| 亚洲人午夜精品天堂一二香蕉| 蜜臀av性久久久久蜜臀aⅴ| 色综合久久久久综合| 国产日韩欧美不卡| 久久国产夜色精品鲁鲁99| 在线观看欧美精品| 亚洲图片另类小说| 风间由美一区二区三区在线观看| 欧美一区二区三区在线观看视频| 亚洲一区视频在线| 久久精品综合网| 丝袜美腿亚洲色图| 欧美亚洲愉拍一区二区| 亚洲欧洲性图库| 成人性生交大片免费看视频在线 | 成人av在线观| 26uuu精品一区二区在线观看| 天天影视涩香欲综合网| 在线免费视频一区二区| 亚洲天堂2014| 99综合影院在线| 国产精品国模大尺度视频| 国产精品亚洲专一区二区三区 | 欧美色倩网站大全免费| 亚洲视频免费在线| 成人高清av在线| 欧美高清在线一区| 成人综合婷婷国产精品久久蜜臀| 欧美精品一区二区在线观看| 久久9热精品视频| 日韩一区二区三区电影| 青椒成人免费视频| 欧美日韩mp4| 亚洲男女一区二区三区| 成人激情综合网站| 1区2区3区国产精品| 91丨porny丨蝌蚪视频| 国产精品久久久久桃色tv| 成人app下载| 亚洲免费观看高清完整版在线观看熊 | 白白色 亚洲乱淫| 国产精品不卡视频| 91欧美一区二区| 亚洲丶国产丶欧美一区二区三区| 在线视频中文字幕一区二区| 亚洲一区二区三区视频在线| 欧美日韩免费一区二区三区视频| 午夜精品久久久久久久蜜桃app| 4438成人网| 国产一区福利在线| 国产精品无人区| 欧美视频一区二区在线观看| 日本成人在线看| 久久女同精品一区二区| 91性感美女视频| 视频一区二区中文字幕| 精品国产sm最大网站| 精品国产91乱码一区二区三区| 国产成a人无v码亚洲福利| 亚洲免费观看高清完整版在线观看 | www日韩大片| 97se亚洲国产综合在线| 天天综合色天天综合|